Ir ao conteúdo

Posts recomendados

Postado

Socorro .n consigo executar direito esse algoritmo!!!!

 


**Algoritmos (estrutura de repetição e variáveis acumuladoras/totalizadoras)**

 

Algoritmo “Algo28_Revenda veículos”

Criar um algoritmo para uma revenda de veículos 
Receber na tela:
    Nome do cliente
    Marca do veículo
    Preço total
Calcular um desconto de 10% para todos os veículos 
    Mostrar o valor do desconto
    Mostrar o valor a pagar
Mostrar no final:
    Quantidade total de veículos vendidos marca “VW”
    Quantidade total de veículos vendidos marca “GM”
    Quantidade total de veículos vendidos marca “Fiat”
    Quantidade total de veículos vendidos de outras marcas
    Quantidade total de veículos.


 

 

Ola gostaria de saber como faço pra começar a fazer esse exercicio em visualg..

Nao tenho experiencia com *acumuladores*

  • Curtir 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a sua resposta está certa ou não, ou para que possamos ajudá-lo com a sua dúvida no desenvolvimento do exercício.

 

Infelizmente, não temos como resolver seus trabalhos por você. O objetivo do Fórum do Clube do Hardware é auxiliar você a sanar suas dúvidas, e não de responde-las em seu lugar. Além disso, copiar e colar respostas que não são de sua autoria é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 2
Postado
1 hora atrás, devair1010 disse:

@Joao emilioborges    Será mais fácil se você usar vetor para isso, coloque uma matriz com três

posições, uma para cada dado pedido, experimente fazer por partes, para começar faça a entrada

de dados usando o comando leia, e post pra gente ver como ficou.

ok @devair1010 muito obrigao cara desd sempre ..jaja atualizo..

adicionado 3 minutos depois
algoritmo "Algo28"
// Função :Mostrar quantidade total de veiculos vendidos
// Autor : João Emilio
// Data : 25/03/2017
// Seção de Declarações
var
nome,marca,VW,GM,FIAT:caractere
pt,vdesc,vpagar:real
cont,quant,acm:inteiro

inicio
// Seção de Comandos
Escreval("ETEC Prof.Alcídio de Souza Prado")
Escreval("________________________________")
Escreval("    JE Revenda de Veículos      ")


//Comandos de entrada
Escreva("Nome do Cliente....................: ")
leia(nome)
Escreva("Marca do Veículo...................: ")
leia(marca)
Escreva("Quantidade de Veículos Comprados...: ")
leia(quant)
Escreva("Preço Total  do Veículo..........R$: ")
leia(pt)

//Processo
vdesc<-(10/100*pt)
Escreval("O Valor do desconto Foi.........R$: ",vdesc:3:2)
vpagar<-(pt-vdesc)
 Escreval("O Valor a Pagar é ..............R$: ",vpagar:3:2)

  //Condição SE*
se (marca="VW") ou (marca="Fiat") ou (marca="GM") então
Escreval("Foram Vendidos " ,quant, " Veículos da Marca "  ,marca)
senao
Escreval("Foram Vendidos " ,quant, " Veículos de outras Marcas")
fimse

//Estrutura e repetição ENQUANTO
cont<-0
acm<-0
enquanto (pt <> -1) faca
leia(marca)
se quant <> -1 então
acm<-acm + quant
cont<-cont + 1
fimse
fimenquanto


 //Comando de saída
Escreval("********* FIM DO ALGORITMO ******")


fimalgoritmo

 

  • Curtir 1
Postado

@Joao emilioborges   com esse código você só vai conseguir cadastrar um cliente e mostrar os

dados referentes a ele, então para ficar melhor, primeiro você precisa cadastrar os clientes e

veículos colocando essa entrada de dados dentro de um repita.   A  matriz é colocada no local

das var e tem esse formato :

carros      : vetor[1..100,1..3] de caractere

e dentro do repita faça a entrada de dados use a variável b como contador de cadastros, usando

esse formato

escreval("Digite O Nome Do Cliente ")
leia(carros[b,1])//--------------------aqui é o nome

depois o b2 para a marca do veículo e b3 para o preço,  depois que você fez os cadastros é hora

de mostrar os resultados.

  • Curtir 1
Postado

@Joao emilioborges     seu código está bom mas com ele você só consegue cadastrar um cliente

então veja esse seu código com algumas modificações:

Algoritmo "Algo28"
Var
// Seção de Declarações das variáveis 
nome,marca,VW,GM,FIAT,d:caractere
pt,vdesc,vpagar:real
cont,a,b,c,f,g,h,i,quant,acm:inteiro
carros      : vetor[1..100,1..3] de caractere
inicio
// Seção de Comandos
Escreval("ETEC Prof.Alcídio de Souza Prado")
Escreval("________________________________")
Escreval("    JE Revenda de Veículos      ")
//Estrutura e repetição ENQUANTO
cont<-0
acm<-0
d:="s"
enquanto (d = "s") faca
quant:=quant+1
//Comandos de entrada
Escreva("Nome do Cliente....................: ")
leia(carros[quant,1])//nome
Escreva("Marca do Veículo...< VW FIAT GM >..: ")
leia(carros[quant,2])//marca
//essa quant aqui não precisa porque ela esta sendo feita no começo do loop
//Escreva("Quantidade de Veículos Comprados...: ")
//leia(quant)//
Escreva("Preço Total  do Veículo..........R$: ")
leia(carros[quant,3])//preço
escreval("Quer Cadastrar Mais Um Cliente ?  <  S/N   >  ")
leia(d)
//se quant <> -1 então
//acm<-acm + quant
//cont<-cont + 1
//fimse
  se quant > 100 ENTÃO
    escreva("Só Pode Cadastrar Até 100 Clientes...  Tecle Enter")
    leia(d)
    d:="n"
    quant:=100
  fimse
fimenquanto

//Processo
para a de 1 ate quant faca
  //calcula a quantidade de carros vw
  se (carros[a,2]="VW") ou (carros[a,2]="vw") ENTÃO
    f:=f+1//é o total de carros vw
  fimse
  se (carros[a,2]="FIAT") ou (carros[a,2]="fiat") ENTÃO
    g:=g+1//é o total de carros fiat
  fimse
  se (carros[a,2]="GM") ou (carros[a,2]="gm") ENTÃO
    h:=h+1//é o total de carros gm
  fimse
fimpara
c:=quant-f-g-h// é o total de outros carros
limpatela
i:=0
para a de 1 ate quant faca
  escreval()
  i:=i+1
  escreval("O Carro Do Cliente -> ",carros[a,1])
  escreval("É Um ---------------> ",carros[a,2])
  escreval("O Preço É ----------> ",carros[a,3])
  escreval("O Desconto É ------->",caracpnum(carros[a,3])/100*10)
  escreval("O Valor A Pagar É -->",caracpnum(carros[a,3])-caracpnum(carros[a,3])/100*10)
  se i=4 ENTÃO
    i:=0
    escreval()
    escreval("Tecle Enter Para Continuar")
    leia(d)
  fimse
fimpara
escreval()
escreval("O Total DE Veículos VW   É ----> ",f)
escreval("O Total DE Veículos FIAT É ----> ",g)
escreval("O Total DE Veículos GM   É ----> ",h)
escreval("O Total DE Outros Veículos É --> ",c)
escreval()
escreval("A Quantidade Total DE Veículos É ",quant)

//vdesc<-(10/100*pt)
//Escreval("O Valor do desconto Foi.........R$: ",vdesc:3:2)
//vpagar<-(pt-vdesc)
// Escreval("O Valor a Pagar é ..............R$: ",vpagar:3:2)

  //Condição SE*
//se (marca="VW") ou (marca="Fiat") ou (marca="GM") então
//Escreval("Foram Vendidos " ,quant, " Veículos da Marca "  ,marca)
//senao
//Escreval("Foram Vendidos " ,quant, " Veículos de outras Marcas")
//fimse


 //Comando de saída
Escreval("********* FIM DO ALGORITMO ******")


fimalgoritmo

 

  • Curtir 1
  • Membro VIP
Postado

Olá a todos...

 

Alguns pontos que queria levantar:

 

1) Algumas variáveis foram declaradas, mas não estão sendo utilizadas, ex.: nome, marca, VW, GM, FIAT e acm;

2) Quando temos condições (SE) que são mutuamente excludentes, devem-se utilizar o SENAO (SE/SENAO)... por exemplo, se um carro é da marca FIAT, ele não pode ser GM, nem pode ser VW!!!! Logo, não faz sentido continuar perguntando..;

3) Acho que seria recomendado utilizar nomenclaturas de variáveis mais sugestivas, ou seja, que remetem a sua funcionalidade;

4) Por padrão (mas não é uma regra), geralmente é utilizado o "i" como variável de controle (como usado nos For). Percebam que na maioria dos contextos, o valor do "i" após o for não é importante, ou seja, ele pode ser utilizado em outras partes do programa... quando se usam um for dentro do outro, utilizam-se i e j.. etc

5) Para facilitar os testes, poderia diminuir o tamanho máximo de cadastro... pois é inviável cadastrar 100 sem vendas toda vez que precisar testar algo... Uma técnica interessante seria utilizar uma "constante" (ou "variável", para ficar mais simples) que limite o total, daí, quando quiser mudar o total, bastaria mudar o valor dessa variável...

6) Ainda sobre facilitar os texto, é possível cadastrar dados simples, ex.: 1,1,1...,2,2,2.... 3,3,3.....  quando o problema já está meio que encaminhado, faz outros testes mais "reais". Ex.: João, FIAT, 28000.

7) O programa diferencia minúsculo de MAIÚSCULO, daí é recomendado dar uma atenção a isso. Ex.: "s" é diferente de "S" lá na condição do enquanto.

 

Peguei o código de vocês e fiz algumas modificações, já demonstrando esses e outros pontos... para servi de exemplo:

Algoritmo "Algo28"
Var
  qtdVM, qtdFIAT, qtdGM, qtdOUTROS :inteiro //quantidade de carros da marca
  carros      :vetor[1..100,1..3] de caractere //1-nome, 2-marca, 3-preço
  continuar   :caractere //flag para verificar se deseja continuar cadastrando
  MAXIMO      :inteiro  //maximo de vendas possíveis
  i           :inteiro  //utilizado para controlar os for
  quant       :inteiro  //quantidade de vendas realizadas
  cont        :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
  taxaDESCONTO:real  //taxa de desconto
INICIO
//INICIALIZANDO VARIÁVIES
MAXIMO<-3
taxaDESCONTO<-10/100 //10%

//APRESENTAÇÃO DO PROGRAMA
escreval
escreval("ETEC Prof.Alcídio de Souza Prado")
escreval("________________________________")
escreval("    JE Revenda de Veículos      ")
escreval

//CADASTRO DE VENDA
continuar:="s"
enquanto (continuar = "S") ou (continuar = "s") faca
  quant:=quant+1
  escreva("Nome do Cliente....................: ")
  leia(carros[quant,1])
  escreva("Marca do Veículo...< VW FIAT GM >..: ")
  leia(carros[quant,2])
  escreva("Preço Total  do Veículo..........R$: ")
  leia(carros[quant,3])
  escreval()
  escreval()
  se quant < MAXIMO ENTÃO
    escreva("Quer Cadastrar Mais Um Cliente ?  <  S/N   >  ")
    leia(continuar)
  senao
    escreva("Só Pode Cadastrar Até",MAXIMO,"100 Clientes...  Tecle Enter")
    leia()
    continuar:="n"
  fimse
fimenquanto

//CALCULO DE QUANTIDADES DE CARROS POR MARCA
para i de 1 ate quant faca
  se (carros[i,2]="VW") ou (carros[i,2]="vw") ENTÃO
    qtdVM:=qtdVM+1
  senao
    se (carros[i,2]="FIAT") ou (carros[i,2]="fiat") ENTÃO
      qtdFIAT:=qtdFIAT+1
    senao
      se (carros[i,2]="GM") ou (carros[i,2]="gm") ENTÃO
        qtdGM:=qtdGM+1
      senao
        qtdOUTROS:=qtdOUTROS+1
      fimse
    fimse
  fimse
fimpara

//EXIBIÇÃO DE RESULTADOS
limpatela
cont<-0
para i de 1 ate quant faca
  escreval()
  cont:=cont+1
  escreval("O Carro Do Cliente -> ",carros[i,1])
  escreval("É Um ---------------> ",carros[i,2])
  escreval("O Preço É ----------> ",carros[i,3])
  escreval("O Desconto É -------> ",caracpnum(carros[i,3])*taxaDESCONTO)
  escreval("O Valor A Pagar É --> ",caracpnum(carros[i,3])-(caracpnum(carros[i,3])*taxaDESCONTO))
  se cont=3 ENTÃO
    cont:=0
    escreval()
    escreval("Tecle Enter Para Continuar")
    leia()
  fimse
fimpara
escreval()
escreval("O Total DE Veículos VW   É ----> ",qtdVM)
escreval("O Total DE Veículos FIAT É ----> ",qtdFIAT)
escreval("O Total DE Veículos GM   É ----> ",qtdGM)
escreval("O Total DE Outros Veículos É --> ",qtdOUTROS)
escreval()
escreval("A Quantidade Total DE Veículos É ",quant)
escreval("********* FIM DO ALGORITMO ******")
fimalgoritmo

 

No aguardo.

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!