Вы находитесь на странице: 1из 38

Professores:

Aula 2

Dante Corbucci Filho


Alexandre Plastino

Contedo:
- Estruturas de Controle
- Seqncia
- Comandos de Seleo
- If-then, If-then-else, case-of, case-of-else

- Comandos de Repetio
- while-do, repeat-until, for-do

Seqncia de Comandos
Em uma seqncia de comandos em Pascal,
os comandos so separados pelo caracter ";".

write(output, Entre com dois valores reais.);


readln(input, X, Y);
Soma:= X + Y;
Prod:= X * Y;
writeln(output, Soma= , Soma:6:2, Produto= , Prod:6:2)

Bloco de Comandos
As palavras reservadas begin e end so
usadas como delimitadores de um bloco de comandos.

begin
write(output, Entre com dois valores reais.);
readln(input, X, Y);
Soma:= X + Y;
Prod:= X * Y;
writeln(output, Soma= , Soma:6:2, Prod= , Prod:6:2)
end

Comentrios
Em Pascal, comentrios so delimitados pelos
caracteres "{" e "}" .

begin {Este bloco calcula soma e produto de dois nmeros.}


write(output, Entre com dois valores reais.);
readln(input, X, Y);
Soma:= X + Y; {Este comando calcula a soma.}
Prod:= X * Y; {E este calcula o produto.}
writeln(output, Soma= , Soma:6:2, Prod= , Prod:6:2)
end

Um Programa Completo
A seguir apresentado um pequeno programa
completo em Pascal.
program Simples(input{teclado}, output{vdeo});

Cabealho

var
X, Y, Soma, Produto: real;

Declarao de Variveis

begin
B write(output, Entre com dois valores ... );
l

readln(input, X, Y);

o Soma:= X + Y;
c

Prod:= X * Y;

o writeln(output, Soma = , Soma:6:2, Produto = , Prod:6:2)


end.
5

Execuo do Programa
program Simples(input{teclado}, output{vdeo});
var
X, Y, Soma, Produto: real;
begin
write(output, Entre com dois valores ...);
readln(input, X, Y);
Soma:= X + Y;
Prod:= X * Y;
writeln(output, Soma = , Soma:6:2, Produto = , Prod:6:2)
end.

Execuo:

Entre com os valores ...


Soma = 6.00

2.5

3.5

<enter>

Produto = 8.75

Comando (de seleo) if-then


O comando de seleo if-then utilizado quando se
deseja executar um comando (ou um bloco de comandos)
apenas no caso de uma condio ser satisfeita.
if <condio>
then <comando>

condio

+
<condio> representa uma expresso
booleana, ou seja, expresso cujo
resultado verdadeiro (+) ou falso (-).

comando

Comando if-then
Exemplo:

program Positivo(input{teclado}, output{vdeo});


var
A: integer;
begin
write(output, Entre com um nmero inteiro: )
;
readln(input, A);
if A>0 then
writeln(output, A, maior do que zero)
end.

Comando if-then
Exemplo:
program Calcula_Impostos(input{teclado}, output{vdeo});
var
Salario, INPS, ImpostoRenda: real;
begin
write(output, Diga seu salrio atual: );
readln(input, Salario);
if Salario>10000 then
begin
INPS:= Salario * 0.1;
ImpostoRenda:= Salario * 0.15;
write(output, Salario:10:2, INPS:10:2,
ImpostoRenda:10:2)
end
end.
9

Comando if-then
Condies compostas:

if (V >= 10) and (V <= 20) then


writeln(output, V, est no intervalo [10,20] )

if (V < 0) or (V > 30) then


writeln(output, V, est fora intervalo [0,30] )

if ((V >= 0) and (V < 10)) or ((V > 20) and (V <= 30)) then
writeln(output, V, est no intervalo [0,10) ou em (20,30] )

10

Comando if-then

Diagrama sinttico:

if

Expresso

then

Comando

11

Comando (de seleo) if-then-else


O comando de seleo if-then-else utilizado quando
se deseja executar um entre dois comandos (ou blocos de
comandos) dependendo do resultado de uma condio.

if <condio>
then <comando1>
else <comando2>

comando1

condio

comando2

12

Comando if-then-else
Exemplo:
program Positivo(input{teclado}, output{vdeo});
var
A: integer;
begin
write(output, Digite um nmero inteiro: );
readln(input, A);
if A > 0 then
writeln(output, A, maior do que zero)
else
writeln(output, A, menor ou igual a zero)
end.
13

Comando if-then-else
Diagrama sinttico:

if

Expresso

else

then

Comando

Comando

14

Comandos de seleo encadeados


O programa a seguir calcula o abono salarial que uma empresa conceder aos seus
funcionrios com mais de um ano de tempo de servio. Os que tem menos de dez
anos ganharo abono de 10%. Os demais ganharo de 25%.
program Abono(input{teclado}, output{vdeo});
var
Salario: real;
Tempo: integer;
begin
write(output, Entre com o salrio = );
readln(input, Salario);
write(output, Entre com o tempo de servio = );
readln(input, Tempo);
if Tempo>1 then
if tempo<10 then
Salario:= Salario * 1.1
else
Salario:= Salario * 1.25;
write (output, Salrio com abono = , Salario:10:2)
end.
15

Comando (de repetio) while-do


O comando de repetio while-do utilizado quando
se deseja executar um comando (ou um bloco de comandos)
enquanto uma condio for verdadeira.

condio

while <condio> do
<comando>

+
comando

16

Comando while-do
Exemplo:
program Conta(input{teclado}, output{vdeo});
var
I: integer;
begin
I := 1;
while I <= 10 do
begin
writeln(output, I);
I := I + 1
end
end.
17

Outro exemplo: Clculo do fatorial


N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.
program Calcula_Fatorial(input{teclado}, output{vdeo});
var
Num, I, Fat: integer;
begin
write(output, Entre com o nmero inteiro = );
readln(input, Num);
I := 1; Fat := 1;
while I <= Num do
begin
Fat := Fat * I;
I := I + 1
end;
writeln(output, Fatorial = , Fat)
end.
18

Comando while-do

Diagrama sinttico:

while

Expresso

do

Comando

19

Comando (de repetio) repeat-until


O comando de repetio repeat-until utilizado
quando se deseja executar um comando (ou uma seqncia
de comandos) at que uma condio seja verdadeira.

repeat
<comando>
until <condio>

comando

condio

+
20

Comando repeat-until
Exemplo:
program Conta(input{teclado}, output{vdeo});
var
I: integer;
begin
I := 1;
repeat
writeln(output, I);
I := I + 1
until I > 10
end.
21

Outro exemplo: Clculo do fatorial


N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.

program Calcula_Fatorial(input{teclado}, output{vdeo});


var
Num, I, Fat: integer;
begin
write(output, Entre com o nmero inteiro = );
readln(input, Num);
I := 1; Fat := 1;
repeat
Fat := Fat * I;
I := I + 1
until I > Num;
writeln(output, Fatorial = , Fat)
end.
22

Comando repeat-until

Diagrama sinttico:

repeat

Comando

until

Expresso

23

Comando (de repetio) for-do


O comando de repetio for-do utilizado quando
se deseja executar um comando (ou uma seqncia de
comandos) um nmero especfico de vezes.

for <var> := <expr1> to <expr2> do


<comando>
for <var> := <expr1> downto <expr2> do
<comando>
24

Comando for-do
for <var> := <expr1> to <expr2> do
<comando>
var v1

var v2

Sejam v1 e v2 os
valores de expr1 e
expr2 calculados no
incio do comando
for-do.

+
comando

var succ(var)

25

Comando for-do
for <var> := <expr1> downto <expr2> do
<comando>
var v1

var v2

Sejam v1 e v2 os
valores de expr1 e
expr2 calculados no
incio do comando
for-do.

+
comando

var pred(var)

26

Comando for-do
Exemplo:

program Conta(input{teclado}, output{vdeo});


var
I: integer;
begin
for I := 1 to 10 do
writeln(output, I)
end.

27

Outro exemplo: Clculo do fatorial


N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.

program Calcula_Fatorial(input{teclado}, output{vdeo});


var
Num, I, Fat: integer;
begin
write(output, Entre com o nmero inteiro = );
readln(input, Num);
Fat := 1;
for I := 1 to Num do
Fat := Fat * I;
writeln(output, Fatorial = , Fat)
end.

28

Comando for-do

Diagrama sinttico:

for

Varivel

:=

Expresso

to
Expresso

do

Comando

downto

29

Comando (de seleo) case-of


O comando de seleo case-of utilizado quando se
deseja executar um entre vrios comandos (ou seqncias de
comandos) dependendo do valor de uma expresso.

case <expr>
<const1>
<const2>
...
<constn>
end

of
: <comando1>;
: <comando2>;
: <comandon>

30

Comando case-of
case <expr>
<const1>
<const2>
...
<constn>
end

of
: <comando1>;
: <comando2>;
: <comandon>

expr
const1
comando1

const2
comando2

constn-1

...

comandon-1

constn
comandon

31

Comando case-of
program Operacoes(input{teclado}, output{vdeo});
var
X, Y: integer;
Resultado: real;
Op: char;
begin
write(output, Entre com dois inteiros positivos: );
readln(input, X, Y);
write(output, Informe a operao (+, -, * ou /): );
readln(input, Op);
Case Op of
+: Resultado := X + Y;
-: Resultado := X - Y;
*: Resultado := X + Y;
/: Resultado := X / Y
end;
writeln (output, Resultado de , X, Op, Y, = , Resultado)
end.
32

Comando case-of
Diagrama sinttico:

case

Expresso

Constante

of

end

Comando

,
;
33

Comando (de seleo) case-of-else


O comando de seleo case-of-else utilizado
quando se deseja executar um entre vrios comandos (ou
seqncias de comandos) dependendo do valor de uma
expresso. Neste caso, um comando (ou seqncia de
comandos) especificado para ser executado caso o valor
da expresso no seja nenhum dos previstos.
case <expr> of
<const1> : <comando1>;
<const2> : <comando2>;
...
<constn> : <comandon>
else <comando>
end
34

Comando case-of-else
case <expr> of
<const1> : <comando1>;
<const2> : <comando2>;
...
<constn> : <comandon>
else <comando>
end

expr
const1

comando1

const2

comando2

constn-1

...

comandon-1

constn

comandon

else

comando

35

Comando case-of-else
program Operacoes(input{teclado}, output{vdeo});
var
X, Y: integer;
Resultado: real; Op: char;
begin
write(output, Entre com dois inteiros positivos: );
readln(input, X, Y);
write(output, Informe a operao (+, -, * ou /): );
readln(input, Op);
Resultado:= -1;
Case Op of
+: Resultado := X + Y;
-: Resultado := X - Y;
*: Resultado := X + Y;
/: Resultado := X / Y
else writeln(output, Operao inexistente)
end;
if Resultado <> -1 then writeln(output, X, Op, Y, = , Resultado)
end.
36

Comando case-of-else

case

Expresso

of

;
Constante

Comando

else

Comando

end
36

Aula 2

Professores:
Dante Corbucci Filho
Alexandre Plastino

Contedo apresentado:
- Estruturas de Controle
- Seqncia
- Comandos de Seleo
- If-then, If-then-else, case-of, case-of-else

- Comandos de Repetio
- while-do, repeat-until, for-do

36

Вам также может понравиться