wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

02/10 - PNDS - Revisão

Total questions: 29

Worksheet time: 15mins

Name
Class
Date
1.

Qual biblioteca é necessária para usar as funções printf e scanf em C?

a)

stdlib.h

b)

time.h

c)

stdio.h

d)

math.h

2.

No trecho de código em C, qual é o propósito de chamar srand(time(0)) antes de usar rand()?

a)

Calcular o tempo de execução do programa.

b)

Garantir que o número secreto seja sempre 100.

c)

Inicializar o gerador de números pseudoaleatórios para produzir sequências diferentes a cada execução.

d)

Definir o número de tentativas iniciais.

3.

Se uma variável numeroscreto é definida como rand() % 100, qual é o intervalo de valores inteiros que ela pode assumir?

a)

De 0 a 99 (inclusive).

b)

De 1 a 100 (inclusive).

c)

De 0 a 100 (inclusive).

d)

De 1 a 99 (inclusive).

4.

No cálculo dos pontos perdidos, a função abs() da biblioteca stdlib.h tem qual efeito?

a)

Arredonda o valor para o inteiro mais próximo.

b)

Converte o valor para double.

c)

Retorna o valor absoluto (sem sinal) da diferença entre o chute e o número secreto.

d)

Calcula a raiz quadrada da diferença.

5.

Qual é o tipo de dado da variável pontos e por que ele é usado?

a)

int, pois representa uma pontuação inteira.

b)

double, para permitir o cálculo e exibição de valores decimais (casas flutuantes).

c)

float, pois double é muito grande para um jogo simples.

d)

long int, para garantir que a pontuação seja grande o suficiente.

6.

Se o usuário escolher o nível de dificuldade '3', qual será o valor de totaldetentativas?

a)

20

b)

15

c)

6

d)

Não será definido, pois o switch só tem case 1 e case 2.

7.

Qual estrutura de repetição é usada para gerenciar o número de tentativas do jogador?

a)

while

b)

for

c)

do-while

d)

if-else

8.

Qual é o valor da variável acertou se o jogador chutar 50 e o numerosecreto for 50?

a)

0 (Falso)

b)

1 (Verdadeiro)

c)

Depende da tentativa

d)

Um valor aleatório

9.

Qual palavra‑chave é usada para sair imediatamente do loop for após o jogador acertar o número secreto?

a)

continue

b)

break

c)

return

d)

exit

10.

Quando o usuário chuta um número negativo (ex.: -5), qual comportamento ocorre no loop segundo o código mostrado?

a)

O programa calcula a pontuação com o número negativo.

b)

O contador de tentativas (i) é decrementado, e o loop pula para a próxima iteração sem perder a tentativa.

c)

O programa exibe a mensagem de derrota imediatamente.

d)

O jogo considera como se o chute fosse 5.

11.

Qual é a condição para que a mensagem de derrota seja executada no código do jogo?

a)

O número de tentativas for esgotado (i > totaldetentativas).

b)

O chute for menor que zero.

c)

A pontuação for menor que zero.

d)

A variável acertou for falsa (0).

12.

Em qual nível de dificuldade o jogo permite o maior número de chutes, de acordo com a definição de totaldetentativas?

a)

Fácil (1)

b)

Médio (2)

c)

Difícil (3)

d)

Todos os níveis têm o mesmo número de tentativas

13.

Se numerosecreto for 70 e o jogador chutar 50, qual será o valor de pontos perdidos nessa rodada?

a)

20.0

b)

50.0

c)

10.0

d)

40.0

14.

Qual operador de comparação é usado para verificar se o chute é igual ao número secreto em C?

a)

=

b)

==

c)

!=

d)

>=

15.

Qual é o valor inicial da pontuação antes de qualquer chute ser feito, conforme explicitado no código?

a)

0

b)

1000

c)

Depende do nível

d)

O número secreto

16.

O que é um "literal de ponto flutuante" e qual exemplo o conteúdo fornece?

a)

O número 1000.

b)

O número 100.

c)

Um número com um ponto decimal, como 2.0.

d)

A variável pontos.

17.

Segundo o conteúdo, por que usar 2.0 no cálculo abs(chute - numerosecreto) / 2.0?

a)

Para converter o resultado para inteiro.

b)

Para garantir precisão decimal, evitando a truncagem da divisão de inteiros.

c)

Para comparar igualdade entre inteiros.

d)

Para inicializar a variável numerosecreto.

18.

Qual é o propósito da variável i no loop for (int i = 1; i <= totaldetentativas; i++) conforme descrito?

a)

Armazenar o número secreto.

b)

Contar a tentativa atual (o número da rodada).

c)

Armazenar a dificuldade do jogo.

d)

Armazenar o chute do jogador.

19.

Por que o especificador de formato %.2f é usado na linha printf("Você fez %.2f pontos. Até a próxima!\n\n", pontos)?

a)

Para formatar a saída com duas casas decimais fixas (duas vezes f).

b)

Para exibir o número de ponto flutuante (f) com exatamente duas casas decimais (.2).

c)

Para garantir que a variável pontos seja um double.

d)

Para imprimir um número inteiro (2).

20.

Qual é o efeito de remover o .0 da divisão no cálculo da pontuação (i.e., abs(...)/2)?

a)

Não haverá diferença no resultado.

b)

A divisão será uma divisão inteira, o que pode truncar o resultado e afetar a precisão da perda de pontos.

c)

O programa não irá compilar.

d)

A perda de pontos será sempre o dobro.

21.

Qual é a função principal onde a execução de um programa C começa?

a)

start()

b)

begin()

c)

main()

d)

run()

22.

Ao dividir por 2.0 em vez de 2 no cálculo da pontuação, qual comportamento é forçado segundo a explicação?

a)

A operação passa a ser de ponto flutuante, preservando a parte decimal.

b)

A operação continua inteira, mas com arredondamento para cima.

c)

A operação se torna inválida para inteiros.

d)

A operação imprime automaticamente com %.2f.

23.

O que a linha printf("\n\n"); faz?

a)

Imprime um caractere de barra invertida e um 'n'.

b)

Imprime o texto \n\n.

c)

Insere duas linhas em branco na saída (dois caracteres de nova linha).

d)

Finaliza o programa.

24.

Por que a instrução break; é usada dentro de cada case do switch (exceto no default)?

a)

Para encerrar o programa.

b)

Para sair do bloco switch após encontrar e executar o case correto.

c)

Para pular para a próxima linha de código.

d)

Para forçar a execução do default.

25.

O que acontece quando a instrução continue; é executada dentro do loop for?

a)

O programa salta para a primeira linha após o loop.

b)

O programa ignora o código restante no loop e passa para a próxima interação.

c)

O programa retorna para executar.

d)

O loop se torna um loop infinito.

26.

Qual é o papel dos comentários de linha dupla (//) no código?

a)

São instruções que o compilador executa secretamente.

b)

São notas para o programador que são ignoradas pelo compilador.

c)

Servem para definir variáveis globais.

d)

Marcam o início de uma nova seção obrigatória do código.

27.

Se o usuário digitar "cinco" em vez de "2" na escolha do nível, o que provavelmente acontecerá no programa?

a)

O scanf lerá o texto e o programa será executado normalmente no nível Difícil.

b)

O scanf terá um erro de leitura, deixando a variável nivel inalterada e a entrada subsequente corrompida, podendo levar a um comportamento inesperado ou crash.

c)

O programa automaticamente definirá o nível para 1.

d)

O compilador detectará a entrada inválida em tempo de execução.

28.

O que aconteceria se você removesse a linha srand(time(0)); do programa?

a)

O programa travaria.

b)

O numerosecreto seria sempre 0.

c)

O número secreto gerado seria o mesmo toda vez que o programa fosse executado.

d)

O jogo ficaria impossível.

29.

Se o jogo termina sem acerto, a qual valor a variável i (o contador do loop for) será igual?

a)

totaldetentativas

b)

totaldetentativas + 1

c)

1

d)

0