blacksaint 0 Denunciar post Postado Março 8, 2011 Salve, amigos, iniciei a pouco tempo a faculdade de Analise e Desenvolvimento de Sistemas, e em dos meus trabalhos para entregar, estou preso na última questão dele. Se alguém puder me dá uma luz em como resolvê-lo eu agradeço. Sei fazer a declaração de variavéis e suas contas, porém o meu problema é em como estruturar as informações nas condicionais "se" e "senao" em portugol. Tenho visualG aqui, segue: Uma fruteira está vendendo frutas com a seguinte tabela de preços: Até 5 Kg Morango R$ 2,50 por Kg Maçã R$ 1,80 por Kg Acima de 5 Kg Morango R$ 2,20 por Kg Maçã R$ 1,50 por Kg Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente. Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 8, 2011 Exemplo > se total_kg_fruta < 5 então preco_morango = 2.50 ' Lemre-se que os valores no código não devem conter virgulas preco_maca = 1.80 ' idem senao preco_morango = 2.20 preco_maca= 1.50 Fimse se (total_compra > 8) ou (total_compra > 25.00) entao total_compra = total_compra -((total_compra * 10)/100) escreva( "O valor da compra é :" , total_compra) senao escreva("O valor da compra é :", total_compra fimse [/code] *Lembre-se de ajustar as condições com as suas variáveis, analise atentamente a lógica proposta, assim você vai conseguir gravar o que foi feito.. Assim você consegue resolver sozinho depois.. Qualquer dúvida posta ae.. LCS Compartilhar este post Link para o post Compartilhar em outros sites
blacksaint 0 Denunciar post Postado Março 8, 2011 Para vocês verem onde parei, mas acho que ficou grande, precisava diminuir isso de alguma forma, segue: var Qkgmor, Qkgmaca, Ttlkg, Vttlmor, Vttlmaca, Vfinal, Vfdesc, Desc10:real mor250, mor220, maca180, maca150: real inicio // Seção de Comandos escreva ("Digite a quantidade de morangos, e maçãs: ") leia(Qkgmor, Qkgmaca) Ttlkg<- Qkgmor+Qkgmor mor250<- 250 maca180<- 180 mor220<- 220 maca150<- 150 se(Ttlkg <= 5) e (Vfinal < 25) entao Vttlmor<- mor250*Qkgmor Vttlmaca<- maca180*Qkgmaca Vfinal<- Vttlmor+Vttlmaca escreval ("O valor total dos morangos é: ", Vttlmor) escreval ("O valor total das maçãs é: ", Vttlmaca) se(Ttlkg > 7) entao Desc10<- Vfinal*10/100 Vfdesc<- Vfinal-Desc10 escreva ("Você ganhou um desconto por levar mais de 8kg, pagará: ", Vfdesc) senao escreval ("Totalizando: ", vfinal) fimse senao Vttlmor<- mor220*Qkgmor Vttlmaca<- maca150*Qkgmaca Vfinal<- Vttlmor+Vttlmaca escreval ("O valor total dos morangos é: ", Vttlmor) escreval ("O valor total das maçãs é: ", Vttlmaca) escreval ("Totalizando: ", Vfinal) Desc10<- Vfinal*10/100 Vfdesc<- Vfinal-Desc10 escreva ("Você ganhou um desconto de 10%, pagará: ", Vfdesc) fimse fimalgoritmo se alguém puder ajudar a diminuir isso, agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 8, 2011 So de olhar eu vi alguns erros. Por exemplo, você não pode pedir a quantidade de morangos e maças num mesmo inputbox: escreva ("Digite a quantidade de morangos, e maçãs: ") ' Não faça assim. escreva ("Digite a quantidade de morangos:") leia(Qtd_morangos) Escreva ("Digite a quantidade de maçãs:") leia(Qtd_macas) *Não tenha muita preguiça de digitar nomes de variáveis grandes no momento, fica mais fácil debugar o código e de se entender; Ex: ///Ao invés disso/// Qkgmor, Qkgmaca, Ttlkg, Vttlmor, Vttlmaca, Vfinal, Vfdesc, Desc10:real mor250, mor220, maca180, maca150: real //Faça isso/// Qtd_morango,Qtd_maca,Total_kg,Valor_total_morango,Valor_total_maca,valor_final,Valor_de_desconto,Preco_morango,Preco_maca,Valor_desconto Não precisa criar uma variável para cada valor da fruta, basta uma só para cada fruta, pois você vai atribuir o valor já no IF; 1° Passo: Insira a quantidade de cada fruta; 2° Passo: Faça a condição IF(SE) para verificar qual será o valor cobrado de cada fruta; 3° Passo: No mesmo IF anterior já faça as contas de qual será o valor total da compra e a quantidade de kg de frutas; 4°Passo: Use o IF para verificar se o cliente terá o desconto na compra ou não;e 5° Passo: Imprima o valor da compra,o valor do desconto e a quantidade em kg comprada. Seguindo esses passos e escrevendo o seu código você terá sucesso. Abçs, LCS Compartilhar este post Link para o post Compartilhar em outros sites
blacksaint 0 Denunciar post Postado Março 8, 2011 So de olhar eu vi alguns erros. Por exemplo, você não pode pedir a quantidade de morangos e maças num mesmo inputbox: escreva ("Digite a quantidade de morangos, e maçãs: ") ' Não faça assim. escreva ("Digite a quantidade de morangos:") leia(Qtd_morangos) Escreva ("Digite a quantidade de maçãs:") leia(Qtd_macas) *Não tenha muita preguiça de digitar nomes de variáveis grandes no momento, fica mais fácil debugar o código e de se entender; Ex: ///Ao invés disso/// Qkgmor, Qkgmaca, Ttlkg, Vttlmor, Vttlmaca, Vfinal, Vfdesc, Desc10:real mor250, mor220, maca180, maca150: real //Faça isso/// Qtd_morango,Qtd_maca,Total_kg,Valor_total_morango,Valor_total_maca,valor_final,Valor_de_desconto,Preco_morango,Preco_maca,Valor_desconto Não precisa criar uma variável para cada valor da fruta, basta uma só para cada fruta, pois você vai atribuir o valor já no IF; 1° Passo: Insira a quantidade de cada fruta; 2° Passo: Faça a condição IF(SE) para verificar qual será o valor cobrado de cada fruta; 3° Passo: No mesmo IF anterior já faça as contas de qual será o valor total da compra e a quantidade de kg de frutas; 4°Passo: Use o IF para verificar se o cliente terá o desconto na compra ou não;e 5° Passo: Imprima o valor da compra,o valor do desconto e a quantidade em kg comprada. Seguindo esses passos e escrevendo o seu código você terá sucesso. Abçs, LCS Vlw vou tentar aqui, obrigado a todos So de olhar eu vi alguns erros. Por exemplo, você não pode pedir a quantidade de morangos e maças num mesmo inputbox: escreva ("Digite a quantidade de morangos, e maçãs: ") ' Não faça assim. escreva ("Digite a quantidade de morangos:") leia(Qtd_morangos) Escreva ("Digite a quantidade de maçãs:") leia(Qtd_macas) *Não tenha muita preguiça de digitar nomes de variáveis grandes no momento, fica mais fácil debugar o código e de se entender; Ex: ///Ao invés disso/// Qkgmor, Qkgmaca, Ttlkg, Vttlmor, Vttlmaca, Vfinal, Vfdesc, Desc10:real mor250, mor220, maca180, maca150: real //Faça isso/// Qtd_morango,Qtd_maca,Total_kg,Valor_total_morango,Valor_total_maca,valor_final,Valor_de_desconto,Preco_morango,Preco_maca,Valor_desconto Não precisa criar uma variável para cada valor da fruta, basta uma só para cada fruta, pois você vai atribuir o valor já no IF; 1° Passo: Insira a quantidade de cada fruta; 2° Passo: Faça a condição IF(SE) para verificar qual será o valor cobrado de cada fruta; 3° Passo: No mesmo IF anterior já faça as contas de qual será o valor total da compra e a quantidade de kg de frutas; 4°Passo: Use o IF para verificar se o cliente terá o desconto na compra ou não;e 5° Passo: Imprima o valor da compra,o valor do desconto e a quantidade em kg comprada. Seguindo esses passos e escrevendo o seu código você terá sucesso. Abçs, LCS Vlw vou tentar aqui, obrigado a todos LCS ou quem puder ajudar, fiz os passos menos o passo 4º tipo você disse: 4°Passo: Use o IF para verificar se o cliente terá o desconto na compra ou não;e Seria um novo IF ou mesmo IF anterior? vlw ajudou muito já, e testei com o mesmo IF anterior e ele dá desconto mesmo não passando de 8 kg ou 25 reais. ficou assim, sem o desconto: var x, y, morango, maca, kilo, total, total_desconto, total_final:real inicio // Seção de Comandos escreva ("Digite o peso da compra do morango: ") leia(x) escreva ("Digite o peso da compra da maçã: ") leia(y) kilo<- x+y se(kilo < 5) entao morango<- 250*x maca<- 180*y total<- morango+maca escreval ("A compra adquirida foi de morango: ", x, " maçã: ", y) escreva ("Totalizando num valor de R$: ", total) senao(kilo >= 5 < 8) entao morango<- 220*x maca<- 150*y total<- morango+maca escreval ("A compra adquirida foi de morango: ", x, " maçã: ", y) escreva ("Totalizando num valor de R$: ", total) fimse fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 8, 2011 Sim você deve fazer um novo if para verificar se o cliente tem ou não o desconto. Coloque os comandos escreval somente após o segundo if. A logica vai ficar assim 1° IF: Vai verificar o valor que será cobrado pelas frutas;e 2° IF: Vai verificar se o cliente tem direito ao desconto. Resumindo são dois if´s um após o outro. Obs: Você não precisa colocar então após o senão. abçs, LCS Compartilhar este post Link para o post Compartilhar em outros sites
blacksaint 0 Denunciar post Postado Março 9, 2011 Sim você deve fazer um novo if para verificar se o cliente tem ou não o desconto. Coloque os comandos escreval somente após o segundo if. A logica vai ficar assim 1° IF: Vai verificar o valor que será cobrado pelas frutas;e 2° IF: Vai verificar se o cliente tem direito ao desconto. Resumindo são dois if´s um após o outro. Obs: Você não precisa colocar então após o senão. abçs, LCS ok, vlw mesmo, ficou assim: var x, y, morango, maca, kilo, total, totald, totalf:real inicio // Seção de Comandos escreva ("Digite o peso da compra do morango: ") leia(x) escreva ("Digite o peso da compra da maçã: ") leia(y) kilo<- x+y se(kilo < 5) entao morango<- 250*x maca<- 180*y total<- morango+maca escreval ("A compra adquirida foi de morango: ", x, " maçã: ", y) escreval ("Totalizando num valor de R$: ", total) senao(kilo >= 5 < 8) morango<- 220*x maca<- 150*y total<- morango+maca escreval ("A compra adquirida foi de morango: ", x, " maçã: ", y) escreval ("Totalizando num valor de R$: ", total) se(kilo >= 8) ou (total >= 2500)entao totald<- total*10/100 totalf<- total-totald escreval ("Você ganhou um desconto de 10%: ", totald) escreva ("O valor final da compra é de: ", totalf) senao fimse fimse fimalgoritmo Deu certinho, agora vou estudar ele... por que sei que tem coisa pior. vlw por enquanto. abraços Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 9, 2011 Parcerinho eu resolvi fazer o código aqui. Bom eu imagino que você deva estar usando o visualg pela forma como esta formatando o seu código,então eu fiz nele.. É só copiar e colar e mandar rodar, ai tu vê se atende as tuas necessidades. Só quero te lembrar para não apresentar esse código assim para o seu professor, pois se você é iniciante ele vai desconfiar. Coisas que você tem que levar em consideração: * Sempre que possível elimine variáveis * Evite ter que digitar comandos para o programa imprimir as coisas. * Sempre idente o seu código, bem como comente ele. Assim facilita a vida de quem vai te ajudar e até de você mesmo para não se perder. * Evite nomear as suas variáveis com nomes como "x,y,z,etc" , procure sempre dar um nome que faça quem esta lendo identificar facilmente e rapidamente o que aquela variável vai guardar. * Estude cada vez mais a lógica da programação, pois no fim é ela que vai definir se você será ou não um bom programador. Acho que é só isso por enquanto. Chega né,kkk ai esta o código: var kilo_morango, kilo_maca, morango, maca, kilo, total, total_desconto, total_final,desconto:real inicio // Seção de Comandos Escreval("***********************************************************************") escreval("*******Programa para calculo do valor da compra de frutas.*************")//Nome e versão do programa Escreval("***********************Versão 1.0**************************************") escreva ("Digite o peso da compra do morango: ")//Input box do kg do morango leia(kilo_morango) // Variavel x recebe o valor digitado na input box escreva ("Digite o peso da compra da maçã: ") // idem leia(kilo_maca) // idem kilo<- kilo_morango+kilo_maca // Calculo da quantidade de KG das 2 frutas se(kilo < 5) entao morango<- 2.50*kilo_morango maca<- 1.80*kilo_maca total<- morango+maca senao // Condição que irá verificar qual será o valor cobrado por KG. morango<- 2.20*kilo_morango maca<- 1.50*Kilo_maca total<- morango+maca fimse se (kilo > 8) ou (total > 25.00) entao //Condição que irá determinar o valor do desconto desconto<- ((total * 10)/100) // Calcula o desconto se for o caso total<- total - desconto fimse escreval( "O valor da compra é : ","R$",total) escreval("O Total em KG de Maça é:",kilo_maca,"KG"," e de Morango é:",kilo_morango,"KG") //Imprime na tela o valor da compra e o valor em KG de morangos e maças. Escreval("Parabéns comprando aqui você economizou: ","R$",desconto) fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
blacksaint 0 Denunciar post Postado Março 9, 2011 Vlw mesmo, estou no caminho, só que as vezes me perco onde colocar um segundo "SE". Vou ler uns pdfs que baixei sobre o assunto. Compartilhar este post Link para o post Compartilhar em outros sites