Você está na página 1de 21

Luciano Topolniak

Noes de Programao I

Algoritmos

Pascal/Delphi

Desvio condicional simples


seleo simples
Para solucionar este problema, vamos aprender
uma nova instruo de algoritmos, chamada desvio
condicional simples ou seleo simples.
Este tipo de estrutura de controle tem por
finalidade tomar uma deciso com base nas
avaliaes das expresses passadas.
A avaliao de uma expresso sempre retornar
apenas um valor vlido, podendo ser: verdadeiro
ou falso.

Algoritmos: Se .. entao
Se <condio> entao
< Instruo I >
fimse

Se <condio> entao
< Instruo I >
< Instruo II >
fimse

se (10 >= 5) entao


A 10 * 5
fimse

se (10 >= 5) entao


A 10 * 5
b 10 + 10
fimse

Pascal/Delphi: If .. Then
If <condio> Then
< Instruo I >

If <condio>
Begin
< Instruo
< Instruo
< Instruo
End;

Then

I >
II >
III >

If (10 >= 5) Then


A:= 10 * 5;

If (10 >= 5) Then


Begin
A:= 10 * 5;
B:= 10 + 5;
C:= 10 - 5;
End;

Algoritmos: se .. entao .. senao


Se <condio>
< Instruo
< Instruo
Senao
< Instruo
< Instruo
Fimse

entao
I >
II >
III >
IV >

se (10
A
b
senao
A
b
fimse

>= 5) entao
10 * 5
10 + 10
10 / 5
10 - 10

Pascal/Delphi: if .. then .. else


If (10 >= 5) Then
A:= 10 * 5
Else
A:= 10 / 5

If (10 >= 5) Then


Begin
A:= 10 * 5;
B:= 10 + 5;
C:= 10 - 5;
End
Else
Begin
A:= 10 * 2;
B:= 10 + 2;
C:= 10 - 2;
End;

Algoritmos: escolha .. caso


escolha < expresso-de-seleo >
caso <exp1>,<exp2>,...,<expn>
<lista-de-comandos-1>
caso <exp1>,<exp2>,...,<expn>
<lista-de-comandos-2>
outrocaso
< lista-de-comandos-3 >
fimescolha

Exemplo
Incio da execuo
Nome do Atleta = Luciano Topolniak
Idade do Atleta = 25
Categoria = Profissional
Fim da execuo.
Incio da execuo
Nome do Atleta = Gaspar
Idade do Atleta = 7
Categoria = Infantil
Fim da execuo.
Incio da execuo
Nome do Atleta = Jnior
Idade do Atleta = 15
Categoria = Juvenil
Fim da execuo.

Pascal/Delphi: Case .. Of
Case <expresso-de-seleo> of
<exp1>,<exp2>,...,<expn>:
<lista-de-comandos-1>
<exp1>,<exp2>,...,<expn>:
<lista-de-comandos-2>
else
< lista-de-comandos-3 >
End;

Exemplo
Nome do Atleta = Luciano Topolniak
Idade do Atleta = 25
Categoria = Profissional

Nome do Atleta = Gaspar


Idade do Atleta = 7
Categoria = Infantil

Nome do Atleta = Jnior


Idade do Atleta = 15
Categoria = Juvenil

Estruturas de Repetio
Laos

Laos

Lao Para .. Faca / For .. Do

Na
estrutura
para..faca,
a
varivel
de
controle inicializada com <valor inicial> e no
incio de cada iterao, seu valor comparado
com <valor final>. Se o valor da varivel for
menor ou igual a <valor final>, a lista de
comandos executada e aps ser executado o
ltimo comando da lista, a varivel de controle
incrementada. Isto repete-se at que o valor da
varivel de controle seja maior que <valor
final>, quando ento executado o comando
imediatamente aps a palavra fimpara.

Para .. Faca / For .. Do


Algoritmos

Pascal/Delphi

Pascal/Delphi

Exemplo Para ..faca


Escrever a tabuada de um nmero qualquer.
Qual tabuada voc
deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Fim da execuo.

Exemplo For.. Do
Escrever a tabuada de um nmero qualquer.
Resultado

Pascal/Delphi

program LacoFor;
var
tab,i: integer;
begin
Writeln('Qual tabuada voce deseja fazer?');
Readln(tab);
for i := 1 to 10 do
Writeln(tab, ' x ',i,' = ', tab * i);
readln;
end.

Qual tabuada voc


deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

Enquanto .. Faca / While .. Do


Teste no incio.
Nem sempre entra no lao.
Executa enquanto a condio for verdadeira.
Sintaxe:

enquanto <expresso> faca


<lista de comandos>
fimenquanto

While <expresso> Do
<Instruo I>

While <expresso> Do
Begin
<Instruo I>
<Instruo II>
<Instruo N>
End;

Exemplo: Enquanto .. Faca


Qual tabuada voc
deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Fim da execuo.

Exemplo: While .. Do
Pascal/Delphi
program LacoWhile;
var
tab,i: integer;
begin
Writeln('Qual tabuada voce deseja fazer?');
Readln(tab);
i:=1;
While i <= 10 do
begin
Writeln(tab, ' x ',i,' = ', tab * i);
i := i+1;
end;
readln;
end.

Qual tabuada voc


deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

Comando Repita .. Ate / Repeat .. Until


Teste no final.
O lao sempre executado pelo menos uma vez.
Executa at que a condio se torne verdadeira.
repita
<lista de comandos>
ate <expresso lgica>

Repeat
<Instruo I>
<Instruo II>
<Instruo III>
Until <expresso lgica>

Exemplo: Repita .. Ate


Qual tabuada voc
deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Fim da execuo.

Exemplo: Repeat .. Until


Delphi
program LacoRepeat;
var
tab,i: integer;
begin
Writeln('Qual tabuada voce deseja fazer?');
Readln(tab);
i:=1;
Repeat
Writeln(tab, ' x ',i,' = ', tab * i);
i := i +1;
Until (i > 10);
readln;
end.

Qual tabuada voc


deseja fazer?
5
5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Fim da execuo.