Vous êtes sur la page 1sur 14

Fluxograma

Analisaremos agora o mtodo de representao de algoritmos denominado fluxograma. Conceitualmente um fluxograma um tipo de diagrama, e pode ser entendido como uma representao esquemtica de um processo, constitui uma representao grfica que ilustra de forma descomplicada a seqncia de execuo dos elementos que o compem. Podemos entend-lo, na prtica, como a documentao dos passos necessrios para a execuo de um processo qualquer. Veremos agora alguns smbolos empregados na construo de fluxogramas.
85

Fluxograma
Smbolo Nome
Terminador Seta de fluxo Declarao Entrada de dados Atribuio Sada de dados

Descrio
Indica o incio e o fim do fluxo do algoritmo. Indica o sentido do fluxo de execuo do algoritmo. atravs dela que os smbolos do fluxograma so conectados. Delimita a seo de declarao de variveis. Corresponde instruo de entrada de dados atravs do teclado. Smbolo utilizado para indicar clculos e atribuio de valores. Corresponde instruo de sada de dados. Os dados sero exibidos na tela do computador. Divide o fluxo do programa em dois caminhos, dependendo do teste lgico que fica dentro do losango.

Desvio condicional

86

Conjunto de smbolos utilizados em fluxogramas

Exemplo de Fluxograma
De forma similar analise feita com pseudocdigo, iniciaremos nossa analise por um fluxograma que efetua a leitura, atravs do teclado, de um valor inteiro e o retorna no monitor.
Inicio

n: inteiro

n Fim
87

Exemplo de Fluxograma
Observaremos agora um fluxograma que recebe um valor inteiro, atravs da entrada padro, e acresce duas unidades a este exibindo o resultado na sada padro.
Inicio

n: inteiro

Fornea um valor inteiro n

Fim O valor fornecido acrescido de duas unidades resulta em , n

n <- n + 2
88

Exerccio de Fluxograma
Construa um fluxograma para obter o resultado da multiplicao de dois nmeros inteiros quaisquer fornecidos pelo usurio. Inicio
Inicio n1, n2: inteiro n1, n2, res: inteiro Digite um inteiro como multiplicando: n2 Resultado: , res n1,*,n2,=, n1 * n2 res <- n1 * n2 Fim n1

Digite o multiplicando e o multiplicador, ambos inteiros:

Fim

Digite um inteiro como multiplicador:

n1, n2

Exerccio de Fluxograma
Gere um fluxograma que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulao na sada padro.
Inicio Inicio Inicio

valor, resultado: real

valor: real

Entre com o valor do produto:

valor: real

Entre com o valor do produto:

valor

Entre com o valor do produto: valor

valor

valor <- valor * 0.7 Valor de venda, valor:6:2 Fim

resultado <- valor * 0.7 Valor de venda, resultado:6:2

Valor com desconto: , valor * 0.7:6:2

Fim

Fim

Estruturas de Controle de Fluxo


Os algoritmos desenvolvidos at o momento constituem uma seqncia de aes que sempre so executadas em sua totalidade indiferente de qual(is) seja(m) o(s) valor(es) da(s) entrada(s). Contudo para a resoluo de determinados problemas ou para a execuo de determinadas tarefas necessria a realizao de um conjunto distinto de aes e este conjunto definido com base em uma anlise da(s) entrada(s). Um exemplo cotidiano de uma destas situaes um algoritmo capaz de efetuar o clculo do imposto de renda devido por um determinado contribuinte. Neste caso dependendo da quantidade de dependentes, do valor de sua renda e outras fatores o clculo ser feito de formas distintas.
91

Estruturas de Controle de Fluxo


Em funo do que foi mencionado foram criadas as estruturas de controle de fluxo, as quais so fundamentais para a construo de algoritmos complexos. Estas permitem que o programador especifique a seqncia de instrues que ser executada. 1. Instruo condicional simples Sintaxe: se (<expresso-lgica>) entao <seqncia-de-comandos> fimse

92

Estruturas de Controle de Fluxo


Pseudocdigo/Exerccio Construa o pseudocdigo de um algoritmo para obter o resultado da diviso de dois nmeros inteiros quaisquer.
algoritmo exerccio 8 var n1, n2: inteiro res: real inicio escreva (Digite o dividendo inteiro: ) leia (n1) escreva (Digite o divisor inteiro: ) leia (n2) se (n2<>0) entao res <- n1 / n2 escreva (Resultado da diviso: , res) fimse fimalgoritmo
93

Estruturas de Controle de Fluxo


Pseudocdigo/Exerccio Construa o pseudocdigo de um algoritmo para obter o resultado da diviso de dois nmeros inteiros quaisquer.
algoritmo exerccio 8b var n1, n2: inteiro res: real inicio escreva (Digite o dividendo inteiro: ) leia (n1) escreva (Digite o divisor inteiro: ) leia (n2) se (n2<>0) entao res <- n1 / n2 escreva (Resultado da diviso: , res) fimse se (n2=0) entao escreva (Impossvel dividir!) fimse fimalgoritmo
94

Estruturas de Controle de Fluxo


1. Instruo condicional composta Sintaxe: se (<expresso-lgica>) entao <seqncia-de-comandos-1> senao fimse <seqncia-de-comandos-2> fimse ...

95

Estruturas de Controle de Fluxo


Pseudocdigo/Exerccio Construa o pseudocdigo de um algoritmo para obter o resultado da diviso de dois nmeros inteiros quaisquer.
algoritmo execcio 8c var n1, n2: inteiro res: real inicio escreva (Digite o dividendo inteiro: ) leia (n1) escreva (Digite o divisor inteiro: ) leia (n2) se (n2=0) entao escreva (Impossvel dividir!) senao res <- n1 / n2 escreva (Resultado da diviso: , res) fimse fimalgoritmo
96

Estruturas de Controle de Fluxo


Fluxograma Vimos o smbolo quando falamos sobre fluxograma. Este smbolo nos permite implementar a instruo se entao e se entao senao. Exemplo: ...
Verdadeiro <seqncia-de-comandos> <expresso-lgica> Falso

...

...

Verdadeiro <seqncia-de-comandos1> <expresso-lgica>


97

...

Falso

<seqncia-de-comandos2>

Estruturas de Controle de Fluxo


Fluxograma/Exerccio Com base no que foi exposto construa um fluxograma para obter o resultado da diviso de dois nmeros inteiros quaisquer.

98