Ir ao conteúdo

Posts recomendados

Postado

  Preciso de ajuda com um algoritmo, não estou conseguindo terminar e não acho nenhum conteúdo para me ajudar.

  Eu consegui fazer a primeira parte (no print), mas não estou conseguindo a parte em negrito.

 

  Esse e o trabalho

''Faça um algoritmo para receber do usuário 10 nomes de postos de gasolina e os preços da gasolina em cada um deles e depois mostrar os nomes e os respectivos preços em ordem, do menor para o maior preço.''

 

''Deve ser utilizado funções sem passagem de parâmetro e um módulo que pergunte se o usuário se deseja repetir a leitura.''

 

  • Curtir 1
Postado

@Joao Victor05     essa função que ele fala aí no visualg é o procedimento, que deve ser colado

depois das var e antes do inicio, e tem a seguinte estrutura:

procedimento cadastro()
  var
      a,b : caractere
inicio
    a:="s"
    limpatela
    repita
    //aqui dentro você coloca o seu código
    escreva("Deseja Cadastrar Mais Um Posto? <  S/N  >")
    leia(a)
    ate a="n"
fimprocedimento

e lá depois do inicio coloca a chamada do procedimento :

cadastro

com essa chamada ele vai no procedimento cadastro e faz o cadastro de acordo com o código

que você tiver colocado nele.

  • Curtir 1
Postado

@devair1010 Muito obrigado cara, mas eu queria te pedir uma ultima ajuda. Quando faço a primeira vez ele ordena os valores certinho, mas se eu colocar ''s'' pra repetir, quando chega na hora de colocar os valores ele repete a ordenação anterior dos primeiros valores e pede para colocar os novos valores do lado. Não sei onde errei

 

 

 

 

ajudahihi.jpg

  • Curtir 1
Postado

@Joao Victor05    com esse print fica difícil ver, melhor você postar o código todo usando a tag <>

pois assim posso copiar o código e colar ele aqui no visualg e então testa-lo.  Mas parece que você colocou o procedimento no lugar errado.   poste o código todo.

  • Curtir 1
Postado

@devair1010 Aqui o codigo. Muito obrigado pela ajuda.

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 14/03/2017
// Seção de Declarações

var
a,b:caracter
n: vetor[1..4] de caracter
v: vetor[1..4] de inteiro
i, j, aux: inteiro
auxN: caracter
procedimento posto()
inicio
Escreval ("Nome dos Postos de Gasolina")
para i <- 1 ate 4 faca
   escreva("Digite o nome do Posto de gasolina: ")
   leia(n)
fimpara
Escreval ("--------------------------------------------")
Escreval ("Preço da Gasolina")
para i <- 1 ate 4 faca
   escreva ("digite o preço da gasolina do posto: ", v:1)
   leia(v)
fimpara
fimprocedimento
inicio
repita
   posto()
   a:="s"
   para i <- 1 ate 3 faca
      para j <- i+1 ate 4 faca
         se (v > v[j]) então
            aux <- v
            v <- v[j]
            v[j] <- aux
            auxn <- n
            n <- n[j]
            n[j] <- auxn
         fimse
      fimpara
   fimpara
   escreval ("--------------------------------------------")
   para i <- 1 ate 4 faca
      escreval ("[",n, v,"]")
   fimpara
   escreval ("--------------------------------------------")
   escreva ("Deseja repetir a leitura? < S/N > ")
   leia(a)
ate a="n"
fimalgoritmo 

 

  • Curtir 1
  • Membro VIP
Postado

Olá @Joao Victor05, por favor, edite sua postagem anterior e insira seu código dentro da tag CODE (botão <>).

 

 

Por favor, leia esse tópico que fala sobre o tema:


No aguardo.

adicionado 2 minutos depois

Adendo: percebi que você utilizou um "<" e ">" :). Mas o @devair1010 estava se referindo ao "botão <>"... que fica na barra de ferramentas acima....

adicionado 22 minutos depois

Para tentar adiantar... em relação ao seu código, você está utilizando a seguinte linha:
 

8 horas atrás, Joao Victor05 disse:

   escreva ("digite o preço da gasolina do posto: ", v[i]:1)

 

Veja que no final tem um "v[i ]" (uma variável do programa).... esse v é do vetor de valores (preços), correto? daí, no primeiro loop do repita o "v" ainda não foi preenchido, logo vai exibir "0"...  exibindo algo assim:
 

digite o preço da gasolina do posto: 0

Ao repetir, vai exibir o valor que você já cadastrou no loop anterior... (é a mesma analogia acima)

Resumindo:
a- ou você tira esse variável do escreva;

b- ou ajusta para "n", algo como:

      escreva ("digite o preço da gasolina do posto ",n[i]," :")


obs.: o preço da gasolina geralmente é fracionada, ou seja, seria melhor utilizar "real", em vez de "inteiro".

No aguardo.

  • Curtir 2
Postado

@Joao Victor05      parece que esse código que você postou está diferente do print, nele o v do

vetor está sem o número da dimensão, " o  [ i ] "  na hora de organizar os preços em ordem

crescente, já no print está certo então veja se todos os v e n estão com o número da dimensão.

já esse código que você postou funcionou bem, não deu esse erro não, depois que coloquei a

dimensão  [ i ] .

    Se você ainda não sabe como postar, é simples :  você copia o código lá no visualg e vai no

forum e clica em responder lá embaixo da página e clica no botão    <>     que está na barra de

ferramentas em cima dessa janela aí cola o código nessa janela que se abre e clica em inserir.

e depois clica no botão responder.

  • 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!