Buscar

Prova1_EngAmb_2020sem1ERE

Prévia do material em texto

Centro Federal de Educação Tecnológica de Minas Gerais 
 Engenharia Ambiental e Sanitária 
Programação de Computadores I 
Prova 1. 30/09/2020 (Envio da solução até o dia 07/10/2020 (10:30 AM) no AVA) 
 
Instruções: 
 
• O objetivo de uma prova nesse formato é criar mais uma oportunidade de aprendizagem 
para o aluno. Para que vocês mesmos avaliem a qualidade das suas próprias respostas antes 
do envio, o que eu recomendo é que vocês se façam a pergunta: alguém que não entende o 
que eu fiz passaria a entender apenas lendo a minha resposta? Então para que fiquem claras 
as repostas, não se preocupem com o espaço. Usem sempre de exemplos e indiquem 
claramente no texto de vocês sobre qual parte do código vocês estão se referindo no 
momento. 
• Para mostrar a execução de um programa tire “prints” da tela mostrando o codeblocks e a 
janela de execução de um programa. 
• Explicar a solução de um problema não é somente ler linha a linha o que está escrito na 
linguagem C. Explicar é indicar o raciocínio passo a passo, indicando o porquê do uso de 
cada instrução da linguagem C, é apresentar a razão de cada coisa escrita no código fonte. 
• Sobre o formato de entrega, vocês devem enviar um arquivo compactado no AVA, tal qual 
foi com as listas 1 e 2, contendo: 
o Os códigos fontes na linguagem C 
o Um documento texto feito no word ou software análogo, contendo os textos, 
explicações, imagens. 
• Soluções idênticas terão suas pontuações anuladas na avaliação. 
Questões: 
 
1) Pesquise e explique o que é indentação. Destaque qual é a sua relevância e dê exemplos. 
 
2) Pesquise e explique a função das palavras reservadas break e continue na Linguagem C. Dê 
exemplos de uso e mostre o resultado da execução de algoritmos com essas instruções. 
 
3) Expressões lógicas tipicamente fazem parte de condicionais e controle de laços. Pesquise sobre 
operadores lógicos e precedência das operações lógicas. Faça um resumo sobre esse conteúdo. 
Avalie passo a passo se as expressões abaixo são FALSAS ou VERDADEIRAS. Use o 
computador para conferir se suas respostas estão corretas. 
 
a) (!(5==6)&&(5!=6)&&((2>1)||(5<=4))) 
b) ((10>5)||(5>10)) 
c) (x = 0) 
d) (x = 10) 
e) (x = = 4 | | y >= z && ! (z)) (Supondo x = 4, y = 6 e z = -1) 
 
4) Reescreva o seguinte trecho de um programa, utilizando o laço while e do... while. Faça um 
programa para conferir se sua solução está correta. Justifique o porquê de cada mudança. 
 
for (i=1; i<=20; i++) 
 if (i= =10) 
 continue; 
 else 
 printf(“%d\n”, i); 
 
 
5) Os extratos de código a seguir são equivalentes entre si? (Mostre qual é o resultado e explique o 
porquê caso sejam diferentes). 
 
int x = 10; 
while (--x > 9) 
{ 
 printf("%d", x); 
} 
 
e 
 
int x = 10; 
do { 
 printf("%d", x); 
} while(--x > 9); 
 
6) Resolva no URI (atividade Prova 1) o exercício 2963 (Bobo da Corte) e explique 
detalhadamente a solução. Não use recursos que ainda não foram explicados no curso como, por 
exemplo, vetores ou arrays, funções ou estruturas. 
 
7) Resolva no URI (atividade Prova 1) o exercício 2807 (ICCanobif) e explique detalhadamente a 
solução. Não use recursos que ainda não foram explicados no curso como, por exemplo, vetores ou 
arrays, funções ou estruturas. 
 
8) Resolva no URI (atividade Prova 1) o exercício 1962 (Há Muito, Muito Tempo Atrás) e explique 
detalhadamente a solução. Não use recursos que ainda não foram explicados no curso como, por 
exemplo, vetores ou arrays, funções ou estruturas.

Continue navegando