Você está na página 1de 18

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 algoritmo em 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 valor deve 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.

Você também pode gostar