Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 5º
Estruturas condicionais
Objetivos de aprendizagem
GHILQLU(VWUXWXUDV&RQGLFLRQDLVUHFRQKHFHUVXDLPSRUWkQFLDHDSOLFiODQDFRQVWUXomRGHDOJRULWPRV
FRQFHLWXDUHLQWURGX]LURWHUPR(VWUXWXUDV&RQGLFLRQDLV
GHVHQYROYHUHRXDPSOLDUDFDSDFLGDGHGHSHUFHSomRGDFRQGLomRGDHVWUXWXUDHXWLOL]iOD
214 Algoritmo e Programação 28
Exemplo 10 – Ler quatro valores referentes a quatro
Seções de estudo notas escolares de um aluno e imprimir a média da nota do
aluno. Se a média for maior que 7 escreva a média e a frase
“aluno aprovado”.
1 - Estruturas condicionais
algoritmo “Média”
var
1 - Estruturas condicionais media, P1, P2, P3, P4: real
Até o presente momento, utilizamos as estruturas de inicio
processamento de entrada e saída que compõem os Algoritmos leia (P1)
puramente sequenciais. Isso quer dizer que aprendemos a leia (P2)
utilizar as variáveis, as constantes e os operadores aritméticos. leia (P3)
Se utilizarmos como referência o exemplo do cálculo leia (P4)
da média dos alunos, é possível perceber que foram usados media < - (P1 + P2 + P3 + P4) / 4
apenas as entradas simples das notas e o cálculo da média. se (media >= 7) entao
Desse modo, será necessária a aplicação de novas estruturas, escreva (media,“Aluno Aprovado”)
se desejarmos que o Algoritmo também nos apresente uma fimse
mensagem dizendo “se” o aluno foi aprovado ou reprovado, fimalgoritmo
no caso de sua nota ter sido maior ou igual a 7. Em outras
palavras, são necessárias as estruturas condicionais. Veja como fica com o teste de mesa:
fimse
Para exemplificar a vantagem oferecida por esta estrutura,
fimalgoritmo
imagine a seguinte situação: você deseja criar um algoritmo para
uma calculadora, o usuário digita o primeiro número, a operação
Compreenderam? que deseja executar e o segundo número. Dependendo do que
Condição: comparação que somente possui dois valores possíveis o usuário informar como operador, o algoritmo executará um
(verdadeiro ou falso); cálculo diferente (soma, subtração, multiplicação ou divisão).
8WLOL]DDVSDODYUDVFKDYHHQW¥RVHQ¥RȴPVH Vejamos como seria esse algoritmo implementado com o
Simples, vocês não acham? desvio condicional SE......ENTÃO......SENÃO.
algoritmo “Calculadora1”
var
1.4 - Estrutura de seleção múltipla numero1: real
(Escolha......caso) numero2: real
O uso desta estrutura proporciona uma solução elegante operacao: caractere
quanto se tem vários desvios condicionais (SE......ENTÃO...... resultado: real
SENÃO) encadeados. Ou seja, quando outras verificações são inicio
realizadas caso a anterior tenha falhado (ou seja, o fluxo do escreva (“Digite o primeiro número: “)
algoritmo entrou no bloco SENÃO). A proposta da estrutura leia (numero1)
ESCOLHA......CASO é permitir ir direto ao bloco de código escreva (“Digite a operação: “)
desejado, dependendo do valor de uma variável de verificação. leia (operacao)
Porém, esta estrutura só pode ser usada em situações onde a escreva (“Digite o segundo número: “)
verificação é feita apenas com valores fixos e não em um intervalo. leia (numero2)
se operacao = “+” entao
Sintaxe: resultado < - numero1 + numero2
senao
escolha <variável de verificação> se operacao = “-” entao
caso <valor1> resultado < - numero1 - numero2
<comando1> senao
<comando2> se (operacao = “*”) entao
...... resultado < - numero1 * numero2
<comando n> senao
caso <valor2> se operacao = “/” entao
<comando1> resultado < - numero1 / numero2
<comando2> fimse
...... fimse
<comandon> fimse
caso <valor3> fimse
<comando1> escreva (“Resultado: “, resultado)
<comando2> fimalgoritmo
......
<comandon> Observe como o desvio condicional encadeado deixa o
outrocaso código mais complexo. É possível a compreensão da lógica,
218 Algoritmo e Programação 32
porém não é muito elegante. Agora vamos ver como ficaria a
mesma lógica com a estrutura ESCOLHA......CASO.
&DVR YRF¬ WHQKD ȴFDGR FRP G¼YLGDV VREUH D $XOD DFHVVH DV
algoritmo “Calculadora2”
ferramentas “fórum”, “quadro de avisos” ou “chat” e interaja com seus
var
colegas de curso e com seu professor. Lembre-se de que você faz
numero1: real
parte de uma comunidade colaborativa de conhecimento... Portanto,
numero2 : real
HVWDUHPRVHVSHUDQGRVXDSDUWLFLSD©¥R
operacao : caracter
resultado : real
inicio
escreva (“Digite o primeiro número: “) Vale a pena
leia (numero1)
escreva (“Digite a operação: “)
leia (operacao)
escreva (“Digite o segundo número: “)
Vale a pena ler
leia (numero2)
escolha operacao DEITEL, H. M. C++: como programar. Tradução de
caso “+” Carlos Arthur Lang Lisboa e Maria Lúcia Lang Lisboa. 3. ed.
resultado < - numero1 + numero2 Porto Alegre: Bookman, 2001.
caso “-” SENNE, Edson Luiz França. Primeiro Curso de
resultado < - numero1 - numero2 Programação em C. 2. ed. Florianópolis: Visual Books, 2006.
caso “*”
resultado < - numero1 * numero2
caso “/”
resultado < - numero1 / numero2
outrocaso
escreva(“Operação digitada inválida!”)
Vale a pena acessar
fimescolha
escreval (“Resultado: “, resultado) SOUZA, E. Estruturas condicionais. Disponível em:
fimalgoritmo <http://blog.ericksouza.com/31/>. Acesso em: 28 jun.
2011.
UFERSA - Universidade Federal Rural do Semi-Árido.
Informática aplicada – aula 6. Disponível em: <http://www2.
ufersa.edu.br/portal/view/uploads/setores/164/arquivos/
Retomando a aula InformaticaAplicada/Aula06_sequencial_apresentacao_1.
pdf>. Acesso em: 28 jun. 2011.
WIKILIVROS. Estrutura condicional. Disponível
em: <http://pt.wikibooks.org/wiki/Pascal/Estrutura_
Condicional>. Acesso em: 28 jun. 2011.