O programa em FORTRAN abaixo faz a leitura de um número digi...
1 - program numeroprimo 2 - integer::i,x,cont 3 - write(*,*) “Entre o numero para testar se e primo ou nao” 4 - read(*,*)x 5 - cont=0 6 - do i=1,x 7 - if(mod(x,i)/=0) then 8 - cont=cont+1 9 - end if 10 - end do 11 - if (cont<=2) then write(*,*)”O numero e primo” else write(*,*) “O numero nao e primo " 12 - end if 13 - end program
Identifique a resposta correta:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos começar pela alternativa correta para esclarecer a questão:
Alternativa D: A função da diretiva “end if” na linha 9 é finalizar a avaliação do módulo do número inserido definido na linha 7.
A linha 7 contém uma verificação usando a função mod
para determinar se o número x
é divisível por i
. Se essa condição for atendida, o contador cont
é incrementado. A linha 9 marca o final deste bloco if
, encerrando a verificação. Portanto, a alternativa D é correta.
Agora vamos analisar as alternativas incorretas:
Alternativa A: A linha 2 identifica as variáveis i
, x
e cont
como números integrais.
Comentário: Na linha 2, as variáveis corretas são i
, x
e cont
. A alternativa menciona j
em vez de i
, o que torna essa alternativa incorreta.
Alternativa B: A atribuição do contador “cont = 0
” na linha 5 não é necessária.
Comentário: Inicializar o contador cont
com valor zero é essencial para garantir que ele comece do estado inicial correto antes de entrar no laço do
. Sem isso, o contador poderia conter um valor residual de execuções anteriores, levando a resultados errados.
Alternativa C: A linha 11 possui uma diretiva “if
” que identifica o número inserido pelo usuário como inferior a 2 sempre.
Comentário: A linha 11 verifica se o contador cont
é igual a 2 para identificar se o número é primo. Este if
não considera o valor de entrada diretamente, mas verifica a quantidade de divisores que o número x
teve. Logo, essa alternativa está incorreta.
Alternativa E: Nenhuma das alternativas está correta.
Comentário: Esta alternativa é incorreta porque já identificamos que a alternativa D está correta.
Resumo e Conhecimentos Necessários:
Para resolver essa questão, é fundamental entender a estrutura básica de um programa em FORTRAN, incluindo a declaração de variáveis, a utilização de laços de repetição (do
), e as condicionais (if
). Também é importante compreender como se determina se um número é primo, que envolve verificar a divisibilidade desse número pelos números menores que ele.
Essa questão testa a capacidade do candidato de entender e rastrear a lógica de um código, além de identificar a função específica de cada parte do programa. Atenção aos detalhes e conhecimento da sintaxe de FORTRAN são essenciais para responder corretamente.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo