Manual de Elaboração de Fluxogramas em Informática

Manual de Elaboração de Fluxogramas em Informática

(Parte 1 de 3)

6 Algoritmo: Controle de Fluxo

Ate o momento os algoritmos estudados utilizam apenas instrucoes primitivas de atribuicao, e de entrada e saıda de dados. Qualquer conjunto de dados fornecido a um algoritmo destes sera submetido ao mesmo conjunto de instrucoes, executadas sempre na mesma sequencia.

No entanto, na pratica muitas vezes e necessario executar acoes diversas em funcao dos dados fornecidos ao algoritmo. Em outras palavras, dependendo do conjunto de dados de entrada do algoritmo, deve-se executar um conjunto diferente de instrucoes. Alem disso, pode ser necessario executar um mesmo conjunto de instrucoes um numero repetido de vezes. Em resumo, e necessario controlar o fluxo de execucao das instrucoes (a sequencia em que as instrucoes sao executadas num algoritmo) em funcao dos dados fornecidos como entrada ao mesmo.

Neste capıtulo serao estudadas as estruturas basicas de controle do fluxo de instrucoes de um algoritmo. De acordo com o modo como este controle e feito, estas estruturas sao classificadas em:

• Estruturas sequenciais; • Estruturas de decisao;

• Estruturas de repeticao.

6.1 Comandos Compostos

Um comando composto e um conjunto de zero ou mais comandos (ou instrucoes) simples, como atribuicoes e instrucoes primitivas de entrada ou saıda de dados, ou alguma das construcoes apresentadas neste capıtulo.

Este conceito e bastante simples e sera util e conveniente nos itens seguintes, na definicao das estruturas basicas de controle de execucao.

6.2 Estrutura Sequencial

Na estrutura sequencial os comandos de um algoritmo sao executados numa sequencia pre-estabelecida. Cada comando e executado somente apos o termino do comando anterior.

Em termos de fluxogramas, a estrutura sequencial e caracterizada por um unico fluxo de execucao (um unico caminho orientado) no diagrama. Em pseudocodigos, a estrutura sequencial caracteriza-se por um conjunto de comandos dispostos ordenadamente. Como exemplos de aplicacao desta estrutura de controle tem-se os algoritmos do capıtulo anterior, onde nao ha estruturas de decisao ou de repeticao.

Figura 41: Trecho de um algoritmosequencial.

As linhas de codigo abaixo, apresentam um trecho de um algoritmo sequencial em portugues estruturado, para o exemplo da Fig. 41.

· · · <instruc~ao_1>

<instruc~ao_2>

<instruc~ao_3> · · ·

6.3 Estruturas de Decisao

Neste tipo de estrutura o fluxo de instrucoes a ser seguido e escolhido em funcao do resultado da avaliacao de uma ou mais condicoes. Uma condicao e uma expressao logica.

A classificacao das estruturas de decisao e feita de acordo com o numero de condicoes a serem testadas. Segundo esta classificacao, tem-se dois tipos de estruturas de decisao:

6.3.1 Estruturas de Decisao do Tipo Se

Nesta estrutura uma unica condicao (expressao logica) e avaliada. Se o resultado desta avaliacao for verdadeiro (V), entao um determinado conjunto de instrucoes e executado. Caso contrario, ou seja, quando o resultado da avaliacao for falso (F), um comando diferente e executado.

Em termos de fluxogramas, uma construcao do tipo Se pode ser encarada como uma bifurcacao onde ha dois caminhos que podem ser seguidos. Este tipo de estrutura e denominada de estrutura condicional composta, a Fig. 42 mostra sua sintaxe. A execucao do algoritmo prosseguira necessariamente por um deles. Esta escolha e feita em funcao do resultado da expressao: um dos caminhos e rotulado com (V) e sera seguido quando a condicao for falsa.

Figura 42: Fluxograma da estrutura condicional composta.

As linhas de codigo abaixo, apresentam a sintaxe de uma estrutura condicional composta em portugues estruturado, para o exemplo da Fig. 42.

Se (<condic~ao>) ent~ao {Instruc~oes} Sen~ao {Instruc~oes} Fim Se

Observacao: As palavras Se, Ent~ao, Sen~ao e Fim Se, sao reservadas.

A semantica desta construcao e a seguinte: a condicao e avaliada. Se o resultado for verdadeiro, um grupo de instrucoes sera executado. Ao termino de sua execucao o fluxo do algoritmo prossegue pela instrucao seguinte a construcao, ou seja, o primeiro instrucao apos o Fim Se. Nos casos em que a condicao e avaliada como falsa, o outro grupo de instrucoes sera executado.

Ha casos particulares deste tipo de construcao, onde apenas um ramo do teste condicional sera responsavel pela realizacao de alguma acao, assim a porcao relativa ao Sen~ao pode ser omitida, resumindo a sintaxe da construcao a forma mostrada na Fig. 43.

Figura 43: Fluxograma de uma estrutura condicional simples.

A sintaxe de uma estrutura condicional simples em portugues estruturado e:

Se (<condic~ao>) ent~ao {Instruc~oes} Fim Se

A semantica desta construcao para o caso da condicao ser verdadeira, as instrucoes serao executadas. Apos seu termino, o fluxo de execucao prossegue pela proxima instrucao apos o Fim Se. Quando a condicao e falsa, o fluxo de execucao prossegue normalmente pela primeira instrucao apos o Fim Se.

Exemplo 5. Algoritmo para determinar se uma pessoa e maior ou menor de idade, utilizando a estrutura de decisao composta Se.

O algoritmo, em portugues estruturado, tem a seguinte forma:

Programa Exemplo 5

Var Idade: Inteiro;

Inıcio

Leia(Idade); Se (Idade >= 18) ent~ao

Escreva("Maior de idade")

Sen~ao

Escreva("Menor de idade")

Fim Se Fim

O fluxograma para este problema utilizando a estrutura Se e mostrado na Fig. 4.

Figura 4: Exemplo de fluxograma de uma estrutura condicional.

6.3.2 Estruturas de Decisao do Tipo Escolha

Este tipo de estrutura e uma generalizacao da estrutura Se, onde a condicao avaliada conduz a no maximo duas possibilidades de acoes. Na estrutura de decisao do tipo Escolha podem existir uma ou mais possibilidades de acoes a serem tomadas. A Figura 45 mostra a sintaxe em fluxograma para a estrutura escolha.

Figura 45: Fluxograma de uma estrutura condicional escolha.

A sintaxe de uma estrutura condicional do tipo escolha em portugues estruturado e:

Escolha (<variavel>) Caso(<valor_1>): {Instruc~oes}

(Parte 1 de 3)

Comentários