Ir ao conteúdo
  • Cadastre-se

Como usar desvio condicional SE então SENAO com várias variaveis no Visualg


Posts recomendados

Olá,

eu estou tentando fazer um programa no visualg 3 em que eu tenho que verificar a classificação de um hotel. Se ele tem 5, 4, 3, 2 ou 1 estrela. Para isso eu preciso recolher vários requisitos. Mas como usar varias variáveis em um único operador lógico.

PS: desculpe se não pude me expressar corretamente.

Link para o comentário
Compartilhar em outros sites

O meu professor quer que eu diga quantas estrelas um hotel tem. Eu tenho que fazer as perguntas e de acordo com as respostas dizer se ele é 5 ou 4 ou 3 ou 2 ou 1 estrela.

 

Hotel.docx

adicionado 7 minutos depois

esqueci de colocar o que eu ja fiz, vou colocar agora o print do meu algoritimo no visualg embora eu não tenha feito muito.

part 1.png

part 2.png

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

@Augusto Ruviaro, por favor, poste o seu código em forma de texto (lembrar se usar a tag CODE, botão <> na barra de ferramentas). E se possível, posta o conteúdo do Word como print.

 

Ou seja: postar o texto do código e imagem com o conteúdo do ".docx".

 

No aguardo.

 

 

 

 

Link para o comentário
Compartilhar em outros sites

segue o código abaixo 

Algoritmo "Hotel"
// Disciplina   : Desenvolvimento de Games.
// Professor    : Basílio.
// Descrição   : Verificação da classificação do Hotel.
// Autor(a)    : Carlos Augusto R. de Oliveira.
// Data atual  : 25/12/2016
Var
   rrep, rroupas, rroupas2, rporc, rporc2, rqtr, rban, restrela:real
   lcafe, ltv, lrefr, lnet,  lhidro, lar, lest, lmano, lcol, lban2, lres, lserv, lserv2, ldiet, lbar:logico
   cestrela :caractere
Inicio
   Escreval("Quantas horas a sua recepção funciona por dia ?")
   leia(rrep)
   escreval("Qual o tamanho de quarto mais comum (m²) ?")
   leia(rqtr)
   escreval("Qual a porcentagem dele em relação a todos os quartos (%) ?")
   leia(rporc)
   escreval("Qual o tamanho de banheiro mais comum no seu Hotel (m²) ?")
   leia(rban)
   escreval("Qual a porcentagem dele em relação dele a todos os banheiros (%) ?")
   leia(rporc2)
   escreval("Quantas vezes há reposição de roupas de cama por semana ?")
   leia(rroupas)
   escreval("Quantas vezes há reposição de roupas de banho por semanal ?")
   leia(rroupas2)
   escreval("Tem café da manhã disponível para os clientes ?")
   leia(lcafe)
   escreval("Tem restaurante disponível para os clientes ?")
   leia(lres)
   escreval("O hotel tem um bar a disposição dos clientes ?")
   leia(lbar)
   escreval("O hotel oferece um cardápio com dietas especiais ?")
   leia(ldiet)
   escreval("Tem serviço de quarto disponível para os clientes ?")
   leia(lserv)
   escreval("Seu Hotel tem TV por assinatura ?")
   leia(ltv)
   escreval("Seu Hotel tem minirefrigerador ?")
   leia(lrefr)
   escreval("Seu Hotel tem Internet ?")
   leia(lnet)
   escreval("Seu Hotel tem Hidromassagem ?")
   leia(lhidro)
   escreval("Seu Hotel tem Climatização ?")
   leia(lar)
   escreval("Seu Hotel tem Estacionamento ?")
   leia(lest)
   escreval("Seu Estacionamento tem Manobrista ?")
   leia(lmano)
   escreval("Os quartos tem Colchões Especiais ?")
   leia(lcol)
   escreval("Os banheiros tem banheira ?")
   leia(lban2)
   escreval("Seus Hotel tem Serviços acessórios como salão de beleza, lojas, agências de turismo ou outros ?")
   leia(lserv2)

 

requisitos.png

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Augusto Ruviaro, como "moderador", agradeço pelos ajustes...

 

 

Como "colaborador", sugiro o seguinte:

Em relação ao problema do algoritmo em si, tente imaginar como você faria para processar manualmente essa tarefa, ou seja, como se fosse um problema que está enfrentando no "mundo real"... imagine você como um atendente e seu chefe "largou nos seus peitos" a responsabilidade de resolver isso!!! Como você faria?

A questão de como utilizar os "SE" no VisuAlg seria uma etapa posterior, ou seja, "de como traduzir" o seu algoritmo para uma linguagem de programação específica.

 

Tente primeiramente tentar resolver sem se preocupar na tradução... como se não fosse necessário traduzir depois... seria como uma tarefa real e pronto... esqueça o VisuAlg, tente simplesmente "resolver esse problema".

 

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Já fiz isso, o meu problema está em passar o que eu penso para a linguagem de programação. Eu tentei usar o desvio condicional SE então SENAO e o SELECIONE CASO mas nenhum deles deu certo. Gostaria de saber se tem como usar o desvio condicional SE então SENAO com o operador lógico E.

ex:
se ((rres<-24) e (rres<-17)) então
escreval("xxx")
senao
escreval("xxx")
fimse

ou

Selecione: var
caso (rres<-24 e rres<-17)
escreval("xxx")
outrocaso
fimescolha

fiz um exemplo bem simples porque eu estou tentando implementar isso no meu programa e não está dando certo.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

Então, você já conseguiu resolver o problema num contexto do "mundo real"? Como seria?

 

Pelo que eu entendi, você faz logo todas as perguntas e armazena as respectivas respostas, OK. Mas como você trataria essas respostas?

 

Sei que foi um esboço, mas vamos tentar analisar o seu código:

se ((rres<-24) e (rres<-17)) então
escreval("xxx")
senao
escreval("xxx")
fimse

Vamos supor que o cliente (ou a informação que você coletou) diz que a recepção funciona apenas 12 horas.

No seu se, você verifica
 

se "quantidade de horas que a recepção funciona é menor que 24" E "quantidade de horas que a recepção funciona é menor que 17" então
   escreva algo //que seria equivalente a "diga algo ao cliente?
senão
   escreve algo //que também seria equivalente a "dizer (outro) algo ao cliente?

Entende?

 

Primeiro você precisa entender o problema (acho que já entendeu), depois desenvolver uma solução, ou seja, um fluxo de passos para resolvê-lo e só após traduzir para uma linguagem...


***

 

Para servi como base, deixei seu código "compilável".
Obs.: nos testes, você não precisa perguntar tudo de uma vez. Aos poucos vai inserindo as perguntas e testando.

 

Algoritmo "Hotel"
// Disciplina   : Desenvolvimento de Games.
// Professor    : Basílio.
// Descrição   : Verificação da classificação do Hotel.
// Autor(a)    : Carlos Augusto R. de Oliveira.
// Data atual  : 25/12/2016
Var
   rrep, rroupas, rroupas2, rporc, rporc2, rqtr, rban, restrela:real
   lcafe, ltv, lrefr, lnet,  lhidro, lar, lest, lmano, lcol, lban2, lres, lserv, lserv2, ldiet, lbar:logico
   cestrela :caractere
Inicio
Escreval("Quantas horas a sua recepção funciona por dia ?")
leia(rrep)
escreval("Qual o tamanho de quarto mais comum (m²) ?")
leia(rqtr)
escreval("Qual a porcentagem dele em relação a todos os quartos (%) ?")
leia(rporc)




se (rrep<24) e (rrep<17) então
   escreval("ESSE TEXTO SAIU DO então")
senao
   escreval("Esse texto saiu do SENAO")
fimSe

fimAlgoritmo

 

No aguardo.

adicionado 3 minutos depois

Obs.: o "então" não tem "~". Se quiser incluir o 24 ou 17 na verificação, usam-se "<="... o símbolo "<-" serve para "atribuição", ou seja, jogar o valor da direita na variável que está na esquerda... e no VisuAlg não funciona dentro do se!

Link para o comentário
Compartilhar em outros sites

Olá, meu algorítimo já está quase pronto, eu fui testando e ele foi dando certo mas quando eu finalmente acabei ele começou a dar erro no primeiro desvio condicional, dizendo que faltava um então. Já tentei de tudo e não consigo resolver então se poder me ajudar mais uma vez eu agradeço. Obrigado desde já, sua ajuda está sendo de muito bom grado.

Algoritmo "Hotel"
// Disciplina   : Desenvolvimento de Games.
// Professor    : Basílio.
// Descrição   : Verificação da classificação do Hotel.
// Autor(a)    : Carlos Augusto R. de Oliveira.
// Data atual  : 25/12/2016
Var
   rporcentagem, rporcentagem2, rquant, rquant2, rrep, rroupas, rroupas2, rporc, rporc2, rqtr, rban, restrela:real
   crep, cestrela,lcafe, ltv, lrefr, lnet,  lhidro, lar, lest, lmano, lcol, lban2, lres, lserv, lserv2, ldiet, lbar:caractere
Inicio
   Escreval("Quantas horas a sua recepção funciona por dia ?")
   leia(rrep)
   escreval("Sua recepção é física ou por telefone ?")
   leia(crep)
   escreval("Qual o tamanho de quarto mais comum (m²) ?")
   leia(rqtr)
   escreval("Qual a quantidade de quartos com o tamanho informado na pergunta anterior ?")
   leia(rquant)
   escreval("Quantos quartos você tem no total ?")
   leia(rporc)
   escreval("Qual o tamanho de banheiro mais comum no seu Hotel (m²) ?")
   leia(rban)
   escreval("Qual a quantidade de banheiros com o tamanho informado na pergunta anterior")
   leia(rquant2)
   escreval("Qual a quantidade total de banheiros ?")
   leia(rporc2)
   escreval("Quantas vezes há reposição de roupas de cama por semana ?")
   leia(rroupas)
   escreval("Quantas vezes há reposição de roupas de banho por semanal ?")
   leia(rroupas2)
   escreval("Tem café da manhã disponível para os clientes ?")
   leia(lcafe)
   escreval("Tem restaurante disponível para os clientes ?")
   leia(lres)
   escreval("O hotel tem um bar a disposição dos clientes ?")
   leia(lbar)
   escreval("O hotel oferece um cardápio com dietas especiais ?")
   leia(ldiet)
   escreval("Tem serviço de quarto disponível para os clientes ?")
   leia(lserv)
   escreval("Seu Hotel tem TV por assinatura ?")
   leia(ltv)
   escreval("Seu Hotel tem minirefrigerador ?")
   leia(lrefr)
   escreval("Seu Hotel tem Internet ?")
   leia(lnet)
   escreval("Seu Hotel tem Hidromassagem ?")
   leia(lhidro)
   escreval("Seu Hotel tem Climatização ?")
   leia(lar)
   escreval("Seu Hotel tem Estacionamento ?")
   leia(lest)
   escreval("Seu Estacionamento tem Manobrista ?")
   leia(lmano)
   escreval("Os quartos tem Colchões Especiais ?")
   leia(lcol)
   escreval("Os banheiros tem banheira ?")
   leia(lban2)
   escreval("Seus Hotel tem Serviços acessórios como salão de beleza, lojas, agências de turismo ou outros ?")
   leia(lserv2)
   rporcentagem<-(rquant/rporc)
   rporcentagem2<-(rquant2/rporc2)
   SE ((rrep=24) e (crep="física") e (rqtr=>17) e (rporcentagem>=1) e (rban>=4) e (rporcentagem2=1) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="sim") e (lcol="sim") e (lban2="sim") e (lserv2="sim")) então
      escreval("Parabens, Seu hotel tem 5 estrelas")
   SENAO
      SE ((rrep=24) e (crep="física") e (rqtr=>15) e (rporcentagem>=0.9) e (rban>=3) e (rporcentagem2>=0.9) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
         escreval("Parabens, Seu hotel tem 4 Estrelas")
      SENAO
         SE (((rrep>=18 e crep="físico") ou (rrep=24 e crep="telefone")) e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="sim") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
            escreval("Parabens, seu hotel tem 3 estrelas")
         SENAO
            SE (((rrep>=12 e crep="físico") ou (rrep=24 e crep="telefone")) e (rqtr>=11) e (rporcentagem>=0.7) e (rban>=2) e (rporcentagem2>=0.7) e (rroupas>=2) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
               escreval("Parabens, seu hotel tem 2 estrelas")
            SENAO
               SE (((rrep>=12 e crep="físico") ou (rrep=24 e crep="telefone")) e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                  escreval("Parabens, seu hotel tem 1 estrela")
               SENAO
                  escreval("Que pena, seu hotel nao tem nenhuma estrela")
               fimse
            fimse
         fimse
      fimse
   fimse
   escreval("Obrigado por usar o nosso programa")


Fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

Resumidamente: você precisa revisar os se.  Tem "comandos escritos errados" e faltando "(" ou ")".

 

 

Não vou dar simplesmente a correção pronta :), mas para facilitar:

 

1) dê uma olhada nos Operadores Relacionais;      (tem alguns escritos errados)

2) as "operações relacionais" (cálculos que usam operadores relacionais) são individuais, cada operação tem que ficar entre parênteses isoladamente, ou seja, na prática, os Operadores Lógicos atuarão com o resultado dessas operações, ex.:

se (<operação-relacional>) <Operador Lógico> (<operação-relacional>) <Operador Lógico> (<operação-relacional>) então

Sempre um "e" ou "ou" devem ficar entre dois parênteses!   (Não deve ficar logo ao lado do conteúdo da operação relacional)

 

***

 

No aguardo

Link para o comentário
Compartilhar em outros sites

Então cara, tentei corrigir o que você falou e agora ele está em parte certo. Porém ele está dando erro na parte do algorítimo que diz que ele tem 3 estrelas. Alguma ideia do que pode ser ?. Desculpe se estou demorando para entender suas explicações.

Algoritmo "Hotel"
// Disciplina   : Desenvolvimento de Games.
// Professor    : Basílio.
// Descrição   : Verificação da classificação do Hotel.
// Autor(a)    : Carlos Augusto R. de Oliveira.
// Data atual  : 25/12/2016
Var
   rporcentagem, rporcentagem2, rquant, rquant2, rrep, rroupas, rroupas2, rporc, rporc2, rqtr, rban:real
   crep, lcafe, ltv, lrefr, lnet,  lhidro, lar, lest, lmano, lcol, lban2, lres, lserv, lserv2, ldiet, lbar:caractere
Inicio
   Escreval("Quantas horas a sua recepção funciona por dia ?")
   leia(rrep)
   escreval("Sua recepção é física ou por telefone ?")
   leia(crep)
   escreval("Qual o tamanho de quarto mais comum (m²) ?")
   leia(rqtr)
   escreval("Qual a quantidade de quartos com o tamanho informado na pergunta anterior ?")
   leia(rquant)
   escreval("Quantos quartos você tem no total ?")
   leia(rporc)
   escreval("Qual o tamanho de banheiro mais comum no seu Hotel (m²) ?")
   leia(rban)
   escreval("Qual a quantidade de banheiros com o tamanho informado na pergunta anterior")
   leia(rquant2)
   escreval("Qual a quantidade total de banheiros ?")
   leia(rporc2)
   escreval("Quantas vezes há reposição de roupas de cama por semana ?")
   leia(rroupas)
   escreval("Quantas vezes há reposição de roupas de banho por semanal ?")
   leia(rroupas2)
   escreval("Tem café da manhã disponível para os clientes ?")
   leia(lcafe)
   escreval("Tem restaurante disponível para os clientes ?")
   leia(lres)
   escreval("O hotel tem um bar a disposição dos clientes ?")
   leia(lbar)
   escreval("O hotel oferece um cardápio com dietas especiais ?")
   leia(ldiet)
   escreval("Tem serviço de quarto disponível para os clientes ?")
   leia(lserv)
   escreval("Seu Hotel tem TV por assinatura ?")
   leia(ltv)
   escreval("Seu Hotel tem minirefrigerador ?")
   leia(lrefr)
   escreval("Seu Hotel tem Internet ?")
   leia(lnet)
   escreval("Seu Hotel tem Hidromassagem ?")
   leia(lhidro)
   escreval("Seu Hotel tem Climatização ?")
   leia(lar)
   escreval("Seu Hotel tem Estacionamento ?")
   leia(lest)
   escreval("Seu Estacionamento tem Manobrista ?")
   leia(lmano)
   escreval("Os quartos tem Colchões Especiais ?")
   leia(lcol)
   escreval("Os banheiros tem banheira ?")
   leia(lban2)
   escreval("Seus Hotel tem Serviços acessórios como salão de beleza, lojas, agências de turismo ou outros ?")
   leia(lserv2)
   rporcentagem<-(rquant/rporc)
   rporcentagem2<-(rquant2/rporc2)
   SE ((rrep=24) e (crep="física") e (rqtr>=17) e (rporcentagem=1) e (rban>=4) e (rporcentagem2=1) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="sim") e (lcol="sim") e (lban2="sim") e (lserv2="sim")) então
      escreval("Parabens, Seu hotel tem 5 estrelas")
   SENAO
      SE ((rrep=24) e (crep="física") e (rqtr>=15) e (rporcentagem>=0.9) e (rban>=3) e (rporcentagem2>=0.9) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
         escreval("Parabens, Seu hotel tem 4 Estrelas")
      SENAO
         SE ((rrep>=18) e (crep="físico") e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="sim") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
            escreval("Parabens, seu hotel tem 3 estrelas")
         SENAO
            SE ((rrep=24) e (crep="telefone") e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="sim") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
               escreval("Parabens, seu hotel tem 3 estrelas")
            SENAO
               SE ((rrep>=12) e (crep="físico") e (rqtr>=11) e (rporcentagem>=0.7) e (rban>=2) e (rporcentagem2>=0.7) e (rroupas>=2) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                  escreval("Parabens, seu hotel tem 2 estrelas")
               SENAO
                  SE ((rrep=24) e (crep="telefone") e (rqtr>=11) e (rporcentagem>=0.7) e (rban>=2) e (rporcentagem2>=0.7) e (rroupas>=2) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                     escreval("Parabens, seu hotel tem 2 estrelas")
                  SENAO
                     SE ((rrep>=12) e (crep="físico") e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                        escreval("Parabens, seu hotel tem 1 estrela")
                     SENAO
                        SE ((rrep=24) e (crep="telefone") e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                           escreval("Parabens, seu hotel tem 1 estrela")
                        SENAO
                           escreval("Que pena, seu hotel nao tem nenhuma estrela")
                        FIMSE
                     FIMSE
                  FIMSE
               FIMSE
            FIMSE
         FIMSE
      FIMSE
   FIMSE

escreval("Obrigado por usar o nosso programa")


Fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Augusto Ruviaro.

 

42 minutos atrás, Augusto Ruviaro disse:

Desculpe se estou demorando para entender suas explicações.

 

Tranquilo. A proposta é justamente "forçar" o auto-amadurecimento! e reforçar alguns conceitos básicos... (tb estimular a pesquisa)... espero que esteja ajudando, mais que atrapalhando, rs

 

 

42 minutos atrás, Augusto Ruviaro disse:

Então cara, tentei corrigir o que você falou e agora ele está em parte certo. Porém ele está dando erro na parte do algorítimo que diz que ele tem 3 estrelas. Alguma ideia do que pode ser ?

 

Que erro está dando? não compila ou não está correspondendo ao que você precisa?

 

As minhas sugestões anteriores são relativas à sintaxe, ou seja, "fazer estar de acordo com as regras do VisuAlg e fazer o programa rodar". Se o programa vai fazer o que você quer ou não é outra parte! São duas coisas diferentes. Creio que a primeira parte já está OK...

 

Para a segunda parte, como o VisuAlg é sequencial, pode ter certeza que o erro está na condição que está dando erro pra cima! Certo? a primeira parte que você deve olhar logo é na condição em si... veja se todas as "regras para ser 3 estrelas" estão certas...

ldiet="sim"

Isso não seria "cardápio com dietas especiais ?"? tem isso no 3 estrelas?

 

Vá olhando um por um...

 

Após retificar o que for necessário, dá uma olhada para ver se as variáveis estão sendo coletadas corretamente... (acho que tão, deve ser no se mesmo)...  Estão com os tipos corretos etc.

 

***

 

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

4 horas atrás, Simon Viegas disse:

ldiet="sim"

Muito bem observado, mas o erro é na compilação. Ele diz que esperava um então. O erro está na digitação porém eu ainda não consegui identificá-lo.

 

4 horas atrás, Simon Viegas disse:

espero que esteja ajudando, mais que atrapalhando, rs

Está ajudando D++++++++++++. Sem você ainda estaria bem atrasado. Só espero conseguir terminar isso antes de terça, que é quando eu tenho que entregar esse algorítimo.

 

SE ((rrep>=18) e (crep="físico") e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
            escreval("Parabens, seu hotel tem 3 estrelas")
         SENAO
            SE ((rrep=24) e (crep="telefone") e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
               escreval("Parabens, seu hotel tem 3 estrelas")
            SENAO

 tem como eu unir esses dois "SE" em um só ?. Tem como eu usar o operador lógico "e" e "ou" no mesmo desvio condicional pra poder a variável "crep" poder ser telefone ou físico.

No aguardo e obrigado desde já.

 

Eu tentei fazer desse jeito mas deu o mesmo erro. Segue abaixo o outro jeito que eu tentei.

SE ((rrep=24) e (crep="física") e (rqtr>=17) e (rporcentagem=1) e (rban>=4) e (rporcentagem2=1) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="sim") e (lcol="sim") e (lban2="sim") e (lserv2="sim")) então
      escreval("Parabens, Seu hotel tem 5 estrelas")
   SENAO
      SE ((rrep=24) e (crep="física") e (rqtr>=15) e (rporcentagem>=0.9) e (rban>=3) e (rporcentagem2>=0.9) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
         escreval("Parabens, Seu hotel tem 4 Estrelas")
      SENAO
         SE ((((rrep>=18) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
            escreval("Parabens, seu hotel tem 3 estrelas")
         SENAO
            SE ((((rrep>=12) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=11) e (rporcentagem>=0.7) e (rban>=2) e (rporcentagem2>=0.7) e (rroupas>=2) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
               escreval("Parabens, seu hotel tem 2 estrelas")
            SENAO
               SE ((((rrep>=12) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                  escreval("Parabens, seu hotel tem 1 estrela")
               SENAO
                  escreval("Que pena, seu hotel nao tem nenhuma estrela")
               FIMSE
            FIMSE
         FIMSE
      FIMSE
   FIMSE
escreval("Obrigado por usar o nosso programa")

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

16 horas atrás, Augusto Ruviaro disse:

Eu tentei fazer desse jeito mas deu o mesmo erro. Segue abaixo o outro jeito que eu tentei.


SE ((rrep=24) e (crep="física") e (rqtr>=17) e (rporcentagem=1) e (rban>=4) e (rporcentagem2=1) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="sim") e (lcol="sim") e (lban2="sim") e (lserv2="sim")) então
      escreval("Parabens, Seu hotel tem 5 estrelas")
   SENAO
      SE ((rrep=24) e (crep="física") e (rqtr>=15) e (rporcentagem>=0.9) e (rban>=3) e (rporcentagem2>=0.9) e (rroupas=7) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="sim") e (ldiet="sim") e (lserv="sim") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
         escreval("Parabens, Seu hotel tem 4 Estrelas")
      SENAO
         SE ((((rrep>=18) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=13) e (rporcentagem>=0.8) e (rban>=3) e (rporcentagem2>=0.8) e (rroupas>=3.5) e (rroupas2=7) e (lcafe="sim") e (lres="sim") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="sim") e (lrefr="sim") e (lnet="sim") e (lhidro="sim") e (lar="sim") e (lest="sim") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
            escreval("Parabens, seu hotel tem 3 estrelas")
         SENAO
            SE ((((rrep>=12) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=11) e (rporcentagem>=0.7) e (rban>=2) e (rporcentagem2>=0.7) e (rroupas>=2) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
               escreval("Parabens, seu hotel tem 2 estrelas")
            SENAO
               SE ((((rrep>=12) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então
                  escreval("Parabens, seu hotel tem 1 estrela")
               SENAO
                  escreval("Que pena, seu hotel nao tem nenhuma estrela")
               FIMSE
            FIMSE
         FIMSE
      FIMSE
   FIMSE
escreval("Obrigado por usar o nosso programa")

 

 

Vide comentário anterior:

 

Em 06/01/2017 às 09:14, Simon Viegas disse:

1) dê uma olhada nos Operadores Relacionais;      (tem alguns escritos errados)

2) as "operações relacionais" (cálculos que usam operadores relacionais) são individuais, cada operação tem que ficar entre parênteses isoladamente, ou seja, na prática, os Operadores Lógicos atuarão com o resultado dessas operações, ex.:

 

 

Então, ao compilar, cai na linha:

SE ((((rrep>=12) e (crep="físico")) ou ((rrep>=24) e (crep="telefone"))) e (rqtr>=9) e (rporcentagem>=0.65) e (rban>=2) e (rporcentagem2>=0.65) e (rroupas=>1) e (rroupas2>=0) e (lcafe="sim") e (lres="não") e (lbar="não") e (ldiet="não") e (lserv="não") e (ltv="não") e (lrefr="não") e (lnet="não") e (lhidro="não") e (lar="não") e (lest="não") e (lmano="não") e (lcol="não") e (lban2="não") e (lserv2="não")) então

Provavelmente o erro está ai... Como citado, você tem que verificar os "operadores racionais" e se os parênteses estão certos!

O VisuAlg tem duas limitações péssimas:
1) Não aponta o erro na compilação, mas apenas quando vai executar;

2) Não aponta a coluna, no máximo aponta a linha (e nem sempre acerta).

 

Mas olhando a linha temos um:

(rroupas=>1)

Não existe esse operador lógico "=>", como sabido, é ">=".
 

***

 

Obs.: para testar a execução (já que o VisuAlg não verifica na compilação) a sintaxe, retire as perguntas. Deixe só os SE.

 

Faça isso... ache a linha do erro, e vá olhando primeiro operador por operador relacional. Vai (deveria) achar esse "=>"). Verifica se tem mais algum. Corrige e compila. Vê se tem outro erro. (não vai ter). Se tivesse, provavelmente seria dos parênteses (não é o caso).

 

Para testar, pode usar de testes de mesas... cria algumas respostas e anota os resultados esperados, daí vai executando mentalmente os se, e vê se bate com o esperado. Após testa na prática e vê se realmente confere.

 

 

PS: Em divisões, é necessário inserir uma proteção contra divisão por 0, pois matematicamente é um erro ("dá pau").

No caso, em:

rporcentagem<-(rquant/rporc)

e

rporcentagem2<-(rquant2/rporc2)

Teriam que ter um "se rporc" e "se rporc2" "diferentes de 0" respectivamente antes deles.

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

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...