Baixe o app para aproveitar ainda mais
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
Compartilhar