Você está na página 1de 20

Linguagem de Programao

Comandos de Seleo
Como

visto anteriormente, so utilizados para


tomadas de decises;
Desvia o fluxo do programa para uma determinada
seqncia de comandos;
Conforme a anlise de uma expresso lgica o fluxo do
programa alterado ou no;
Podem ser Simples ou Composto;
Utilizamos dois comandos para esta finalidade:
IF

SELECT CASE

Linguagem de Programao

Comando IF lgico (1Via)


O comando IF simples estruturado da seguinte forma:.

IF <expresso-lgica> <comando>
Caso a expresso lgica (<expresso-lgica>) seja
verdade o <comando> executada pelo programa;
Caso a expresso lgica (<expresso-lgica>) seja
falsa o <comando> no ser executada pelo programa. O
fluxo de execuo passar para o comando aps o comando
IF;
O <comando> somente poder ser formado por uma
instruo.
A <expresso-lgica> e o <comando> devem estar na
mesma linha.

Linguagem de Programao

Comando IF lgico (1 Via) Ex.:

Erro de compilao!

Linguagem de Programao

Comando IF lgico (1 Via) Ex.:

Correto!
Linguagem de Programao

Comando IF (1 Via)
O comando IF permite a execuo de um determinado

bloco de comandos.
O menor IF bloco estruturado da seguinte forma:
IF <expresso-lagica> THEN
<sequencia_de_comandos>
END IF

Caso a expresso lgica (<expresso-lagica>) seja

verdade a <sequencia_de_comandos> executada pelo


programa;
Caso a expresso lgica (<expresso-lgica>) seja
falsa a <sequencia_de_comandos> no ser executada
pelo programa. O fluxo de execuo passar para o
comando aps o comando IF;
Linguagem de Programao

Comando IF (1 Via) - Exemplo

Linguagem de Programao

Comando IF (2 Vias)
Neste caso, o comando IF utilizado juntamente com o

comando ELSE
IF <expresso-lgica> THEN
<seqncia-de-comandos-1>
ELSE
<seqncia-de-comandos-2>
END IF

Caso a expresso lgica (<expresso-lgica>) seja

verdade a <seqncia-de-comandos-1> executada


pelo programa
Caso a expresso lgica (<expresso-lgica>) seja
falsa a <seqncia-de-comandos-2> executada pelo
programa
Linguagem de Programao

Comando IF (2 Vias) - Exemplo

Linguagem de Programao

Comando IF Expandido
utilizado quando vrias condies podero ser testadas.
No mximo, apenas uma seqncia de comando

executada.
Sua sintaxe :
IF <expresso-lgica-1> THEN
<seqncia-de-comandos-1>
ELSE IF <expresso-lgica-2> THEN
<seqncia-de-comandos-2>
ELSE IF <expresso-lgica-3> THEN
<seqncia-de-comandos-3>
. . .
[ELSE
<seqncia-de-comandos-N> ]
END IF
Linguagem de Programao

10

Comando IF Expandido
A execuo ser feita seqencialmente. Se a <expresso-

lgica-1> for verdadeira a <seqncia-de-comandos-1>


executada pelo programa. O fluxo de execuo retornar
para a prxima instruo abaixo desse comando IF.
Se a <expresso-lgica-1> seja falsa o programa avaliar a
prxima instruo ELSE IF do comando IF Expandido.
Neste caso, a expresso a ser avaliada ser <expressolgica-2>.
Este processo se repetir at que encontre uma expresso
lgica que seja verdadeira ou encontre o comando END IF.

Linguagem de Programao

11

Comando IF Expandido - Exemplo

Linguagem de Programao

12

Comando Select Case


til quando o valor analisado na expresso lgica possuir

diversos valores.
Similar ao comando ESCOLHA do Portugol.
A sintaxe :
SELECT CASE (<expresso>)
CASE (<lista_de_seleo_1>)
<seqncia-de-comandos-1>
CASE (<lista_de_seleo_2>)
<seqncia-de-comandos-2>
...
CASE DEFAULT
<seqncia-de-comandos-N>
END SELECT
Linguagem de Programao

13

Comando Select Case


A avaliao feita sequencialmente. Quando o valor da

expresso (<expresso>) coincidir com um dos valores da


lista de seleo(<lista_de_selecao?>), a seqncia de
comandos daquele caso (Case) ser executada.
O comando CASE DEFAULT opcional.
Exemplo da lista de seleo:
Lista de
Seleo
(6, 10, 100)

Valores possiveis
Valores iguais a 6, 10 ou 100

(10:65,67:98) Valores entre 10 e 65, inclusive ou entre 67 e 98 inclusive


(100:)

Valores maior ou igual a 100

Linguagem de Programao

14

Comando Select Case - Exemplo

Linguagem de Programao

15

Exerccios
1) Utilizando o comando IF:
a) Faa um programa para ler um nmero inteiro e

informar se o nmero par ou mpar. Utilize a


funo mod(x,y)
b) Faa um programa para ler as trs notas de uma
aluno e imprima se o mesmo foi aprovado ou
reprovado. Adote a mdia aritmtica e mdia para
aprovao maior ou igual 7,0.
c) Faa um programa para ler trs valores reais e
informar se estes podem ou no formar os lados de
um tringulo e qual tipo de tringulo seria:
Equiltero, Isscele ou Escaleno
Linguagem de Programao

16

Exerccios
1) Utilizando o comando IF:
d) Faa um programa que leia o nmero de eleitores

de um municpio, o nmero de votos brancos,


nulos e vlidos. Calcule o percentual que cada um
representa em relao ao total de eleitores. Ao
final, o programa deve:

Imprimir o percentual de votos branco, nulos e vlidos


Se a soma de votos nulos mais votos brancos for maior
que votos vlidos, informar que a eleio foi cancelada

Linguagem de Programao

17

Exerccios
1) Utilizando o comando IF:
e) A jornada de trabalho semanal de um funcionrio

de 44 horas. O funcionrio que trabalhar mais de


44 horas receber hora extra, cujo clculo o valor
da hora regular com um acrscimo de 30%.
Escreva um programa que leia o nmero de horas
trabalhadas em um ms, o salrio por hora e
escreva o salrio total do funcionrio, que dever
ser acrescido das horas extras, caso tenham sido
trabalhadas.
Obs.: Considere o ms com 4 semanas.
Linguagem de Programao

18

Exerccios
2) Utilizando o comando Select Case:
a) Faa um programa para ler valores inteiros em duas
variveis distintas e:
Se o resto da diviso da primeira pela segunda for 1 mostre a

soma dessas variveis mais o resto da diviso;


Se o resto da diviso da primeira pela segunda for 2 escreva se
os valores lidos so pares ou mpares
Se o resto da diviso da primeira pela segunda for igual a 3,
multiplique a soma dos valores lidos pelo primeiro;
Se o resto da diviso da primeira pela segunda for igual a 4,
divida a soma dos nmeros lidos pelo segundo;
Em qualquer outra situao mostre o quadrado dos nmeros
lidos.

Linguagem de Programao

19

Exerccios
2) Utilizando o comando Select Case:
b) Faa um algoritmo que receba a idade de um nadador e
mostre a sua categoria usando as regras a seguir:
Categoria Idade
Fraldinha: at 4 anos
Dentinho: 5 anos
Infantil: de 6 a 7 anos
Juvenil: de 8 a 12 anos
Adolescente: de 13 a 17 anos
Adulto: de 18 a 30 anos
Snior: acima de 30
Linguagem de Programao

20

Você também pode gostar