Baixe o app para aproveitar ainda mais
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
Compartilhar