Algoritmo e Programação Tathiana E. Silva ([email protected]) Estruturas de Condição Freqüentemente surge a necessidade de colocar instruções dentro de um programa que só serão executadas caso alguma condição específica aconteça. Para esta finalidade a maioria das linguagens possui estruturas de condição para realizar esta tarefa. Ex: um algoritmo que classifique uma determinada pessoa entre maior de idade ou menor de idade; para isso precisamos avaliar a idade da pessoa, e somente se essa idade for maior (ou igual) que 18 anos a pessoa é considerada maior de idade. Estruturas de Condição A estrutura de condição mais simples é a se-entao, utilizada da seguinte forma: se <expressão-lógica> entao <seqüência-de-comandos> fimse A <expressão-lógica> é uma expressão que deverá retornar um valor verdadeiro ou falso, e caso for verdadeiro, será executado o bloco de comandos que está dentro da estrutura. Caso seja falso, a execução do programa ignora o bloco de comando e continua na linha seguinte à estutura de condição. Estruturas de Condição Ex: criar um algoritmo que verifica se uma pessoa é maior de idade. algoritmo "teste1_cond" var idade: inteiro inicio escreva("Digite a sua idade") leia(idade) se idade >= 18 entao escreva("Você é maior de idade") fimse fimalgoritmo Estruturas de Condição A estrutura de condição mais complexa utiliza o comando senao em conjunto com a condição se-entao. Dessa forma é possível executar uma determinada ação ou comando se o resultado da expressão lógica for verdadeiro e uma ação diferente se o resultado da expressão lógica for falso. se <expressão-lógica> entao <seqüência1-de-comandos> senao <seqüência2-de-comandos> fimse Estruturas de Condição O funcionamento da estrutura se-entao-senao pode ser representada da seguinte forma: Estruturas de Condição Ex: criar um algoritmo que verifica se uma pessoa é maior de idade ou não. algoritmo "teste2_cond" var idade: inteiro inicio escreva("Digite a sua idade") leia(idade) se idade >= 18 entao escreva("Você é maior de idade") senao escreva("Você é menor de idade") fimse fimalgoritmo Estruturas de Condição A expressão lógica da estrutura de condição pode ser uma expressão simples usando os operadores relacionais (>, <, =, <>, >=, <=) e pode ser também uma expressão complexa usando operadores lógicos. São eles: • E : operador somente se os verdadeiro; que dois resulta verdadeiro operadores forem • OU : operador que resulta verdadeiro se um dos seus operadores for verdadeiro; • NÃO: operador de negação. Estruturas de Condição Tabela verdade dos operadores lógicos: Operadores F F V F F V V V Operador V F op1 E op2 op1 OU op2 F F F V F V V NAO op F V V Estruturas de Condição Ex1: escrever aprovado se nota maior ou igual a sete e frequência maior ou igual a 75%. se (media>=7) E (freq>=75) entao escreva("Aprovado") fimse Ex2: escrever reprovado se nota menor a três ou frequência menor a 75%. se (media<3) OU (freq<75) entao escreva("Reprovado") fimse Estruturas de Condição Existe uma estrutura para casos de seleção múltipla que é a escolha-caso. Nessa estrutura o valor de uma variável é comparado com alguns valores pré-definidos e as ações são executadas quando os valores forem iguais. escolha variável caso valor1 bloco de comandos 1 caso valor2 bloco de comandos 2 ... outro caso bloco de comandos padrão fimescolha Estruturas de Condição Exemplo: algoritmo "Times" var time: caractere inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha time caso "Flamengo", "Fluminense", "Vasco", "Botafogo" escreval ("É um time carioca.") caso "São Paulo", "Palmeiras", "Santos", "Corínthians" escreval ("É um time paulista.") outrocaso escreval ("É de outro estado.") fimescolha fimalgoritmo