Você está na página 1de 33

Formas de Representação de Algoritmos

● Pseudocódigo
– Representação do algoritmo do cálculo da média de um
aluno, na forma de um pseudocódigo

ALGORÍTMOS COMPUTACIONAIS

Prof.Me Arlison Wady Algoritmos Computacionais


Estrutura de Repetição
 Existem situações que o processamento de um valor
uma única vez não é suficiente para resolver o
problema.

 Quando isto ocorre, deve-se utilizar uma estrutura de


repetição.

 Estruturas de repetição permitem que um ou mais


instruções sejam executadas um número definido de
vezes, ou enquanto uma determinada condição não é
alcançada.
Estrutura de Repetição

 As estruturas de repetição também são conhecidas como


Laços ou Loops .

 As estruturas de repetição das linguagens de programação


são de dois tipos:
Estrutura de Repetição
Estrutura de Repetição

 As estruturas de repetição condicional podem executar


seus testes:
 No Início
 Enquanto/Faca
 No Fim
 Repita/Ate

 As estruturas de repetição contada utilizam uma


variável para controlar a quantidade de repetições
 Para/Faca
Estrutura de Repetição Condicional
 Normalmente, a utilização de uma estrutura de
repetição requer o uso de dois tipos de variáveis:
Estrutura de Repetição Condicional

 Exemplos:

Algoritmo variávelContadora: Algoritmo variávelAcumuladora:


...
...
cont  0 soma  0
<estrutura de repetição> <estrutura de repetição>
...
...

cont  cont + 1 soma  soma + X


... ...
<fim estrutura de repetição> <fim estrutura de repetição>
...
...
Estrutura de Repetição Condicional

 Estrutura de repetição Enquanto/Faca


 Sintaxe:
enquanto <expressão lógica> faca
<Instrução1>
...
<InstruçãoN>
fimenquanto
Estrutura de Repetição Condicional
 Estrutura de repetição Enquanto/Faca

 Semântica:
F
Exp. Lógica
Faz o teste no início do laço. Se o
resultado for V as instruções do V
laço e/são executadas. Volta-se Instruções
executadas
para o início do laço e testa-se para
expressão = V
novamente a sua condição. Isto
é repetido enquanto a condição
testada for V. Executar
outras instruções
Estrutura de Repetição Condicional

 Estrutura de repetição Enquanto/Faca

 Resumindo...
 Não se sabe de antemão quantas vezes o bloco de repetição será
executado. Isto é, ele pode ser executado várias vezes ou
nenhuma vez
 Testa a condição antes de entrar na estrutura de repetição
 Repete a execução do bloco de instruções toda vez que condição
for V
 O bloco de instruções A execução do bloco é finalizada quando a
condição for F
Estrutura de Repetição Condicional Início

“Digite um valor”
Algoritmo “ExemploEnquantoFaça”
x
x : inteiro
Inicio F
x<>0
escreva(“Digite um valor ”)
leia (x) F V V
x>0
enquanto (x<>0) faca
se (x > 0) entao “X < 0” “X > 0”
escreva (“X > 0”)
senao “Digite um valor”
escreva (“X < 0”)
x
fimse
escreva(“Digite um valor ”)
leia (x) “X = 0”
fimenquanto
escreva (“X = 0”) Fim
fimalgoritmo
Estrutura de Repetição Condicional

 Estrutura de repetição Repita/Ate

 Sintaxe:
repita
<Comando1>
...
<ComandoN>
ate <expressão lógica>
Estrutura de Repetição Condicional
 Estrutura de repetição Repita/Ate
Semântica: Instruções
executadas até
Efetua um teste lógico no fim do laço, expressão = V
garantindo que pelo menos uma vez as
instruções deste são executadas. Ao
F
contrário do enquanto, esta só repete o Exp. Lógica

laço se o resultado do teste for F. V


Executar
outras instruções
Estrutura de Repetição Condicional

 Estrutura de repetição Repita/Ate

 Resumindo...
 Não se sabe de antemão quantas vezes o bloco de repetição
será executado. Todavia é garantido que ele será executado
pelo menos uma vez.
 Testa a condição depois de entrar na estrutura de repetição.
 Repete a execução do bloco de instruções toda vez que a
condição for F.
 A execução do bloco é finalizada quando a condição for V.
Início
Estrutura de Repetição Condicinal
“Digite um valor”
Algoritmo “ ExemploRepitaAté ”
x : inteiro x
inicio
repita V F
x>0
escreva(“Digite um valor”)
leia (x) X<0
F
se (x > 0) entao V
escreva (“X > 0”)
“X > 0” “X < 0”
senao
se (x < 0) entao F x=0
escreva (“X < 0”)
fimse V
fimse “X = 0”
ate (x = 0)
escreva (“X = 0”) Fim
fimalgoritmo
Estrutura de Repetição Condicional

Observações
Toda repetição condicional pode ser representada por uma estrutura
do tipo Enquanto/Faça ou Repita/Até. Todavia, perceba que a primeira
repete somente quando a condição é V e a segunda somente quando
a condição é F. Por isso, a condição de uma é a negação da outra.

Nos laços condicionais a variável que é testada, deve estar sempre


associada a uma instrução que a atualize no interior do laço. Pois, se
isto não ocorrer, o algoritmo ficará repetindo indefinidamente este laço,
gerando uma situação conhecida como “laço/loop” infinito” .

Prof. Arlison Wady Algoritmos e Programação


Estrutura de Repetição Condicional

Algoritmo “EnquantoFaça_LoopInfinito”
x: inteiro
inicio
escreva(“Digite um valor”)
leia (x)
enquanto (x<>0) faca
se (x > 0) entao
escreva (“x > 0”)
senao
Instrução comentada, o
escreva (“x < 0”);
algoritmo ficará em loop infinito
fimse
escreva(“Digite um valor”)
{ Leia (x) - sem a instrução leia(x)}
fimenquanto
escreva (“x = 0”)
fimalgoritmo
Estrutura de Repetição Contada
 Estrutura de repetição Para/Faca
uso opcional
 Sintaxe:

para <var_contador> de <inicio> ate <fim>[ passo <N>] faca


<Instrução1>;
. . .
<InstruçãoN>; Atenção:
fimpara Passo 1 = opcional
Passo 2 = varContador + 2
Passo –1 = varContador – 1
Estrutura de Repetição Contada
Inicialização
 Estrutura de repetição Para/Faca
F
 Semântica: Início>=/<=fim

Repete as instruções enquanto a V


variável contador não atingir o valor Instruções
executadas
para
final. Ressalta-se que a variável expressão = V
contador é previamente inicializada
e incrementada ou decrementada Incremento/
decremento
de uma constante a cada repetição.
Executar
outras instruções)
Estrutura de Repetição Contada
 Estrutura de repetição Para/Faca

 Resumindo...
 Sabe-se de antemão quantas vezes o bloco de repetição será
executado. Isto é, repete enquanto o valor final não atingir o valor
final da variável de controle.
 Incrementa automaticamente a variável de controle cada vez que o
bloco é executado (incremento 1 é o padrão).
 A variável de controle deve ser um número inteiro.
 A variável de controle não pode ser modificada dentro do bloco.
Cp0
Estrutura de Repetição Contada I1

F
i<=20
Algoritmo “ ExemploParaFaça ” v
x, i, cont : inteiro “Digite um valor”
Inicio
x
cont 0
F
para i de 1 ate 5 faca x>0
escreva(“Digite um valor ”) v
leia (x) Cpcp+1
se (x > 0) entao
cont  cont + 1
fimse ii+1

fimpara
escreva (“Total positivos = ”, cont) “positivos =”,cp
fimalgoritmo
Fim
Estrutura de Repetição Contada

Observação
Pode-se implementar um laço PARA com um laço
CONDICIONAL, entretanto o controle do
incremento/decremento da variável contadora é
seu. O laço PARA faz isso implicitamente!
Estrutura de Repetição Contada
Algoritmo “ ExemploParaFaçaComEnquanto “
Var
x, i, cont : inteiro
Início
cont  0
i1
enquanto (i <= 20) faca
Escreva(“Digite um valor ”)
leia (x)
se (x > 0) entao
cont  cont + 1
fimse
i  i+1 {Incremento explícito da variável contadora}
fimenquanto
escreva (“positivos = ”, cont)
fimalgoritmo
Estrutura de Repetição Contada
Algoritmo “ ParaFaçaComRepita “
Var
x, i, cont : inteiro
Início
cont  0
I1
repita
escreva(“Digite um valor ”)
leia (x)
se (x > 0) entao
cont  cont + 1
fimse
i  i+1 {Incremento explícito da variável contadora}
ate (i > 20)
escreva (“Quantidade de positivos digitados = ”, cont)
fimalgoritmo
Comparando as Estruturas de Repetição

 As Estruturas de Repetição são assim comparadas:


Encadeando as Estruturas de Repetição

 Semelhante as estruturas de decisão composta, as estruturas de


repetição também podem ser encadeadas/aninhadas.
 Esta abordagem é usada quando há a necessidade de se usar
laços dentro de laços.
 Por exemplo: fazer um algoritmo para gerar toda a tabuada de
soma de 1 a 10.
Encadeando as Estruturas de Repetição

Algoritmo “TabuadaSoma”
Var
r, n1, n2: inteiro
Início
N1  1
Enquanto (n1 <= 10) faca
Para n2 1 até 10 faça
r  n1 + n2;
Escreva (n1,“ + ”,n2,“ = ”,r);
Fim Para
n1n1+1;
Fim Enquanto
Fim.
Encadeando as Estruturas de Repetição

Também pode-se encadear


estruturas de repetição
com estruturas de decisão.
Encadeando as Estruturas de Repetição
Algoritmo TabuadaSomaComParidade
Var r, n1, n2: inteiro
Início
n1:=1;
Enquanto (n1<=10) faça
Para n2 1 até 10 faça
r  n1 + n2;
Se (r mod 2 = 0)
Escreva (n1,“ + ”,n2,“ = ”,r, “ = Par”);
Senão
Escreva (n1,“ + ”,n2,“ = ”,r, “ = Impar”);
Fim se
Fim Para
n1n1+1;
Fim Enquanto
Fim.
Exercício – Faça um algoritmmo que …

4) Escreva quantos anos serão necessários para que


Ciclano seja maior que Fulano. Considere que Fulano
tem 1,50 m e cresce 2 cm por ano e Ciclano tem 1,10 m
e cresce 3 cm por ano.

5) Leia um número inteiro e escreva se ele é primo.

6) Leia um número inteiro e positivo e escreva o seu fatorial


Considere: N! = 1 x 2 x 3 x ... x N-1 x N e 0 ! = 1
Exercício – Faça um algoritmmo que …

7) Leia um código de votação e escreva a ordem de classificação e


o percentual de votos de cada candidato. Considere: a) F = fim
da eleição; b) X,Y,Z = códigos dos candidatos; c) N = voto
nulo e d) B = voto em branco.

8) Escreva os 10 primeiros termos da serie Fibonacci. Isto é:


1,1,2,3,5,8,13,21,34,55
Exercício – Faça um algoritmmo que …

9) Leia o salário de 100 funcionários e escreva: a) quantos


funcionários recebem mais de R$2.000,00; b) quanto a empresa
gasta com estes funcionários e c) quanto a empresa gastaria se
fosse dar um aumento de 7,5% aos funcionários que recebem
menos que R$2.000,00.

10) Leia N e escreva H, onde:

1 1 1 1 1
H     ...
1! 2! 3! 4! N!
Formas de Representação de Algoritmos
● Pseudocódigo
– Representação do algoritmo do cálculo da média de um
aluno, na forma de um pseudocódigo

Prof.Me Arlison Wady Algoritmos Computacionais 3

Você também pode gostar