Mais uma estrutura de repetição que repete um bloco de comandos até que alguma condição se torne verdadeira.
Iniciaremos o comando repita com o mesmo algoritmo proposto com o comando enquanto e para:

Faça um algoritmo que mostre os números de 1 a 10 utilizando o comando repita.
Var
x:inteiro
inicio
x<-0
repita
x<-x+1
escreval (x)
se x=10
entao
interrompa
fimse
fimrepita
fimalgoritmo

A principal diferença entre o comando REPITA e o ENQUANTO é que o REPITA executa a primeiro o bloco de comandos sem verificar a condição. Desta forma, só após o bloco ser executado uma vez, a condição vai será testada.

Exemplo:
Faça um algoritmo que aceita apenas números entre 5 e 10, inclusive. Se o usuário digitar um npúmero entre 5 e 10 exiba a mensagem final: Correto – Número digitado: ….. Dó contrário o algortimo é infinito.

Algoritmo “Aceita apenas números entre 5 e 10, inclusive”
VAR
n : inteiro
inicio
escreval (“Testar números.”)
REPITA
escreval (“Digite um número entre 5 e 10:”)
leia (n)
ATE((n >= 5) e (n <= 10))
escreva (“Correto – Número digitado:”, n)
fimalgoritmo

  • Repare que no promeiro algoritmo temos o interrompa e o fimrepita e no segundo terminamos o laço utilizando o ate.

O REPITA é bastante utilizado nos programas que possuem um menu de opções e cadastros. Isso porque na primeira vez da execução o bloco de comandos não possui um teste.
Exemplo:

Algoritmo “Cadastro de jogadores”
var
nome : caracter
cad, x : inteiro
inicio
escreval (“Qual a quantidades de jogadores deseja cadastrar?”)
leia (cad)
limpatelarepita
x<-x+1
escreval (“Digite o nome do jogador número 000”,x, “:”)
leia (nome)
ate x = cad
escreval (“cadastro realizado com sucesso!”)
fimalgoritmo

Desenvolva um algoritmo que leia dois números e faça a soma destes números, em seguida, o algoritmo deve perguntar ao usuário se deseja fazer o cálculo novamente. Se sim, o algoritmo continua, do contrário, mostra a soma final.

Desenvolva um algoritmo que mostre na tela os números compreendidos entre dois valores quaisquer informados pelo usuário (inclusive). São duas perguntas:
Qual o número inicial para contagem?
Em qual número a contagem deve terminar?

Desenvolva um algoritmo que leia o nome e o sexo de 50 pessoas e em seguida mostre na tela o nome e se a pessoa é homem ou mulher. No final do algoritmo, mostre também na tela, o total de homens e de mulheres.

Observe o fluxograma abaixo. Desenvolva o algoritmo e assinale a alternativa correta.

Considerando os valores iniciais:
M =  – 4
N =  6
O =  3
P = 7
X = 45

Qual o valor impresso de X após a execução do fluxograma?

(    ) 45
(    ) 14
(    ) 21
(    ) 1
(    ) 10

 

Desenvolva um algoritmo que escreva a soma e a média de todos os números inteiros digitados pelo usuário no intervalo de 0 (zero) até um número inteiro maior que zero escolhido, anteriormente, pelo usuário.

 

Desenvolva um algoritmo que receba N valores até que o usuário digite 0 (zero). Como saída o algoritmo mostra na tela quantos números lidos estão no intervalo entre 10 e 20, inclusive, e quantos números estão fora.

Desenvolva um algoritmo que leia 50 números. Todos os números lidos com valor inferior a 40 devem ser somados. Por fim, escreva na tela o valor final da soma e o maior número digitado (dentre os menores de 40).

 

A empresa ABC realizou uma pesquisa entre seus 150 funcionários. Foram colhidas as seguintes informações de cada funcionário: Nome, idade, altura e o sexo dos funcionários.

Desenvolva um algoritmo que:

  • Mostre o nome da mulher mais alta do quadro de funcionários.

Mostre a média das idades maiores de 18 anos de todo quadro de funcionários.

 

A prefeitura de uma pequena cidade fez uma pesquisa entre seus habitantes, coletando o nome dos habitantes, o número de filhos e salário de cada habitante. A prefeitura deseja saber:

OBS: A cada entrada de dados o algoritmo deve perguntar ao usuário se deseja continuar. S para sim e N para não.
Caso digite o não o algoritmo deve encerrar e mostrar na tela:

  • Média do salário da população;

• Nome do habitante com o maior salário e quantos filhos esse habitante possui.