eSTRUTURAS DE CONTROLO

Page 1

Estruturas de Controlo em Pascal Estrutura de Selecção – “Case Of…”


Estrutura de Selecção – “Case Of…” 

A estrutura “Case…Of…” é uma estrutura de selecção ou escolha múltipla com base numa variável de controlo ou selector. A sua sintaxe genérica é a seguinte: Case <variável> Of <valor1>: <Instrução1>; <valor2>: <Instrução2>; … <valorN>: <InstruçãoN>; [Else: <InstruçãoZ>]; End

Irene Maciel

2


Estrutura de Selecção – “Case Of…” 

Os termos <valor1>, <valor2>, <valorN> indicam valores possíveis da variável de controlo. 

Valores isolados;  

1: <instrução1>; 2: <instrução2>;

Conjunto de valores; 

Por enumeração  

1,2,3,4: <instrução1>; 5,6,7,8,9: <instrução2>;

Por indicação de subconjuntos de valores consecutivos 

1..4: <Instrução1>; 5..9: <instrução2>; Irene Maciel

3


Estrutura de Selecção – “Case Of…” 

As instruções <instrução1>, <instrução2>, etc., podem ser instruções simples ou instruções compostas.

Caso as instruções sejam compostas devem ser delimitados por pares “ begin… end”.

A cláusula Else pode ser utilizada nas estruturas Case e, tal como nas estruturas IF, é opcional.

Irene Maciel

4


Estrutura de Selecção – “Case…Of…” Exemplos de aplicação da estrutura CASE

 1.

Estrutura CASE em que cada caso é indicado por um único valor inteiro

Program case1; var dias :integer ; begin Writeln ('Introduza um valor correspondente a um dia da semana! '); readln(dias); case dias of 1: Writeln ('Segunda'); 2: Writeln ('Terca'); 3: Writeln ('Quarta'); 4: Writeln ('Quinta'); 5: Writeln ('Sexta'); 6: Writeln ('Sabado'); 7: Writeln ('Domingo'); Else writeln('Não existe dia da semana com esse valor'); end; End.

5


Estrutura de Selecção – “Case…Of…” 2.

Estrutura CASE em que cada caso é indicado por numeração de valores Program case2; Var X, Y: Integer; Op: Char; Begin Writeln ('Introduza dois valores'); Readln (X,Y); Writeln ('Introduza uma operação'); Writeln (' A- Soma S- Subtracção M- Multiplicação D - Divisão '); Readln (Op); Case Op Of 'A', 'a': Writeln ('A soma é: ', X+Y); 'S', 's': Writeln ('A diferença é: ', X-Y); 'M', 'm': Writeln ('O produto é: ', X*Y); 'D', 'd': Writeln ('O quociente é: ', X/Y); Else Writeln ('Caracter Inválido'); end End.

6


Estrutura de Selecção – “Case…Of…” 2.

Estrutura CASE em que cada caso é indicado por numeração de valores

Obs: O facto da variável de controlo da estrutura Case ser agora do tipo de carácter (Char), obriga a que os valores dos caracteres sejam incluídos dentro de plicas ou apóstrofes. Em cada caso o utilizador pode introduzir: a letra maiúscula e a letra minúscula, por isso, esses dois valores são indicados por enumeração, juntos no mesmo caso e separados por vírgulas.

Irene Maciel

7


Estrutura de Selecção – “Case…Of…” 3.

Estrutura CASE em que cada caso é indicado por um subconjunto de inteiros

Program Case3; Var Nota: Real; NotaInt: Integer; Nivel: String; Begin Writeln („Escreva uma classificação: 0 a 20‟); Readln(Nota); NotaInt:= Round (Nota); Case NotaInt Of 0..4: Nivel:= „Mau‟; 5..9: Nivel:= „Medíocre‟; 10..13: Nivel:= „Suficiente‟; 14..17: Nivel:= „Bom‟; 18..20: Nivel:= „Muito bom‟; Else Nivel:= „Nivel Inválido‟ End; Writeln („A classificação corresponde a: ‟, Nivel); End.

8


Estrutura de Selecção – “Case…Of…” 3.

Estrutura CASE em que cada caso é indicado por um subconjunto de inteiros

Obs. Neste exemplo, a variável utilizada como selector na estrutura Case não pode ser Nota, porque esta é do tipo Real; assim definimos uma outra variável NotaInt, a que é atribuído o valor inteiro arredondado da variável Nota (através da função Round) Tipos de dados: Char carácter string cadeia de caracteres

Irene Maciel

9


Estrutura de Selecção – “Case…Of…” 4.

Estrutura CASE em que alguns casos contêm instruções compostas

Program Case4; Var N1, N2: Real; Op: Char; soma, subtraccao: Real; Begin Writeln („Introduza 2 números‟); Read (N1,N2); Writeln („Escolha um operação com a letra indicada‟); Writeln („A – calcular a soma dos dois números‟); Writeln („B – calcular a subtracção dos dois números‟); Read (Op); Case Op Of „A‟,‟a‟: begin soma:= N1+N2; Writeln („A Soma é: ‟, soma:0:0); end; „B‟,‟b‟: begin subtraccao:= N1-N2; Writeln („A Subtracção é: ‟, subtraccao :0:0); end; Else Writeln („Escolha inválida‟); End End.

10


Estrutura de Selecção – “Case…Of…” 4.

Estrutura CASE em que alguns casos contêm instruções compostas

Obs. Ao conjunto de instruções deve ser incluído dentro de um par de delimitadores Begin-End, como no exemplo anterior.

Irene Maciel

11


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.