Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 4
4
Introdução
Condição
não sim
Instruções a
Instruções a serem
serem Instruções a serem
executadas quando
processadas executadas quando a
a condição é
condição é falsa
verdadeira
Instruções a
serem
processadas
5
Introdução
Inicialização;
Condição; Repita
Incremento;
Instruções a serem
processadas
6
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
ferramentas necessárias para a troca.
7
Resoluções Sequênciais
Início
Posto o estepe
Retirada do estepe
e ferramentas
Parafusado o estepe
Afrouxada nos
parafusos
Abaixado o carro
Carro suspendido Guardar pneu
furado e
ferramentas
Parafusos apertados
Retirado o pneu
furado Fim
Resoluções Sequênciais
• O simbolo exibir na tela pode mostrar ao
usuário textos e variáveis.
“A soma é “,
SOMA
9
Resoluções Sequênciais
• O texto entre aspas será exibido ao usuário da
mesma forma que foi informado no
fluxograma.
“Informe o
“A soma é “,
Início segundo
soma
valor”
“Informe o
primeiro Fim
valor2
valor”
soma =
valor1
valor1+valor2
11
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 =
Início quilometragem *
1000
“Informe a “A quilometragem
quilometragem” informada
representa: “
metros
quilometragem
Fim
12
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
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
sim reajuste = salario *
salario<500
15/100
“Informe o
salário do não
funcionário”
reajuste = salario *
5/100
“Salário anterior:
”, salario, “ salarionovo = salario
Fim Novo salário: “, + reajuste
salarionovo 14
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
dos mesmos e, sendo este resultado maior
que 10, informe-o a quem solicitou.
15
Resoluções Condicionais
Início
soma = valor1 +
“Informe o valor2
primeiro
valor”
sim “Resultado
soma > 10 é:”, soma
valor1
não
“Informe o
segundo
valor”
valor2 Fim
16
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, é
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
sim
valor <= 100 desconto = 5
“Informe o
valor da não
compra”
(valor> 100) E sim
(valor < 200)
desconto = 10
valor
não
desconto = 20
19
Resolução com Repetição Contada
denominador = Início
denominador + peso
i = 0,
media =
numerador = 0, não
(numerador/deno
numerador = denominador = 0;
minador)
numerador + (nota * i<4; i ++
peso) sim
“Informe a “A média
nota” ponderada
peso é”, media
“Informe o Fim
peso” nota
20
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:
21
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
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
“Informe o
valor:” valor
“Informe a
quantidade de
números que
fornecerá” soma = soma + valor
valor >= 0
positivos = positivos + 1 sim
n não
sim
i = 0, “A média dos
soma= 0, números
positivos = 0; positivos é”,
i<n; i ++ media
media =
não soma/positivos
Fim 24
Como fazer um Teste de Mesa
1. Cria-se uma coluna para cada variável e uma
coluna para saída de dados;
25
Como fazer um Teste de Mesa
n i valor soma positivos media
n 4
i = 0,
soma= 0, n i valor soma positivos media
positivos = 0; 4 0 0 0
i<n; i ++
26
Como fazer um Teste de Mesa
sim soma = soma + valor
valor >= 0
positivos = positivos + 1
i = 0,
soma= 0, sim
positivos = 0; valor
i<n; i ++
28
Como fazer um Teste de Mesa
Início
“O maior valor
i = 0, maior= 0,
não existente nos
i<10;
10 informados
i ++
é”, maior
sim Fim
“Informe o
valor:”
sim
valor
não
maior = valor
29
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
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 30
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,
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
Enquanto
Início (codigo!=999)
não “O total da
codigo= 0 sim compra é”,
quantidade total
“Informe a
quantidade”
total= 0 “A
“Informe
quantidade
o preço” preco de itens é”,
itens = 0 itens
total = total +
itens = itens+1
(preco* “A
quantidade) quantidade
volume = 0
volumes = de volumes
volumes + é” volumes
quantidade
“Informe
código do Fim
codigo produto”
32
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
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 = soma +
numero maior = numero
soma = 0; Fim não
media = 0; “Informe
i=0; um numero sim
número” > maior
positivos = 0;
menor, maior,
“Informe media, soma numero <
um não menor
numero
número”
sim
media = media /
numero positivos menor = numero
35
Resoluções com Repetição com
Teste Condicional no Início
Início
quantidade
“O total da
compra é”,
total= 0 “Informe total
o preço” preco
“A
itens = 0 total = total + quantidade
itens = itens+1
(preco* de itens é”,
quantidade) itens
volume = 0
volumes =
volumes + “A
repita quantidade quantidade
“Informe
de volumes
código do
codigo é” volumes
“Informe a produto”
quantidade” Fim
sim Até não
36
(codigo==999)
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
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.
não
p5=c5*100/totpax;
p7=c7*100/totpax;
sim p10=c10*100/totpax;
“Quantas
canal==7 c5=c5+qtde p12=c12*100/totpax;
pessoas
existem na px=cx*100/totpax;
casa?”
não
sim
qtde canal==10 c5=c5+qtde p5, p7, p10,
p12, px;
canal
não 38