Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Algoritmos com Seleção
Comando CASE Aula 4 - V. 2 - Cida Livi
2
Sejam os seguintes códigos
e expressões para cálculo da variável Resultado Aula 4 - V. 2 - Cida Livi
3
{uso de seleção simples}
Código = 1 Resultado <- Resultado + 5 N Código = 3 ou 5 S Resultado <- Resultado -2 N Código = 6 S Resultado <- 2 * (Resultado + 1) N Código > 7 e < 11 S Resultado <- 0 N Aula 4 - V. 2 - Cida Livi
4
{uso de seleção simples}
Código = 1 S N Resultado <- Resultado + 5 Código = 3 ou Código = 5 S N Resultado <- Resultado -2 (…) Código > 7 e < 11 N S Resultado <- 0 Aula 4 - V. 2 - Cida Livi
5
{uso de seleção simples} if (Codigo = 1) then
Resultado := Resultado + 5; if (Codigo = 3) or (Codigo = 5) Resultado := Resultado - 2; if (Codigo = 6) Resultado := 2 * (Resultado + 1); if (Codigo > 7) and (Codigo < 11) Resultado := 0; Aula 4 - V. 2 - Cida Livi
6
{uso de seleção composta}
N N N Código = 1 Código =3 ou 5 Código = 6 N Código >= 8 e <= 10 S S S S Resultado <- Resultado + 5 Resultado <- Resultado +-2 Resultado <- 2* (Resultado + 1) Resultado <- Aula 4 - V. 2 - Cida Livi
7
{uso de seleção composta}
if (Codigo = 1) then Resultado := Resultado + 5 else if (Codigo = 3) or (Codigo = 5) Resultado := Resultado - 2 if Codigo = 6 Resultado := 2 * (Resultado + 1) if (Codigo >= 8) and (Codigo <= 10) Resultado := 0; Aula 4 - V. 2 - Cida Livi
8
{uso de seleção múltipla} case Codigo of
1 : Resultado := Resultado + 5; 3 , 5 : Resultado := Resultado - 2; 6 : Resultado := 2 * (Resultado + 1); 8..10 : Resultado := 0; else if (Codigo <> 2) and (Codigo <> 4) and (Codigo <> 7) then writeln(´Codigo invalido´) end; Aula 4 - V. 2 - Cida Livi
9
CASE: funciona como uma condição composta
1 Case Código <> 2, 4 ou 7 3 ou 5 Resultado <- + 5 6 8 a 10 Resultado <- - 2 ´Código inválido!´ Resultado <- 2* (Resultado + 1) Resultado <- Aula 4 - V. 2 - Cida Livi
10
CASE: funciona como uma condição composta
Código = 1 Código >= 8 e <= 10 Código<> 2 4 ou 7 ... S S S Resultado <- Resultado + 5 Resultado <- Código Inválido Aula 4 - V. 2 - Cida Livi
11
Aula 4 - V. 2 - Cida Livi
12
Aula 4 - V. 2 - Cida Livi
13
Aula 4 - V. 2 - Cida Livi
14
Classificado : boolean; Case Classificado of
Var Classificado : boolean; Case Classificado of true : writeln (´Candidato ´, Inscricao , classificado!´); false: writeln (´Candidato ´, Inscricao, ´desclassificado!´) end; Aula 4 - V. 2 - Cida Livi
15
Comando CASE Estrutura de controle condicional.
Permite que grupos particulares de instruções sejam escolhidos entre grupos possíveis. Escolha é baseada no valor correspondente de uma expressão. Aula 4 - V. 2 - Cida Livi
16
Expressão De qualquer tipo ordinal
Tipo ordinal: Tipo onde os elementos aparecem em uma determinada ordem e são distintos e descontínuos. Aula 4 - V. 2 - Cida Livi
17
Tipos ordinais simples padrão
char ; boolean; byte; shortint ; integer Aula 4 - V. 2 - Cida Livi
18
Instrução Simples Composta
ou Composta (duas ou mais instruções simples delimitadas por begin end) Aula 4 - V. 2 - Cida Livi
19
Funcionamento do CASE Aula 4 - V. 2 - Cida Livi
20
As seqüências de constantes não precisam aparecer numa ordem específica, mas devem ser únicas (ou seja, mesmo valor não pode aparecer implícita ou explicitamente em mais de uma seqüência!) Ex.: case ValorInteiro of 9: writeln(´Valor 9´); 4..8: writeln(´Entre 4 e 8´´); { 7: writeln(´valor 7´); ERRADO! O valor 7 está implícito no rótulo anterior.} end; Aula 4 - V. 2 - Cida Livi
21
Valores nas listas de constantes devem pertencer ao mesmo tipo ordinal do valor da expressão.
case ValorChar of ´A´: writeln(´A maiusculo´); a : writeln(´Vai dar erro´); { a deveria ser uma constante caractere, logo deveria estar entre apostrofos} 1: writeln(´Tambem vai dar erro!´); {idem acima, o um tambem deveria estar entre apostofros} end; Aula 4 - V. 2 - Cida Livi
22
Uma instrução será executada sempre que uma das constantes de uma seqüência coincidir com o valor corrente da expressão. Ex.: SoNumeros := 5; case SoNumeros of 1..3: (…); 7: (…); 5: (…); {a instrução do rotulo acima sera executada, já que a constante 5 vai coincidir com o valor corrente da expressao (SoNumeros) que eh 5 no momento} 4:(…); end; Aula 4 - V. 2 - Cida Livi
23
Se valor corrente da expressão não coincidir com qualquer valor de uma seqüência, nada será executado (o Turbo Pascal possibilita o tratamento de valores não previstos através do Else). Ex.: Valor := 10 Case Valor of 1..9: Somatorio := Somatorio + Valor; {observar que antes de ELSE de CASE pode ponto e vírgula} else writeln(´Valor não valido!´) end; Aula 4 - V. 2 - Cida Livi
24
* Comando simples ou composto
Sintaxe of case expressão : constante Comando* . . constante , ; else Comando* end Aula 4 - V. 2 - Cida Livi * Comando simples ou composto
25
Vantagens e Desvantagens do CASE
Desvantagem Serve como alternativa apenas para estruturas aninhadas IF-THEN-ELSE que testam igualdades valendo-se de variáveis ordinais. Não pode ser usada com strings ou reais, por exemplo!!! (IF-THEN-ELSE é mais abrangente!!) Vantagem O código produzido é mais claro. A lógica fica mais evidente. Aula 4 - V. 2 - Cida Livi
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.