NEW
Font size
Worksheets02/10 - PNDS - Revisão
Total questions: 29
Worksheet time: 15mins
Qual biblioteca é necessária para usar as funções printf e scanf em C?
stdlib.h
time.h
stdio.h
math.h
No trecho de código em C, qual é o propósito de chamar srand(time(0)) antes de usar rand()?
Calcular o tempo de execução do programa.
Garantir que o número secreto seja sempre 100.
Inicializar o gerador de números pseudoaleatórios para produzir sequências diferentes a cada execução.
Definir o número de tentativas iniciais.
Se uma variável numeroscreto é definida como rand() % 100, qual é o intervalo de valores inteiros que ela pode assumir?
De 0 a 99 (inclusive).
De 1 a 100 (inclusive).
De 0 a 100 (inclusive).
De 1 a 99 (inclusive).
No cálculo dos pontos perdidos, a função abs() da biblioteca stdlib.h tem qual efeito?
Arredonda o valor para o inteiro mais próximo.
Converte o valor para double.
Retorna o valor absoluto (sem sinal) da diferença entre o chute e o número secreto.
Calcula a raiz quadrada da diferença.
Qual é o tipo de dado da variável pontos e por que ele é usado?
int, pois representa uma pontuação inteira.
double, para permitir o cálculo e exibição de valores decimais (casas flutuantes).
float, pois double é muito grande para um jogo simples.
long int, para garantir que a pontuação seja grande o suficiente.
Se o usuário escolher o nível de dificuldade '3', qual será o valor de totaldetentativas?
20
15
6
Não será definido, pois o switch só tem case 1 e case 2.
Qual estrutura de repetição é usada para gerenciar o número de tentativas do jogador?
while
for
do-while
if-else
Qual é o valor da variável acertou se o jogador chutar 50 e o numerosecreto for 50?
0 (Falso)
1 (Verdadeiro)
Depende da tentativa
Um valor aleatório
Qual palavra‑chave é usada para sair imediatamente do loop for após o jogador acertar o número secreto?
continue
break
return
exit
Quando o usuário chuta um número negativo (ex.: -5), qual comportamento ocorre no loop segundo o código mostrado?
O programa calcula a pontuação com o número negativo.
O contador de tentativas (i) é decrementado, e o loop pula para a próxima iteração sem perder a tentativa.
O programa exibe a mensagem de derrota imediatamente.
O jogo considera como se o chute fosse 5.
Qual é a condição para que a mensagem de derrota seja executada no código do jogo?
O número de tentativas for esgotado (i > totaldetentativas).
O chute for menor que zero.
A pontuação for menor que zero.
A variável acertou for falsa (0).
Em qual nível de dificuldade o jogo permite o maior número de chutes, de acordo com a definição de totaldetentativas?
Fácil (1)
Médio (2)
Difícil (3)
Todos os níveis têm o mesmo número de tentativas
Se numerosecreto for 70 e o jogador chutar 50, qual será o valor de pontos perdidos nessa rodada?
20.0
50.0
10.0
40.0
Qual operador de comparação é usado para verificar se o chute é igual ao número secreto em C?
=
==
!=
>=
Qual é o valor inicial da pontuação antes de qualquer chute ser feito, conforme explicitado no código?
0
1000
Depende do nível
O número secreto
O que é um "literal de ponto flutuante" e qual exemplo o conteúdo fornece?
O número 1000.
O número 100.
Um número com um ponto decimal, como 2.0.
A variável pontos.
Segundo o conteúdo, por que usar 2.0 no cálculo abs(chute - numerosecreto) / 2.0?
Para converter o resultado para inteiro.
Para garantir precisão decimal, evitando a truncagem da divisão de inteiros.
Para comparar igualdade entre inteiros.
Para inicializar a variável numerosecreto.
Qual é o propósito da variável i no loop for (int i = 1; i <= totaldetentativas; i++) conforme descrito?
Armazenar o número secreto.
Contar a tentativa atual (o número da rodada).
Armazenar a dificuldade do jogo.
Armazenar o chute do jogador.
Por que o especificador de formato %.2f é usado na linha printf("Você fez %.2f pontos. Até a próxima!\n\n", pontos)?
Para formatar a saída com duas casas decimais fixas (duas vezes f).
Para exibir o número de ponto flutuante (f) com exatamente duas casas decimais (.2).
Para garantir que a variável pontos seja um double.
Para imprimir um número inteiro (2).
Qual é o efeito de remover o .0 da divisão no cálculo da pontuação (i.e., abs(...)/2)?
Não haverá diferença no resultado.
A divisão será uma divisão inteira, o que pode truncar o resultado e afetar a precisão da perda de pontos.
O programa não irá compilar.
A perda de pontos será sempre o dobro.
Qual é a função principal onde a execução de um programa C começa?
start()
begin()
main()
run()
Ao dividir por 2.0 em vez de 2 no cálculo da pontuação, qual comportamento é forçado segundo a explicação?
A operação passa a ser de ponto flutuante, preservando a parte decimal.
A operação continua inteira, mas com arredondamento para cima.
A operação se torna inválida para inteiros.
A operação imprime automaticamente com %.2f.
O que a linha printf("\n\n"); faz?
Imprime um caractere de barra invertida e um 'n'.
Imprime o texto \n\n.
Insere duas linhas em branco na saída (dois caracteres de nova linha).
Finaliza o programa.
Por que a instrução break; é usada dentro de cada case do switch (exceto no default)?
Para encerrar o programa.
Para sair do bloco switch após encontrar e executar o case correto.
Para pular para a próxima linha de código.
Para forçar a execução do default.
O que acontece quando a instrução continue; é executada dentro do loop for?
O programa salta para a primeira linha após o loop.
O programa ignora o código restante no loop e passa para a próxima interação.
O programa retorna para executar.
O loop se torna um loop infinito.
Qual é o papel dos comentários de linha dupla (//) no código?
São instruções que o compilador executa secretamente.
São notas para o programador que são ignoradas pelo compilador.
Servem para definir variáveis globais.
Marcam o início de uma nova seção obrigatória do código.
Se o usuário digitar "cinco" em vez de "2" na escolha do nível, o que provavelmente acontecerá no programa?
O scanf lerá o texto e o programa será executado normalmente no nível Difícil.
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.
O programa automaticamente definirá o nível para 1.
O compilador detectará a entrada inválida em tempo de execução.
O que aconteceria se você removesse a linha srand(time(0)); do programa?
O programa travaria.
O numerosecreto seria sempre 0.
O número secreto gerado seria o mesmo toda vez que o programa fosse executado.
O jogo ficaria impossível.
Se o jogo termina sem acerto, a qual valor a variável i (o contador do loop for) será igual?
totaldetentativas
totaldetentativas + 1
1
0
