ALP – Algoritmos e Programação
Prof. Adriano Fiorese
Estruturas de Seleção
. Motivação
. Conceito
. Exemplos
.Exercícios
1
Motivação
Ex: Algoritmo para o cálculo de raízes reais de equações
de 2º grau.
Prof. Adriano Fiorese
- E se o delta (
) for negativo?
- Essa “dúvida” (se...) pode direcionar o algoritmo para
caminhos diferentes dependendo do “resultado” dessa
dúvida.
- Como isso é resolvido usando fluxogramas? (tomada de
decisão)
- Como isso é resolvido em pseudocódigo? (próximo
slide)
2
Conceito
Prof. Adriano Fiorese
Uma estrutura de seleção permite a escolha de um
grupo de ações (bloco) a ser executado qdo
determinadas
condições,
representadas
por
expressões lógicas ou relacionais são ou não satisfeitas.
Forma geral da estrutura Se ... Então
.F.
Se (condição) Então
.V. <comando simples ou comando composto>
Senão
<comando simples ou comando composto>
Fim Se
outros comandos
3
Estrutura de Seleção Se ... Então
Prof. Adriano Fiorese
. Comando simples é a existência de apenas uma
expressão ou instrução, seguida de ponto e vírgula.
. O comando composto é a existência de mais de
uma expressão ou instrução, associada com a estrutura
de seleção Se...Então. O comando composto pode ser
outra estrutura de seleção. Para tal chamamos essa
construção de estruturas de seleção compostas ou
aninhadas.
4
Prof. Adriano Fiorese
Estrutura de Seleção Se ... Então
. A condição pode ser uma expressão lógica (Ex: a >
b, (a==0) && (b>3), etc...) ou um valor ou expressão
que avaliada resulte em um valor numérico, de forma
que se o valor for diferente de 0 (zero), então a
condição será considerada verdadeira.
Ex: Considere a = 3, b = 4
Se (a) (verdadeiro); Se (3-4) (verdadeiro);
Se(a-b) (verdadeiro); Se(a+1-b) (falso); Se(0) (falso)
Se((a < b) && (b > 0)) (verdadeiro)
5
Estrutura de Seleção Se ... Então (Seleção Simples)
1) Faça um algoritmo em pseudocódigo que verifique se
um determinado valor numérico inteiro é maior que 10.
Prof. Adriano Fiorese
Algoritmo Maior que 10
Inicio
Fim
Inteiro valor
Escreva(“Digite o valor:”);
Leia(valor);
Se (valor > 10) Então
Escreva(“Valor é maior que 10”);
Fim Se
6
Estrutura de Seleção Se ... Então (Seleção Composta)
Prof. Adriano Fiorese
2) Para o exemplo anterior, também escreva uma
mensagem para o caso em que o valor numérico é
menor ou igual a 10.
Algoritmo Maior Ou Menor que 10
Inicio
Fim
Inteiro valor
Escreva(“Digite o valor:”);
Leia(valor)
Se (valor > 10) Então
Escreva(“Valor é maior que 10”);
Senão
Escreva(“Valor é menor ou igual a 10”);
Fim Se
7
Prof. Adriano Fiorese
Estrutura de Seleção Se...Então (Seleção Composta) Exercício
3) Dadas as 3 notas relativas à avaliação semestral de
um aluno, escreva um algoritmo em pseudocódigo que
calcule a média e diga se o aluno passou ou reprovou.
Incentive ou repreenda conforme o caso. OBS: O
mínimo para ser aprovado é 7.
8
Prof. Adriano Fiorese
Estrutura de Seleção Se ... Então (Seleção Composta)
Algoritmo Media
Real n1, n2, n3, media
Inicio
Escreva(“Digite o valor da 1a nota:”);
Leia(n1);
Escreva(“Digite o valor da 2a nota:”);
Leia(n2);
Escreva(“Digite o valor da 3ª nota:”);
Leia(n3);
media = (n1 + n2 + n3)/3;
Se (media >= 7) Então
Escreva(“Vc passou!”);
Escreva(“Parabéns!”);
Senão
Escreva(“Vc reprovou!”);
Escreva(“Estude mais!”);
Fim Se
Fim
9
Prof. Adriano Fiorese
Estrutura de Seleção Se ... Então
(Seleção Composta Aninhada )
Exercício
4) Dada a cidadania de um cidadão, faça um algoritmo
que indique a língua falada por ele. As cidadanias
possíveis são alemã, brasileira e italiana.
10
Prof. Adriano Fiorese
Algoritmo Cidadania
char cidadania
Inicio
Escreva("Digite a para cidadania alemã: ”);
Escreva("Digite b para cidadania brasileira: ”);
Escreva("Digite i para cidadania italiana: ”);
Leia(cidadania);
Se(cidadania == „a‟) Então
Escreva(“O cidadão fala alemão!\n”);
Senão
Se(cidadania == „b‟) Então
Escreva(“O cidadão fala português!\n”);
Senão
Se(cidadania == „i‟) Então
Escreva(“O cidadão fala italiano!\n”);
Senão
Escreva(“Impossível saber a língua!\n”);
Fim Se
Fim Se
Fim Se
Fim
11
Prof. Adriano Fiorese
Exercício:
5) Faça um algoritmo que verifique se uma letra
digitada é vogal ou consoante.
12
Prof. Adriano Fiorese
Algoritmo Alfabeto
char l
Inicio
Escreva("Digite a letra: ”);
Leia(l);
Se((l == „a‟) || (l == „e‟) || (l == „i‟) || (l == „o‟) || (l == „u‟)) Então
Escreva(“A letra digitada é vogal!”);
Senão
Escreva(“A letra digitada é consoante!”);
Fim Se
Fim
13
Prof. Adriano Fiorese
Exercício:
6) Dados 3 valores: A, B e C, verifique se eles podem
ser os comprimentos dos lados de um triângulo. Se
forem, verifique se compõe um triângulo equilátero,
isósceles ou escaleno. Informar se não compuserem
nenhum triângulo. Considerando:
1) Triângulo é uma figura geométrica fechada com 3 lados,
em que cada um é menor que a soma dos outros dois.
2) Triângulo equilátero possui os 3 lados iguais
3) Triângulo isósceles possui 2 lados iguais
4) Triângulo escaleno possui todos os lados diferentes
14
Prof. Adriano Fiorese
Algoritmo Triangulo
Inteiro A, B, C
Inicio
Escreva("Digite o lado A: ”);
Leia(A);
Escreva("Digite o lado B: ”);
Leia(B);
Escreva("Digite o lado C: ”);
Leia(C);
Se((A < B+C) && (B < A+C) && (C < A +B)) Então
Se((A==B) && (B==C)) Então
Escreva(“É triângulo equilátero!”);
Senão
Se ((A==B) || (A==C) || (B==C)) Então
Escreva(“É triângulo isósceles!”);
Senão
Se((A!=B) && (B!=C) && (A!=C)) Então
Escreva(“É triângulo escaleno!”);
Fim Se
Fim Se
Fim Se
Senão
Escreva(“Esses valores não compõe um triângulo!”);
Fim Se
Fim
15
Download

Fim Se - Udesc