Buscar

Aula_002 - Estruturas de Controle

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1
Aula 2
Professores:
Dante Corbucci Filho
Alexandre Plastino
Conteúdo:
- Estruturas de Controle
 - Seqüência
 - Comandos de Seleção
 - If-then, If-then-else, case-of, case-of-else 
 - Comandos de Repetição
 - while-do, repeat-until, for-do
2
Seqüência de Comandos
 Em uma seqüência de comandos em Pascal,
os comandos são 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)
3
Bloco de Comandos
 As palavras reservadas begin e end são
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
4
Comentários
 Em Pascal, comentários são delimitados pelos
caracteres "{" e "}" .
begin {Este bloco calcula soma e produto de dois números.} 
 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
5
Um Programa Completo
 A seguir é apresentado um pequeno programa
completo em Pascal.
program Simples(input{teclado}, output{vídeo});
 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.
Cabeçalho
Declaração de Variáveis
B
l
o
c
o
6
Execução do Programa
 program Simples(input{teclado}, output{vídeo});
 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.
Execução: Entre com os valores ... 2.5 3.5 <enter>
Soma = 6.00 Produto = 8.75
7
Comando (de seleção) if-then
 O comando de seleção if-then é utilizado quando se 
deseja executar um comando (ou um bloco de comandos)
apenas no caso de uma condição ser satisfeita.
condição
comando
+
-
if <condição>
then <comando>
<condição> representa uma expressão 
booleana, ou seja, expressão cujo 
resultado é verdadeiro (+) ou falso (-).
8
Comando if-then
 program Positivo(input{teclado}, output{vídeo});
 var 
 A: integer;
 begin
 write(output, ’Entre com um número inteiro: ’);
 readln(input, A);
 if A>0 then
 writeln(output, A, ’ é maior do que zero’)
 end.
Exemplo:
9
Comando if-then
 program Calcula_Impostos(input{teclado}, output{vídeo});
 var 
 Salario, INPS, ImpostoRenda: real;
 begin
 write(output, ’Diga seu salário 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.
Exemplo:
10
Comando if-then
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] ’)
Condições compostas:
11
Comando if-then
Diagrama sintático:
ComandoExpressão thenif
12
Comando (de seleção) if-then-else
 O comando de seleção if-then-else é utilizado quando 
se deseja executar um entre dois comandos (ou blocos de 
comandos) dependendo do resultado de uma condição.
condição
comando1 comando2
+ -if <condição>
 then <comando1>
 else <comando2>
13
Comando if-then-else
 program Positivo(input{teclado}, output{vídeo});
 var 
 A: integer;
 begin
 write(output, ’Digite um número 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.
Exemplo:
14
Comando if-then-else
Diagrama sintático:
ComandoExpressão thenif
Comandoelse
15
Comandos de seleção encadeados
O programa a seguir calcula o abono salarial que uma empresa concederá aos seus 
funcionários com mais de um ano de tempo de serviço. Os que tem menos de dez 
anos ganharão abono de 10%. Os demais ganharão de 25%. 
 program Abono(input{teclado}, output{vídeo});
 var 
 Salario: real;
 Tempo: integer;
 begin
 write(output, ’Entre com o salário = ’);
 readln(input, Salario);
 write(output, ’Entre com o tempo de serviço = ’);
 readln(input, Tempo);
 if Tempo>1 then
 if tempo<10 then
 Salario:= Salario * 1.1
 else
 Salario:= Salario * 1.25;
 write (output, ’Salário com abono = ’, Salario:10:2)
 end.
16
Comando (de repetição) while-do
 O comando de repetição while-do é utilizado quando 
se deseja executar um comando (ou um bloco de comandos)
enquanto uma condição for verdadeira.
condição
comando
+
-
while <condição> do
 <comando>
17
Comando while-do
 program Conta(input{teclado}, output{vídeo});
 var 
 I: integer;
 begin
 I := 1;
 while I <= 10 do
 begin
 writeln(output, I);
 I := I + 1
 end
 end.
Exemplo:
18
Outro exemplo: Cálculo do fatorial
N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.
 program Calcula_Fatorial(input{teclado}, output{vídeo});
 var 
 Num, I, Fat: integer;
 begin
 write(output, ’Entre com o número 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.
19
Comando while-do
Diagrama sintático:
ComandoExpressãowhile do
20
Comando (de repetição) repeat-until
 O comando de repetição repeat-until é utilizado 
quando se deseja executar um comando (ou uma seqüência 
de comandos) até que uma condição seja verdadeira.
repeat 
 <comando>
until <condição>
condição
comando
+
-
21
Comando repeat-until
 program Conta(input{teclado}, output{vídeo});
 var 
 I: integer;
 begin
 I := 1;
 repeat 
 writeln(output, I);
 I := I + 1
 until I > 10
 end.
Exemplo:
22
Outro exemplo: Cálculo do fatorial
N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.
 program Calcula_Fatorial(input{teclado}, output{vídeo});
 var 
 Num, I, Fat: integer;
 begin
 write(output, ’Entre com o número inteiro = ’);
 readln(input, Num);
 I := 1; Fat := 1;
 repeat
 Fat := Fat * I;
 I := I + 1
 until I > Num;
 writeln(output, ’Fatorial = ’, Fat)
 end.
23
Comando repeat-until
Diagrama sintático:
repeat Comando until Expressão
;
24
Comando (de repetição) for-do
 O comando de repetição for-do é utilizado quando 
se deseja executar um comando (ou uma seqüência de
comandos) um número específico de vezes.
for <var> := <expr1> to <expr2> do
 <comando>
for <var> := <expr1> downto <expr2> do
 <comando>
25
Comando for-do
for <var>:= <expr1> to <expr2> do
 <comando>
Sejam v1 e v2 os
valores de expr1 e 
expr2 calculados no 
início do comando 
for-do.
var ← v1
var ≤ v2
comando
var ← succ(var)
+
-
26
Comando for-do
for <var> := <expr1> downto <expr2> do
 <comando>
Sejam v1 e v2 os
valores de expr1 e
expr2 calculados no
início do comando 
for-do.
var ← v1
var ≥ v2
comando
var ← pred(var)
+
-
27
Comando for-do
 program Conta(input{teclado}, output{vídeo});
 var 
 I: integer;
 begin
 for I := 1 to 10 do 
 writeln(output, I)
 end.
Exemplo:
28
Outro exemplo: Cálculo do fatorial
N ! = N * (N-1) * (N-2) * ... * 2 * 1, para N>=1.
 program Calcula_Fatorial(input{teclado}, output{vídeo});
 var 
 Num, I, Fat: integer;
 begin
 write(output, ’Entre com o número inteiro = ’);
 readln(input, Num);
 Fat := 1;
 for I := 1 to Num do
 Fat := Fat * I;
 writeln(output, ’Fatorial = ’, Fat)
 end.
29
Comando for-do
Diagrama sintático:
:= Expressão
Expressão
Variável
Comando
for
to
downto
do
30
Comando (de seleção) case-of
 O comando de seleção case-of é utilizado quando se 
deseja executar um entre vários comandos (ou seqüências de
comandos) dependendo do valor de uma expressão.
case <expr> of 
 <const1> : <comando1>;
 <const2> : <comando2>;
 ...
 <constn> : <comandon>
end
31
Comando case-of
case <expr> of 
 <const1> : <comando1>;
 <const2> : <comando2>;
 ...
 <constn> : <comandon>
end
comando1 comando2 comandon-1 comandon
expr
const1 const2 constn-1 constn
...
32
Comando case-of
 program Operacoes(input{teclado}, output{vídeo});
 var 
 X, Y: integer; 
 Resultado: real;
 Op: char;
 begin
 write(output, ’Entre com dois inteiros positivos: ’);
 readln(input, X, Y);
 write(output, ’Informe a operação (+, -, * 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.
33
Comando case-of
Diagrama sintático:
Constante Comando
Expressãocase of
: end
;
,
34
Comando (de seleção) case-of-else
 O comando de seleção case-of-else é utilizado 
quando se deseja executar um entre vários comandos (ou 
seqüências de comandos) dependendo do valor de uma 
expressão. Neste caso, um comando (ou seqüência de 
comandos) é especificado para ser executado caso o valor 
da expressão não seja nenhum dos previstos. 
case <expr> of 
 <const1> : <comando1>;
 <const2> : <comando2>;
 ...
 <constn> : <comandon>
 else <comando>
end
35
Comando case-of-else
case <expr> of 
 <const1> : <comando1>;
 <const2> : <comando2>;
 ...
 <constn> : <comandon>
 else <comando>
end
comando1 comando2 comandon-1 comandon
expr
const1 const2 constn-1 constn
... comando
else
36
Comando case-of-else
 program Operacoes(input{teclado}, output{vídeo});
 var 
 X, Y: integer; 
 Resultado: real; Op: char;
 begin
 write(output, ’Entre com dois inteiros positivos: ’);
 readln(input, X, Y);
 write(output, ’Informe a operação (+, -, * ou /): ’);
 readln(input, Op);
 Resultado:= -1;
 Case Op of 
 ’+’: Resultado := X + Y;
 ’-’: Resultado := X - Y;
 ’*’: Resultado := X + Y;
 ’/’: Resultado := X / Y
 else writeln(output, ’Operação inexistente’)
 end;
 if Resultado <> -1 then writeln(output, X, Op, Y, ’ = ’, Resultado)
 end.
36
Comando case-of-else
Constante Comando
Expressãocase of
:
,
;
else Comando end
36
Aula 2
Professores:
Dante Corbucci Filho
Alexandre Plastino
Conteúdo apresentado:
- Estruturas de Controle
 - Seqüência
 - Comandos de Seleção
 - If-then, If-then-else, case-of, case-of-else 
 - Comandos de Repetição
 - while-do, repeat-until, for-do

Outros materiais