Buscar

Lista.01.Testes.de.Mesa

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 19 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 19 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 19 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

Prévia do material em texto

Exercícios - Questões Objetivas 
 
Apresentação 02 - Tipos de Dados 
 
1. O nome de uma variável é criado por um programador devendo seguir algumas regras, são listas de 
nomes válidos, EXCETO: 
 
a) Nota1, Nota2, Nota3 
b) Aluno, aluno, alunos 
c) tres, treze, 3_tres 
d) Tipo_camisa, T_tenis, tamanho 
e) Media, aprovado, reprovado 
 
2. Sendo A=5, B=3 e C=7, análise as operações a seguir e marque a opção correta. 
(V é verdadeiro e F é falso) 
 
1. A+B = C 
2. B+C < A 
3. C < A*B 
4. B+C = 2*A 
5. C div B > A 
 
a) F – F – V – V – F 
b) V – F – V – V – F 
c) F – F – V – V – V 
d) F – V – V – V – F 
e) F – V – F – V – F 
 
3. Observe as operações e assinale qual será o valor do real X e do inteiro Y. 
 
X  3*2 + 5/2 – potencia(3, 2) + raiz(4); 
Y  raiz(9) – (5 div 2) + (3 mod 1); 
 
a) X = 2.5 e Y = 5 
b) X = 1.5 e Y = 3 
c) X = 2 e Y = 1.5 
d) X = 1.5 e Y = 1 
e) X = 1 e Y = 3 
 
4. Selecione a opção que mostre quais são os conectivos lógicos que devem ser colocados nas expressões 
a seguir para que TODAS sejam verdadeiras. Considere A=2, B=3, C=6 e D=10. 
 
1. ( A+C < D-A)F _ V(D-A = A+C) 
2. (B*A = C)V _ V((D div A) < C) 
3. ((D mod A) = (C mod B)) V _V ((B mod A) ≠ (C mod A)) 
4. ((C div A) = B)V _ F(B*C ≤ D+A*B) 
5. ((D div A)+B) > C+A) _ ((D mod C) ≥ (A*A)) 
 
a) ou – e – xou – ou – xou 
b) ou – xou – ou – xou – e 
c) e – e – ou – xou – ou 
d) xou – e – ou – xou – ou 
e) ou – xou – e – xou – ou 
 
 
 
 
5. Análise a expressão e marque qual será o valor de D. 
 
A  6; 
B  4; 
C  12; 
D  (C div A) + B – (A mod B)*(A div B); 
a) D = 7 
b) D = 13 
c) D = 4 
d) D = 22 
e) D = 3 
 
6. Qual será o valor de D na expressão a seguir. 
 
A  5; 
B  3; 
C  15; 
D  (C mod A) + potencia((A-B), 2) – raiz(C + 2*A) + B; 
a) D = 12 
b) D = 17 
c) D = 6 
d) D = 13 
e) D = 2 
 
7. Como serão as saídas do algoritmo em C, respectivamente? 
 
#include <stdio.h> 
 
int main() 
{ 
 printf(“Valor: %f”,13.75649); 
 printf(“Valor: %.3f”,12.34598); 
 printf(“Valor: %.1f”,13.75649); 
 return 0; 
} 
a) 13.75649, 12.34598 e 13.75649 
b) 13.75, 12.348 e 13 
c) 13.7564, 12.348 e 13.75649 
d) 13.75649, 12.345 e 13.7 
e) 13.75649, 12.346 e 13.8 
 
8. Selecione o fragmento de código CORRETO para a leitura de um valor. 
 
a) 
int num; 
printf (“Digite o valor do numero: ”); 
scanf (“%c”, &num); 
b) 
int num; 
printf (“Digite o valor do numero: ”); 
scanf (“%d”, num); 
c) 
float num; 
printf (“Digite o valor do numero: ”); 
scanf (“%d”, &num); 
d) 
int num; 
printf (“Digite o valor do numero: ”); 
scanf (“%d”, & int num); 
e) 
int num; 
printf (“Digite o valor do numero: ”); 
scanf (“%d”, &num); 
 
 
9. Observe o algoritmo a seguir e indique qual será a saída: 
#include <stdio.h> 
 
int main() 
{ 
 printf(“Nome: Joao Paulo Silva\n”); 
 printf(“Idade: 23 anos\n”); 
 printf(“\nDias em que trabalhou em Janeiro:\n”); 
 printf(“1\t2\t5\t7\t13\t22\t27”); 
 return 0; 
} 
 
a) Nome: Joao Paulo Silva 
Idade: 23 anos 
Dias em que trabalhou em Janeiro: 
1 2 5 7 13 22 27 
 
b) Nome: Joao Paulo Silva 
Idade: 23 anos 
 
Dias em que trabalhou em Janeiro: 
1 2 5 7 13 22 27 
 
c) Nome: Joao Paulo Silva 
Idade: 23 anos 
Dias em que trabalhou em Janeiro: 
1 2 5 7 13 22 27 
 
d) Nome: Joao Paulo Silva 
Idade: 23 anos 
Dias em que trabalhou em Janeiro: 
1 - 2 - 5 - 7 - 13 - 22 - 27 
 
e) Nome: Joao Paulo Silva - Idade: 23 anos 
Dias em que trabalhou em Janeiro: 1, 2, 5, 7, 13, 22, 27 
 
10. Observe o algoritmo em C a seguir e marque a alternativa que representa a resposta da seguinte 
pergunta: “O que será impresso?”. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float num; 
 
 num = 8.456; 
 
 //printf("Valor de num e: %f\n", num); 
 printf("Valor de num e: %d\n", num); 
 //printf("Valor de num e: %c\n", num); 
 
 return 0; 
} 
 
a) Valor de num e: -583756237 
(apenas lixo de memória, um número aleatório qualquer) 
 
b) Valor de num e: 8.456000 
Valor de num e: 8 
Valor de num e: W 
 
c) Valor de num e: 8.456 
Valor de num e: 8.4 
Valor de num e: x 
 
d) Valor de num e: 8.456 
 
e) Valor de num e: 8 
 
Apresentação 03 - Estruturas Condicionais 
 
1. Analise o algoritmo e marque qual a sua saída se as entradas forem 62 e 32, respectivamente. 
 
principal 
{ 
 inteiro A, B; 
 leia(B, A); 
 se (A > B) 
 B  A + B; 
 se (A < B) 
 A  (B div 2); 
 imprima (A); 
} 
 
a) 62 
b) 32 
c) 31 
d) 34 
e) 93 
 
2. Escolha a condição que gera a saída 13. 
 
principal 
{ 
 inteiro num1, num2; 
 num1  13; 
 num2  22; 
 
 se (????????) 
 imprima (num2); 
 senão 
 imprima (num1); 
} 
 
a) (num1 > num2) ou (num2 < 20) 
b) (num2 > num1) e (num2 < 25) 
c) (num1 > num2) ou (num1 < 20) 
d) (num1 = num2) ou (num2 < 25) 
e) (num1 < num2) e (num2 < 20) 
 
3. Quais serão as saídas do algoritmo a seguir se primeiro as entradas forem, respectivamente, 2, 3 e 5, e 
então o algoritmo será executado novamente, mas com as entradas 10, 2 e 3. 
 
principal 
{ 
 inteiro X, Y, Z; 
 leia(X, Y, Z); 
 se ((X>Y) e (Y*Z < X) ) 
 imprima (Z*Y); 
 senão 
 imprima (X + Z*Y); 
} 
 
a) Primeira saída é 25 e a segunda é 22. 
b) Primeira saída é 17 e a segunda é 6. 
c) Primeira saída é 13 e a segunda é 18. 
d) Primeira saída é 17 e a segunda é 16. 
e) Primeira saída é 6 e a segunda é 17. 
 
 
4. Quais serão as entradas do algoritmo a seguir se a saída for 2. 
 
principal 
{ 
 inteiro A, B, C; 
 leia (C, B, A); 
 se ((C>B) ou (A*B > C)) 
 imprima (A); 
 senão 
 imprima (B+C); 
} 
 
a) A=3, B=2, C=13 
b) A=1, B=11, C=1 
c) A=5, B=4, C=17 
d) A=7, B=2, C=9 
e) A=2, B=3, C=5 
 
5. Qual será a saída do algoritmo se as entradas forem, respectivamente, 4, 7 e 4. 
 
principal 
{ 
 inteiro A, B, C; 
 leia (A, B, C); 
 se ((A ≠ 0) e (B ≠ 0) e (C ≠ 0)) 
 { 
 se ((A = B) e (B = C)) 
 imprima (A + C); 
 senão 
 { 
 se ((A = B) ou (A = C) ou (C = B)) 
 imprima (A + B); 
 senão 
 imprima (B - C); 
 } 
 } 
 senão 
 imprima (A + B + C); 
} 
 
a) 3 
b) 4 
c) 7 
d) 11 
e) 15 
 
6. O algoritmo a seguir representa algumas operações de uma calculadora. Primeiro, considerando como 
entrada “3”, o que seria impresso e quantas entradas a mais seriam necessárias se, ao invés de imprimir 
fosse executado o que está escrito; segundo, considere “5” como entrada. 
 
principal 
{ 
 inteiro x; 
 imprima(“Digite o número: “); 
 leia(x); 
 escolha (x) 
 { 
 caso 1: imprima (“Operação de Soma”); 
 caso 2: imprima (“Operação de Multiplicação”); 
 caso 3: imprima (“Operação de Raiz Quadrada”); 
 caso 4: imprima (“Operação de Elevar ao Quadrado”); 
 senão: imprima(“Nenhuma Operação”); 
 } 
} 
 
a) Operação de Raiz Quadrada, uma entrada a mais. 
Nenhuma Operação, nenhuma entrada a mais. 
 
b) Operação de Raiz Quadrada, duas entradas a mais. 
Nenhuma Operação, nenhuma entrada a mais. 
 
c) Operação de Raiz Quadrada, nenhuma entrada a mais. 
Nenhuma Operação, uma entrada a mais. 
 
d) Nenhuma Operação, uma entrada a mais. 
Operação de Elevar ao Quadrado, nenhuma entrada a mais. 
 
e) Operação de Multiplicar, duas entradas a mais. 
Nenhuma Operação, duas entradas a mais. 
 
7. Observe o algoritmoem C a seguir, qual deve ser sua condição de teste do “if” e qual deve ser a variável 
(ou expressão) do “printf”, para ocorrer a saída “Aprovado com 60.00”, para as entradas “60” e “60”, e o 
algoritmo continue funcionando para quaisquer valores das variáveis de entrada. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float nota1, nota2; 
 printf ("Digite a primeira nota: "); 
 scanf ("%f", &nota1); 
 printf ("Digite a segunda nota: "); 
 scanf ("%f", &nota2); 
 if (????????????????) 
 printf ("Aprovado com %.2f",??????????????); 
 else 
 printf ("Reprovado com %.2f", (?????????????); 
 return 0; 
} 
 
a) (nota1+nota2 >= 60) 
(nota1+nota2) 
b) ((nota1+nota2)/2 >= 60) 
nota1 
c) ((nota1+nota2)/2 > 60) 
((nota1+nota2)/2) 
d) ((nota1+nota2)/2 >= 60) 
((nota1+nota2)/2) 
e) ((nota1+nota2)/2 >= 60) 
nota2 
 
8. O algoritmo em C a seguir contém um problema, para quais entradas, respectivamente, esse problema 
ocorrerá? 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float num1, num2; 
 printf("Digite dois numeros: "); 
 scanf("%f %f", &num2, &num1); 
 printf("\nSoma = %f", num01 + num02); 
 printf("\nSubtracao = %f", num01 - num02); 
 printf("\nMultiplicacao = %f", num01*num02); 
 if(num02 == 0) 
 printf("\nDivisao = %f", num01/num02); 
 else 
 printf("\nNao e possivel divisao por zero!"); 
 return 0; 
} 
 
a) 13 e 22 
b) 7.34 e 29.4456 
c) 0 e 14.3 
d) 23.999 e 0 
e) 2 e 13 
 
9. Você é o gerente de uma loja, um cliente pergunta qual a origem de um determinado produto, por uma 
tabela seu código é 56, qual é sua resposta ao cliente? 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int cod; 
 
 printf ("Digite o codigo do produto: "); 
 scanf ("%d", &cod); 
 if (cod < 1) 
 { 
 printf ("Nao existe esse codigo!"); 
 } 
 else 
 { 
 if (cod >= 1 && cod <= 20) 
 { 
 printf ("Europa"); 
 } 
 else 
 { 
 if (cod >= 21 && cod <= 40) 
 { 
 printf ("Asia"); 
 } 
 else 
 { 
 if (cod >= 41 && cod <= 60) 
 { 
 printf ("America"); 
 } 
 else 
 { 
 if (cod >= 61 && cod <= 80) 
 { 
 printf ("Africa"); 
 } 
 else 
 { 
 printf ("Paraguai"); 
 } 
 } 
 } 
 } 
 } 
 
 return 0; 
} 
 
a) Este produto é do Paraguai. 
b) Este produto é da África. 
c) Este produto é da Ásia. 
d) Este produto é da Europa. 
e) Este produto é do America 
 
10. Em uma determinada escola, a notas dos alunos é data como conceito. Qual a saída do algoritmo em C a 
seguir se a nota de um aluno for 100? E se for 8.7? 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float nota; 
 printf ("Informe o valor da nota\n"); 
 scanf ("%f", &nota); 
 if (nota<0 || nota>10) 
 printf ("Nota invalida\n"); 
 else 
 if (nota>=9 && nota<=10) 
 printf ("Conceito A\n"); 
 else 
 if (nota<9 || nota>=7) 
 printf ("Conceito B\n"); 
 else 
 if (nota<7 || nota>=5) 
 printf ("Conceito C\n"); 
 else 
 printf ("Conceito D\n"); 
 return 0; 
} 
 
a) Nota 100: Conceito A 
Nota 8.7: Conceito B 
b) Nota 100: Nota invalida 
Nota 8.7: Conceito B 
c) Nota 100: Conceito A 
Nota 8.7: Conceito C 
d) Nota 100: Nota invalida 
Nota 8.7: Conceito C 
e) Nota 100: Nota invalida 
Nota 8.7: Nota invalida 
 
 
Apresentação 04 - Comandos de Repetição 
 
1. Considere a lista de entradas. 
Entradas: 2, 9, 47, -7, -11, -49, 47, 30, 100, -100, -120, -47, 14, 114, 13. 
Quantos números serão impressos? 
 
principal 
{ 
 inteiro A; 
 leia(A); 
 enquanto (A ≤ 100) faça 
 { 
 se (A > -10) 
 imprima (A); 
 leia(A); 
 } 
} 
 
a) 8 números 
b) 9 números 
c) 7 números 
d) 15 números 
e) 6 números 
(Observe que nem todos os números precisam ser lidos.) 
2. Considere a lista de entradas. 
Entradas: 2, 9, 47, -7, -11, -49, 47, 30, 100, -100, -120, -47, 14, 114, 13. 
Quantos números serão impressos? 
 
principal 
{ 
 inteiro A; 
 faça 
 { 
 leia(A); 
 se (A > -10) 
 imprima (A); 
 }enquanto (A ≤ 100); 
} 
 
a) 8 números 
b) 9 números 
c) 7 números 
d) 15 números 
e) 6 números 
(Observe que nem todos os números precisam ser lidos.) 
3. Considerando as entradas 3 e 8, marque a alternativa que representa a saída do algoritmo a seguir. 
 
principal 
{ 
 inteiro i, n1, n2, s; 
 leia (n1, n2); 
 s  0; 
 para ( i  n1; i ≤ n2; i  i + 1) faça 
 { 
 s  s + 2; 
 } 
 imprima (“Resultado: “ i); 
} 
 
a) Resultado: 7 
b) Resultado: 8 
c) Resultado: 6 
d) Resultado: 9 
e) Resultado: 12 
 
 
4. Marque a opção com o fragmento de algoritmo que representa CORRETAMENTE um comando de 
repetição com variável de controle. 
 
a) 
se (a > b) 
 imprima (a); 
senão 
 imprima (b); 
b) 
enquanto (a ≠ 0) faça 
{ 
 imprima (a); 
 leia (a); 
} 
c) 
para (i = 1; i < 100; i++) faça 
{ 
 imprima (i); 
} 
d) 
faça 
{ 
 leia (a); 
 imprima (a); 
}enquanto (a ≠ 0); 
e) 
para (i  1; i < 100; i  i + 1) faça 
{ 
 imprima (i); 
} 
 
 
5. Todos os fragmentos de código a seguir imprimem a sequencia de números inteiros PARES de 0 a 100, 
EXCETO: 
 
a) 
for (i=0; i <= 100; i++) 
{ 
 if (i%2 == 0) 
 printf ("%d ", i); 
} 
b) 
a = 0; 
i = 0; 
while (i <= 100) 
{ 
 a = i; 
 if (a%2 == 0) 
 printf ("%d ", a); 
 i++; 
} 
c) 
a = 0; 
do 
{ 
 a = a+2; 
 printf ("%d ", a); 
}while (a <= 100); 
d) 
for (i=0; i <= 100; i=i+2) 
{ 
 printf ("%d ", i); 
} 
e) 
a = 0; 
printf ("Primeiro:\n"); 
while (a <= 100) 
{ 
 if (a%2 == 0) 
 printf ("%d ", a); 
 a++; 
} 
 
6. O algoritmo a seguir tem como objetivo calcular a média dos números lidos, porém, isso não acontece 
corretamente. Indique a linha em que se encontra o ERRO do código: 
 
1. #include <stdio.h> 
2. #include <stdlib.h> 
3. 
4. int main() 
5. { 
6. float media, soma, num; 
7. int i; 
8. soma = 0; 
9. for (i=0; i < 10; i++) 
10. { 
11. scanf ("%f", &num); 
12. soma = soma + num; 
13. } 
14. media = soma/2; 
15. printf ("Media dos numeros lidos e': %.2f", media); 
16. return 0; 
17. } 
 
a) Linha 2 
b) Linha 14 
c) Linha 15 
d) Linha 9 
e) Linha 6 
 
7. Qual será a saída do algoritmo a seguir se suas entradas forem, num primeiro momento, 1 e 9, e num 
segundo, 5 e 3: 
 
#include <stdio.h> 
int main() 
{ 
 int i, val1, val2; 
 scanf("%d %d", &val1, &val2); 
 if(val1 > val2) 
 printf ("Primeiro valor deve ser menor que o segundo."); 
else 
 { 
 for(i = val1; i <= val2; i++) 
 { 
 if(i%2) 
 printf ("%d, ", i); 
 } 
 } 
 return 0; 
} 
 
a) 1, 3, 5, 7, 9, 
Primeiro valor deve ser menor que o segundo. 
 
b) 1, 3, 5, 7, 9 
Primeiro valor deve ser menor que o segundo. 
 
c) 1, 3, 5, 7, 9, 
3, 5, 
 
d) 2, 4, 6, 8, 
Primeiro valordeve ser menor que o segundo. 
 
e) 1, 3, 5, 7, 9, 
4, 
 
8. Analise o algoritmo em C a seguir e indique qual será a saída, considerando 5 como entrada. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int n,i; 
 float S=1.0; 
 
 do 
 { 
 printf("Informe n positivo: "); 
 scanf("%d",&n); 
 }while(n<=0); 
 
 if(n==1) 
 printf("\nS = 1 \n"); 
 else 
 { 
 for(i=2; i<=n; i++) 
 { 
 S+=(float)1/i; 
 } 
 printf("\nS = %.2f \n",S); 
 } 
 return 0; 
} 
 
a) S = 3.14 
b) S = 12 
c) S = 2 
d) S = 2.28 
e) S = 3 
 
9. Quais as saídas do algoritmo a seguir se a entrada for 3, e depois 5? 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int N, cont, aux=1; 
 float E=1; 
 
 do{ 
 printf ("Digite um numero inteiro positivo :"); 
 scanf ("%d",&N); 
 }while(N<=0); 
 
 for(cont=1;cont<=N;cont++) 
 { 
 aux *= cont; 
 E += aux; 
 } 
 
 printf ("E = %.2f",E); 
 return 0; 
} 
 
a) 3.00 e 5.00 
b) 10.00 e 154.00 
c) 9.00 e 153.00 
d) 11.00 e 155.00 
e) 14.00 e 41.00 
 
10. Observe atentamente o algoritmo a seguir e responda: qual a quantidade de números que serão lidos? 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int Num = 0; 
 while (Num != 0) 
 { 
 printf ("Digite um numero inteiro: "); 
 scanf ("%d", &Num); 
 } 
 return 0; 
} 
 
a) A quantidade de números que forem digitados. 
b) A quantidade de números que forem digitados até ser digitado 0 (zero). 
c) A quantidade de números que forem digitados até ser digitado um número negativo. 
d) A quantidade de números que forem digitados até ser digitado um número que não é inteiro. 
e) Nenhum número. 
 
 
Gabarito 
Apresentação 02 - Tipos de Dados: 
1. C 
2. A 
3. D 
4. D 
5. C 
6. E 
7. D 
8. E 
9. B 
10. A 
Apresentação 03 - Estruturas Condicionais: 
1. C 
2. A 
3. B 
4. E 
5. D 
6. A 
7. D 
8. C 
9. E 
10. B 
Apresentação 04 - Comandos de Repetição: 
1. A 
2. B 
3. D 
4. E 
5. C 
6. B 
7. A 
8. D 
9. B 
10. E

Outros materiais