Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza Estrutura Condicional A estrutura condicional permite a escolha do grupo de ações e estruturas a ser executado quando determinadas condições, representadas por expressões lógicas, são ou não satisfeitas. Esta estrutura pode se apresentar de duas formas. Estrutura condicional simples se condição então sequência de comandos fim se Neste caso, a sequência de comandos só será executada se a condição for verdadeira. Obs.: Ao ser mencionada “sequência de comandos” está implícito que ela contém um ou mais comandos e pode conter uma ou mais estruturas. Exemplo: Algoritmo declare A, B, C real leia (A, B) se A+ B < C então escreva (“MENSAGEM”) fim se fim algoritmo Estrutura Condicional Estrutura condicional composta se condição então sequência A de comandos senão sequência B de comandos fim se Neste caso, a sequência A de comandos só será executada se a condição (expressão lógica) for verdadeira e a sequência B de comandos só será executada se a condição for falsa. Exemplo: Algoritmo declare A, B, X, Y real leia (A, B) se A = B então X 1,5 Y 2,5 senão X - 1,5 Y - 2,5 fim se escreva (X, Y) fim algoritmo Estrutura Condicional Seleção Encadeada Quando, devido à necessidade de processamento, agrupamos várias seleções, formaremos uma seleção encadeada. Seleção encadeada heterogênea Quando não conseguimos identificar um padrão lógico de construção em uma estrutura de seleção encadeada. se (condição 1) então se (condição 2) então seq. comandos A fimse senão se (condição 3) então seq. comandos B senão se (condição 4) então se (condição 5) então seq. comandos C fim se senão comando D fimse fimse fimse Estrutura Condicional se (condição 1) então se (condição 2) então seq. comandos A fimse senão se (condição 3) então seq. comandos B senão se (condição 4) Seleção encadeada heterogênea então se (condição 5) então comando C fim se senão comando D fimse fimse fimse Tabela de decisão Condição 1 Condição 2 Condição 3 Condição 4 Condição 5 Ação executada V V - - - seq. A F - V - - seq. B F - F V V comando C F - F F - comando D Estrutura Condicional Seleção encadeada heterogênea homogênea Chamamos de seleção encadeada homogênea a construção de diversas estruturas de seleção encadeadas que seguem um determinado padrão lógico. Exemplo: se então se se (condição 1) então se (condição 2) então se (condição 3) então se (condição 4) então comando W fim se fimse fimse fimse Tabela de decisão Condição 1 Condição 2 Condição 3 Condição 4 V V V V Forma equivalente porém simplificada se ((condição 1) e (condição 2) e (condição 3) e (condição 4)) então comando W fim se Ação executada Comando W Estrutura Condicional Não se trata de uma seleção encadeada Exemplo: se senão se se (x = v1) então C1 fim se se (x = v2) então C2 fim se se (x = v3) então C3 fim se se (x = v4) então C4 fim se Tabela de decisão x = v1 x = v2 x = v3 x = v4 Ação executada V F F F C1 F V F F C2 F F V F C3 F F F V C4 Estrutura Condicional Podemos transformar o exemplo anterior numa estrutura de seleção encadeada Exemplo: se senão se se (x = v1) então C1 Estrutura de seleção encadeada homogênea senão se (x = v2) então C2 senão se (x = v3) então C3 senão se (x = v4) então C4 fimse fim se fim se Tabela de decisão fim se x = v1 x = v2 x = v3 x = v4 Ação executada V - - - C1 F V - - C2 F F V - C3 F F F V C4 Seleção de múltipla escolha Quando um conjunto de valores discretos precisa ser testado e ações diferentes são associadas a esses valores, estamos diante de uma seleção encadeada homogênea do tipo se-senão-se. Neste caso utilizaremos a seleção de múltipla escolha, específica para estes casos. Exemplo anterior escolha x caso v1: caso v2: caso v3: caso v4: fimescolha Exemplo 2: se-senão-se se (x = v1) C1 C2 C3 C4 então C1 senão se (x = v2) então C2 senão se (x = v3) então C2 Exemplo 2: múltipla escolha senão se (x = v4) escolha x caso v1: C1 caso v2, v3: C2 caso v4: C3 caso v5: C4 caso contrário: c5 fimescolha então C3 senão se (x = v5) então C4 senão C5 fimse fimse fim se fim se fim se Seleção de múltipla escolha Exemplo Construa um algoritmo que, tendo como dados de entrada o preço de um produto e seu código de origem, mostre o preço jundo de sua procedência. Caso o código não seja nenhum dos especificados, o produto deve ser encarado como importado. Siga a tabela de códigos a seguir: Código de origem Procedência 1 Sul 2 Norte 3 Leste 4 Oeste 5 ou 6 Nordeste 7,8 ou 9 Sudeste 10 até 20 Centro-oeste 25 até 30 Nordeste