Buscar

prova algoritimos 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

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".

Outros materiais