Baixe o app para aproveitar ainda mais
Prévia do material em texto
- -1 Estruturas condicionais simples Aline Cristina Antoneli de Oliveira Introdução Uma das grandes façanhas do homem ao construir máquinas programáveis foi a possibilidade de fazer com que elas conseguissem tomar decisões. Você sabia que o conceito de máquina “inteligente”, a despeito de sua capacidade de comunicação, corresponde justamente a essa capacidade de tomar decisões? Nesta aula, você vai compreender a estrutura condicional simples e como a decisão pode ser estruturada dentro de um programa para que ele adquira a capacidade de, além de executar instruções de forma sequencial, realize desvios de execução a partir de decisões programadas. Bons estudos! Ao final desta aula, você será capaz de: • Conhecer e aplicar estruturas condicionais simples, elaborando algoritmos para a solução de problemas. Definição e implementação Você já deve saber que algoritmos são instruções executadas de forma sequencial, ou seja, por meio de uma sequência linear de cima para baixo e da esquerda para a direita. A partir do momento em que os problemas a serem resolvidos se tornam um pouco mais complexos, é possível estruturar os algoritmos de forma a permitir que decisões sejam tomadas para sua resolução. Isso ocorre por meio da .estrutura de seleção Estruturas de seleção são estruturas que permitem que um bloco de ações seja executado quando condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas (FORBELLONE; EBERSPÄCHER, 2005). Tenha em mente que as estruturas de seleção podem ser , ou .simples compostas encadeadas As estruturas de seleção simples são estruturadas por uma <condição>, que, se for verdadeira, executa uma ação <A> e a encerra. Veja abaixo: 1 se <condição> 2 então 3 A; // único comando 4 fimse; Ao planejar a lógica da solução para um problema de programação, você utilizará com frequência pseudocódigos, ou fluxogramas, antes de traduzir para a linguagem de programação que vai executar o programa. Aplicada em um fluxograma, a representação gráfica de uma estrutura de seleção simples, utilizando a estrutura “se-então”, pode ser vista na Figura 1 a seguir: • - -2 Fonte: Elaborada pela autora, 2019. Observe o que a figura acima indica. Quando um programa é iniciado e se encontra com uma expressão de tomada de decisão, ele possui um desvio de execução, que o fará tomar outro caminho caso a condição colocada seja verdadeira. Já a estrutura de seleção composta oferece a possibilidade de executar uma instrução caso a condição não seja verdadeira, utilizando a estrutura “se-então-senão”. Graficamente, essa estrutura pode ser representada conforme apresenta a Figura 2 a seguir. Figura 1 - Exemplo de fluxograma de estrutura de seleção composta. Fonte: Elaborada pela autora, 2019. Caso a condição seja verdadeira, serão executadas as instruções A e B. Caso seja falsa, será executada a instrução - -3 Caso a condição seja verdadeira, serão executadas as instruções A e B. Caso seja falsa, será executada a instrução C. Em uma estrutura condicional simples, como há somente a proposição da execução de instruções caso a condição seja verdadeira, se ela não for verdadeira, o programa segue seu fluxo normal de execução até o final, não havendo outro desvio de “rota” em sua execução. No exemplo a seguir, mostraremos um algoritmo que apresenta várias condicionais simples e que, a partir do momento em que alguma condição não é verdadeira, simplesmente segue seu fluxo, encontrando-se com outras condicionais. Imagine um programa que realiza o cálculo do Índice de Massa Corporal (IMC) a partir das informações de peso e altura fornecidas. O cálculo do IMC é feito pela multiplicação do peso pela altura dividido pela altura. Caso o valor fique abaixo de 18,5, a pessoa está abaixo do seu peso ideal, caso fique entre 18,5 e 25, ela está em seu peso ideal, por outro lado, se o IMC apresentar um valor superior a 25, a pessoa está acima do peso. Observe na próxima figura, o fluxograma dessa solução, no qual podemos ver várias condicionais simples representadas. EXEMPLO Na linguagem de programação PHP, por exemplo, um trecho de algoritmo que exibe na tela que a variável “a” é maior do que “b”, em uma estrutura condicional simples ficaria da seguinte forma: <? php if ($a > $b) { echo “a is bigger than b”;} ?> - -4 Figura 2 - Programa que calcula o IMC. Fonte: Elaborada pela autora, 2019. Observe na Figura 3, as três estruturas condicionais simples, em que somente a condição verdadeira apresenta instruções a serem executadas e, logo após sua execução, o fluxo de execução retorna para o programa normalmente, até o final. Agora, confira o pseudocódigo dessa solução: 1 CalculoIMCAlgoritmo 2 peso, altura, imc;real: 3 (“Entre com o peso”);escreva - -5 3 (“Entre com o peso”);escreva 4 (peso);leia 5 (“Entre com a altura”);escreva 6 (altura);leia 7 imc ← peso / altura * altura; 8 (imc < 18,5) se então 9 (“Você está abaixo do peso ideal!”);escreva 10 ;fimse 11 (imc >= 18,5) e (imc < 25) se então 12 escreva(“Parabéns! Peso ideal!”); 13 ;fimse 14 (imc > 25) se então 15 escreva(“Você está acima do peso ideal!”); 16 ;fimse 17 .fimalgoritmo No tópico a seguir, a estrutura de seleção de múltiplas escolhas será apresentada. Múltipla Escolha Se for necessário criar algoritmos que dependem de múltiplas alternativas, saiba que existe uma estrutura específica para esses casos, que é a seleção pela estrutura “escolha..caso”. Essa estrutura pode ser utilizada quando há diversos valores possíveis para uma única variável em teste, e cada um deles exige um modo de ação diferente (FARREL, 2010). Essa estrutura permite uma melhor leitura do código, tornando-o mais simples. Por isso, tenha em mente, sua utilização é mais aconselhada do que a estrutura de seleção composta encadeada. Confira a sua utilização no código! 1 escolha A 2 B1: C1;caso 3 B2: C2;caso 4 B3: C3;caso 5 B4: C4;caso 6 : C5;caso contrário 7 fimescolha. Caso o valor da variável A seja igual a B1, C1 será executado, e assim sucessivamente. Para executar um comando verificado com todos os outros valores, exceto os discriminados caso a caso, é incluída outra instrução, o “caso ”, o que torna esse tipo de estrutura condicional composta (FORBELLONE; contrário EBERSPÄCHER, 2005). FIQUE ATENTO A escolha pela utilização de uma estrutura condicional simples, composta ou encadeada, sempre vai depender de quem está programando, a partir das melhores práticas de código limpo e da facilidade no uso do código. - -6 ”, o que torna esse tipo de estrutura condicional composta (FORBELLONE; contrário EBERSPÄCHER, 2005). Lembrando sempre que os valores utilizados dentro da estrutura “ESCOLHA..CASO” para verificação devem ser numéricos. Aprofundando um pouco mais a compreensão sobre a seleção de múltiplas escolhas, imagine que agora você quer construir um algoritmo que tenha como entrada o preço de um produto e o seu código de origem, conforme as regras a seguir sobre número de procedência e origem. Caso o código não seja nenhum dos especificados, deve ser considerado importado. A partir da entrada, o programa deve informar como saída o preço e a procedência desse produto: • 1 – Procedência Sul • 2 – Procedência Norte • 3 – Procedência Leste • 4 – Procedência Oeste • 5 ou 6 – Procedência Nordeste • 7, 8 ou 9 – Procedência Sudeste • 10 até 20 – Procedência Centro-Oeste Esse algoritmo pode ser representado em um fluxograma também. Observe! Figura 3 - Algoritmo de procedência de produtos. Fonte: Elaborado pela autora, 2019. O algoritmo dos códigos de procedência de produtos, representado no fluxograma da Figura 4 acima, pode ser FIQUE ATENTO Ainda que a estrutura “ESCOLHA..CASO” seja uma estrutura de simples utilização e compreensão, ela é uma estrutura condicional composta. Isso porque, por meio do “caso contrário”, ela apresenta um direcionamento de instruções caso todas as condições anteriores não sejam verdadeiras. • • • • • • • - -7 O algoritmo dos códigos de procedência de produtos, representado no fluxograma daFigura 4 acima, pode ser expresso da seguinte forma em pseudocódigo: 1 ProcedênciaAlgoritmo 2 PREÇO, CÓDIGO;inteiro: 3 (“Entre com o código de procedência do produto”);escreva 4 (CÓDIGO);leia (“Entre com o preço do produto”);escreva (PREÇO);leia 5 (CÓDIGO)escolha 6 1: (PREÇO, “Sul”);caso escreva 7 2: (PREÇO, “Norte”);caso escreva 8 3: (PREÇO, “Leste”);caso escreva 9 4: (PREÇO, “Oeste”);caso escreva 10 5, 6: (PREÇO, “Nordeste”);caso escreva 11 7, 8, 9: (PREÇO, “Sudeste”);caso escreva 12 10 .. 20: (PREÇO, “Centro-Oeste”);caso escreva 13 (PREÇO, “Importado”);caso contrário: escreva 19 fimescolha. 20 fimalgoritmo. Nesse algoritmo, observe duas situações na representação da estrutura CASO em pseudocódigo: nas linhas 10 e 11, é oferecida mais de uma opção de valores de entrada. Em pseudocódigo, essa situação pode ser representada por vírgula (caso 5, 6) ou (caso 7, 8, 9), ou seja, qualquer um desses valores de entrada retornará à instrução daquela linha. A vírgula, nesse caso, representa o operador “OU”. Ficando claro que cada linguagem de programação possui sua sintaxe específica e representará essa estrutura dentro de sua sintaxe. Outra situação é a apresentada na linha 12, em que se o usuário tiver informado um valor entre 10 e 20, será informado que a procedência é “Centro-Oeste”. Em pseudocódigo, na estrutura “CASO”, é permitido utilizar dois pontos subsequentes (..) para determinar intervalo de valores. Fechamento Nesta aula, você compreendeu as estruturas básicas que podem compor um algoritmo. Você viu que para qualquer problema computacional, as três estruturas (sequencial, condicional ou de desvio e de repetição) são suficientes. Você também teve a oportunidade de compreender que: Nesta aula, você teve a oportunidade de: SAIBA MAIS Uma outra forma de representação de algoritmos bastante utilizada é o diagrama de Chapin. Ele foi criado por Ned Chapin a partir de trabalhos de Nassi-Shneiderman, que consistia em substituir o fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa. Confira detalhes de sua estrutura no segundo capítulo de Forbellone e Eberspächer (2005). - -8 Nesta aula, você teve a oportunidade de: • A estrutura condicional simples, também chamada de estrutura de seleção ou de desvio, é a estrutura que toma decisão dentro de um programa, sendo composta pela instrução “se..então”. • A estrutura de seleção de múltipla escolha possibilita a execução de uma instrução a partir de uma quantidade maior de opções de condicionais colocadas pelo programa. Referências FARREL, Joyce. introdução. São Paulo: Cengage Learning, 2010.Lógica e design de programação: FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. : a construção deLógica de programação algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005. • • Introdução Definição e implementação Exemplo de fluxograma de estrutura de seleção composta. Programa que calcula o IMC. Múltipla Escolha Algoritmo de procedência de produtos. Fechamento Referências
Compartilhar