Escolar Documentos
Profissional Documentos
Cultura Documentos
CONSTRUÇÃO DE
ALGORÍTMOS
Decisão Simples, Composta e Encadeada
Início
Comando A
V
Decisão
F
Comando 1
Fim
Estrutura de Decisão Simples
6
Algoritmo verificaSalario;
variáveis
nome : caracter;
salario : real;
inicio
escreva (‘Digite o nome do funcionário: ’);
leia (nome);
escreva (‘Digite o salário do funcionário: ’);
leia (salario);
se (salario <= 150) então
salario:= salario + 30;
escreva (‘O salário do funcionário ’ , Nome, ‘ é: ’ , salario);
fim.
Estrutura de Decisão Simples
9
Entendo o algoritmo:
O algoritmo pede que seja informado o nome e o salário do
funcionário.
O próximo passo é testar se o salário lido é menor ou igual
a 150.
Caso o resultado da condição (Salario <= 150) seja
verdadeiro todos os comandos vinculados à cláusula do
comando Então serão executados.
Caso contrário (condição resultar falso), será executado o
primeiro comando após a cláusula Então, ou seja, o
comando escreva.
Estrutura de Decisão Simples
10
Sintaxe do comando:
se <condição> então
<Comando1>
senão
<Comando2>;
Comando A
F V
condição
Comando 2 Comando 1
Fim
Estrutura de Decisão Composta
16
Exemplo1:
Analisando novamente o algorítmo que calcula a
média do aluno, agora usando estrutura de decisão
composta, informar que o aluno está reprovado caso a
nota não seja >=7,0:
Estrutura de Decisão Composta (parte2)
18
Algoritmo verificaMedia;
variáveis
nota1, nota2, nota3, media : real;
nome: caracter;
inicio
escreva (‘Entre com o nome do aluno: ’);
leia (nome);
escreva (‘Entre com a primeira nota: ’);
leia (nota1);
escreva (‘Entre com a segunda nota: ’);
leia (nota2);
escreva (‘Entre com a terceira nota: ’);
leia (nota3);
Estrutura de Decisão Composta (parte3)
19
Entendo o algoritmo
Após a leitura dos dois valores, o computador:
faz a avaliação da expressão lógica (A > B) e
decide se deve executar os comandos da parte verdadeira ou
da parte falsa do comando se,
ou seja, caso o valor de A seja maior que de B ele escreverá
o valor de A, caso contrário, o valor de B for maior,
escreverá, o valor de B como sendo o maior.
Problema no algorítmo:
Caso os valores digitados sejam iguais teremos um problema com o
algorítmo que, só é possível corrígi-lo, com o uso de uma estrutura de
decisão encadeada.
Estrutura de Decisão Encadeada
22
se <condição1> então
Se a condição1 resultar
<comando1> verdadeiro, será executado o
senão Comando1,
se <condição2> então caso contrário (condição1 resultar
<comando2> falso), será testada a outra
condição (condição2).
senão
<comando3>;
Se a condição2 resultar
verdadeiro, será executado o
Comando2,
caso contrário (condição2 resultar
falso), será executado o
Comando3.
Estrutura de Decisão Encadeada
25
Entendendo o algorítmo:
Entendendo o algorítmo:
Um algoritmo só pode testar variáveis duas a duas, ou
seja, é impossível fazer um teste do tipo Se (A>B>C).
Assim deve-se escolher duas e compará-las.
Escolhe-se ao acaso A e B e as compara-se:
• se A for maior que B então provavelmente o maior
valor é A ou C, basta comparar ambas para descobrir o
maior valor;
• se B for maior que A, precisamos comparar B com
C para descobrir a maior delas.
•Ao realizar as comparações necessárias, atribui-se à
variável MAIOR a variável de maior valor e em seguida ela
é escrita na tela.
Estrutura de
Algoritmo Maior3;
Decisão variáveis
29
Encadeada A, B, C, Maior : inteiro;
inicio
escreva (‘Entre com o primeiro número: ’);
leia (A);
Exemplo3: escreva (‘Entre com o segundo número: ’);
Pode-se escrever o mesmo leia (B);
algoritmo utilizando os escreva (‘Entre com o terceiro número: ’);
operadores lógicos:
leia (C);
e, ou, não.
se (A > B) e (A>C) então
Maior:= A
senão
se (B > C) então
Maior:= B
senão
Maior:= C;
escreva (‘O Maior número lido é ’, Maior);
fim.
Estrutura de Decisão encadeada
30
Exemplo4
E, se considerarmos que os 3 números podem ser
iguais??? Como ficaria o programa anterior?
Faça-o!
31
ATIVIDADE 02
Exercícios
32
(...)
Início
1) Dado o seguinte se EXP_REL_1 então
trecho de algoritmo, COMANDO1
responda as questões senão
do próximo slide (33). se EXP_REL_2 então
se EXP_REL_3 então
COMANDO2
senão
início
COMANDO3
COMANDO4
fim
senão
COMANDO5;
Fim
Continuação Exercício 1
33
a) se (x > 6.0) .e. (Y > 6.0) e) se (.não.((x > 6.0) .ou. (Y > 5.0)))
então Resultado:= .V. então Resultado:= .V.
senão Resultado:= .F.; senão Resultado:= .F.;
f) se ((letra = 'S') .e. (letra = 's'))
b) se (x > 5.0) .ou. (y > 9.0)
então Resultado:= .V.
então Resultado:= .V.
senão Resultado:= .F.;
senão Resultado:= .F.;
g) se (sexo = ‘M’) .ou. (sexo = ‘m’) .e. (x
c) se (.não.(x > 6.0) .e. .não. (Y > 6.0)) > 6.9)
então Resultado:= .V. então Resultado:= .V.
senão Resultado:= .F.; senão Resultado:= .F.;
h) se ((sexo = ‘M’) .ou. (sexo = ‘m’)) .e.
d) se (.não.(x > 6.0) .ou. (y > 5.0))
(x > 6.9)
então Resultado:= .V.
então Resultado:= .V.
senão Resultado:= .F.;
senão Resultado:= .F.;
35
Categoria Idade
Infantil A 5 – 7 anos
Infantil B 8 – 10 anos
Juvenil A 11 – 13 anos
Juvenil B 14 – 17 anos
Sênior maiores de 18 anos
37