1
Material VII
Centro de Educação Profissional Diomício Freitas Curso: Técnico em Informática – Hab. em Programação Disciplina: Algoritmo e Lógica de Programação Professor: Oscar Pedro Neves Júnior 1.
Estrutura de Seleção CASE – OF
O comando CASE é um seletor de opções, executando apenas a opção que for igual à expressão. É extremamente importante para estruturação de um programa que possua diversas opções de execução, tornando-o bem legível e estruturado, evitando o uso repetido do IF. Esta condição tem a seguinte estrutura: Em Algoritmo:
Em Pascal 1:
CASO <expressão> <opção1> : <comandos> .... <opçãon> : <comandos> SENÃO <comandos> FIM CASO
CASE <expressão> OF <opção1> : <Comando>; ... <opçãon> : <Comando> ELSE <Comando>; END;
Em Pascal 2: CASE <expressão> OF <opção1> : Begin <Comando>; ... <Comando>; End; <opção2> : Begin <Comando>; ... <Comando>; End; ... <opçãon> : Begin <Comando>; ... <Comando>; End; ELSE Begin <Comando>; ... <Comando>; End; End; Obs.: Note que o comando CASE tenta “casar” o resultado da expressão com uma das opções (1 a n), caso isso aconteça, o comando associado ao valor será executado. Caso contrário, o comando associado à opção ELSE (senão) será executado caso ela exista, pois a utilização da opção ELSE é opcional.
Exemplo em Algoritmo: Algoritmo para testar a tecla pressionada.
Algoritmo e Lógica em Computação Oscar Neves Júnior
Material VII Algoritmo TestaTecla Variável Tecla : caracter Início escreva “Pressione uma Tecla : ” leia Tecla CASO Tecla “A”..”Z”, “a”..”z” : escreva “Você pressionou uma Letra” “0”..”9:” escreva “Você pressionou um Número” “+”, “-“, “*”, “/”: escreva “Você pressionou um Sinal Aritmético” Senão escreva “Você pressionou uma outra tecla qualquer” Fim_CASO Fim Exemplo em Pascal 1: Programa para testar a tecla pressionada. Program TestaTecla; Var Tecla : char; BEGIN write( ‘Pressione uma Tecla : ‘ ); readln( Tecla ); CASE Tecla OF ‘A’..’Z’, ‘a’..’z’: write(‘Você pressionou uma Letra’); ‘0’..’9’: write(‘Você pressionou um Numero’); ‘+’, ‘-‘, ‘*’, ‘/’: write(‘Você pressionou um Sinal Aritmetico’) ELSE writeln( ‘Você pressionou uma outra tecla qualquer’ ); end;{case} END. Exemplo em Pascal 2: Programa para cálculo de área de figuras. Program Area; Var opcao: char; A, l, c, lg: real; Begin Write (‘Escolha uma opção para calculo:’); Write (‘1 – Quadrado’); Write (‘2 – Retângulo’); Write (‘Digite a opção: ’); Readln (opcao); CASE opcao OF ‘1’ : Begin Write (‘Digite o valor do lado: ‘); Readln (l); A := l*l; Write (‘Área do quadrado é: ‘, A); End; ‘2’ : Begin Write (‘Digite o valor do comprimento: ‘); Readln (c); Write (‘Digite o valor da largura: ‘); Readln (lg); A := c*lg; Write (‘Área do retângulo é: ‘, A); End; Else write (‘Opção Inválida!!!’); End; End.
Algoritmo e Lógica em Computação Oscar Neves Júnior
2