Exercício 20

Home Fóruns Programação Básica Exercício 20

Visualizando 27 respostas da discussão
  • Autor
    Posts
    • #84676

      Boa Tarde,
      1° No meu código esta pedindo que inicialize a variável “valor” não consigo entender o porque isso está ocorrendo uma vez que tipei todas as variáveis e somente esta em específico o portugol studio pede para inicializar.
      2° Não consigo aplicar na condição “se” a pergunta “quanto dinheiro vc tem” a execução vai direto para condição “senao”

      //Módulo 02 Exercício 20 Dá para ver o filme?
      //Autora: Fernanda de Almeida Guerra

      programa
      {
      inclua biblioteca Calendario –> c

      funcao inicio()
      {
      inteiro horas, min, seg, valor

      escreva (“\n====================EstudoNauta====================”)
      escreva (“\n\nHORÁRIO DO FILME: 14HS – PREÇO DO INGRESSO: R$20” )
      escreva (“\n\n—————————————————-“)

      horas = (c.hora_atual (falso))
      min = c.minuto_atual()
      //seg = c.segundo_atual()

      se ((horas <= 13) e (min <= 59) e valor >= 20) {
      escreva (“\n\nAgora são: “, horas, “:”, min, “\n\nVocê consegue comprar o ingresso”)

      }senao
      {
      escreva (“\nAgora são: “, horas, “:”, min, “\nInfelizmente não será possível comprar os ingrssos.”)
      }
      escreva (“\n\n”)

      }
      }

    • #84677

      MIL DESCULPAS ESSE CÓDIGO ESTA INCOMPLETO TENTEI EXCLUIR E NAO CONSEGUI….

    • #84684

      Esse é o código CORRETO

      Boa Tarde,
      1° No meu código esta pedindo que inicialize a variável “valor” não consigo entender o porque isso está ocorrendo uma vez que tipei todas as variáveis e somente esta em específico o portugol studio pede para inicializar.
      2° Não consigo aplicar na condição “se” a pergunta “quanto dinheiro vc tem” a execução vai direto para condição “senao”`

      //Módulo 02 Exercício 20 Dá para ver o filme?
      //Autora: Fernanda de Almeida Guerra

      programa
          {
          // inclua biblioteca Calendario -–> c
          
          funcao inicio()
              {
              inteiro horas, min, seg
              real valor
              
              escreva ("\n====================EstudoNauta====================")
              escreva ("\n\nHORÁRIO DO FILME: 18HS")
              escreva ("\n\nPREÇO DO INGRESSO: R$20" )
              escreva ("\n\n—————————————————-")
              escreva ("\n")
              
              horas = (c.hora_atual (falso))
              min = c.minuto_atual()
              seg = c.segundo_atual()
      
              //escreva ("\nAgora são: ", horas, ":", min, ":", seg)
              se (horas <= 18) {
                  escreva ("\nAgora são: ", horas,":", min, " Você pode comprar os ingrssos!")
                  escreva ("\nQuanto em dinheiro você tem?")
              }senao {
                  escreva ("\nAgora são: ", horas, ":", min)
                  escreva ("\n\nVocê infelizmente não poderá comprar os ingressos. Por favor volte outro dia!")
              }
              se (valor >= 20) {
                  escreva ("Você pode comprar os ingressos!")
              }senao {
                  escreva ("\nVocê não pode comprar os ingressos! Por favor volte outro dia!")
              }
              escreva ("\n\n")
          }
      }
      • Esta resposta foi modificada 2 anos, 10 meses atrás por IcaroFilho.
    • #84784
      IcaroFilho
      Moderador

      Boa tarde Fernanda.
      Este erro ocorre pois você declarou a variável mas não usou ela no código. sendo assim, ela não tem nenhuma referencia.
      Para corrigir isto vc deve ou inicializar na declaração (que não é recomendado nesse caso pois vc so quer que tenha valor se der para assistir ao filme) ou dentro do corpo (que é o passo que falta fazer).

        se (horas <= 18) {
                  escreva ("\nAgora são: ", horas,":", min, " Você pode comprar os ingrssos!")
                  escreva ("\nQuanto em dinheiro você tem?")
                  leia(valor)

      Como nesse trecho de código é a condição de usar o dinheiro, vc deve fazer a leitura da variável aqui.

      E como se trata de uma regra -> se tiver no horario e vc tiver dinheiro, a condição tem q ser aninhada.

       se (horas <= 18) {
                  escreva ("\nAgora são: ", horas,":", min, " Você pode comprar os ingrssos!")
                  escreva ("\nQuanto em dinheiro você tem?")
                  leia(valor)
                  se (valor >= 20) {
                  escreva ("Você pode comprar os ingressos!")
              }senao {
                  escreva ("\nVocê não pode comprar os ingressos! Por favor volte outro dia!")
              }
              }senao {
                  escreva ("\nAgora são: ", horas, ":", min)
                  escreva ("\n\nVocê infelizmente não poderá comprar os ingressos. Por favor volte outro dia!")
              }

      Lembre-se que esta resolução esta baseada na sua ideia. existem outras formas de resolução e todas estarão certas se tiverem o mesmo resultado.
      Espero ter ajudado..
      Bons estudos!

    • #85213
      Fábio Garcia Vicente
      Participante

      Olá

      Não estou conseguindo encontrar o erro, acho que algo com o c.hora_atual(logico) que não estou sabendo colocar no exercício, pois somente ele ficar destacado no código e não consigo ajustar. Poderia me ajudar:
      ———————————————————————————————————————————————————
      programa
      {

      inclua biblioteca Calendario –> c
      funcao inicio()
      {
      real dinheiro, ingresso
      logico hora

      escreva(“==========CINEMA ESTUDONAUTA============” + “\n”)
      escreva(“HORARIO DO FILME: 13h – PREÇO DO INGRESSO: R$ 20” + “\n”)
      escreva(“————————————————–” + “\n”)

      escreva(“Quanto dinheiro você tem: R$”)
      leia (dinheiro)

      ingresso = dinheiro – 20
      hora = c.hora_atual(falso)

      se (ingresso > 0 e hora > 13){
      escreva(“Agora são ” + c.hora_atual(formato_12h) + ” .Você consegue comprar o Ingresso!” + “\n”)
      }senao{
      escreva(“Agora são ” + c.hora_atual(formato_12h) + ” .Infelizmente não é possível comprar o Ingresso!”)
      }

      }
      }

    • #85417
      IcaroFilho
      Moderador

      O problema é que a sua hora esta tipada como LOGICA

      o método hora_atual( ) retorna um valor numérico.
      A correção seria a alteração da tipagem.
      logico hora –> inteiro hora

      Agora quanto a passagem de parâmetro, a documentação informa que é necessário informar um boolenao ( verdadeiro / falso ). Este parâmetro serve apenas para retornar o valor em formato 12h/24h respectivamente.

      neste mesmo pensamento. o seu bloco dará erro pois esta passando formato_12h como parâmetro. passa para verdadeiro ou falso.

      • Esta resposta foi modificada 2 anos, 9 meses atrás por IcaroFilho.
    • #86909
      Fernando Alberto Pal
      Participante

      O meu aparentemente deu certo assim mais simples eu acho!

      ////////////////////////////////////////////////////////////

      programa
      {

      inclua biblioteca Calendario
      funcao inicio()
      {
      real hora, ingresso, din

      hora = 22
      ingresso = 20.00

      escreva(“CINEMA TUBES A PROXIMA SESSÃO É ” +hora+ ” HS e o ingresso custa R$20,00. \n\n”)
      escreva (“Quanto de dinheiro voce tem? ” )
      leia (din)

      se (din>=20 e Calendario.hora_atual(falso)<=hora ) {
      escreva (” Voce pode comprar um ingresso! ” )
      }
      senao {
      escreva (“Voce não pode comprar um ingresso!”)

      }
      }
      }

    • #87543

      Fernando, o seu código está rodando perfeitamente? Você tem alguma dúvida em relação ao código?

    • #95728

      DEIXEI SEM O <= NO 13, PORQUE NÃO ESTAVA SABENDO COMO OCLOCAR OS SEUGNODS, COLOQUEI NA FORMUILA, MAS FICA VERMELHO. E EU SÓ PRECISO DE UM DIGITO, E N SEI COMO COLOCAR, Q SERIA 13:01(Q ELE FOSSE MENOR Q ISSO.)

      programa
      {
      //EXERCÍCIO 020 – HORÁRIO DO CINEMA

      inclua biblioteca Calendario
      funcao inicio()
      {
      escreva(“\n================ CINEMA ESTUDONAUTA ==============”)
      escreva(“\n HORÁRIO DO FILME: 13h – PREÇO DO INGRESSO: R$20”)
      escreva(“\n————————————————–\n”)
      escreva(“\nQuanto dinheiro você tem? R$”)
      real v
      leia(v)
      se ( v >= 20 e Calendario.hora_atual(falso) < 13 ){
      escreva(“\nAgora são “+ Calendario.hora_atual(falso)+ “horas. Você consegue comprar o ingresso!\n”)
      } senao{
      escreva(“\nAgora são “+ Calendario.hora_atual(falso)+”horas, Infelizmente não é possível comprar o ingresso!\n”)
      }
      }
      }
      `

    • #95804

      Meu Código Para Quem Tiver Alguma Dúvida:

      programa
      {

      inclua biblioteca Calendario
      funcao inicio()
      {
      escreva(“{ EXERCÍCIO 020 – Dá pra ver o filme? }”)
      escreva(“\n========== CINEMA MANOEL N. ==========”)
      escreva(“\nHORÁRIO DO FILME: 19h – PREÇO DO INGRESSO: R$20,00”)
      escreva(“\n—————————————————-“)
      escreva(“\nQuanto dinheiro você tem? R$”)
      inteiro dinheiro
      inteiro hora = Calendario.hora_atual(falso)
      leia(dinheiro)
      se (dinheiro < 20){
      escreva(“Agora São “,hora,” horas. infelizmente não é possível comprar o ingresso!”)

      }se (dinheiro >= 20 e hora == 19){
      escreva(“Agora São “,hora,” horas. Você consegue comprar o ingresso!”)
      }se (dinheiro >=20 e hora != 19){
      escreva(“Agora São “,hora,” horas. infelizmente não é possível comprar o ingresso!”)
      }

      }
      }

    • #96596
      MARCIO PAIVA
      Participante

      Como vai Jéssica tudo bem ?
      eis aqui o código

      inclua biblioteca Calendario–>c
      funcao inicio()
      {
      escreva(“{EXERCÍCIO 020-Dá para ver o filme ?}”)
      escreva(“\n=========CINEMA ESTUDONAULTA==========”)
      escreva(“\nHORÁRIO DO FILME 5h H-PREÇO DO INGRESSO R$20”)
      escreva(“\n———————————————“)
      inteiro h,m
      real v ,ht
      ht= h = c.hora_atual(falso)
      m=c.minuto_atual()
      escreva(“\nQuanto tem de dinheiro R$”)
      leia(v)
      se (v<20 ou h<5 ou m<5){
      escreva(“Agora são “,h,m,”.horas Infelizmente não é possível comprar ingresso!”)
      }senao{
      escreva(“\nAgora São “,h,m,”horas.Você consegue comprar o ingresso!”)

    • #96623
      Tutora Jessica
      Moderador

      Olá Marcio, então, movi sua pergunta para o lugar certo, onde esta o exercício 20.
      Então, o seu código esta funcionando, mas a sua lógica não esta 100% correta, você precisa analisar bem o que o exercício pede.
      Faltam algumas informações para que fique totalmente como o exercício pede, exemplo.. você precisa colocar um escreva para o valor em dinheiro, no seu código só aparece o SE da hora e não do valor em dinheiro, dentre outras coisas.. caso fique com dúvidas, retorne ao fórum que iremos lhe ajudar. E parabéns pelo empenho, esta indo pelo caminho certo 🖖

    • #96640
      MARCIO PAIVA
      Participante

      Boa tarde Jéssica tudo?

      Obrigado pelo esclarecimento.
      Então tenho que colocar no programa
      os comando de calculo que funcione em sincronização
      com o código de horas o comando de horas e minutos
      os de horas está também errado? d

    • #96641
      MARCIO PAIVA
      Participante

      Boa tarde Jéssica tudo bem?

      Obrigado pelo esclarecimento.
      Então tenho que colocar no programa
      os comando de calculo que funcione em sincronização
      com os código de horas?

      obs! estou reenviando o post porque eu cometi alguns erros de escrita

    • #96645
      Tutora Jessica
      Moderador

      Marcio, não precisa dos minutos, somente hora já é suficiente, mas fica ao seu critério. A biblioteca Calendário que você incluiu funciona no padrão de horário dos EUA, eu testei pelo portugol online e tive que colocar h = c.hora_atual(falso)-3(ou seja, menos 3 horas que ai fica certinho com o horário do Brasil). o ht não é necessário, pois você não esta passando ele em lugar nenhum.
      E como eu falei, precisa de um escreva para o dinheiro, pois só aparece a opção das horas (se pode ou não comprar o ingresso naquele horário), mas para dinheiro não tem.
      Caso ainda tenha dúvidas, só retornar, estou a disposição 🖖

    • #96672
      MARCIO PAIVA
      Participante

      OI Jéssica tudo bem?
      conforme a tua orientação eu refiz o código tomará que esteja certo
      o exercício eu vou te enviar o código para seja analisado mais uma vez.
      eis aqui o código refeito:

      eu acrescentei os comando se senao veja como ficou

      inclua biblioteca Calendario–>c
      funcao inicio()
      {
      escreva(“{EXERCÍCIO 020-Dá para ver o filme ?}”)
      escreva(“\n=========CINEMA ESTUDONAULTA==========”)
      escreva(“\nHORÁRIO DO FILME 5h H-PREÇO DO INGRESSO R$20”)
      escreva(“\n———————————————“)
      inteiro h,m,d = 20
      real v
      h = c.hora_atual(falso)
      escreva(“\nQuanto tem de dinheiro R$”)
      leia(v)
      se(v<20){
      escreva(“agora são “,h,”horas. Infelizmente não é possível comprar o ingresso”)
      }senao se(h<4){
      escreva(“Agora sao “,h,”horas. Você consegue comprar o ingresso!”)
      }senao{
      escreva(“Agora são “,h,”horas. Infelizmente não é possível comprar o ingresso!”)

    • #96673
      MARCIO PAIVA
      Participante

      Mais um detalhe Jéssica eu coloquei o senao se juntos somente para o valor em dinheiro como você sugeriu não sei se é exatamente assim
      obrigado pela orientação se estiver ainda errado o exercício vou procurar me empenhar mais.

    • #96689
      Tutora Jessica
      Moderador

      Olá Marcio, seu código esta funcionando direitinho, somente nessa parte:

      se(v<20){
      escreva(“agora são “,h,”horas. Infelizmente não é possível comprar o ingresso”)

      Você precisa colocar algo referente ao dinheiro, exemplo :

      se(v<20){
      escreva(“Você não tem dinheiro suficiente para comprar o ingresso”)

      .
      Parabéns Marcio, continue se dedicando, você esta indo muito bem!! 🖖

    • #96695
      MARCIO PAIVA
      Participante

      Bom dia Jéssica

      muito obrigado pela dicas tem me ajudado muito

    • #110313

      Olá! meu código está funcionando normalmente, porém estou com uma dúvida/curiosidade.
      No momento que estou fazendo esse código são 16h, porém quando coloco no programa hora atual, aparece 17h. Tem como ajustar essa situação?
      Utilizo um PC com o sistema Windows 10. Obrigado.

      inclua biblioteca Calendario –> c
      funcao inicio()
      {
      inteiro hora = c.hora_atual(falso)
      inteiro h = 17
      real valor = 20.0
      real din
      escreva(“\n\t\t CINEMA ESTUDONAUTA \n”)
      escreva(“—————————————————-\n”)
      escreva(“HORÁRIO DO FILME:\t\t\t “,h,”h”)
      escreva(“\nPREÇO DO INGRESSO:\t\t\t R$”,valor)
      escreva(“\n====================================================\n”)
      escreva(“Agora são “,hora,” horas.”)
      escreva(“\nQuanto de dinheiro você tem? “)
      leia(din)
      escreva(“====================================================\n”)

      se(din >= valor e hora <= h) {
      escreva(“Você consegue comprar o ingresso.\nSEJA BEM-VINDO(A)!”)
      }senao {
      escreva(“Infelizmente, não é possível comprar o ingresso.\nTente outro dia!”)
      }
      escreva(“\n\n”)

    • #110314
      Tutora Jessica
      Moderador

      Ola Rondineli, dei uma explicação ali em cima que pode ser que tire a sua dúvida também, nesse caso você pode colocar:

      inteiro hora = c.hora_atual(falso)-1

    • #110418

      Obrigado pela gentileza!

    • #111195
      Wagner
      Participante

      Boa noite pessoas, professores, tudo bom?

      Cheguei neste exercício mas tenho uma dúvida referente ao posicionamento do cursor para entrada dos dados.

      Ao invés de nós determinarmos os valores HORA DO FILME e PREÇO INGRESSO, é possível que a gente posicione o cursor para capturar a entrada desses dados na mesma linha ou o Portugol não tem esse recurso?

      No vídeo mostra:

      
      escreva("\n{ EXERCÍCIO 020 - Dá pra ver o filme? }\n")
      escreva("========= CINEMA  ESTUDONAUTA =========\n")
      escreva("HORÁRIO DO FILME: 12h - PREÇO DO INGRESSO: R$ 20\n")
      escreva("---------------------------------------------\n")
      

      esse comando não funciona >> escreva(“HORÁRIO DO FILME: “+(leia(horario_filme))+” – PREÇO DO INGRESSO: R$ “+(leia(preco_ingresso)))

    • #111201
      Wagner
      Participante

      Boa noite,

      Fiz assim:

      
      programa
      {
      	/*
      
      	EX020 - Cinema Estudonauta.
      	
      	O programa vai calcular se a pessoa está dentro do horário da sessão,
      	pegar o preço do ingresso e o dinheiro que a pessoa tem e se é possivel
      	comprar o ingresso com a hora atual e mostrar o resultado.
      
      	Autor	Gustavo Guanabara
      	Empresa	Estudonauta
      	
      	*/
      	
      	// Inserir bibliotecas - Insert libraries
      
      	inclua biblioteca Calendario --> c
      	
      	funcao inicio()
      	{
      		// Declarar variaveis - String declaration
      
      		inteiro horario_filme = 13, preco_ingresso = 20, dinheiro, hora = c.hora_atual(falso)
      
      		// Exibir o problema na tela e entrada de informacao
      		// Print problem on screen and asks for input
      			
      		escreva("\n{ EXERCÍCIO 020 - Dá pra ver o filme? }\n")
      		escreva("========= CINEMA  ESTUDONAUTA =========\n")
      		escreva("HORÁRIO DO FILME: 13h - PREÇO DO INGRESSO: R$20\n")
      		escreva("------------------------------------------------\n")
      		escreva("Quanto dinheiro você tem? ")
      		leia(dinheiro)
      
      		// Exibir o resultado - Output result
      
      		se (hora == horario_filme e dinheiro >= preco_ingresso )
      		{
      			escreva("Agora são "+hora+" horas. Você consegue comprar o ingresso!\n")
      		}
      		senao
      		{
      			escreva("Agora são "+hora+" horas. Infelizmente não é possível comprar o ingresso!\n")
      		}
      	}
      }
      
      
    • #111215
      Tutora Jessica
      Moderador

      Ola Wagner, qual seria sua dúvida?
      Testei seu código mas para fazer dessa forma você precisa colocar mais informações no seu código, por exemplo:
      Testei as 10 hrs, ele deu a mensagem que são 10 horas e não posso comprar o ingresso, independente do valor que coloquei (o horário estipulado seria 13 hrs)
      Troquei o valor estipulado para 10 horas e mesmo assim disse que não poderia comprar o ingresso por conta do horário.

      • #111247
        Wagner
        Participante

        Bom Professora?

        Agora que percebi, faltou a mensagem de não poder comprar por não ter dinheiro…

    • #111248
      Wagner
      Participante

      `programa
      {
      /*

      EX020 – Cinema Estudonauta.

      O programa vai calcular se a pessoa está dentro do horário da sessão,
      pegar o preço do ingresso e o dinheiro que a pessoa tem e se é possivel
      comprar o ingresso com a hora atual e mostrar o resultado.

      Autor Gustavo Guanabara
      Empresa Estudonauta

      */

      // Inserir bibliotecas – Insert libraries

      inclua biblioteca Calendario –> c

      funcao inicio()
      {
      // Declarar variaveis – String declaration

      inteiro horario_filme = 19, preco_ingresso = 20, dinheiro, hora = c.hora_atual(falso)

      // Exibir o problema na tela e entrada de informacao
      // Print problem on screen and asks for input

      escreva(“\n{ EXERCÍCIO 020 – Dá pra ver o filme? }\n”)
      escreva(“========= CINEMA ESTUDONAUTA =========\n”)
      escreva(“HORÁRIO DO FILME: 19h – PREÇO DO INGRESSO: R$20\n”)
      escreva(“————————————————\n”)
      escreva(“Quanto dinheiro você tem? “)
      leia(dinheiro)

      // Exibir o resultado – Output result

      se (hora == horario_filme e dinheiro >= preco_ingresso)
      {
      escreva(“\nAgora são “+hora+” horas. Você consegue comprar o ingresso!\n”)
      }
      senao se (hora == horario_filme e dinheiro < preco_ingresso)
      {
      escreva(“\nAgora são “+hora+” horas mas você não tem dinheiro para comprar o ingresso!\n”)
      }

      se (hora != horario_filme e dinheiro >= preco_ingresso)
      {
      escreva(“\nAgora são “+hora+” horas.\n”)
      escreva(“Infelizmente não é possível comprar o ingresso pois não está na hora!\n”)
      }

      senao se (hora != horario_filme e dinheiro < preco_ingresso)
      {
      escreva(“\nAgora são “+hora+” horas.\n”)
      escreva(“Infelizmente não é possível comprar o ingresso pois não está na hora e você não tem dinheiro suficiente!\n”)
      }

      }
      }

    • #111249
      Wagner
      Participante
      programa
      {
      	/*
      
      	EX020 - Cinema Estudonauta.
      	
      	O programa vai calcular se a pessoa está dentro do horário da sessão,
      	pegar o preço do ingresso e o dinheiro que a pessoa tem e se é possivel
      	comprar o ingresso com a hora atual e mostrar o resultado.
      
      	Autor	Gustavo Guanabara
      	Empresa	Estudonauta
      	
      	*/
      	
      	// Inserir bibliotecas - Insert libraries
      
      	inclua biblioteca Calendario --> c
      	
      	funcao inicio()
      	{
      		// Declarar variaveis - String declaration
      
      		inteiro horario_filme = 19, preco_ingresso = 20, dinheiro, hora = c.hora_atual(falso)
      
      		// Exibir o problema na tela e entrada de informacao
      		// Print problem on screen and asks for input
      			
      		escreva("\n{ EXERCÍCIO 020 - Dá pra ver o filme? }\n")
      		escreva("========= CINEMA  ESTUDONAUTA =========\n")
      		escreva("HORÁRIO DO FILME: 19h - PREÇO DO INGRESSO: R$20\n")
      		escreva("------------------------------------------------\n")
      		escreva("Quanto dinheiro você tem? ")
      		leia(dinheiro)
      
      		// Exibir o resultado - Output result
      
      		se (hora == horario_filme e dinheiro >= preco_ingresso)
      		{
      			escreva("\nAgora são "+hora+" horas. Você consegue comprar o ingresso!\n")
      		}
      		senao se (hora == horario_filme e dinheiro < preco_ingresso)
      		{
      			escreva("\nAgora são "+hora+" horas mas você não tem dinheiro para comprar o ingresso!\n")
      		}
      		
      		se (hora != horario_filme e dinheiro >= preco_ingresso)
      		{
      			escreva("\nAgora são "+hora+" horas.\n")
      			escreva("Infelizmente não é possível comprar o ingresso pois não está na hora!\n")	
      		}		
      
      		senao se (hora != horario_filme e dinheiro < preco_ingresso)
      		{
      			escreva("\nAgora são "+hora+" horas.\n")
      			escreva("Infelizmente não é possível comprar o ingresso pois não está na hora e você não tem dinheiro suficiente!\n")
      		}
      		
      		
      	}
      }
    • #111277
      Tutora Jessica
      Moderador

      Ola Wagner, isso ai, parabéns!! Você tem mais alguma dúvida?

      • #111292
        Wagner
        Participante

        Boa noite, Professora! Tudo bom?

        Acho que, por enquanto, não. hehehe

        Obrigado pela ajuda! 🙂

Visualizando 27 respostas da discussão
  • Você deve fazer login para responder a este tópico.