Вы находитесь на странице: 1из 17

Questão 1 :A respeito dos conceitos da linguagem C introduzidos na unidade 17, assinale a alternativa correta:

Justificativa:Resposta: B.
As opções A e D trocam os termos printf e scanf. A opção C está errada porque o tipo de dados long long aceita somente números inteiros.

Usamos o comando printf para receber dados de entrada do usuário.


A

B Para usar o comando printf, precisamos colocar a instrução #include no início do nosso programa.

C O tipo de dados long long armazena números reais além de números inteiros.

D O comando scanf é usado para informar dados ao usuário.

Questão 1 :Dado o programa em C a seguir, que utiliza os conceitos de matrizes que estudamos na unidade 40, assinale a alternativa correta
que mostra a instrução que precisa ser inserida na linha 7 para que a instrução da linha 10 coloque o número 0 em todos os elementos da
matriz:
Programa em C com matriz
1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. int i, j;
7. <complete com uma instrução>
8. for (i = 0; i < 5; i++){
9. for (j = 0; j< 5; j++){
10. numeros[i][j] = 0;
11. }
12. }
13. system("pause");
14. return 0;15. }
Justificativa:Resposta: B.
Cada comando de repetição percorre a matriz em um sentido. O primeiro percorre as 5 linhas e, o segundo, percorre as 5 colunas. A
instrução da linha 9 é executada então 25 vezes, pois a matriz precisa ter 25 elementos. Isso ocorre quando declaramos a variável com 5
linhas e 5 colunas, como na opção B.
int numeros[25];
A

B int numeros[5][5];

C int numeros[6][6];

D int numeros[25][25];

Questão 2 :Na unidade 1, conhecemos o conceito de algoritmo. Assinale a alternativa correta que define o que é um algoritmo
Justificativa:Resposta: C.
A alternativa C reproduz exatamente a definição de algoritmo mostrada na unidade 1. Alternativa D se aproxima da correta, porém é
genérica. Conjuntos de dados da alternativa B são usados por algoritmos, mas não constituem a definição de algoritmo. Programas de
computador são a representação computacional de algoritmos, e não o contrário, como afirma a alternativa A.
Representação computacional de um software, com entrada, processamento e saída de dados.
A

B Conjunto de dados de entrada e saída usados por um programa de computador.

C Sequência finita de passos a serem realizados para resolver um problema específico.

D Processamento de um conjunto de dados de entrada com o objetivo de obter um conjunto de dados de saída.

Questão 3 :Na unidade 11, você estudou sobre a importância da sintaxe na programação. Assinale a alternativa correta que apresenta erros
de sintaxe:
Justificativa:Resposta: B.
Não existe operador !<. As outras opções estão corretas. A opção A é uma multiplicação que resulta em um número real, a opção C é uma
string e a opção D possui uma expressão lógica cujo resultado é falso.
variavel ← 3 * 4.8;
A

B variavel ← 2 !< 3;
C variavel ← “3 + 3”;

D variavel ← 3 = 3.3;

Questão 4 :Dado o programa a seguir e usando como base o que você aprendeu sobre funções da unidade 42 à 46, assinale a alternativa
correta que apresenta o dado de saída que é informado ao usuário durante a sua execução:
Programa em C com funções
1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int outra_funcao(char frase[])
5. {
6. int indice = 0;
7. int resultado = 0;
8. while(frase[indice] != '\0') {
9. if (frase[indice] != ' '){
10. resultado = resultado + 1;
11. }
12. indice = indice + 1;
13. }
14. return resultado;
15. }
16.
17. int main(void)
18. {
19. char frase[] = "Usando funcoes em programas C";
20. printf("%d", outra_funcao(frase));
21. system("pause");
22. return 0;23. }
Justificativa:Resposta: B.
A função outra_funcao calcula quantos caracteres tem na string sem contar espaços em branco, o que resulta em 25.
A 4

B 25

C 29

D 30

Questão 5 :Na unidade 12, você teve contato com conhecimentos iniciais sobre linguagens de programação. Assinale a alternativa correta:
Resposta: A.
As opções B e C estão erradas porque os termos hardware e software estão trocados. Na opção D os termos linguagem de máquina e
linguagem de programação também estão trocados. A afirmação da alternativa A pode ser encontrada na unidade 12.
A unidade central de processamento de um computador executa somente código escrito na linguagem de máquina.
A

B A unidade central de processamento e outros periféricos como teclado, monitor, etc, são exemplos da parte de software de um computador.

C O sistema operacional faz parte do hardware do computador.

Todo programa escrito em uma linguagem de máquina é traduzido para uma linguagem de programação antes de ser executado, num processo
D chamado de compilação.

Questão 1 : Em relação a execução de programas em pseudocódigo, que você estudou da unidade a 16, assinale a alternativa correta que
corresponde ao valor que é escrito para o usuário ao fim do programa se usarmos 10 e 20 respectivamente como valores para x e y,
dado o programa em pseudocódigo a seguir:
Outro exemplo de pseudocódigo
Algoritmo OutroExemplo
Variáveis
x : Inteiro
y : Inteiro
Início
EscrevaDigite um número inteiro
Leia x
EscrevaDigite outro número inteiro
Leia y
x←y/x
y←y-x
x←y%5
y←x+y
Escreva y
Fim
Justificativa:Resposta: A.
Nas quatro operações do programa, o x passa a ser 2, o y passa a ser 18, depois o x passa a ser 3 e, por fim, soma-se 18 + 3, resultando em 21.
A 21

B 14

C 11

D 10

Questão 2 :Dado o programa em C a seguir, que utiliza estruturas condicionais compostas como você estudou na unidade 24, assinale a
alternativa correta que apresenta os dados escritos na tela tanto pelo programa quanto pelo usuário quando usamos como dados de entrada
os números 20, 10 e 0, respectivamente, para as variáveis a, b e c:
Programa em C com estrutura condicional composta
1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. int a, b, c;
7. printf("Digite tres numeros inteiros\n");
8. scanf("%d %d %d", &a, &b, &c);
9. if (c == 0 && b < a){
10. c = a + b;
11. printf("%d \n", c);
12. } else {
13. c = a - b;
14. printf("%d \n", c);
15. }
16. printf("%d \n", c);
17. system("pause");
18. return 0;19. }
Justificativa:Resposta: B.
Apenas as instruções printf das linhas 7, 11 e 16 são executadas. c vale a + b, que é igual a 30. Como o valor de c é mostrado duas vezes,
mostra-se o número 30 duas vezes.

Digite tres numeros inteiros


20 10 0
A 30
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
B 30
30
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
C 20
10
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
30
D 10
10
Pressione qualquer tecla para continuar. . .

Questão 3 :A respeito do processo visto na unidade 4 de identificar e solucionar um problema por meio de algoritmos, assinale qual das
alternativas a seguir está correta
Justificativa:Resposta: C.
Nem todo problema possui solução. Mudanças precisam ser feitas num algoritmo para ele calcular o perímetro de qualquer polígono, já que
o problema a ser resolvido é um pouco mais complexo. E cada pessoa pode criar uma sequência finita de passos diferente para chegar a uma
mesma solução de um mesmo problema.
Todo problema possui pelo menos uma solução.
A

B Se um algoritmo é capaz de calcular o perímetro de um polígono específico, ele é capaz de calcular o perímetro de qualquer polígono.

C Identificar corretamente um problema é essencial para chegar à sua solução.

D Dados um problema e uma solução, todo algoritmo criado para chegar a essa solução do problema terá exatamente os mesmos passos.

Questão 4 :Dado o programa em C a seguir, semelhante aos que você viu na unidade 37, assinale a alternativa correta que indica o número
que é impresso na linha 17 quando usamos como dado de entrada a string “abc123”:
String em caixa alta

1. #include
2. #include
3.
4. int main(void)
5. {
6. char texto[50];
7. int i, j;
8. printf(Digite uma sequencia qualquer de caracteres.\n);
9. scanf(%s, texto);
10. j = 0;
11. for (i = 0; i < 50; i++){
12. if (texto[i] == \0)
13. break;
14. if (texto[i] >= 48&& texto[i] 15. j = j + 1;
16. }
17. printf(%d, j);
18. system(pause);
19. return 0;20. }

Justificativa:Resposta: C.
O programa conta quantos caracteres da string são números, correspondendo a 3.
0
A

B 1

C 3

D 6

Questão 5 :Nas unidades 20 e 21, você estudou como compilar, executar e utilizar comandos de entrada e saída em programas em C.
Considere o comando a seguir:
printf("%d + %d = %d", a, b, a+b);
Assinale a alternativa correta que mostra o que é impresso na tela do usuário quando a variável a vale 10 e a variável b vale 5:
Justificativa:Resposta: C.
Substituindo os símbolos %d por cada fator subsequente do comando printf na ordem em que aparecem faz com que a string “10 + 5 = 15”
seja formada e informada ao usuário.
5 + 10 = 5+10
A

B 5 + 10 = 15

C 10 + 5 = 15

D 15 + 5 = 10

Questão 6 :A respeito das expressões lógicas que você estudou na unidade 9, assinale a alternativa correta que apresenta a expressão lógica
que possui resultado verdadeiro?
Justificativa:Resposta: D.

Resolvendo as expressões aritméticas, temos que:


a) A: Verdadeiro E Falso
b) B: NÃO É VERDADE QUE é Verdadeiro
c) C: Falso
d) D: Verdadeiro OU Falso
De acordo com as tabelas-verdades das operações de negação, conjunção e disjunção, temos que apenas a opção D possui resultado
Verdadeiro.

2+2=4E1+2=2
A

B NÃO É VERDADE QUE 1 + 1 = 2

C 1+1=3

D 2 + 2 = 4 OU 1 + 2 = 2

Questão 7 :Dado o programa a seguir e usando como base o que você aprendeu sobre variáveis globais e locais na unidade 43,assinale a
alternativa correta que apresenta o dado que é informado ao usuário na linha 17:
Funções usando variável global
1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. float num;
5.
6. void metade(void)
7. {
8. num = num /2;
9. }
10.
11. int main(void)
12. {
13. int i;
14. num = 16;
15. for (i = 1; i <= 4; i++){
16. metade();
17. }
18. printf("%f", num);
19. system("pause");
20. return 0;21. }
Justificativa:Resposta: A.
A função metade é executada 4 vezes. Com num iniciando em 16, na primeira execução ela calcula 16 / 2, que resulta em 8, e na segunda
calcula 8 / 2, que resulta em 4, e assim por diante, até que num seja 1.

1.000000
A

B 2.000000

C 4.000000

D 16.000000

Questão 8 :Na unidade 8 e na unidade 9, você estudou sobre a utilização de expressões aritméticas e lógicas. Dado o algoritmo a seguir,
assinale a alternativa correta que mostra o que é informado para o usuário na linha 9:

Algoritmo 3 – Expressões lógicas e aritméticas

1. Inteiro x;
2. Inteiro y;
3. x ←0;
4. y ←10;
5. x ←x + y;
6. y ← x - y;
7. x ← x - y;
8. Se (x = 10 OU y = 10) Então
9. Informe y;
10. FimSe.

Justificativa:Resposta: B.
Os cálculos realizados resultam sempre em x valendo 10 e y valendo 0. Isso faz com que a expressão lógica da linha 8 tenha sempre resultado
verdadeiro. Na linha 9, o valor de y, que é 0, é informado ao usuário.
A -10

B 0

C 10

D Nada.

Questão 6 :Na unidade 2, você viu as definições de dado e de informação, no contexto da informática e da computação. Assinale a alternativa
correta que representa uma informação:
Justificativa:Resposta: B.
Um dado possui valor, mas não significado. Uma informação é todo dado ou conjunto de dados que juntos carregam uma informação. -1 e
3,1415 são apenas números, ‘R’ é apenas uma letra, porém “O carro é vermelho” é um conjunto de dados que informam que algum carro
possui a cor vermelha.
3,1415
A

B “O carro é vermelho”.

C ‘R’

D -1

Questão 7 :Na unidade 29, você estudou sobre estrutura de repetição com teste no início. Dado o programa em C a seguir, assinale a
alternativa correta que mostra quantas vezes a instrução “continuar = 0;” é executada:
Calculadora muito simples com repetição

1. #include
2. #include
3.
4. int main(void)
5. {
6. float x,y;
7. char operador;
8. int continuar=1;
9. while(continuar == 1){
10. x = 0.0;
11. y = 0.0;
12. operador = ;
13. printf(\nDigite a operacao desejada.\n);
14. printf(Ou digite qualquer outra coisa para finalizar o programa.\n);
15. scanf(%f%c%f,&x,&operador,&y);
16. switch(operador){
17. case *:
18. printf(%f,x * y);
19. break;
20. case /:
21. printf(%f,x / y);
22. break;
23. default:
24. continuar = 0;
25. }
26. }
27. system(pause);
28. return 0;29. }
Justificativa:Resposta: B.
Independente dos valores de entrada, a instrução da linha 23 só será executada uma vez, quando o usuário desejar finalizar o programa.

Nenhuma vez.

B Apenas uma vez.

C Depende do valor da variável operador.

D Depende dos valores de x e y.

Questão 8 :A unidade 7 apresentou o conceito e a utilização de variáveis. Assinale a alternativa correta:


Justificativa:Resposta: C.
Alternativa A está errada porque os dados armazenados podem e geralmente mudam ao longo da execução dos programas. Alternativas B e
D estão erradas porque nomes de variáveis só podem iniciar com letras. Alternativa C está correta, pois é um exemplo da quarta regra para
nomes de variáveis, descrita na unidade 7.
Toda variável armazena um dado, o qual não pode ser modificado ao longo da execução do programa.
A

B Nomes de variáveis podem ser iniciados com letras, números ou sublinhado (“_”).

C Embora só possua letras, a palavra “Real” não pode ser usada como nome para variáveis por se tratar de um tipo de dados.

D “raio_Circulo” e “0800numero” são ambos nomes válidos para variáveis.

Questão 9 :Na unidade 26, você estudou sobre a estrutura condicional com escolha. Dado o programa em C a seguir, assinale a alternativa
correta que indica quais strings são informadas ao usuário quando usamos como dados de entrada respectivamente os números 3 e 6:
Programa em C com “Escolha...Caso”
1. #include
2. #include
3.
4. int main(void)
5. {
6. int a;
7. scanf(%d,&a);
8. switch(a){
9. case 0:
10. case 1:
11. printf(Banana);
12. break;
13. case 2:
14. printf(Laranja);
15. break;
16. case 3:
17. case 4:
18. printf(Carro);
19. break;
20. case 5:
21. printf(Moto);
22. break;
23. default:
24. printf(Trem);
25. }
26. system(pause);
27. return 0;28. }

Resposta: C.
Quando a entrada é 3, o código das linhas 16 a 19 é executado, informando a string "Carro". Quando a entrada é 6, a execução entra na
opção default, que informa a string "Trem" para o usuário.

Laranja e Carro
A

B Banana e Laranja

C Carro e Trem
D Carro e Moto

Questão 10 :Na unidade 12, apresentamos alguns conceitos sobre linguagens de programação. Assinale a alternativa correta:
Justificativa:Resposta: C.
A opção A está errada porque a unidade central de processamento não entende qualquer linguagem de programação, ela entende a
linguagem de máquina dela. O mesmo uso invertido dos termos é feito na opção D. Na opção B, também estão invertidos os exemplos de
hardware e software. A opção C está correta, de acordo com o texto da unidade 12.
A unidade central de processamento de um computador não compreende textos na língua portuguesa, mas compreende código escrito em
A qualquer linguagem de programação.

O computador pode ser dividido entre hardware, composto por programas de computador, e software, composto pela unidade central de
B processamento e outros periféricos como teclado, monitor, etc.

C O sistema operacional é o principal programa de computador e é por meio dele que os outros são executados.

Todo programa escrito em uma linguagem de máquina é traduzido para uma linguagem de programação antes de ser executado, num processo
D chamado de compilação.

Questão 2 :Dado o algoritmo a seguir, que utiliza expressões lógicas, que estudamos na unidade 9, e operadores relacionais, estudados na
unidade 10, assinale a alternativa correta que indica os dados que são informados ao usuário ao longo da execução do algoritmo:
Algoritmo 4 – Expressões lógicas com operadores relacionais

1. Inteiro a;
2. Inteiro b;
3. a ←0;
4. b ← 10;
5. Se (a != 0 OU b != 10) Então
6. Informe b;
7. FimSe.
8. a ← a + b;
9. b ← a - b;
10. a ← a - b;
11. Se (a > 10 OU b < 10) Então
12. Informe a;
13. FimSe.

Justificativa:Resposta: C.
A expressão lógica da linha 5 sempre possui resultado falso, e a expressão lógica da linha 11 sempre possui resultado verdadeiro, logo apenas
um comando Informe é executado, eliminando as opções A e B. Na linha 12, a variável a sempre possui valor 10, o que elimina também a
opção D.
10
A 20

10
B 10

C 10

D 20

Questão 3 :Sobre os tipos de dados estudados na unidade 6, assinale a alternativa correta:


Justificativa:Resposta: B.
As alternativas A, C e D podem ser encontradas no texto da unidade 6. A alternativa B está correta porque 5.0 é um número real e “5.0” é
uma string.
Verdadeiro e falso não são os únicos valores possíveis para dados booleanos.
A

B Escrever 5.0 não é o mesmo que escrever “5.0”.

C Escrever 5. não é o mesmo que escrever 5.0.

D Strings, também chamadas de cadeias de caracteres, não podem conter números.


Questão 4 :Dado o programa em C a seguir, e com base no que você estudou sobre estruturas condicionais simples e compostas na unidade 23
e na unidade 24, assinale a alternativa correta que mostra quais dados são escritos na tela tanto pelo programa quanto pelo usuário quando
usamos como dados de entrada 10, '/' e 3 respectivamente para as variáveis x, operador e y:

Calculadora simples
1. #include<stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. float x,y;
7. char operador;
8. scanf("%f%c%f",&x,&operador,&y);
9. if(operador=='*')
10. printf("%f",x*y);
11. else if(operador=='/')
12. printf("%f",x / y);
13. else
14. printf("Operador invalido.");
15. system("pause");
16. return 0;17. }

Justificativa:Resposta: B.
Na linha 12 é informado o valor da divisão de 10 por 3. Como os valores são guardados em variáveis do tipo float, o resultado em C é
impresso como 3.333333.
10 / 3
3.333332
A Pressione qualquer tecla para continuar. . .

10 / 3
B 3.333333
Pressione qualquer tecla para continuar. . .

10 / 3
C 3
Pressione qualquer tecla para continuar. . .

10 / 3
D 0.000000
Pressione qualquer tecla para continuar. . .

Questão 5 :Sobre as diferentes linguagens de programação que você viu na unidade 13, assinale a alternativa correta:
Justificativa:Resposta: D.
A opção A está errada por ser mais difícil programar em linguagens de máquina. A opção B está errada porque a semântica de linguagens de
programação pode variar bastante em relação a das linguagens assembly. A opção C consiste em uma instrução em linguagem de máquina. A
opção D está correta de acordo com o texto da unidade 13.
É mais fácil programar em linguagens de máquina do que em linguagens como C e Java.
A

B Linguagens assembly possuem semântica igual a das linguagens de programação mais usadas.

C O comando a seguir é um comando escrito na linguagem assembly da arquitetura MIPS32: 00000001001010100100000000100000.

As primeiras linguagens de programação a surgir foram as linguagens de máquina, e depois surgiram as linguagens de programação mais
D semelhantes à linguagem natural.

Questão 6 :Dado o algoritmo a seguir, que utiliza expressões que vimos nas unidades 8 e 9, assinale a alternativa correta que apresenta o
valor que é informado para o usuário na linha 9:
Algoritmo 3 – Expressões lógicas e aritméticas

1. Inteiro x;
2. Inteiro y;
3. x ← 1;
4. y ← 2;
5. x ← x + y;
6. y ← x - y;
7. x ← x - y;
8. Se (x = 2 OU y = 2) Então
9. Informe y;
10. FimSe.

Justificativa:Resposta: B.
Os cálculos realizados resultam sempre em x valendo 2 e y valendo 1. Isso faz com que a expressão lógica da linha 8 tenha sempre resultado
verdadeiro. Na linha 9, o valor de y, que é 1, é informado ao usuário.

A 2

B 1

C 0

D Nada.

Questão 7 : Considere a representação da classe a seguir, de acordo com o paradigma de orientação a objetos que você estudou na unidade
47 e na unidade 48.
Janela
• altura : int
• largura : int
• material : string
• abrir() : void
• fechar() : void

Com base nos seus conhecimentos sobre orientação a objetos e nos dados apresentados nessa representação da classe, determine qual a
alternativa correta:

Justificativa:Resposta: A.
Alternativa A define corretamente os métodos da classe Janela, que são seus comportamentos. Logo, a opção C está errada. Opção D também
está errada porque a classe possui 3 atributos. Opção B deveria informar que a classe estabelece propriedades e comportamentos dos objetos,
não dos atributos.

Todo objeto da classe Janela possui o comportamento de abrir e fechar.


A

B Uma classe, de acordo com o paradigma de orientação a objetos, estabelece propriedades e comportamentos que atributos podem seguir.

C largura, material e altura são os métodos da classe Janela.

D A classe Janela não possui atributos.

Questão 8 :Na unidade 5, estudamos sobre os algoritmos sequenciais. Assinale a alternativa correta que indica as palavras especiais usadas
para denotar respectivamente a entrada e a saída de dados nos nossos algoritmos:
Justificativa:Resposta: A.
Todos os algoritmos usam as palavras Receba e Informe para deixar explícito quando dados entrada são recebidos e dados de saída são
informados.

Receba e Informe.
A

B Início e Fim.

C Leia e Escreva.

D Entrada e Saída.

Questão 9 :Na unidade 26, você estudou sobre a estrutura condicional com escolha. Dado o programa em C a seguir, assinale a alternativa
correta que mostra o valor informado ao usuário quando usamos como dados de entrada os números 3 e 2:

Calculadora simples com “Escolha...Caso”


1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. float x;
7. char opcao;
8. scanf("%f\n",&x);
9. scanf("%c",&opcao);
10. switch(opcao){
11. case '1':
12. printf("%f\n",x+ x);
13. break;
14. case '2':
15. printf("%f\n",x * x);
16. break;
17. case '3':
18. printf("%f",x* x * x);
19. break;
20. default:
21. printf("%d\n, 0");
22. }
23. system("pause");
24. return 0;25. }

Justificativa:Resposta: D.
O segundo dado de entrada ser 2 faz com que a linha 14 seja executada. Essa linha multiplica o primeiro dado de entrada por ele mesmo.
Como o primeiro dado de entrada é 3, o valor 9.000000 é impresso.
A 0.000000

B 5.000000

C 8.000000

D 9.000000

Questão 10 :Com base no que abordamos sobre a linguagem de programação C na unidade 17 e na unidade 18, assinale a afirmação correta
a respeito da linguagem C:
Resposta: C.
A alternativa a está incorreta, pois a declaração de variáveis em C não fica separada do resto do programa. A alternativa b está incorreta
porque não existem tipos de dados de strings. E o comando scanf é usado na, verdade, para a entrada de dados, e não a saída, o que torna a
alternativa d incorreta. Por outro lado, existem diversos tipos de dados numéricos inteiros, como mostra a segunda tabela da unidade 17.
A declaração das variáveis em C deve ficar separada do resto do programa, num espaço chamado Variáveis.
A

B Embora não exista um tipo de dado booleano em C, existem os tipos de dados numéricos e de strings.

C Existem tipos diferentes de dados numéricos inteiros, cada um com um intervalo de representação diferente.

D O comando scanf é usado para informar dados ao usuário.

Questão 2 :Na unidade 8, você estudou sobre as expressões aritméticas. Dado o algoritmo a seguir, assinale a alternativa correta que mostra o
valor informado para o usuário na linha 13:

Algoritmo 2 – Expressões aritméticas


1. Inteiro x;
2. Inteiro y;
3. Inteiro z;
4. x←2;

5. y←Receba um número inteiro;


6. z ← 3;
7. x ← x ^ z;
8. z ← z - 3;
9. y ← y * z;
10. z ← y + 1;
11. y ← z + 1;
12. x ← x / y;
13. Informe o valor de x.

Justificativa:Resposta: B.
Os cálculos realizados resultam sempre em x valendo 4; x começa com valor 2 e na linha 7 passa a valer 8. Na linha 10, ambos y e z valem 0.
Então z passa a ser 1, e em seguida y passa a ser 2. Na linha 12, então, calculamos 8 / 2, que sempre resulta em 4.

A 2

B 4

C 8

D É impossível saber.

Questão 3 :Dado o programa a seguir e com base no que você estudou sobre comandos de entrada e de saída de dados, na unidade 21,
assinale a alternativa correta que mostra o que é informado na linha 11 quando o usuário usa como dado de entrada o número 67:

Programa em C com funcionalidade desconhecida


1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. int a, b, c;
7. float d;
8. printf("Digite um numero inteiro de 2 digitos.\n");
9. scanf("%d", &a);
10. b = a / 10;
11. c = a % 10;
12. a = c * 10 + b;
13. d = a / 2.0;
14. printf("Resultado: %f", d);
15. system("pause");
16. return 0;17. }

Justificativa:Resposta: B.
O programa acima inverte os dígitos de um número, transformando 67 em 76, e em seguida divide o número por 2.0, gerando um número
real de valor 38. Por ser do tipo float e usarmos o símbolo %f no comando printf, o número é impresso no formato 38.000000.

Resultado: 76.000000
A

B Resultado: 38.000000

C Resultado: 38

D Resultado: 76

Questão 4 :Na unidade 35 e na unidade 36, você estudou sobre a manipulação de literais. Dado o programa em C a seguir, assinale a
alternativa correta que indica o valor informado para o usuário na linha 11:

Manipulando literais

1. #include
2. #include
3.
4. int main(void)
5. {
6. char atividade[] = Programar em C;
7. int i = 0;
8. while(atividade[i] != \0) {
9. i = i + 1;
10. }
11. printf(%d, i);
12. system(pause);
13. return 0;14. }

Justificativa:Resposta: B.
O programa calcula o tamanho da string desconsiderando o caractere final '\0'. Sem contar o caractere final, a string possui 14 caracteres.
A 12

B 14

C 15

D 16

Questão 5 :Com base nos conhecimentos que você adquiriu nas unidades 22, 23 e 24 sobre estruturas condicionais, dado o programa em C a
seguir, assinale a alternativa correta que indica quais dados são escritos na tela tanto pelo programa quanto pelo usuário quando usamos
como dados de entrada 45, '/' e 2 ,respectivamente, para as variáveis x, operador e y:

Calculadora simples
1. #include<stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. float x, y;
7. char operador;
8. scanf("%f%c%f",&x,&operador,&y);
9. if(operador=='*')
10. printf("%f \n",x*y);
11. else if(operador=='/')
12. printf("%f \n",x / y);
13. else
14. printf("Operador invalido.");
15. system("pause");
16. return 0;17. }

Justificativa:Resposta: A.
Na linha 12, é informado o valor da divisão de 45 por 2. Como os valores são guardados em variáveis do tipo float, o resultado em C é
impresso como 22.500000.

45 / 2
22.500000
A Pressione qualquer tecla para continuar. . .

45 / 2
B 22.5
Pressione qualquer tecla para continuar. . .

45 / 2
C 22
Pressione qualquer tecla para continuar. .

45 / 2
D 0.000000
Pressione qualquer tecla para continuar. . .
Questão 6 :Dado o programa em C a seguir, que utiliza estruturas condicionais compostas como você estudou na unidade 24, assinale a
alternativa correta que apresenta os dados escritos na tela tanto pelo programa quanto pelo usuário quando usamos como dados de entrada
os números 20, 10 e 0, respectivamente, para as variáveis a, b e c:

Programa em C com estrutura condicional composta


1. #include <stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. int a, b, c;
7. printf("Digite tres numeros inteiros\n");
8. scanf("%d %d %d", &a, &b, &c);
9. if (c == 0 && b < a){
10. c = a + b;
11. printf("%d \n", c);
12. } else {
13. c = a - b;
14. printf("%d \n", c);
15. }
16. printf("%d \n", c);
17. system("pause");
18. return 0;19. }

Justificativa:Resposta: B.
Apenas as instruções printf das linhas 7, 11 e 16 são executadas. c vale a + b, que é igual a 30. Como o valor de c é mostrado duas vezes,
mostra-se o número 30 duas vezes.
Digite tres numeros inteiros
20 10 0
A 30
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
B 30
30
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
C 20
10
Pressione qualquer tecla para continuar. . .

Digite tres numeros inteiros


20 10 0
30
D 10
10
Pressione qualquer tecla para continuar. . .

Questão 7 :Com base no que você estudou sobre programação em linguagem C, nas unidades 18 e 19, assinale a alternativa correta que
apresenta a funcionalidade do seguinte programa:

Outro exemplo de programa em C


1. #include<stdio.h>
2. #include <stdlib.h>
3.
4. int main(void)
5. {
6. float num;
7. printf("Digite um numero real.\n");
8. scanf("%f", &num);
9. num = num / 2;
10. printf("%f \n", num);
11. num = num * 4;
12. printf("%f \n", num);
13. system("pause");
14. return 0;15. }

Justificativa:Resposta: C.
Ao dividirmos o número por 2, encontramos sua metade. Ao multiplicarmos a metade por 4, encontramos seu dobro.

Calcular a área de um triângulo.


A

B Calcular o antecessor e o sucessor de um número.

C Calcular a metade e o dobro de um número.

D Calcular a diagonal de um quadrado qualquer.

Questão 8 :Dado o programa em C a seguir e com base nos conceitos sobre estruturas condicionais com escolha apresentados na unidade 26,
assinale a alternativa correta que mostra qual string é informada ao usuário quando usamos como dados de entrada respectivamente os
números 1 e 1:

Programa em C com “Escolha...Caso”

1. #include
2. #include
3.
4. int main(void)
5. {
6. int a, b, c;
7. c = 0;
8. printf(Digite dois numeros inteiros.\n);
9. scanf(%d %d,&a, &b);
10. switch(a){
11. case 0:
12. switch(b){
13. case 0:
14. c = c + c;
15. break;
16. case 1:
17. c = c + 1;
18. break;
19. default:
20. c = -1;
21. }
22. break;
23. case1:
24. c = c + 2;
25. switch(b){
26. case 0:
27. break;
28. case 1:
29. c = c + 1;
30. break;
31. default:
32. c = -1;
33. }
34. break;
35. default:
36. c = -1;
37. }
38. printf(%d, c);
39. system(pause);
40. return 0;41.
Justificativa:Resposta: D.
Quando a entrada de dados é 1 e 1, o resultado sempre será 3. Na verdade, esse programa converte números binários de 2 dígitos para base
decimal. As instruções case das linhas 23 e 28 são executadas.
A 0

B 1

C 2

D 3

Questão 9 :Na unidade 29, você estudou sobre estrutura de repetição com teste no início. Dado o programa em C a seguir, assinale a
alternativa correta que mostra quantas vezes a instrução “continuar = 0;” é executada:
Calculadora muito simples com repetição1.

#include
2. #include
3.
4. int main(void)
5. {
6. float x,y;
7. char operador;
8. int continuar=1;
9. while(continuar == 1){
10. x = 0.0;
11. y = 0.0;
12. operador = ;
13. printf(\nDigite a operacao desejada.\n);
14. printf(Ou digite qualquer outra coisa para finalizar o programa.\n);
15. scanf(%f%c%f,&x,&operador,&y);
16. switch(operador){
17. case *:
18. printf(%f,x * y);
19. break;
20. case /:
21. printf(%f,x / y);
22. break;
23. default:
24. continuar = 0;
25. }
26. }
27. system(pause);
28. return 0;29. }

Justificativa:Resposta: B.
Independente dos valores de entrada, a instrução da linha 23 só será executada uma vez, quando o usuário desejar finalizar o programa.

A Nenhuma vez.

B Apenas uma vez.

C Depende do valor da variável operador.

D Depende dos valores de x e y.

Questão 10 :O algoritmo a seguir utiliza operadores relacionais que você estudou na unidade 10. Assinale a alternativa correta que apresenta
o valor informado no fim da execução do algoritmo se o usuário usar como dados de entrada os números 10 e 5, respectivamente, para as
variáveis x e y:

4 – Comparador
1. Inteiro x;
2. Inteiro y;
3. x ← Receba um número inteiro;
4. y ← Receba um número inteiro;
5. Se (x>y) Então
6. Informe -1;
7. Senão
8. Se (y>x) Então
9. Informe 1;
10. Senão
11. Informe 0;
12. FimSe
13. FimSe

Justificativa:Resposta: A.
Se x for igual a 10, e y igual a 5, a execução entra na linha 6, onde é informado o valor -1. Seria informado 0 se x e y fossem iguais e 1 se y
fosse maior que x. Nunca é informado 5 ao usuário.

-1
A

B 0

C 1

D 5