Introdução à Programação Estruturada em Pascal Estruturas de controlo em Pascal
1
Estruturas de controlo em Pascal • Componentes fundamentais de um programa – A estruturação de programas • Estruturação das suas acções e estruturação dos seus dados. – A sintaxe de uma linguagem define determinados constructos, de que os mais importantes são as expressões e os comandos. – Uma expressão é uma formula ou regra de computação que especifica um valor ou um resultado. Uma expressão consiste em operandos e operadores. – Os operandos são constantes, variáveis, ou valores gerados por funções. – Os operadores são usualmente classificados em monádicos (operam sobre um único valor) e em diádicos (operam sobre dois operadores). – Um comando é uma formula que especifica uma acção que o computador deve executar. 2
Estruturas de controlo em Pascal Estruturas de controlo de um programa em Pascal
Estruturas de decisão ou selecção
Com base numa condição Com base num selector
IF < condiçao> THEN <condição> ELSE <condição> CASE< variável > OF < valores>: <instruções> REPEAT <instruções> UNTIL <condição>
Estruturas de repetição ou ciclos
Com base numa condição Com base num contador
WHILE <condição> DO <instruções> FOR<variável>:=<valor1> TO/DOWNTO <valor2> DO <instruções>
3
Estruturas de controlo em Pascal • Instruções e estruturas de controlo em pseudocódigo e em Pascal Instruções / Estruturas
Em pseudocódigo
Em Pascal
Instrução de leitura
Ler (var1 [, var2…])
Read (var1 [,var2…])
Instrução de escrita
Escrever (Expr1[, Expr2…])
Write (Expr1[, Expr2…])
Instruções de atribuição
Var X <Expressão>
Var X <Expressão>
4
Estruturas de controlo em Pascal • Instruções e estruturas de controlo em pseudocódigo e em Pascal Instruções / Estruturas Estrutura de decisão
Estruturas de Selecção
Em pseudocódigo
Em Pascal
Se <condição> Então <bloco de instruções> [Senão <bloco de instruções>] FimSe
If <condição> Then <bloco de instruções> [Else <bloco de instruções>]
Seleccionar caso <Expressão> <valores>:<bloco de instruções> … <valores>:<bloco de instruções> [Senão <bloco de instruções>] FimSeleccionar
Case <Expressão> Of <valores>:<bloco de instruções> … <valores>:<bloco de instruções> [Else <bloco de instruções>] End
5
Estruturas de controlo em Pascal • Instruções e estruturas de controlo em pseudocódigo e em Pascal Instruções / Estruturas
Em pseudocódigo
Em Pascal
Estrutura de repetição com base numa condição a avaliar no fim
Repetir <bloco de instruções> Até que <condição>
Repeat <bloco de instruções> Until <condição>
Estrutura de repetição com base numa condição a avaliar no início
Enquanto <condição> Fazer <bloco de instruções> FimFazer
While <condição> Do <bloco de instruções>
Estrutura de repetição controlada por um contador automático
Para Cont V_inicial Até V_final Fazer <bloco de instruções> FimFazer
For Cont:=V_inicial To V_final Do <bloco de instruções>
6
Estruturas de decisão com base numa condição – “If..Then…[Else…]” • Sintaxe genérica: IF <condição> THEN <Instruções> [ELSE <instruções>]
IF <condição> - assinala o início de uma instrução ou estrutura de decisão; <condição> é uma expressão do tipo lógica ou booleana (devolve o resultado True ou False) THEN <instruções> - parte da estrutura que indica a acção ou conjunto de acções caso a condição assumir um valor lógico. [ELSE <instruções>] – parte da estrutura de decisão que é opcional. 7
Estruturas de decisão com base numa condição – “If..Then…[Else…]” •
Exemplos de aplicação da estrutura IF 1.
IF com uma condição simples, instrução simples e sem clausula ELSE Program IF1; Var N :Integer; Begin Writeln („Introduza um número menor do que zero‟); Readln (N); If N>=0 Then Writeln („Esse número não é menor do que zero‟); Writeln („O dobro do número introduzido é‟, 2*N); End. 8
Estruturas de decisão com base numa condição – “If..Then…[Else…]” 2.
IF com uma condição simples, instruções simples e com cláusula ELSE Program IF2; Var Nota:Integer; Begin Writeln („Introduza uma nota de 0 a 20‟); Read (Nota); If Nota<10 Then Writeln („Reprovado‟) Else Writeln („Aprovado‟); End. 9
Estruturas de decisão com base numa condição – “If..Then…[Else…]” 3.
IF com uma condição simples e instruções compostas
Program IF3; Var Num, Resto :Integer; Begin Writeln („Introduza um número inteiro‟); Readln (Num); Resto := Num MOD 2 If Resto=0 Then Begin Writeln („O número é par‟); Write („Resto=‟, Resto); End Else Begin Writeln („O número é impar‟); Write („Resto=‟, Resto); End;
Num Mod 2: Num=2 2 2 0 1 Num=3 3 2 1 1
End. 10
Estruturas de decisão com base numa condição – “If..Then…[Else…]” 4.
Estruturas IF encaixadas
Program IF4; Var primeiro, segunda, terceiro, maior :Longint ; Begin Writeln („Introduza três números inteiros‟); Readln (primeiro, segunda, terceiro); If primeiro > segundo Then Begin If primeiro> terceiro Then maior:=primeiro Else maior := terceiro; End Else Begin If segundo> terceiro Then maior:=segundo Else maior := terceiro; End; Writeln („O maior é: ‟, maior); End.
11
Estruturas de decisão com base numa condição – “If..Then…[Else…]” 5.
Estruturas IF com condições compostas
Program IF5; Var n1, n2,n3 :integer ; Begin Writeln („Introduza três números inteiros‟); Readln (n1, n2,n3 ); If (n1>n2) And (n1>n3) Then Writeln („O maior número é o primeiro‟); If (n2>n1) And (n2>n3) Then Writeln („O maior número é o segundo‟); If (n3>n1) And (n3>n1) Then Writeln („O maior número é o terceiro‟); If (n1=n2) OR (n1=n3) Or (n2=n3)Then Writeln („Há pelo menos dois números iguais‟); End.
12