Buscar

Teste de Conhecimento - Linguagem de Programação I - Estácio de Sá

Prévia do material em texto

LINGUAGEM DE PROGRAMAÇÃO I
4a aula
		
	 
	Lupa
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
	
	 
	Exercício: CCE0242_EX_A4_201603060464_V1 
	03/04/2018 11:32:04 (Finalizada)
	 
	Ref.: 201603846366
		
	
	 1a Questão
	
	
	
	
	Um programa deve ler um valor inteiro. Caso o valor lido seja positivo deve imprimir a mensagem "Valor positivo". Assinale a opção que apresenta  estrutura condicional CORRETA para a solução desse problema.
 
 
		
	
	if ( valor == 0 )
	
	if (valor < 0 )
	
	if ( valor <= 0 )
	
	if ( valor != 0 )
  
	 
	if ( valor > 0 )
	
	 
	Ref.: 201603804316
		
	
	 2a Questão
	
	
	
	
	Em relação aos operadores relacionais, o resultado de sua expressão é sempre igual a:
		
	
	Uma decisão de fluxo para o comando if.
	
	Nenhuma das alternativas anteriores.
	
	Resposta && ou ||.
	 
	0 (falso) ou 1 (verdadeiro)
	
	Decisão de parada ao comando while e do... while.
	
Explicação:
Os operadores relacionais normalmente são usados para uma comparação do tipo:
< menor que
> maior que
<= menor ou igual que
>= maior ou igual que
!= diferente de
== igual a
Sendo assim esta comparação terá como resultado apenas as seguintes opções: 0- falso ou 1 - verdadeiro
	
	 
	Ref.: 201604092336
		
	
	 3a Questão
	
	
	
	
	Considere o código abaixo. Considere que o usuário digite 3. O que será impresso para o usuário?
int main (void )
{
  int valor;
 
  printf ("Digite um valor de 1 a 7: ");
  scanf("%d", &valor);
 
  switch ( valor )
  {
     case 1 :
       printf ("Domingo\n");
     break;
 
     case 2 :
       printf ("Segunda\n");
     break;
 
     case 3 :
        printf ("Terca\n");
     break;
 
     case 4 :
        printf ("Quarta\n");
     break;
 
     case 5 :
        printf ("Quinta\n");
     break;
 
     case 6 :
        printf ("Sexta\n");
     break;
 
     case 7 :
        printf ("Sabado\n");
     break;
 
     default :
       printf ("Valor invalido!\n");
  }
 
  return 0;
}
		
	
	Segunda
	
	Valor invalido
	
	Quinta
	 
	Terca
	
	Quarta
	
	 
	Ref.: 201603872745
		
	
	 4a Questão
	
	
	
	
	Em programação é possível que haja decisões usando o IF. Todo IF deve vir seguido de uma condição que deve ter como resultado Verdadeiro ou Falso. Considerando esta afirmativa, qual das opções abaixo deve apresentar erro na compilação.
		
	
	if (y >= 14)
	
	if (a != 6)
	 
	if (z = 21)
	
	if (x <= 8)
	
	if (x > 7.2)
	
Explicação:
Errada: if (z = 21)
O operador relacional de igualdade é ==
	
	 
	Ref.: 201603257974
		
	
	 5a Questão
	
	
	
	
	Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 
		
	
	Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
	
	O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
	 
	O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
	
	Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
	
	Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	
	 
	Ref.: 201603336617
		
	
	 6a Questão
	
	
	
	
	Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
void main(){ 
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
		
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux);
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux);
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	 
	if(tot_metros%2) 
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	 
	Ref.: 201603684004
		
	
	 7a Questão
	
	
	
	
	Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C.
Sabemos que existem algumas exigências para se usar o switch().
Analise as opções abaixo e assinale a opção correta.
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.
		
	
	II, IV e V são verdadeiras
	 
	III e V são verdadeiras
	
	I, III e IV são verdadeiras
	
	I, III, IV e V são verdadeiras
	
	II, III e IV são verdadeiras
	
	 
	Ref.: 201603947012
		
	
	 8a Questão
	
	
	
	
	Observe o trecho do programa abaixo:
             float a, b, c;
                        printf("\n Digite o primeiro numero: ");
                        scanf ("%f",&a);
                        printf("\n Digite o segundo numero: ");
                        scanf ("%f",&b);
           
                        if (a >= b)  {
                        printf("Valor de c: %f" , c = a + b);
                        }
                        else {
                                    printf("Valor de c: %f" , c = a - b);
}
Se o usuário digitar os números abaixo, marque a opção que contém as saídas corretas.
10 e 5 ; 8 e 8 ; 3 e 9 ; 25 e 15 ; 6 e 32.
		
	
	16 ; 0 ; -6 ; 40 ; 26
	
	15 ; 16 ; 6 ; 40 ; -26
	
	15 ; 0 ; -6 ;35 ; 26
	 
	15 ; 16 ; -6 ; 40 ; -26
	
	16 ; - 16 ; -6 ; 40 ; -26

Continue navegando