Cursos / Eletrônica / Lógica de Programação / Aula 03

arrow_back Aula 03 - Expressões e operadores

Estruturas de Decisão

Desde o início dessa disciplina, até o momento, você construiu pequenos programas e todos eles funcionam de forma linear, ou seja, cada linha do seu algoritmo é executada e processada uma a uma. Essa estrutura linear é também conhecida como Estrutura Sequencial, pois todas as linhas do algoritmo são executadas sequencialmente uma após a outra.

Para construir algoritmos e programas que contemplem os diversos tipos de problemas as linguagens de programação possuem as estruturas de decisão. Essas estruturas são peças fundamentais em qualquer linguagem de programação e permitem criar algoritmos com desvios de fluxo.

Para que um desvio de fluxo ocorra é preciso verificar se uma condição é verdadeira ou falsa. Ou seja, se uma determinada condição for verdadeira, o algoritmo deverá seguir por um fluxo, se for falsa ele deverá, então, seguir por outro. Veja a figura a seguir, ela representa um algoritmo em formato de fluxograma.

Figura 02 - Algoritmo em formato de fluxograma

Você lembra dos operadores relacionais vistos no início dessa aula? E também das expressões relacionais, que quando avaliadas (calculadas), resultam sempre em um único resultado: verdadeiro ou falso? A partir de agora você irá perceber que as expressões relacionais e as lógicas são utilizadas com frequência nas estruturas de decisão.

No exemplo contido no fluxograma, a expressão relacional está verificando se o valor informado ao programa e, consequentemente, armazenado na variável x, é maior do que 0 (zero).

Se o valor de x for maior do que zero a condição é então verdadeira e o programa segue o seu fluxo, partindo para o bloco da direita. Todos os comandos que estiverem dentro do trecho correspondente ao bloco da condição verdadeira serão executados e, nesse exemplo, temos o comando escreva, que irá imprimir na saída do programa o valor de x, o qual então é positivo.

Caso o valor de x seja negativo (ou igual a zero), o fluxo do programa será, então, direcionado para o bloco de código responsável pela condição falsa, e nesse programa apresentado, será impressa a mensagem de que o valor de x é negativo.

Por esse motivo, quando emprega-se o uso das estruturas de decisão, o programa produzido deixa de ser sequencial, pois alguns trechos podem não ser executados por causa dos desvios de fluxo.

Na linguagem Potigol a estrutura de decisão é denominada de 'se...então'. Essa estrutura é descrita como um comando condicional de execução em bloco e, através dela, é possível definir um ou dois blocos de códigos que devem ser executados, um quando a condição for verdadeira (obrigatório) e outro quando for falsa (opcional).

Observe o código abaixo, ele representa um programa que verifica se um número fornecido é maior do que zero.

Se a condição for verdadeira, o programa irá escrever que o número digitado é positivo. Já se for falsa, o comando escreva não será executado. Esse exemplo mostra a estrutura de decisão se...então em sua forma mais simples, ou seja, quando temos apenas o bloco de códigos para quando a expressão de condição for verdadeira.

No exemplo, se a condição for falsa, não há bloco de códigos para ser executado e, portanto, o algoritmo apenas irá continuar executando as linhas seguintes ao bloco 'se...então'. Nesse caso como não há nenhuma linha código após esse bloco o programa é encerrado.

Explore o exemplo abaixo para você conhecer a sintaxe dessa estrutura.

Você conseguiu descobrir o que faz o programa acima? Ele declara uma variável 'numero' e em seguida lhe atribui um valor, veja na linha 1. Na linha seguinte, linha 2, temos uma expressão aritmética e relacional e que após ser avaliada tem o seu resultado armazenado na variável misterio. Em seguida, nas linhas de 4 a 6, temos o bloco da estrutura condicional 'se...então'. Caso você não tenha compreendido completamente o programa, experimente alterar a expressão da linha 2 para obter novos resultados, mas lembre-se sempre que as expressões relacionais possuem o resultado true (verdadeiro) ou false (falso).

Agora observe o bloco de código abaixo, esse corresponde ao programa do fluxograma apresentado anteriormente. Sua estrutura apresenta o comando se...então...senão completo com os dois blocos de código:

  • um para quando a condição (x>0) for verdadeira, ou seja, x é maior que zero, sendo o bloco de comandos inseridos entre as palavras reservadas então e senão;
  • um bloco para quando a condição (x>0) for falsa, ou seja, x for menor ou igual a zero, sendo o bloco de comandos inseridos entre as palavras reservadas senão e fim.

Você compreendeu a estrutura de decisão se...então? Ainda não!? Poste suas dúvidas no fórum designado, dessa forma outros colegas poderão compartilhar informações e seu professor mediador poderá lhe auxiliar.

Versão 5.3 - Todos os Direitos reservados