Estruturas de Decisão Algoritmos e Programação Prof. César Vidotto Prof. Gileno Félfili Conteúdo Estruturas de Decisão Estrutura condicional simples Estrutura condicional composta Estrutura condicional de múltipla escolha Estrutura Condicional Na vida real tomamos decisões a todo o momento baseada em uma situação existente. Em um algoritmo, chamamos esta situação de condição. Associada a uma condição, existirá uma alternativa possível de ações. Exemplo: "se tiver R$ 10,00 sobrando então irei ao cinema hoje à noite.” Estrutura Condicional “SE tiver R$ 10,00 sobrando ENTÃO irei ao cinema hoje à noite.” Condição: “Tenho R$ 10,00 sobrando?” Sim Eu irei ao cinema hoje à noite Não Eu não irei ao cinema hoje à noite Estruturas de Decisão Estrutura Condicional Executa uma sequência de acordo com o resultado de uma comparação (condição). Também chamada de “Desvio Condicional”. Desvio condicional Condição: Exigência, algo a ser cumprido. O desvio condicional é caminho alternativo, que o algoritmo deve seguir caso ele atenda a uma exigência imposta pelo programador. Estruturas de Decisão Pode se apresentar das seguintes maneiras: Estrutura Condicional Simples Se uma condição for verdadeira, executa uma sequência. Estrutura Condicional Composta Se uma condição for verdadeira, executa uma sequência, senão, executa outra sequência. Estrutura Condicional Simples É uma condicional de uma única instrução, que deverá ser realizada caso as variáveis atendam a condição especificada. Estrutural Condicional Simples Sintaxe: se <condição> então <conjunto de instruções para condição verdadeira> fimse Estrutural Condicional Simples Exemplo: se (conta > 10) então conta <- conta + 1 fimse Estrutural Condicional Simples Algoritmo "Calcula Area do Circulo" VAR Area, Raio: Real inicio Escreval ("Entre com raio do círculo") Leia (Raio) Se Raio > 0 entao Area <- PI*(Raio^2) Escreva ("A área do círculo de raio ", Raio, " é ", Area) fimse Se Raio <= 0 entao Escreva ("Raio não pode ser nulo ou negativo!") fimse fimalgoritmo Estrutura Condicional Composta É um condicional com duas possibilidades, de forma que caso a condição não seja atendida, há uma alternativa à essa condição. Estrutural Condicional Composta Sintaxe: se <condição> então <conjunto de instruções para condição verdadeira> senao <conjunto de instruções para condição falsa> fimse Estrutural Condicional Composta Algoritmo "Aconselha Programa" Var Dinheiro: REAL inicio Escreval ("*** Serviço Informatizado de Sugestões ***") Escreva ("Quanto dinheiro você tem sobrando?") Leia (Dinheiro) Se Dinheiro >= 10 entao Escreval ("Vá ao cinema hoje à noite.") Senao Escreval ("Fique em casa vendo TV.") Fimse Escreva ("Obrigado e volte sempre.") Fimalgoritmo Estrutura Condicional Encadeada Como o próprio nome diz é um encadeamento de condições para que caso uma condição não seja aceita, novas condições são impostas a aquele algoritmo. Se <condição> entao <comandos> Senao Se <condição> entao <comandos> Senao <comandos> Fimse Se <condição> entao <comandos> Senao Se <condição> entao <comandos> Senao Se ... Fimse Estrutura Condicional Encadeada Exemplo: Algoritmo “cond_encadeado” Var A, B:inteiro Inicio Leia (A, B) Se (A + B > 10) entao Escreva (“A soma dos valores é maior que 10”) Senao Se (A+B > 3) entao Escreva (“A soma dos valores é um número entre 3 e 10”) Senao Escreva (“Tente de novo”) Fimse Fimse Fim Exemplos de usos de operadores lógicos Operador e Se (A>10) e (B>5) entao X <- A+B (a soma só será executada caso A for maior que 10 e B for maior que 5) Fimse Exemplos de usos de operadores lógicos Operador ou Se (A>10) ou (B>5) entao X <- A+B (a soma será executada caso A for maior que 10 ou caso B for maior que 5) Fimse Exemplos de usos de operadores lógicos Operador nao Se nao (A>10) entao X <- A+B (neste caso a soma será executada se A não for maior que 10.) fimse