Buscar

Aula 4

Prévia do material em texto

Fluxogramas
Alison Zille Lopes
Aula 4
Introdução
• Devido principalmente a sua fácil legibilidade 
e simplicidade, muitos autores elegem 
determinadas formas geométricas para a 
representação gráfica de comandos e representação gráfica de comandos e 
intruções (fluxograma).
• A seguir serão apresentados os simbolos mais 
comuns, entretanto, a representação de um 
determinado comando pode variar de acordo 
com o autor.
2
Introdução
Terminal Indica início e fim do fluxo do 
programa
Seta de fluxo de dados Indica o sentido do fluxo de dados. 
Serve para conectar os blocos 
existentes.
Entrada de dados Indica que serão recebidas 
informações através do teclado.
3
informações através do teclado.
Processamento Indica a realização de cálculos, 
atribuições ou qualquer 
manipulação de dados.
Exibir na tela Indica que as informações serão 
exibidas na tela.
Desvio Condicional Indica tomada de decisão. Divide o 
fluxo do programa em dois 
caminhos.
Introdução
Conector Serve para identificar o limite de um 
laço de repetição.
Repetição com variável 
de controle
Usado especificamente para o 
comando de repetição.
Repetição com teste Usado especificamente para o 
4
Repetição com teste 
lógico no início
Usado especificamente para o 
comando de repetição.
Repetição com teste 
lógico no final
Usado para o comando de repetição 
com teste lógico no final.
Declaração Usado para as declarações de 
variáveis, tipos e constates.
Introdução
Instruções a 
serem Instruções a serem 
Instruções a serem 
executadas quando 
Condição
simnão
Sequência Bifurcação (Seleção Condicional)
5
serem 
processadas
Instruções a 
serem 
processadas
Instruções a serem 
executadas quando a 
condição é falsa
executadas quando 
a condição é 
verdadeira
Introdução
Inicialização;
Condição; 
Incremento;
Instruções a serem Condição
Repita
6
Laço Contado (Prefixado) Laço Não-prefixado
Instruções a serem 
processadas
Condição
Instruções a serem 
processadas
Resoluções Sequênciais
Enunciado:
Um trabalhador, ao retornar para casa após sua 
costumeira jornada de trabalho, tem o pneu traseiro 
direito de seu carro furado. Ele possui estepe cheio e direito de seu carro furado. Ele possui estepe cheio e 
ferramentas necessárias para a troca.
7
Resoluções Sequênciais
Início
Posto o estepe
Parafusado o estepe
Afrouxada nos 
Retirada do estepe 
e ferramentas
Fim
Parafusos apertados
Abaixado o carro
Retirado o pneu 
furado
Carro suspendido
Afrouxada nos 
parafusos
Guardar pneu 
furado e 
ferramentas
Resoluções Sequênciais
• O simbolo exibir na tela pode mostrar ao 
usuário textos e variáveis.
9
“A soma é “,
SOMA
Resoluções Sequênciais
• O texto entre aspas será exibido ao usuário da 
mesma forma que foi informado no 
fluxograma.
• Quando uma palavra é utilizada neste símbolo 
e ela não está entre aspas, é assumido que 
esta palavra representa uma variável, ou seja, 
ela representa um endereço de memória que 
guarda algum valor, seja ele de que tipo for.
10
Resoluções Sequênciais
• Em determinada situação, são solicitados dois números, os 
quais devem ser somados e o valor encontrado deve ser 
exibido
“A soma é “,
“Informe o 
11
Início
“A soma é “,
soma
“Informe o 
primeiro 
valor”
“Informe o 
segundo 
valor”
valor1
valor2
soma = 
valor1+valor2
Fim
Resoluções Sequênciais
• É solicitada, a um motorista recém-chegado de uma viagem, a 
quantidade de quilômetros por ele percorrida. O motorista 
informa a solicitado e você deverá informar a ele a quantos 
metros se refere à quantidade de quilômetros.
metros = 
12
Início
“Informe a 
quilometragem”
quilometragem
metros = 
quilometragem * 
1000
“A quilometragem 
informada 
representa: “ 
metros
Fim
Resoluções Condicionais
• Elaborar um programa que efetue o cálculo do 
reajuste do salário de um funcionário. 
Considere que o funcionário deverá receber 
um reajuste de 15% caso seu salário seja um reajuste de 15% caso seu salário seja 
menor que 500. Se o salário for maior ou igual 
a 500, porem menor ou igual a 1000, seu 
reajuste será 10%. Caso seja maior que 1000, 
o reajuste deverá ser de 5%. Exiba o salário 
anterior e o com reajuste
13
Resoluções Condicionais
Início
“Informe o 
salário do 
funcionário”
salario<500
reajuste = salario * 
15/100
reajuste = salario * (salario >= 500 ) E sim
sim
não
14
salario
reajuste = salario * 
5/100
Fim
salarionovo = salario
+ reajuste
“Salário anterior: 
”, salario, “ 
Novo salário: “, 
salarionovo
reajuste = salario * 
10/100
(salario >= 500 ) E
(salario <= 1000)
sim
não
Resoluções Condicionais
• São solicitados a uma pessoa, em 
determinada situação, dois valores numéricos 
inteiros. Uma vez que estes valores tenham 
sido fornecidos, você deverá efetuar a soma sido fornecidos, você deverá efetuar a soma 
dos mesmos e, sendo este resultado maior 
que 10, informe-o a quem solicitou.
15
Resoluções Condicionais
Início
“Informe o 
primeiro 
valor”
soma = valor1 + 
valor2
“Resultado sim
16
valor1
“Informe o 
segundo 
valor”
valor2
soma > 10
“Resultado 
é:”, soma
Fim
sim
não
Resoluções Condicionais
• Uma determinada loja está fazendo promoções de 
vendas e, no momento em que um cliente se dirige 
ao caixa com suas compras, seu programa deverá 
verificar a qual percentual de desconto esse cliente 
tem direito. Para desempenhar bem essa tarefa, é tem direito. Para desempenhar bem essa tarefa, é 
oferecido uma tabela de desconto baseada no valor 
da compra do cliente. Veja:
– Compra até R$ 100,00 receberá 5% de desconto;
– Compra maior que R$ 100,00, porém inferior a R$ 200,00, o desconto 
será de 10%;
– Se a compra for superior ou igual a R$ 200,00, o desconto será de 20%.
17
Resoluções Condicionais
Início
“Informe o 
valor da 
compra”
valor <= 100
(valor> 100) E 
(valor < 200)
desconto = 10
desconto = 5
sim
sim
não
1818
valor
desconto = 20
“Valor conta:”, valor, 
“Valor desconto:”, 
vkrdesconto, “Valor 
com desconto:”, (valor 
– vlrdesconto)
Fim
(valor < 200)
desconto = 10
vlrdesconto = valor * 
desconto/100
não
Resolução com Repetição Contada
• Sendo informado para um único aluno quatro 
notas e seus respectivos pesos, efetue o 
calculo da média ponderada e informe a 
média obtida pelo aluno. A média ponderada média obtida pelo aluno. A média ponderada 
é obtida através da soma entre o produtos de 
nota e peso, dividindo este resultado pela 
soma dos pesos.
19
Resolução com Repetição Contada
Início
media = 
(numerador/deno
minador)
i = 0,
numerador = 0, 
denominador = 0; 
i<4; i ++
denominador = 
denominador + peso
numerador = 
numerador + (nota * 
peso) sim
não
20
nota
“Informe a 
nota”
peso
“A média 
ponderada 
é”, media
peso)
Fim“Informe o 
peso”
sim
Resolução com repetição contada
• Esse exemplo é clássico. Solicita ao usuário 
quatro vezes uma nota e seu respectivo peso 
para cálculo de uma média ponderada, que 
tem sua fórmula representada por:tem sua fórmula representada por:
21
( 1* 1) ( 2* 2) ( 3* 3) ( 4* 4)
_
( 1 2 3 4)
nota peso nota peso nota peso nota peso
media ponderada
peso peso peso peso
+ + +
=
+ + +
Teste de Mesa
• Para verificarmos a lógica de um fluxograma, é 
preciso fazer um teste chamado Teste de Mesa 
ou Teste de Programa. Seria a simulação da 
execução do programa. Este teste permite execução do programa. Este teste permite 
identificar a existência de erros de lógica, quer 
sejam eles no fluxograma ou em qualquer 
outra ferramenta utilizada.
22
Teste de Mesa
Dados N números, imprima a média deles. Os 
números negativos não poderão fazer parte da 
média a ser calculada.
23
Teste de Mesa
Início
valor
“Informe a 
quantidade de 
números que 
fornecerá” soma = soma + valor
positivos = positivos + 1
“Informe o 
valor:”
valor >= 0
sim
24
positivos = positivos + 1
Fim
“A média dos 
números 
positivos é”, 
media
n
media = 
soma/positivos
i = 0,
soma= 0, 
positivos = 0; 
i<n; i ++
sim
não
sim
não
Como fazerum Teste de Mesa
1. Cria-se uma coluna para cada variável e uma 
coluna para saída de dados;
n i valor soma positivos media
2. Depois anota-se nas linhas cada mudança de 
estado em variável ou tela;
25
n i valor soma positivos media
Como fazer um Teste de Mesa
n i valor soma positivos media
4
n
i = 0,
26
n i valor soma positivos media
4 0 0 0
n i valor soma positivos media
4 0 10 0 0
i = 0,
soma= 0, 
positivos = 0; 
i<n; i ++
valor
Como fazer um Teste de Mesa
soma = soma + valor
positivos = positivos + 1
valor >= 0
n i valor soma positivos media
4 0 10 10 1
sim
27
valor
i = 0,
soma= 0, 
positivos = 0; 
i<n; i ++
n i valor soma positivos media
4 0 10 10 1
4 1
sim
Como fazer um Teste de Mesa
i = 0,
soma= 0, 
positivos = 0; 
i<n; i ++
media = 
soma/positivos
n i valor soma positivos media
não
28
n i valor soma positivos media
4 0 10 10 1
4 1 15 25 2
4 2 -5 25 2
4 3 5 30 3 10
Como fazer um Teste de Mesa
Início
Fim
i = 0, maior= 0, 
i<10; 
i ++
“O maior valor 
existente nos 
10 informados 
é”, maior
sim
não
29
maior = valor
Fim
“Informe o 
valor:”
valor
valor > maior
sim
sim
não
Como fazer um Teste de Mesa
i (i<10) valor (valor>maior) maior
0 Sim 0
1 Sim 1
1 Sim 10 Sim 10
2 Sim 3 Não 10
30
3 Sim 12 Sim 12
4 Sim 5 Não 12
5 Sim 7 Não 12
6 Sim 14 Sim 14
7 Sim 9 Não 14
8 Sim 11 Não 14
9 Sim 13 Não 14
10 Não 14
Resoluções com Repetição com 
Teste Condicional no Início
• Dada uma lista de compras, com o código, 
quantidade e preço de produtos, sendo que o 
último produto tem o código 999, elabore um 
algoritmo que calcule o valor total da compra, algoritmo que calcule o valor total da compra, 
o total de itens e a quantidade total de 
volumes que foram comprados.
31
Resoluções com Repetição com 
Teste Condicional no Início
Início
total= 0
“Informe a 
quantidade”
quantidade
“Informe 
“O total da 
compra é”, 
total
“A 
quantidade 
codigo= 0
Enquanto 
(codigo!=999)
não
sim
32
Fim
itens = 0
volume = 0
“Informe 
o preço” preco
total = total + 
(preco*
quantidade)
itens = itens+1
volumes = 
volumes + 
quantidade
“Informe 
código do 
produto”
quantidade 
de itens é”, 
itens
“A 
quantidade 
de volumes 
é” volumes
codigo
Resoluções com Repetição com 
Teste Condicional no Início
Desenvolva um algoritmo que leia uma lista 
de números inteiros. A leitura desta lista será 
terminada pelo número 0 (zero). Ao final, o 
algoritmo deverá mostrar a média aritmética algoritmo deverá mostrar a média aritmética 
de todos os números positivos lidos, a soma 
total (independente de ser positivo ou 
negativo), menor e maior número. Atenção: a 
média não deve levar em conta o número 0 
(zero)
33
Resoluções com Repetição com 
Teste Condicional no Início
Início
soma = 0; 
media = 0;
i=0; 
positivos = 0;
Fim
numero 
> maior
maior = numero
“Informe 
um 
número”
soma = soma + 
numero
menor, maior, 
não
sim
34
numero
“Informe 
um 
número”
Enquanto 
(numero!=0)
numero > 0
maior = numero
menor = numero
numero < 
menor
media = media + numero;
positivos++;
menor = numero
numero
menor, maior, 
media, soma
media = media / 
positivos
não
não
não
sim
sim
sim
Resoluções com Repetição com 
Teste Condicional no Final
• Dada uma lista de compras, com o código, 
quantidade e preço de produtos, sendo que o 
último produto tem o código 999, elabore um 
algoritmo que calcule o valor total da compra, algoritmo que calcule o valor total da compra, 
o total de itens e a quantidade total de 
volumes que foram comprados.
35
Resoluções com Repetição com 
Teste Condicional no Início
Início
total= 0
itens = 0
quantidade
“Informe 
o preço” preco
total = total + 
“O total da 
compra é”, 
total
“A 
quantidade 
36
Fim
itens = 0
volume = 0
“Informe a 
quantidade”
total = total + 
(preco*
quantidade)
itens = itens+1
volumes = 
volumes + 
quantidade
“Informe 
código do 
produto”
quantidade 
de itens é”, 
itens
“A 
quantidade 
de volumes 
é” volumescodigo
Até 
(codigo==999)
repita
sim não
Resoluções com Repetição com 
Teste Condicional no Fim
Foi feita uma pesquisa de audiência de canal de TV em várias 
casas de um certo bairro de sua cidade. Para cada casa 
visitada, é fornecido o número do canal (5, 7, 10 ou 12) e o 
número de pessoas que o estavam assistindo naquela casa 
(assume-se que cada casa tenha uma única TV) Fazer um (assume-se que cada casa tenha uma única TV) Fazer um 
algoritmo que:
a) Leia um número indeterminado de dados, sendo que a flag para 
término corresponde ao número de canal 0 (zero);
b) Calcule e escreva a porcentagem de audiência de cada emissora;
c) Informe o percentual de pessoas que estavam assistindo canais que 
não estavam na lista de canais da pesquisa.
Assuma que, no momento em que o canal 0 (zero) for digitado, a 
quantidade de pessoas informada também será 0 (zero).
37
Resolções com Repetição com 
Teste Condicional no Fim
Início
c5=0; c7=0; 
c10=0;c12=0; 
totpax=0; canal==5 c5=c5+qtde
Até (codigo==999)
cx = totpax-
(c5+c7+c10+c12)
p5=c5*100/totpax;
p7=c7*100/totpax;
repita
sim
sim
não
38
qtde
“Quantas 
pessoas 
existem na 
casa?”
canal==7
canal==10
canal==12
c5=c5+qtde
c5=c5+qtde
c5=c5+qtde
“Qual canal 
estão 
assistindo?”
totpax=totpax+qtde
p7=c7*100/totpax;
p10=c10*100/totpax;
p12=c12*100/totpax;
px=cx*100/totpax;
p5, p7, p10, 
p12, px;
canal
Fim
sim
sim
sim
não
não
não

Continue navegando