Controle do Fluxo de Execução

 

De acordo com o modo como este controle é feito, as estruturas básicas de controle do fluxo de instruções de um algoritmo, são classificadas em: Estruturas Seqüenciais, Estruturas de Decisão e Estruturas de Repetição.

 

-         Comandos Compostos

É um conjunto de zero ou mais comandos simples, como instruções primitivas ou alguma das construções de controle do fluxo de execução que serão estudadas a seguir.

 

-         Estruturas Seqüenciais

Os comandos são executados numa seqüência pré-estabelecida, onde cada comando é executado somente após o término do comando anterior.

Fluxograma:

Pseudocódigo:

...

<Comando 1>

<Comando 2>

<Comando 3>

...

 

Exemplos de aplicação: algoritmos das aulas anteriores, onde não há estruturas de decisão ou de repetição.

 

-         Estruturas de Decisão

O fluxo de execução das instruções a ser seguido será escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica.

 

Estas estruturas são classificadas conforme o número de condições a serem avaliadas para que se decida qual o caminho a ser seguido. Segundo esta classificação, tem-se dois tipos de estruturas de decisão: Estruturas de Decisão do Tipo Se e Estruturas de Decisão do Tipo Escolha.

 

o       Estruturas de Decisão do Tipo Se

Uma única condição é avaliada.

 

Sintaxe:

Se  <condição>

     Então

              <comando_composto 1>

     Senão

              <comando_composto 2>

Fim_se

 

Em fluxogramas as estruturas de decisão do tipo Se são representadas assim:



Semântica: a condição é avaliada. Se o resultado for verdadeiro, então o comando_composto 1 é executado e ao término de sua execução o fluxo do algoritmo prossegue pela primeira instrução seguinte ao Fim_se. Se o resultado for falso, o comando_composto 2 é executado e ao término de sua execução o fluxo do algoritmo prossegue pela primeira instrução seguinte ao Fim_se.

 

Caso particular onde o comando_composto 2 é um conjunto vazio de instruções, então a porção relativa ao Senão pode ser omitida.

 

Sintaxe:

Se  <condição>

     Então

              <comando_composto 1>

Fim_se

 

Em fluxogramas, este caso particular de estrutura de decisão do tipo Se é representado assim:



Semântica: quando a condição for verdadeira, o comando_composto 1 é executado e após o seu término, o fluxo de execução prossegue pela próxima instrução após o Fim_se. Quando a condição for falsa, o fluxo de execução prossegue normalmente pela primeira instrução após o Fim_se.

 

 

Exemplo de aplicação de estrutura de decisão do tipo Se:

-         Construa um algoritmo para determinar se uma pessoa é maior ou menor de idade.

 

Fluxograma:




Pseudocódigo:

 

Algoritmo  EXEMPLO_ESTR_TIPO_SE

 

Var  IDADE  :  inteiro

Início

         Leia  IDADE

         Se  IDADE >= 18

                  Então

                           Escreva  “Maior de Idade”

                  Senão

                           Escreva  “Menor de Idade”

         Fim_se

Fim

 

Exercícios propostos:


1.     Escreva um algoritmo para determinar o maior entre dois números reais dados.

 

Fluxograma:



Pseudocódigo:

 

Algoritmo  COMPARA

 

Var  A, B  :  real

Início

     Escreva  “Algoritmo para comparar dois números”

     Escreva  “Digite o primeiro número: ”

     Leia  A

     Escreva  “Digite o segundo número: ”

     Leia B

     Escreva  “O maior é “

     Se  A > B

              Então

                       Escreva  A

              Senão

                       Escreva  B

     Fim_se

Fim

 

 

2.     Uma empresa decide dar um aumento de 30% aos funcionários cujo salário é inferior a R$ 5.000,00. Escreva um algoritmo para efetuar o cálculo do salário reajustado de um funcionário.


Fluxograma:



Pseudocódigo:

 

Algoritmo REAJUSTE

 

Var  SALARIO, SAL_REAJ  :  real

Início

         Escreva  “Algoritmo para cálculo de reajuste”

         Escreva  “Salário = “

         Leia  SALARIO

         Se  SALARIO < 5000

                   Então

                            SAL_REAJ ß 1.3 * SALARIO

                            Escreva  “Salário Reajustado = “, SAL_REAJ

         Fim_se

Fim