Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Augusto Ruviaro

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

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fabio Aragao    26

@Augusto Ruviaro Boa tarde,

 

O que voce chama de verificar a classificação ?? 

O que na verdade voce quer que o seu sistema faça ?

Coloca o que voce já fez para analisarmos

Compartilhar este post


Link para o post
Compartilhar em outros sites
Augusto Ruviaro    3
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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.

     

     

     

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Augusto Ruviaro    3
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Augusto Ruviaro    3
  • Autor do tópico
  • 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.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Augusto Ruviaro    3
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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

    Editado por Simon Viegas

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Augusto Ruviaro    3
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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.

    Editado por Simon Viegas
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Augusto Ruviaro    3
  • Autor do tópico
  • 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")

     

    Editado por Augusto Ruviaro
    Adicionando conteúdo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×