Estrutura de repetição em um algoritmo
Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido. Você pode criar uma repetição fixa ou atrelada a uma condição. Vejamos abaixo quais são elas.
Laço: forma como é chamada cada repetição dentro de qualquer uma das estruturas.
Estrutura de repetição para
Essa estrutura de repetição é usada quando sabemos o número de vezes que um trecho do algoritmo deve ser repetido.
para i de 1 ate 15 faça
inicio
<comando1>
<comando2>
...
<comandon>
fim
Os comandos serão executados um após o outro utilizando a variável i como controle, e seu conteúdo vai variar do valor inicial até o valor final.
Podemos dizer para ele pular de 1 em 1 (padrão) como no exemplo acima ou podemos especificar de 2 em 2, de 3 em 3 etc. Observe:
para i de 1 ate 15 faça passo 2
inicio
<comando1>
<comando2>
...
<comandon>
fim
Estrutura de repetição enquanto
Essa estrutura de repetição é usada para um número indefinido de repetições com teste no início.
enquanto (<condição>) faça
inicio
<comando1>
<comando2>
...
<comandon>
fim
Embora seja utilizada para um número indefinido de repetições também pode ser usada quando sabemos esse número.
x <- 1
y <- 6
enquanto (x < y) faça
inicio
x <- x + 2
y <- y + 1
fim
Funcionamento:
x | y |
1 | 6 |
3 | 7 |
5 | 8 |
7 | 9 |
9 | 10 |
11 | 11 |
A estrutura de repetição teve 5 laços. Nesse caso foi repetido um número indefinido de vezes. Imagine que o valor de x fosse 1547892435 saberia dizer quantos laços foram necessários para satisfazer a condição? Agora veja:
x <- 1
y <- 1
enquanto (x <= 6) faça
inicio
x <- x * y
x <- x + 1
fim
Funcionamento:
x | y |
1 | 1 |
1 | 2 |
2 | 3 |
6 | 4 |
24 | 5 |
120 | 6 |
720 | 7 |
Nesse caso sabemos quantas vezes a estrutura ira repetir, pois, x é acrescido de 1 ao final de cada laço e como o laço termina com x sendo igual a 6 teremos 6 repetições.
Estrutura de repetição repita
repita
<comando1>
<comando2>
...
<comandon>
até que (<codição>)
Essa estrutura de repetição, assim como o enquanto, é utilizada quando não se conhece o número de vezes que um trecho do algoritmo deve ser repetido, mas também pode ser utilizado quando sabemos esse número.
A estrutura repita tem como base uma condição. A repetição ocorre até que a condição seja satisfeita. A principal diferença entre a estrutura enquanto e a estrutura repita é que nesta última os comandos serão repetidos pelo menos uma vez já que a verificação é feita no final do laço.
x <- 1
y <- 6
repita
x <- x + 2
y <- y + 1
até que (x >= y)
A estrutura repita aqui tem o mesmo funcionamento mostrado na tabela 1.1 porém a verificação é feita sempre no final do laço e da mesma forma como aconteceu com a estrutura enquanto não sabemos quantas vezes irá repetir.
Agora observe o caso abaixo e veja que é possível saber quantas vezes a estrutura irá se repetir.
x <- 1
y <- 6
repita
x <- x * y
x <- x + 1
até que (x = 6)
Exercícios:
1º Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe -se que:
a) Esse funcionário for contratado em 2005, com salário inicial de R$ 1.000,00.
b) Em 2006, ele recebeu aumento de 1,5% sobre seu salário inicial.
c) A partir de 2007 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior.
Faça um programa que determine o salário atual desse funcionário.
Algoritmo SalariodeUmEstranho
var
i, ano_atual, salario, novo_salario, percentual: real
início
salario <- 1000
percentual <- 1.5/100
novo_salario <- salario + percentual*salario
ano_atual <- 2022
para i de 2007 até ano_atual faça
inicio
percentual <- 2*percentual
novo_salario <- novo_salario + percentual*novo_salario
fim
escreva(novo_salario)
fim.
2º Faça um programa que leia um valor N inteiro e positivo, calcule e mostre o valor de E, conforme a fórmula a seguir:
E = 1 + 1/1! + 1/2! + 1/3! + … + 1/N!
Algoritmo UmaFormulQqFatorial
var
n, e, i, j, fatorial: inteiro
início
escreva("Digite o valor de n: ")
leia(n)
e <- 1
para i de 1 até n faça
início
fatorial <- 1
para j de 1 até i faça
inicio
fatorial <- fatorial*j
fim
e <- 1/fatorial
fim
escreva(e)
fim.
3º Faça um programa que leia o número N e que indique quantos valores inteiros e positivos devem ser lidos a seguir. Para cada número lido, mostre uma tabela contendo o valor lido e o fatorial desse valor.
Algoritmo UmFatorialQq
var
n, num, i, j, fatorial: inteiro
início
escreva("Digite o valor de n: ")
leia(n)
e <- 1
para i de 1 até n faça
início
leia(num)
fatorial <- 1
para j de 1 até num faça
inicio
fatorial <- fatorial*j
fim
e <- 1/fatorial
fim
escreva(e)
fim.
4. Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados:
- código da cidade;
- número de veículos de passeio (em 2007);
- número de acidentes de trânsito com vítimas (em 2007);
Deseja-se saber:
- qual o maior e o menor índice de acidentes de trânsito e a que cidades pertencem;
- qual a média de veículos nas cinco cidades juntas;
- qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
Referências:
ASCENCIO, A.F.G.; CAMPOS, E.A.V. Fundamentos da Programação de Computadores – Algoritmos, Pascal, C/C++ e Java. Pearson Prentice Hall. 2a. Ed. 2007.
Was this helpful?
0 / 0