Algoritmos e Programação 
Prof. Marcos Saúde 
marcosr@pitagoras.com.br
Seleção Múltiplas Possibilidades 
“Se” Mais Completo: CASO 
CASO <seletor> SEJA 
<opção1> : <comando1>; 
<opção2> : <comando2>; 
... ... 
<opçãoN> : <comandoN>; 
[ SENÃO <comando>; ] 
FIMCASO;
Seleção Múltiplas Possibilidades 
“Se” Mais Completo: CASE 
(Sintaxe no Pascal) 
CASE <seletor> OF 
<opção1> : <comando1>; 
<opção2> : <comando2>; 
... ... 
<opçãoN> : <comandoN>; 
[ ELSE <comando>; ] 
END;
Seleção Múltiplas Possibilidades 
 O comando CASE é importante para a 
estruturação de um programa que 
possua diversas opções de execução, 
tornando-o bem legivel e estruturado, 
evitando o uso do IF de forma repetida. 
O comando CASE trás junto com ele 
uma restrição, onde, seletor tem que 
ser do tipo char, integer ou boolean.
Seleção Múltiplas Possibilidades 
Program Exemplo1; 
uses CRT; 
Var X : Integer; 
Begin 
Readln (X); 
Case X Of 
1 : Writeln ('Olá Mundo'); 
2 : Writeln ('GNOIA'); 
3 : Writeln ('Software Livre'); 
End; 
End. 
Obs: É possível indicar faixa de valores. Por exemplo: 
case X of 
1..10: Writeln(‘Valor de 1 a 10’); {se x é >= 1 e <= 10} 
11..20: Writeln(‘Valor de 11 a 20’); 
end;
Seleção Múltiplas Possibilidades 
Program Exemplo2; 
Uses Crt; 
Var Y, X : Integer; 
Begin 
Readln (X, Y); 
Case X Of 
1 : Begin 
Y := 4; 
Writeln ('Entrou no Primeiro alvo'); 
End; 
2 : Begin 
Y := 3; 
Writeln ('Entrou no Segundo alvo'); 
End; 
3 : Writeln ('Entrou no Terceiro alvo'); 
Else 
Writeln ('Entrou no Else'); 
End; 
End.
Exercícios – Comando Caso 
 1) Desenvolva um programa que leia dois números e 
um operando (+,-,* ou /). Use o comando switch 
para realizar a operação solicitada, de acordo com o 
que foi digitado pelo usuário; 
 2) Construir um programa para ler um número de 1 a 
7 e informar o dia da semana, sendo domingo o dia 
número 1. Se o número não corresponder a um dia 
da semana, é mostrada uma mensagem de erro; 
 3) Elaborar um programa para ler um número de 1 a 
12 e informar o trimestre correspondente, sendo 
Jan/Fev/Mar o 1º Trimestre. Se for um número 
incorreto, mostrar mensagem de erro;
Exercícios de Revisão 
 1) Faça um programa para ler três números e 
se estes puderem formar um triângulo dizer 
se o triângulo é “EQUILÁTERO”, “ISÓSCELES” 
OU “ESCALENO”; 
 2) Faça um programa que leia as três notas, 
as faltas e o nome de um aluno e imprima 
sua situação. ( “APROVADO”, “REPROVADO 
POR FALTA” ou “REPROVADO POR MÉDIA” ) 
Observação – A média para aprovação é 5.0 
e o limite de faltas é 17;
Exercícios para prova 
 3) Escrever um programa em Pascal que solicita do usuário os 
coeficientes a, b e c da equação de segundo grau: 
 ax2 + bx + c = 0 
e imprime uma das seguintes respostas na tela: 
 a) Existem duas raízes reais com valores <valor1> e <valor2> 
 b) Existe apenas uma raiz real, com valor <valor único> 
 c) Não existem valores reais. 
 O programa deve calcular inicialmente o determinante b2 – 4*a*c. 
Caso seja positivo, calcula os valores (–b + sqrt(b*b- 
4*a*c))/(2*a) e (-b-sqrt(b*b-4*a*c))/(2*a) e imprime a 
primeira resposta. Caso seja 0, calcula o valor –b /(2*a) e 
imprime a segunda resposta. E caso seja negativo, imprime a 
terceira resposta.
Exercícios para prova 
 4) Faça um programa que leia a idade de uma 
pessoa. Para cada faixa de idade escreva uma 
mensagem diferente, conforme indicado abaixo: 
 0 anos => Hello Baby 
 1 à 5 anos => Hello Little Boy / Little Girl 
 6 à 10 anos => Hello Boy / Girl 
 11 à 15 anos => Hello Little Men / Little Woman 
 16 à 25 anos => Hi 
 26 à 45 anos => Hello 
 46 à 60 anos => Hello Mister / Madam 
 61 à 120 anos => Hello Old Men / Old Woman 
 Acima de 120 anos => Hello World... can you hear me?
Exercícios para prova 
 5) Elabore um programa que recebe a 
idade de um nadador. O programa deve 
classificar o nadador em uma das 
categorias abaixo: 
 Infantil A= de 5 a 7 anos, 
 Infantil B= de 8 a 10 anos, 
 Juvenil A= de 11 a 13 anos, 
 Juvenil B= de 14 a 17 anos, 
 Senior= maiores de 18 anos.
Exercícios para prova 
 6) Construa um programa capaz de concluir qual dentre os animais seguintes foi escolhido, 
através de perguntas e respostas. Animais possíveis: leão, cavalo, homem, macaco, 
morcego, baleia, avestruz, pinguim, águia, tartaruga, crocodilo e cobra. 
 Exemplo: 
É mamífero? Sim. 
É quadrupede? Sim. 
É carnívoro? Não. 
É herbívoro? Sim. 
Então o animal escolhido foi o cavalo. 
 Utilize a seguinte classificação:
Exercícios para prova 
 7) Observe o programa abaixo: 
Program Nó_no_juizo; 
Var L1,L2,L3 :char; 
Begin 
readln(L1,L2,L3); {deve ser digitado apenas as letras V ou F} 
if L1='V' then 
write('A') 
else 
if L2='V' then 
if L3='V' then 
write('B') 
else 
begin 
write('C'); 
write('D'); 
end; 
write('E'); 
End. 
Agora, responda as seguintes questões: 
a) Se forem lidos V, V e F, o que será escrito pelo programa? 
b) Se forem lidos F, V e F, o que será escrito pelo programa? 
c) Se forem lidos F, V e V, o que será escrito pelo programa? 
d) Que valores deveriam ser lidos para que fosse escrito apenas 'E'?
Exercícios para prova 
 8) Faça uma Programa que mostre um menu 
com as seguintes opções: 
 1 soma 
 2 multiplicação 
 3 finalizar 
 O programa deve receber a opção desejada, 
receber os dados necessários para a 
operação de cada opção, realizar a operação 
e imprimir o resultado. Na opção finalizar 
nada deve acontecer.
Exercícios para prova 
 9) Faça uma Programa que receba o código 
correspondente ao cargo de um funcionário e 
imprima seu cargo e o percentual de 
aumento ao qual este funcionário tem direito 
seguindo a tabela abaixo: 
 Código Cargo Percentual 
 1 Escriturário 50% 
 2 Secretário 35% 
 3 Caixa 20% 
 4 Gerente 10% 
 5 Diretor Não tem aumento
Exercícios para prova 
 10) Faça uma Programa que calcule e 
imprima o salário reajustado de um 
funcionário de acordo com a seguinte 
regra: 
 salários até 300, reajuste de 50% 
 salários maiores que 300, reajuste de 30% 
 Bons estudos, 
 Prof. Marcos Saúde.

Algop - aula 05

  • 1.
    Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br
  • 2.
    Seleção Múltiplas Possibilidades “Se” Mais Completo: CASO CASO <seletor> SEJA <opção1> : <comando1>; <opção2> : <comando2>; ... ... <opçãoN> : <comandoN>; [ SENÃO <comando>; ] FIMCASO;
  • 3.
    Seleção Múltiplas Possibilidades “Se” Mais Completo: CASE (Sintaxe no Pascal) CASE <seletor> OF <opção1> : <comando1>; <opção2> : <comando2>; ... ... <opçãoN> : <comandoN>; [ ELSE <comando>; ] END;
  • 4.
    Seleção Múltiplas Possibilidades  O comando CASE é importante para a estruturação de um programa que possua diversas opções de execução, tornando-o bem legivel e estruturado, evitando o uso do IF de forma repetida. O comando CASE trás junto com ele uma restrição, onde, seletor tem que ser do tipo char, integer ou boolean.
  • 5.
    Seleção Múltiplas Possibilidades Program Exemplo1; uses CRT; Var X : Integer; Begin Readln (X); Case X Of 1 : Writeln ('Olá Mundo'); 2 : Writeln ('GNOIA'); 3 : Writeln ('Software Livre'); End; End. Obs: É possível indicar faixa de valores. Por exemplo: case X of 1..10: Writeln(‘Valor de 1 a 10’); {se x é >= 1 e <= 10} 11..20: Writeln(‘Valor de 11 a 20’); end;
  • 6.
    Seleção Múltiplas Possibilidades Program Exemplo2; Uses Crt; Var Y, X : Integer; Begin Readln (X, Y); Case X Of 1 : Begin Y := 4; Writeln ('Entrou no Primeiro alvo'); End; 2 : Begin Y := 3; Writeln ('Entrou no Segundo alvo'); End; 3 : Writeln ('Entrou no Terceiro alvo'); Else Writeln ('Entrou no Else'); End; End.
  • 7.
    Exercícios – ComandoCaso  1) Desenvolva um programa que leia dois números e um operando (+,-,* ou /). Use o comando switch para realizar a operação solicitada, de acordo com o que foi digitado pelo usuário;  2) Construir um programa para ler um número de 1 a 7 e informar o dia da semana, sendo domingo o dia número 1. Se o número não corresponder a um dia da semana, é mostrada uma mensagem de erro;  3) Elaborar um programa para ler um número de 1 a 12 e informar o trimestre correspondente, sendo Jan/Fev/Mar o 1º Trimestre. Se for um número incorreto, mostrar mensagem de erro;
  • 8.
    Exercícios de Revisão  1) Faça um programa para ler três números e se estes puderem formar um triângulo dizer se o triângulo é “EQUILÁTERO”, “ISÓSCELES” OU “ESCALENO”;  2) Faça um programa que leia as três notas, as faltas e o nome de um aluno e imprima sua situação. ( “APROVADO”, “REPROVADO POR FALTA” ou “REPROVADO POR MÉDIA” ) Observação – A média para aprovação é 5.0 e o limite de faltas é 17;
  • 9.
    Exercícios para prova  3) Escrever um programa em Pascal que solicita do usuário os coeficientes a, b e c da equação de segundo grau:  ax2 + bx + c = 0 e imprime uma das seguintes respostas na tela:  a) Existem duas raízes reais com valores <valor1> e <valor2>  b) Existe apenas uma raiz real, com valor <valor único>  c) Não existem valores reais.  O programa deve calcular inicialmente o determinante b2 – 4*a*c. Caso seja positivo, calcula os valores (–b + sqrt(b*b- 4*a*c))/(2*a) e (-b-sqrt(b*b-4*a*c))/(2*a) e imprime a primeira resposta. Caso seja 0, calcula o valor –b /(2*a) e imprime a segunda resposta. E caso seja negativo, imprime a terceira resposta.
  • 10.
    Exercícios para prova  4) Faça um programa que leia a idade de uma pessoa. Para cada faixa de idade escreva uma mensagem diferente, conforme indicado abaixo:  0 anos => Hello Baby  1 à 5 anos => Hello Little Boy / Little Girl  6 à 10 anos => Hello Boy / Girl  11 à 15 anos => Hello Little Men / Little Woman  16 à 25 anos => Hi  26 à 45 anos => Hello  46 à 60 anos => Hello Mister / Madam  61 à 120 anos => Hello Old Men / Old Woman  Acima de 120 anos => Hello World... can you hear me?
  • 11.
    Exercícios para prova  5) Elabore um programa que recebe a idade de um nadador. O programa deve classificar o nadador em uma das categorias abaixo:  Infantil A= de 5 a 7 anos,  Infantil B= de 8 a 10 anos,  Juvenil A= de 11 a 13 anos,  Juvenil B= de 14 a 17 anos,  Senior= maiores de 18 anos.
  • 12.
    Exercícios para prova  6) Construa um programa capaz de concluir qual dentre os animais seguintes foi escolhido, através de perguntas e respostas. Animais possíveis: leão, cavalo, homem, macaco, morcego, baleia, avestruz, pinguim, águia, tartaruga, crocodilo e cobra.  Exemplo: É mamífero? Sim. É quadrupede? Sim. É carnívoro? Não. É herbívoro? Sim. Então o animal escolhido foi o cavalo.  Utilize a seguinte classificação:
  • 13.
    Exercícios para prova  7) Observe o programa abaixo: Program Nó_no_juizo; Var L1,L2,L3 :char; Begin readln(L1,L2,L3); {deve ser digitado apenas as letras V ou F} if L1='V' then write('A') else if L2='V' then if L3='V' then write('B') else begin write('C'); write('D'); end; write('E'); End. Agora, responda as seguintes questões: a) Se forem lidos V, V e F, o que será escrito pelo programa? b) Se forem lidos F, V e F, o que será escrito pelo programa? c) Se forem lidos F, V e V, o que será escrito pelo programa? d) Que valores deveriam ser lidos para que fosse escrito apenas 'E'?
  • 14.
    Exercícios para prova  8) Faça uma Programa que mostre um menu com as seguintes opções:  1 soma  2 multiplicação  3 finalizar  O programa deve receber a opção desejada, receber os dados necessários para a operação de cada opção, realizar a operação e imprimir o resultado. Na opção finalizar nada deve acontecer.
  • 15.
    Exercícios para prova  9) Faça uma Programa que receba o código correspondente ao cargo de um funcionário e imprima seu cargo e o percentual de aumento ao qual este funcionário tem direito seguindo a tabela abaixo:  Código Cargo Percentual  1 Escriturário 50%  2 Secretário 35%  3 Caixa 20%  4 Gerente 10%  5 Diretor Não tem aumento
  • 16.
    Exercícios para prova  10) Faça uma Programa que calcule e imprima o salário reajustado de um funcionário de acordo com a seguinte regra:  salários até 300, reajuste de 50%  salários maiores que 300, reajuste de 30%  Bons estudos,  Prof. Marcos Saúde.