ET51D - INFORMÁTICA Algoritmos - Estruturas de Decisão Prof. Glauber G. O. Brante e Profa. Mariana Furucho gbrante@utfpr.edu.br e marianafurucho@utfpr.edu.br UTFPR Universidade Tecnológica Federal do Paraná DAELT Departamento Acadêmico de Eletrotécnica Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 1 / 13
Estruturas de Decisão Estrutura de decisão (ou comando de controle condicional): permite selecionar o conjunto de comandos a ser executado. Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 2 / 13
Estruturas de Decisão Tipos de estruturas de decisão: Estrutura de Decisão Simples (se) Estrutura de Decisão Composta (se-senão) Estrutura de Decisão de Múltipla Escolha (escolha-caso) Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 3 / 13
Estrutura de decisão simples (se) se ( condição for verdadeira ) entao fimse conjunto de comandos; Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 4 / 13
Exemplo: algoritmo Analisar se um número inteiro é maior que 100 var num : inteiro //Parte Principal inicio escreva( Digite um número: ) leia( num ) se(num > 100) entao escreva ("Número maior que 100") fimse se(num < 100) entao escreva ("Número menor que 100") fimse se(num = 100) entao escreva ("Número igual a 100") fimse fimalgoritmo Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 5 / 13
Estrutura de decisão composta (se-senão) se ( condição for verdadeira ) entao um conjunto de comandos; senao outro conjunto de comandos; fimse Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 6 / 13
Exemplo: algoritmo Analisar se um número inteiro é maior que 100 usando Se-Senao var num : inteiro //Parte Principal inicio escreva( Digite um número: ) leia( num ) se(num > 100) entao escreval ("Número maior que 100") senao escreval ("Número menor ou igual a 100") fimse fimalgoritmo Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 7 / 13
Estrutura de decisão de múltipla escolha (escolha-caso) escolha ( variável ) caso valor_1 primeiro conjunto de comandos; caso valor_2 segundo conjunto de comandos;... caso valor_n enésimo conjunto de comandos; outrocaso um outro conjunto de comandos; fimescolha Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 8 / 13
Exemplo: algoritmo Analisar se um número inteiro é 100, 200 ou 300 var num : inteiro //Parte Principal inicio escreva( Digite um número: ) leia( num ) escolha(num) caso 100 escreval ("O número digitado é cem") caso 200 escreval ("O número digitado é duzentos") caso 300 escreval ("O número digitado é trezentos") outrocaso escreval ("O número digitado não é 100, 200 nem 300") fimescolha fimalgoritmo Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 9 / 13
Exercícios Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 10 / 13
Exercícios 1 Elaborar um algoritmo para o cálculo da soma, subtração, multiplicação ou divisão de dois números reais fornecidos pelo usuário, segundo sua opção. 2 Elabore um algoritmo que receba quatro notas de um aluno e calcule a média aritmética delas, dizendo se o aluno é aprovado, reprovado ou em exame: Aprovação com média maior ou igual a sete. Reprovação com média menor ou igual a cinco. Exame nota entre cinco e sete. 3 Algoritmo para determinar a melhor opção de combustível, álcool ou gasolina, recebendo o rendimento em km/l e o preço de cada combustível. Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 11 / 13
Exercício Extra Exercício: Imagine uma brincadeira entre dois colegas, na qual um pensa em um número e o outro deve fazer chutes até acertar o número imaginado. Como dica, a cada tentativa é dito se o número chutado é mais alto ou mais baixo que o imaginado. Elabore um algoritmo neste contexto, que leia o número imaginado e os chutes, e que ao final mostre quantas tentativas foram necessárias para descobrir o número. Profs Glauber Brante e Mariana Furucho Informática - Algoritmos 12 / 13