Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Vanessa Dacheri

Preciso de ajuda com este exercício, pois não consigo terminar e ja tentei de varias vezes e só dá erro

Pergunta

Com o objetivo de reduzir custos com energia elétrica, uma empresa adquiriu 4 geradores elétricos movidos à diesel. Eles estão instalados em um mesmo local, mas cada gerador é responsável por alimentar um setor diferente da empresa. Existe apenas um tanque de combustível, com capacidade para 1000 litros, e este é compartilhado entre os 4 geradores.
Como os setores possuem demandas diferentes, os geradores possuem tamanhos e cargas diferentes, e consequentemente possuem consumo de combustível diferente. Um programa de computador foi criado para calcular o consumo de combustível, baseado no volume inicial do tanque e quais geradores estão ligados e otempo que ficarão em operação.
Ao executar o programa, o usuário deve informar:
 Volume atual do tanque (o limite é 1000 litros, não aceite valores maiores, nem valores negativos).
 Com o tanque baixo (menos de 20 litros) ou vazio (zero), o sistema não inicia, apenas solicita o abastecimento do tanque.
Quando possui combustível suficiente, o sistema pergunta se cada um dos geradores será ligado, e quando a resposta for sim, deve perguntar por quanto tempo.
 Ex.: O gerador 1 será ligado? (s/n) s
 Por quantas horas? 3
Após receber as informações sobre os quatro geradores, o sistema deve calcular se haverá combustível suficiente para manter os geradores ligados pelo tempo necessário. Caso não seja suficiente, deve informar quanto combustível deve ser adicionado ao tanque para suportar a operação. Mostre na tela os valores calculados. Abaixo está a lista de consumo de cada gerador.
 G1 - 25 litros por hora
 G2 - 30 litros por hora
 G3 - 35 litros por hora
 G4 - 40 litros por hora

 

Fiz assim:

Var
   g1, g2, g3, g4, temp, tg, vol: real
   respg1, respg2, respg3, respg4, s, n : caracter
Inicio

   Escreval ("Digite o volume atual do tanque em Litros: ")
   Leia (vol)
   temp <- (tg * 3600)
   g1 <- 25 / 3600
   g2 <- 30 / 3600
   g3 <- 35 / 3600
   g4 <- 40 / 3600
      Se (vol <= 1000)e(vol >= 20) entao
         Escreval ("O gerador 1 será lidado? (S/N)")
         Leia (respg1)
              Se (respg1 = "s") entao
                 Escreval ("Por quanto tempo? ")
                 Leia (tg)
              Senao
                   Se (respg1 = "n") entao
                      Escreval ("Passe!")
         Entao
              Escreval ("O gerador 2 será lidado? (S/N)")
              Leia (respg2)
                   Se (respg2 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg2 = "n") entao
                           Escreval ("Passe!")
         Entao
              Escreval ("O gerador 3 será lidado? (S/N)")
              Leia (respg3)
                   Se (respg3 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg3 = "n") entao
                           Escreval ("Passe!")
         Entao
              Escreval ("O gerador 4 será lidado? (S/N)")
              Leia (respg4)
                   Se (respg4 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg4 = "n") entao
                           Escreval ("Passe!")
      Fimse
           Senao
                 se (vol < 20 )e(vol >= 0) entao
                    Escreval ("O sistema não inicia! Reabasteça! ")
           Fimse
FimAlgoritmo

 

Se alguem puder ajudar, agradeço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

olá Vanessa Dacheri

 Acho que é muito simples  a tua duvida está nas contas ?

Tens de somar de somar todas as horas que cada gerador está ligado, por exemplo crias uma variavel (var tempo_toatl) sempre que perguntas ao utilizador o tempo que o gerador vai estar ligado somas esse valor ao valor total da variável

Por exemplo tempo_total =  tempo_total + valor lido

 

Em relação ás contas fiz um pequeno exemplo que talvez te possa ser util 

<script type="text/javascript">
function calcular()
    {

    	var consumo_g1 = 25;//litros / h
    	var consumo_g2 = 30;//litros / h
    	var litros_tanque = 40;//litros disponiveis no tanque
    	var tempo_total = 2; // tempo total que os dois geradores irão estar ligados

    	// caluclo dos consumos

    	var consumo_total = consumo_g1*tempo_total + consumo_g2*tempo_total;

    	if(consumo_total <= litros_tanque)
    	{
    		alert("Aguenta");
    	}
    	else
    	{
    		alert("Não Aguenta");
    	}

}	
</script>

 

No teu algoritmo tens de fazer a verificação se o tanque tem menos de 20l ou se está vazio logo no inicio e não no fim...

 

 

Espero que tenha ajudado

 

Abraço

 

Vítor Mendes

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive aqui a pensar e acabei por fazer o exercício se quiseres dar uma vista de olhos como resolvi vou deixar o código aqui

<script type="text/javascript">
function calcular()
    {

    	var consumo_g1 = 25;//litros / h
    	var consumo_g2 = 30;//litros / h
    	var consumo_g3 = 35;//litros / h
    	var consumo_g4 = 40;//litros / h

    	var litros_tanque = 0;//litros disponiveis no tanque
    	var tempo_total = 0; // tempo total que os dois geradores irão estar ligados

		//preguntamos ao utilizador quando litros estão no tanque e guardamos o resultado na variavel
    	var litros_tanque = prompt("Introduza a quantidade de litros no tanque", "");
		
      // se a quantidade de litros for inferior a 20 ou se for 0 alertamos o utilizador
    	if(litros_tanque < 20 || litros_tanque == 0)
    	{
    		//mostra uma mensagem de informação ao utilizador
    		alert("Por favor reabasteça o tanque de combustível!");
    		return;//sai da função calcular()
    	}
    	else
    	{//Se tivermos conbustivel no tanque podemos então seguir o nosso algoritmo!

    		// com este ciclo for o código torna-se mais dinamico e consequentemente mais pequeno
          // o que ele faz é exibir quatro vezes a mesma mensagem se quisessemos que exibisse 6 vezes bastava alterar i<=6 é simples
    		for(var i = 1; i<=4;i++)
    		{
              // preguntamos ao utilizador se o geradr i será ligado , i é a variavel do ciclo a cada iteração do ciclo i fica com o valor +1 ou
              // seja i começa com 1 na primeira iteração, na segunda terá o valor 2 e assim por diante 
    			var msg = prompt("O gerador "+i+" será ligado?", "");
    			// se o utilizador escrever "s" na prompt vamos fazer a 2 pergunta
              	if (msg == "s")
    			{
    				var tempo = prompt("Por quanto tempo?", "");

    				tempo_total = tempo_total + parseInt(tempo); // Só funciona se os dados introduzidos forem sempre horas
    															 // se for necessária a inserção de minutos o esquema terá de ser outro...
    			}
              //caso contrario saimos da função
    			else
    			{
                 	alert("Terá de ter os 4 geradores ligados!");// mensagem de informação
    				return;// saimos da função
    			}

    		}

        //Se chegamos até aqui é porque temos os valores necessários para efetuar os nossos calculos
    	// calculo dos consumos
       //o calculo neste caso é feito com uma regra 3 simples
       //Por exemplo o gerador 1 consome 25litro por hora ou seja 25L -> 1H 
      //    													   X  <- 2H
      //X = 2*25
    	// é o que está no código abaixo sendo que tempo_total é numero total de horas que todos os geradores estarão ligados	
      var consumo_total = consumo_g1*tempo_total + consumo_g2*tempo_total + consumo_g3*tempo_total + consumo_g4*tempo_total;
		
          //Existe combustivel suficiente
    	if(consumo_total <= litros_tanque)
    	{
    		alert("Aguenta");
    	}
          //Não existe cmbustivel suficiente
    	else
    	{
    		alert("Não Aguenta");
    	}

    }


}	
</script>

 

Comentei o código todo para te ajudar a entender tudo...

 

Abraço

Vítor Mendes

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 horas atrás, Vanessa Dacheri disse:

Com o objetivo de reduzir custos com energia elétrica, uma empresa adquiriu 4 geradores elétricos movidos à diesel. Eles estão instalados em um mesmo local, mas cada gerador é responsável por alimentar um setor diferente da empresa. Existe apenas um tanque de combustível, com capacidade para 1000 litros, e este é compartilhado entre os 4 geradores.
Como os setores possuem demandas diferentes, os geradores possuem tamanhos e cargas diferentes, e consequentemente possuem consumo de combustível diferente. Um programa de computador foi criado para calcular o consumo de combustível, baseado no volume inicial do tanque e quais geradores estão ligados e otempo que ficarão em operação.
Ao executar o programa, o usuário deve informar:
 Volume atual do tanque (o limite é 1000 litros, não aceite valores maiores, nem valores negativos).
 Com o tanque baixo (menos de 20 litros) ou vazio (zero), o sistema não inicia, apenas solicita o abastecimento do tanque.
Quando possui combustível suficiente, o sistema pergunta se cada um dos geradores será ligado, e quando a resposta for sim, deve perguntar por quanto tempo.
 Ex.: O gerador 1 será ligado? (s/n) s
 Por quantas horas? 3
Após receber as informações sobre os quatro geradores, o sistema deve calcular se haverá combustível suficiente para manter os geradores ligados pelo tempo necessário. Caso não seja suficiente, deve informar quanto combustível deve ser adicionado ao tanque para suportar a operação. Mostre na tela os valores calculados. Abaixo está a lista de consumo de cada gerador.
 G1 - 25 litros por hora
 G2 - 30 litros por hora
 G3 - 35 litros por hora
 G4 - 40 litros por hora

 

Fiz assim:

Var
   g1, g2, g3, g4, temp, tg, vol: real
   respg1, respg2, respg3, respg4, s, n : caracter
Inicio

   Escreval ("Digite o volume atual do tanque em Litros: ")
   Leia (vol)
   temp <- (tg * 3600)
   g1 <- 25 / 3600
   g2 <- 30 / 3600
   g3 <- 35 / 3600
   g4 <- 40 / 3600
      Se (vol <= 1000)e(vol >= 20) entao
         Escreval ("O gerador 1 será lidado? (S/N)")
         Leia (respg1)
              Se (respg1 = "s") entao
                 Escreval ("Por quanto tempo? ")
                 Leia (tg)
              Senao
                   Se (respg1 = "n") entao
                      Escreval ("Passe!")
         Entao
              Escreval ("O gerador 2 será lidado? (S/N)")
              Leia (respg2)
                   Se (respg2 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg2 = "n") entao
                           Escreval ("Passe!")
         Entao
              Escreval ("O gerador 3 será lidado? (S/N)")
              Leia (respg3)
                   Se (respg3 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg3 = "n") entao
                           Escreval ("Passe!")
         Entao
              Escreval ("O gerador 4 será lidado? (S/N)")
              Leia (respg4)
                   Se (respg4 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg4 = "n") entao
                           Escreval ("Passe!")
      Fimse
           Senao
                 se (vol < 20 )e(vol >= 0) entao
                    Escreval ("O sistema não inicia! Reabasteça! ")
           Fimse
FimAlgoritmo

 

Se alguem puder ajudar, agradeço!!!

 
 
 
 
 

 

 

Manual do software VisualG = http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5201/Visualg2_manual.pdf

 

Ontem eu fiz o download do software VisualG  = http://www.apoioinformatica.inf.br/produtos/visualg

 

E no VisualG hoje eu testei o seu algoritimo, cheguei nesta conclusão:

algoritmo "sistema gerador"
// Função :  controlar o abastecimento do tanque dos geradores
// Autor :
// Data : 15/05/2017
// Seção de Declarações 
var
   g1, g2, g3, g4, temp, tg, vol: real
   respg1, respg2, respg3, respg4 : caractere
   s , n : logico
Inicio
   Escreval ("Digite o volume atual do tanque em Litros: ")
   Leia (vol)
   temp <- (tg * 3600)
   g1 <- 25 / 3600
   g2 <- 30 / 3600
   g3 <- 35 / 3600
   g4 <- 40 / 3600
      Se (vol <= 1000)e(vol >= 20) entao
         Escreval ("O gerador 1 será lidado? (S/N)")
         Leia (respg1)
              Se (respg1 = "s") entao
                 Escreval ("Por quanto tempo? ")
                 Leia (tg)
              Senao
                   Se (respg1 = "n") entao
                      Escreval ("Passe!")
                   fimse
              fimse
      Fimse
      Se (vol <= 1000)e(vol >= 20) entao
              Escreval ("O gerador 2 será lidado? (S/N)")
              Leia (respg2)
                   Se (respg2 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg2 = "n") entao
                           Escreval ("Passe!")
                        fimse
                   fimse
      Fimse
      Se (vol <= 1000)e(vol >= 20) entao
              Escreval ("O gerador 3 será lidado? (S/N)")
              Leia (respg3)
                   Se (respg3 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg3 = "n") entao
                           Escreval ("Passe!")
                        fimse
                   fimse
      Fimse
      Se (vol <= 1000)e(vol >= 20) entao
              Escreval ("O gerador 4 será lidado? (S/N)")
              Leia (respg4)
                   Se (respg4 = "s") entao
                      Escreval ("Por quanto tempo? ")
                      Leia (tg)
                   Senao
                        Se (respg4 = "n") entao
                           Escreval ("Passe!")
                        fimse
                   fimse
      fimse

      se (vol < 20 )e(vol >= 0) entao
              Escreval ("O sistema Gerador não inicia! Reabasteça o Tanque! ")
      Fimse
FimAlgoritmo

 

Obs:  Ainda falta fazer a lógica do cálculo final pedido no exercicio.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em ‎15‎/‎05‎/‎2017 at 08:33, Vitor Mendes disse:

Estive aqui a pensar e acabei por fazer o exercício se quiseres dar uma vista de olhos como resolvi vou deixar o código aqui


<script type="text/javascript">
function calcular()
    {

    	var consumo_g1 = 25;//litros / h
    	var consumo_g2 = 30;//litros / h
    	var consumo_g3 = 35;//litros / h
    	var consumo_g4 = 40;//litros / h

    	var litros_tanque = 0;//litros disponiveis no tanque
    	var tempo_total = 0; // tempo total que os dois geradores irão estar ligados

		//preguntamos ao utilizador quando litros estão no tanque e guardamos o resultado na variavel
    	var litros_tanque = prompt("Introduza a quantidade de litros no tanque", "");
		
      // se a quantidade de litros for inferior a 20 ou se for 0 alertamos o utilizador
    	if(litros_tanque < 20 || litros_tanque == 0)
    	{
    		//mostra uma mensagem de informação ao utilizador
    		alert("Por favor reabasteça o tanque de combustível!");
    		return;//sai da função calcular()
    	}
    	else
    	{//Se tivermos conbustivel no tanque podemos então seguir o nosso algoritmo!

    		// com este ciclo for o código torna-se mais dinamico e consequentemente mais pequeno
          // o que ele faz é exibir quatro vezes a mesma mensagem se quisessemos que exibisse 6 vezes bastava alterar i<=6 é simples
    		for(var i = 1; i<=4;i++)
    		{
              // preguntamos ao utilizador se o geradr i será ligado , i é a variavel do ciclo a cada iteração do ciclo i fica com o valor +1 ou
              // seja i começa com 1 na primeira iteração, na segunda terá o valor 2 e assim por diante 
    			var msg = prompt("O gerador "+i+" será ligado?", "");
    			// se o utilizador escrever "s" na prompt vamos fazer a 2 pergunta
              	if (msg == "s")
    			{
    				var tempo = prompt("Por quanto tempo?", "");

    				tempo_total = tempo_total + parseInt(tempo); // Só funciona se os dados introduzidos forem sempre horas
    															 // se for necessária a inserção de minutos o esquema terá de ser outro...
    			}
              //caso contrario saimos da função
    			else
    			{
                 	alert("Terá de ter os 4 geradores ligados!");// mensagem de informação
    				return;// saimos da função
    			}

    		}

        //Se chegamos até aqui é porque temos os valores necessários para efetuar os nossos calculos
    	// calculo dos consumos
       //o calculo neste caso é feito com uma regra 3 simples
       //Por exemplo o gerador 1 consome 25litro por hora ou seja 25L -> 1H 
      //    													   X  <- 2H
      //X = 2*25
    	// é o que está no código abaixo sendo que tempo_total é numero total de horas que todos os geradores estarão ligados	
      var consumo_total = consumo_g1*tempo_total + consumo_g2*tempo_total + consumo_g3*tempo_total + consumo_g4*tempo_total;
		
          //Existe combustivel suficiente
    	if(consumo_total <= litros_tanque)
    	{
    		alert("Aguenta");
    	}
          //Não existe cmbustivel suficiente
    	else
    	{
    		alert("Não Aguenta");
    	}

    }


}	
</script>

 

Comentei o código todo para te ajudar a entender tudo...

 

Abraço

Vítor Mendes

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.