Início
1 - contador ⟵ 1
2 - maiores ⟵ 0
3 - Enquanto contador <= 5 faça
Ler numero
Se numero > 10 então
maiores ⟵ maiores + 1
FimSe
contador ⟵ contador +1
4 - FimEnquanto
5 - Escrever maiores
Fim
Perguntas:
a) O que o algoritmo faz?
b) Se os valores forem 5,12,8,15,20, qual será a saída?
1 - contador ⟵ 1
2 - maiores ⟵ 0
3 - Enquanto contador <= 5 faça
Ler numero
Se numero > 10 então
maiores ⟵ maiores + 1
FimSe
contador ⟵ contador +1
4 - FimEnquanto
5 - Escrever maiores
Fim
a) O que o algoritmo faz?
b) Se os valores forem 5,12,8,15,20, qual será a saída?
Passo 1
O enunciado fornece um algoritmo em pseudocódigo e pede duas coisas:
- (a) Descrever o que o algoritmo faz.
- (b) Dado o sequência de valores
, dizer qual será a saída (o que o algoritmo escreve).
Informações relevantes extraídas do enunciado:
- Variáveis e valores iniciais:
-
- Estrutura de repetição:
- Enquanto
faça: - Ler
- Se
então -
- Ler
- FimEnquanto
- Enquanto
- No final: Escrever
Passo 2
Explicando o papel de cada variável (para ficar bem claro):
-
é um contador de iterações. Começa em e aumenta de em até passar de . Serve para garantir que o laço seja executado exatamente cinco vezes. -
é um acumulador que conta quantos números lidos satisfazem uma certa condição (serem maiores que ). Começa em . -
é a variável que recebe, a cada iteração, o valor lido (um dos números fornecidos).
Passo 3
Entendendo a estrutura de repetição "Enquanto
":
- O laço inicia com
. - A cada volta do laço, ao final, faz-se
. - O laço se repete enquanto a condição
for verdadeira. - Como
aumenta de em começando em , o laço será executado exatamente para os valores , ou seja, cinco vezes.
Passo 4
Entendendo a condição interna "Se
então
":
- A expressão
é uma comparação que vale verdadeira apenas quando o valor lido em é estritamente maior que . - Se a comparação for verdadeira, incrementa-se
em . Isso faz com que conte quantos números, entre os lidos, são maiores que . - Se a comparação for falsa,
permanece com seu valor atual.
Passo 5
Resumo do comportamento do algoritmo (pré-resposta): em cada uma das cinco iterações o algoritmo lê um número e, se ele for maior que
, aumenta o contador
. Ao final das cinco leituras escreve o valor de
.
Passo 6
Agora vamos executar passo a passo com a sequência de entrada fornecida:
.
Vou mostrar iteração por iteração os valores de ,
lido, resultado da comparação e o valor de
após a possível atualização.
Vou mostrar iteração por iteração os valores de
Passo 7
Iteração 1:
- Antes:
, . - Lê-se
. - Teste:
é falso. - Logo
permanece . - Atualiza-se
.
Passo 8
Iteração 2:
- Antes:
, . - Lê-se
. - Teste:
é verdadeiro. - Executa-se
, então . - Atualiza-se
.
Passo 9
Iteração 3:
- Antes:
, . - Lê-se
. - Teste:
é falso. -
permanece . - Atualiza-se
.
Passo 10
Iteração 4:
- Antes:
, . - Lê-se
. - Teste:
é verdadeiro. -
. - Atualiza-se
.
Passo 11
Iteração 5:
- Antes:
, . - Lê-se
. - Teste:
é verdadeiro. -
. - Atualiza-se
, agora é falso e o laço termina.
Passo 12
Fim do laço: o algoritmo escreve o valor atual de
, que após as cinco leituras ficou igual a
.
Resposta
(a) O algoritmo conta quantos dos cinco números lidos são estritamente maiores que
.
(b)
(b)