Cursos / Automação Industrial / Lógica de Programação / Aula
Na aula anterior, você viu e utilizou os operadores Aritméticos, Relacionais e Lógicos, como também construiu algoritmos por intermédio da estrutura de decisão se...então...senão. Nesta, conheceu algumas das formas de representação dos algoritmos. Que tal continuar com a construção deles?
Para criar desvios de fluxo, você faz uso de estruturas de decisão em seus algoritmos. Nos algoritmos mais simples, a quantidade de fluxos é reduzida e possui poucos desvios. Nesse sentido, à medida que você cria algoritmos com diversos fluxos, em sua construção, o uso de aninhamentos é frequente.
O aninhamento ocorre quando se utiliza uma estrutura dentro de uma mesma estrutura. Por exemplo, se você utiliza a estrutura de decisão se...então dentro de uma outra estrutura se...então, você terá um aninhamento dessa estrutura se...então. Assim, diz-se que temos um aninhamento de se's, também conhecido por Desvio Condicional Aninhado.
No algoritmo abaixo foi utilizado o aninhamento da estrutura de decisão se...então...senão. Observe que o código do algoritmo recebe três números, que representam as notas do usuário na disciplina de Lógica de Programação, e, em seguida, calcula a média aritmética desses números.
No algoritmo acima, foram solicitados três números, foi realizado o cálculo da média e, então, o resultado do cálculo foi armazenado na variável media. Dependendo do valor presente nessa variável, o algoritmo realizará o desvio de fluxo uma ou duas vezes.
Veja a representação dos fluxos existentes desse algoritmo no Fluxograma a seguir:
Nesse Fluxograma, se a média for igual ou superior a 7, haverá somente um desvio de fluxo, mediante o qual o algoritmo será direcionado para o bloco de códigos referente à condição verdadeira da primeira estrutura de decisão se e, então, fará a impressão da mensagem, informando que o aluno foi aprovado por média e finalizando o algoritmo logo em seguida.
Ainda no primeiro se, quando a média for inferior a 7, o fluxo será desviado para o bloco de códigos referente à condição falsa. Internamente, nesse bloco há uma segunda estrutura de decisão se, e nela verifica-se novamente o valor da variável media. Caso o valor seja maior ou igual a 3, o desvio será realizado, agora, para o bloco de códigos referente à condição verdadeira da segunda estrutura de decisão 'se'. Nesse bloco de código, será impressa a mensagem informando que o aluno está em recuperação e, logo após, finalizando o algoritmo.
Porém, se o valor da variável media for inferior a 3, o algoritmo será desviado para o bloco de códigos de condição falsa do segundo se e, nesse caso, será impressa a mensagem informando que o aluno foi reprovado e, assim, o algoritmo será finalizado.
A partir desse exemplo, foi apresentado o aninhamento de uma estrutura de decisão se...então...senão no bloco de condição falsa de um primeiro se..então...senão. Talvez você esteja se perguntando: "Posso colocar somente uma segunda estrutura de decisão no bloco de condição falsa?" A resposta é não, isto é, também é possível aninhar a estrutura de decisão se dentro do bloco de condição verdadeira. Inclusive, há a possibilidade de ter aninhamento de várias estruturas de decisão no bloco da condição verdadeira ou falsa, como também é possível ter mais de um nível de aninhamento.
Geralmente, é preciso aninhar estruturas de decisão quando é necessário realizar mais de uma verificação, ou seja, mais de um 'teste'. Nesse exemplo, foi necessário verificar em qual situação o aluno seria enquadrado e, para isso, a média deveria ser verificada em duas etapas: primeiramente, foi verificado se o aluno estava aprovado por média e, caso contrário, seguia-se para o segundo passo, conferindo se o aluno possuía a média necessária para recuperação ou não.
Versão 5.3 - Todos os Direitos reservados