Comando CASE Desvio por seleção múltipla

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
Estruturas de Controle
Laboratório de Programação
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Estrutura Condicional
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Teste de Software Parte 3.
Introdução à Computação - Jorge Macêdo
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares
Introdução à Lógica de Programação (cont.)
ALGOL Luccas L. L. M. Martins Raoní Galvão Renato Evangelista
Linguagem C Estruturas de Controle de Fluxos
LINGUAGEM ESTRUTURADA TURBO C
Algoritmos com seleção
{Exemplo de um programa PASCAL} uses CRT; var
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
O Portal do Estudante de Computação
O Portal do Estudante de Computação
1 Estruturas de Programação Estruturas Condicionais Aula 5 IF (expressão teste) then ou IF (expressão teste) then ELSE END IF SELECT CASE (exp_select)
Paradigmas de programação
do ... while Revendo: estrutura de repetição: while Formato geral:
João Lucas de Oliveira Torres
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Variáveis, Tipos de Dados e Constantes
Estruturas de Controlo em Pascal
MÉTODO JACOBI.
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Introdução ao uso de vatores na linguagem PASCAL.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
O Portal do Estudante de Computação
Profº Cláudio Barbosa VBScript – Estrutura condicional  Estrutura condicional simples Sintaxe if condição then comando.
Estruturas de Controle entre Instruções
Modelos de Paradigmas de programação
ALGORITMOS.
Estrutura de Decisão e Repetição
Instituto Federal de Santa Catarina
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Algoritmo e Programação
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Capítulo II Gramáticas e Linguagens
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Computação Eletrônica
Introdução à Programação
Comando de Seleção switch
Algoritmos e Estrutura de Dados I
Transformação de Dados
Fundamentos de linguagens de programação
Iº Workshop Linux da Unijorge
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL  Operadores São meios pelo qual incrementamos, comparamos e avaliamos dados.
Programação de Computadores - 1
Introdução à Programação
Prof: Adriano A. Ribeiro
Curso Técnico em Informática Professor Igor Vale.
Profº Antonio Carlos Marcelino de Paula
Linguagens de Programação
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Programação estruturada unidade 2
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
Fundamentos de Programação
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Algoritmos Grupos de Slides No 4. Prof. SIMÃO Estrutura de decisão de múltipla escolha “escolha-caso” switch case Feito por Prof. Jean Marcelo SIMÃO e.
Fundamentos de Programação 1 Linguagem C Slides 03 – ‘Vetores’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Vetores” 1.
Algoritmos Grupos de Slides No 3. Prof. SIMÃO Estrutura de decisão composta "se senão" if else end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof.
Expressões Lógicas e Comandos de Decisão
Transcrição da apresentação:

Comando CASE Desvio por seleção múltipla Prof. Marco Antonio

O comando CASE serve para simplificar os comandos de desvio condicional IF/THEN quando temos múltiplas opções a testar. Em vez de usarmos múltiplos comandos IF/THEN que vão testar cada um dos diferentes valores assumidos por uma variável ou expressão, nós poderemos usar um único comando CASE que possui uma forma de escrita mais simplificada e “elegante”.

CASE <expressão> OF <opção1> : <comando1>; <opção2> : <comando2>; ... ... <opçãoN> : <comandoN>; [ ELSE <comando>; ] END; <expressão> = Variável ou expressão do tipo ordinal (o resultado é um valor ordinal). As variáveis e expressões do tipo real NÃO podem ser usadas com o CASE. <opção1>...<opçãoN> = Valor que é comparado ao valor obtido na expressão do CASE. Opção deve ser obrigatoriamente um valor (bem definido). <comandos> = Comando executado quando a <expressão> for igual ao valor de <opção>

Observações: - O comando ELSE do CASE é opcional. Caso o ELSE exista, o comando associado a ele será executado apenas se nenhuma das opções listadas acima for satisfeita. - Todo <comando> pode ser substituído por um BEGIN/END contendo múltiplos comandos no seu interior (da mesma forma como ocorre com os outros comandos do Pascal, como por exemplo no IF/THEN/ELSE). Apenas no ELSE do CASE não somos obrigados a colocar um BEGIN/END.

Na parte das <opções> o Pascal também aceita a especificação de intervalos (subconjuntos), como por exemplo: valores entre 0 e 10 podem ser indicados como “0..10”. Além disso, podemos também especificar listas de valores enumerações), como por exemplo: valores iguais à 1 ou 2 ou 3, podem ser indicados como “1,2,3”. As expressões não são aceitas neste item.

Exemplo CASE Numero OF 0 : WriteLn (‘Zero’); 1 : WriteLn (‘Um’); 2 : WriteLn (‘Dois’); 3,4 : WriteLn (‘Três ou quatro’); ELSE WriteLn (‘Número maior que quatro...’); END;

Usando apenas IFs: IF Numero = 0 THEN WriteLn (‘Zero’) ELSE IF Numero = 1 THEN WriteLn (‘Um’) ELSE IF Numero = 2 THEN WriteLn (‘Dois’) ELSE IF (Numero = 3) or (Numero = 4) THEN WriteLn (‘Três ou quatro’) ELSE WriteLn ( ‘Número maior que quatro...’);

CASE Letra OF ‘a’..’z’ : Letra := Chr ( Ord (Letra) – 32 ); { Converte para maiúscula } ‘ç’ : Letra := ‘Ç’; ‘ã’ : Letra := ‘Ã’; ‘é’,’è’ : Letra := ‘É’; ‘ñ’ : Begin WriteLn(‘Este caracter não é usado na língua portuguesa!’) Letra:= ‘?’; End; ELSE WriteLn (‘Este caracter não está na lista dos caracteres aceitos...’); END;

Exemplo usando Case

adulto = maiores de 18 anos 1.      Elabore um algoritmo que dada a idade de um nadador classifica-o em uma das seguintes categorias (use caso): infantil A = 5 - 7 anos infantil B = 8 - 10 anos juvenil A = 11-13 anos juvenil B = 14-17 anos adulto = maiores de 18 anos

M <- ‘Fora de Faixa’ Inicio Idade Caso Idade 5..7 M <- ‘Infantil A’ 8..10 M <- ‘Infantil B’ 11..13 M <- ‘Juvenil A’ 14..17 M <- ‘Juvenil B’ 18..80 M <- ‘Adulto’ Idade, M Fim

Program natação; Uses wincrt; Var Idade: integer; M: string [20]; Begin {Entrada de dados} Write(‘Digite a idade do atleta: ’); Readln (idade);

{Análise das categorias usando case} Case idade of 5..7: m:= ‘Infantil A’; 8..10: m:= ‘Infantil B’; 11..13: m:= ‘Juvenil A’; 14..17: m:= ‘Juvenil B’; 18..80: m:= ‘Adulto’ else m:= ‘Fora de faixa’; end;

{Saida de dados} Writeln; Writeln (‘Voce tem ‘, idade,’ anos e é ‘,m); Writeln (‘Digite qualquer tecla para terminar’); Readln; Donewincrt; End.