Baixe o app para aproveitar ainda mais
Prévia do material em texto
68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 1 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 1ª Oportunidade Curso: SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Período: 52/2019 Ano: 1 Data: 12/07/2019 Horário: 19:10 às 20:50 Disciplina: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO II Turma: Professor formador(a): PIETRO MARTINS DE OLIVEIRA Valor: (6,0) Acadêmico(a): |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| R.A.: |___|___|___|___|___|___|___|___| Polo: |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| Nota: INSTRUÇÕES PARA A REALIZAÇÃO DA PROVA: O RA, Nome e Polo devem ser preenchidos no Caderno de Questões com letra legível.l Confira todos os dados do Caderno de Respostas (Nome, RA, Disciplina, Curso). Verifique se o número do Cadernol de Respostas é o mesmo do Caderno de Questões. A prova é individual, sem consulta, e deve ser respondida obrigatoriamente com caneta azul ou preta. Não él permitido o uso de corretivo. Todas as respostas devem ser transcritas no Caderno de Respostas, obedecendo o espaço determinado para cadal questão. Respostas escritas fora do espaço determinado ou no verso não serão consideradas. Cada questão possui um valor, que está disponível ao lado dela.l Não é permitido rasura nas questões objetivas.l Verifique se a numeração das páginas do Caderno de Questões está na sequência correta.l O prazo de tolerância para entrada na sala é de 50 minutos após o início da prova, e até este prazo, nenhum alunol que está realizando a prova é autorizado a sair. É obrigatória a assinatura na lista de presença impressa, na qual constam seu nome, RA e curso.l Somente rascunhos fornecidos pelo Polo podem ser utilizados. Os rascunhos deverão ser anexados ao Caderno del Questões e entregues ao tutor ou fiscal de sala. Em casos de qualquer irregularidade comunicar o tutor ou fiscal de sala.l 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 2 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 230756 - QUESTÃO 01 | Discursiva (Valor: 1,00) Observe o código-fonte a seguir: 01 - #include <stdio.h> 02 - #include <stdlib.h> 03 - int main(){ 04 - int i, j; 05 - i = 0; 06 - j = 10; 07 - while(i <= j){ 08 - printf("i: %d - j: %d\n", i, j); 09 - i++; 10 - j = j-2; 11 - } 12 - } Conhecendo as sintaxes de utilização dos comandos "for" e "while", reescreva o código-fonte acima, substituindo o comando while por um for. É importante que a nova versão do programa acima apresente exatamente o mesmo resultado que a versão original. Ou seja, a semântica dos dois algoritmos deve ser similar. 230738 - QUESTÃO 02 | Discursiva (Valor: 0,60) Através das estruturas de decisão, o programa pode escolher, em tempo de execução, por tomar um dentre vários caminhos possíveis, de acordo com uma condição pré-estabelecida. Sendo assim, desenvolva um programa em Linguagem C que seja capaz de identificar se um número inteiro, informado pelo usuário, é múltiplo de 3. Caso o número seja um múltiplo, o algoritmo deverá imprimir uma mensagem na tela, confirmando essa informação. 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 3 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 228065 - QUESTÃO 03 | Objetiva (Valor: 0,60) Os registros são estruturas de dados que agregam diversas informações, que podem ser de diferentes tipos. Com essa estrutura é possível gerar novos tipos de dados, além dos definidos pelas linguagens de programação. ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores. 5. ed. São Paulo: Prentice Hall, 2010. O programa abaixo utiliza um vetor de registros para controlar as notas dos alunos de uma turma. 01 - #include <stdio.h> 02 - #include <stdlib.h> 03 - struct cad_aluno{ 04 - char nome[50]; 05 - float nota_final; 06 - }; 07 - int main(){ 08 - struct cad_aluno lista_alunos[30]; 09 - int i; 10 - float m, s; 11 - m = 0; 12 - s = 0; 13 - for(i=0; i<30; i++){ 14 - printf("Informe o nome do aluno: \n"); 15 - gets(lista_alunos[i].nome); 16 - fflush(stdin); 17 - printf("Informe a nota %d: \n", i); 18 - scanf("%f", &lista_alunos[i].nota_final); 19 - fflush(stdin); 20 - s = s + lista_alunos[i].nota_final; 21 - } 22 - m = s / 30; 23 - printf("%.2f", m); 24 - } Assim, considere o algoritmo acima para avaliar as afirmações abaixo. I – O comando typedef poderia ser utilizado para evitar utilizar a palavra reservada struct, na declaração do vetor lista_alunos (linha 08). II – Cada posição do vetor lista_alunos pode armazenar 50 nomes diferentes. III – O especificador de formato utilizado na linha 23 fará com que o dado apresentado, em tempo de execução, esteja formatado para apenas duas casas decimais. Sendo assim, é correto o que se afirma em: A I, apenas. B II, apenas. C III, apenas. D I e III, apenas. E I, II e III. 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 4 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 228051 - QUESTÃO 04 | Objetiva (Valor: 0,50) Uma função é uma sub-rotina que tem como objetivo desviar a execução do programa principal para realizar uma tarefa específica. ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores. 5. ed. São Paulo: Prentice Hall, 2010. O trecho de código abaixo apresenta a função fatorial() que realiza o cálculo do fatorial de um número inteiro n, que deve ser passado por parâmetro. 01 - #include <stdio.h> 02 - #include <stdlib.h> 03 - int fatorial(int n){ 04 - int i, fat; 05 - fat = 1; 06 - for(i=1; i<=n; i++){ 07 - fat = fat * i; 08 - } 09 - return fat; 10 - } 11 - int main(){ 12 - int n, resultado; 13 - n = 4; 14 - resultado = fatorial(n); 15 - printf("%d", resultado); 16 - } Sendo assim, analise as afirmações abaixo. I – Caso o parâmetro n seja um número negativo, o programa pode entrar em laço infinito. II – Caso a função seja invocada da seguinte maneira: "fatorial(5);", será retornado o valor 120. III – A função fatorial() retorna, obrigatoriamente, um dado com formato de tipo int. Sendo assim, é correto o que se afirma em: A II, apenas. B I e II, apenas. C I e III, apenas. D II e III, apenas. E I, II e III. 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 5 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 228047 - QUESTÃO 05 | Objetiva (Valor: 0,50) A função fatorial de um número inteiro e positivo N pode ser descrita como sendo a multiplicação de N, por N-1, por N-2, e assim sucessivamente, até multiplicar por 1. Ou seja, denotamos a função fatorial de N como sendo N! = N * N-1 * N-2 * ... * 1. Sabe-se que a função fatorial é inerentemente recursiva e podemos definir N! = N*(N-1)!. Sendo assim, observe o código-fonte abaixo, cujo propósito é calcular o fatorial de um número x, informado pelo usuário. 01 - #include <stdio.h> 02 - #include <stdlib.h> 03 - int fat(int n){ 04 - if(n == 1) 05 - return ____; 06 - else 07 - return ___________; 08 - } 09- int main(){ 10 - int x, resultado; 11 - printf("Insira um número inteiro positivo:\n"); 12 - scanf("%d", &x); 13 - resultado = ___________; 14 - printf("%d", resultado); 15 - } Com base em suas habilidades no desenvolvimento e compreensão de algoritmos, assinale a alternativa que melhor se adequa à realidade e ao propósito do programa apresentado acima. A As lacunas das linhas 5, 7 e 13 devem ser preenchidas pelas instruções "1", "n*fat(n-1) " e "fat(x)",respectivamente. B As lacunas das linhas 5, 7 e 13 devem ser preenchidas pelas instruções "fat(n)", "fat(n-1)" e "fat(x)",respectivamente. C As lacunas das linhas 5, 7 e 13 devem ser preenchidas pelas instruções "0", "n*fat(n) " e "fat(n)",respectivamente. D As lacunas das linhas 5, 7 e 13 devem ser preenchidas pelas instruções "1", "fat(n-1) " e "fat(x)",respectivamente. E As lacunas das linhas 5, 7 e 13 devem ser preenchidas pelas instruções "0", "n*fat(n-1) " e "fat(x)",respectivamente. 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 6 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 227907 - QUESTÃO 06 | Objetiva (Valor: 0,40) Programas que empregam estruturas de repetição devem considerar o monitoramento de atribuições a variáveis, valores de entrada e saída, constantes e a resolução de expressões, durante o processo de realização do teste de mesa. Considere a realização de um teste de mesa sobre o código abaixo. 01 - #include <stdio.h> 02 - #include <stdlib.h> 03 - int main(){ 04 - int cont, x; 05 - printf("Insira um número inteiro: "); 06 - scanf("%d", &x); 07 - for(cont=0; cont<3; cont++){ 08 - x = x * x; 09 - } 10 - printf("%d", x); 11 - } De acordo com os resultados encontrados em seu teste de mesa, avalie as afirmações abaixo. I – Caso usuário atribua o valor 2 à variável x, na linha 6, ao término da execução do algoritmo a variável x armazenará o valor 256. II – Esse algoritmo pode ser empregado para se encontrar o resultado de um número x elevado à quarta potência. III – Independentemente do valor de x, o bloco de comandos compreendido entre as linhas 7 e 9 será executado por três vezes. Sendo assim, é correto o que se afirma em: A I, apenas. B II, apenas. C III, apenas. D I e II, apenas. E I e III, apenas. 227889 - QUESTÃO 07 | Objetiva (Valor: 0,40) Os vetores permitem a representação de diversas informações do mesmo tipo. Frequentemente é preciso utilizá-las em conjunto com estruturas de repetição, devido às regras de acesso a seus elementos. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2016. Tomando por referência seus conhecimentos a respeito de vetores, leia as afirmações a seguir: I – Um vetor pode ser descrito, analogamente, como um prédio com vários andares, no qual cada índice do vetor representaria um andar no edifício. II – Um vetor multidimensional necessita de apenas um índice para se navegar entre suas posições. III – Um vetor pode ser categorizado como uma estrutura de dados homogênea. Sendo assim, é correto o que se afirma em: 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 7 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS A I, apenas. B II, apenas. C I e II, apenas. D I e III, apenas. E I, II e III. 227880 - QUESTÃO 08 | Objetiva (Valor: 0,40) Um software é um programa de computador que é capaz de transformar um conjunto de dados de entrada em um conjunto de dados de saída por meio de instruções executadas em um processador. Tais instruções podem ser desenvolvidas por meio de uma linguagem de programação. Com base em seus conhecimentos a respeito da Linguagem C, leia as alternativas abaixo: I – Para utilizar os comandos de entrada de dados é necessário incluir a biblioteca stdio.h. II – Após ser compilado, um programa em Linguagem C passa pelo processo de linkedição. III – Todo comando precedido de uma palavra reservada, em Linguagem C, deve ser finalizado com ponto-e-vírgula (;). Sendo assim, é correto o que se afirma em: A I, apenas. B II, apenas. C III, apenas. D I e II, apenas. E I, II e III. 227881 - QUESTÃO 09 | Objetiva (Valor: 0,40) O desenvolvimento de programas requer, por base do desenvolvedor, habilidades de raciocínio lógico e matemático. Um algoritmo pode processar dados numéricos com o objetivo de produzir dados de saída. Com base em seus conhecimentos a respeito de identificadores, variáveis e constantes e sua respectiva sintaxe em, Linguagem C, assinale a alternativa correta. A Os identificadores de uma variável permitem estabelecer o tipo da respectiva variável. B Pode-se dizer que uma string em Linguagem C não tem relação alguma com vetores. C Ao declarar uma variável como sendo do tipo long int, tem-se uma variável com o dobro da capacidade deum int convencional. D Em C a palavra reservada switch serve para interromper um laço de repetição. E Uma biblioteca pode ser incluída, no início do programa, através da diretiva #define. 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 8 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 227890 - QUESTÃO 10 | Objetiva (Valor: 0,40) As matrizes permitem a representação de diversas informações do mesmo tipo. Frequentemente é preciso utilizá-las em conjunto com estruturas de repetição, devido às regras de acesso a seus elementos. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2016. Tomando por referência seus conhecimentos a respeito de matrizes, analise o algoritmo abaixo. 1 - #include <stdio.h> 2 - #include <stdlib.h> 3 - int main(){ 4 - float mat[2][3]; 5 - mat[0][0] = 1; 6 - mat[0][1] = 1.2; 7 - mat[1][2] = 2.1; 8 - mat[1][3] = 2; 9 - } As afirmações abaixo se referem aos conceitos que envolvem matrizes, tomando por base o algoritmo acima. I – A matriz mat é bidimensional e possui o mesmo número de linhas e colunas. II – Na linguagem C, as atribuição das linhas 6 e 7 darão erro de compilação, uma vez que a matriz é do tipo inteiro. III – A operação da linha 8 não gera erro de compilação, apesar de poder acarretar em erro de execução. IV – Nesse código-fonte, é possível notar que nem todas as posições da matriz foram populadas pelo programa. Sendo assim, é correto o que se afirma em: A I e II, apenas. B I e III, apenas. C II e IV, apenas. D III e IV, apenas. E II, III e IV, apenas. 220467 - QUESTÃO 11 | Objetiva (Valor: 0,40) Com a consolidação e evolução do desenvolvimento de algoritmos os profissionais dessa área deixaram um legado de soluções prontas que poderiam ser reaproveitadas em outros algoritmos. Pode-se considerar tais “soluções prontas” como funções intrínsecas que são reaproveitadas para solucionar problemas recorrentes. Considerando seus conhecimentos a respeito das funções intrínsecas e operações de entrada e saída em Linguagem C, avalie as afirmações abaixo: I – A função printf(), em um programa, pode ser utilizada para que o usuário possa realizar entrada de dados. II – Para realizar operações matemáticas complexas, como cálculo de raízes ou exponenciação, é possível recorrer a funções da biblioteca math.h. III – A função scanf(), em Linguagem C, deve receber como primeiro argumento os especificadores de formato relacionados à(s) variável(is) que será(ão) informada(s) pelo usuário. Sendoassim, é correto o que se afirma em: 68405 UNICESUMAR - CENTRO UNIVERSITÁRIO CESUMAR NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA 9 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS A I, apenas. B II, apenas. C III, apenas. D II e III, apenas. E I, II e III. 144801 - QUESTÃO 12 | Objetiva (Valor: 0,40) Um estudante de Sistemas para Internet desenvolveu um programa de teste para calcular o resultado de uma expressão simples, como é possível constatar a seguir: 1 - #include <stdio.h> 2 - #include <stdlib.h> 3 - int main(){ 4 - int A, B, C; 5 - scanf("%d", &A); 6 - scanf("%d", &B); 7 - C = A + B * B; 8 - printf("O resultado é %d", C); 9 - } Considerando o algoritmo apresentado acima, assinale a alternativa correta. A O programa acima possui um erro de sintaxe na linha 7. B Esse programa possui quatro variáveis, a saber: int, A, B e C. C A inclusão das bibliotecas está errada, uma vez que encontra-se escrito em inglês. D Caso o usuário insira os valores 2 e 3 às variáveis A e B, respectivamente, ao final do código, será impressa aseguinte frase na tela: "O resultado é 15". E Caso o usuário insira os valores 4 e 3 às variáveis A e B, respectivamente, ao final do código, será impressa aseguinte frase na tela: "O resultado é 13".
Compartilhar