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:  
Everton Looz

Portugol Exercício Portugol - Comandos SE SENAO, ETC

Recommended Posts

Bom dia!

 

Primeiramente gostaria de me apresentar.

Meu nome é Everton e recentemente iniciei um curso técnico de análise e desenvolvimento de sistemas...

Estamos no segundo mês de curso. Estou gostando bastante. Apesar de parecer muito simples. Estou tendo dificuldades nos comandos SE, SENAO e SENAO SE.

Não consegui resolver um exercício que me foi passado... e sinceramente fico bastante frustrado... kkkk.

Se alguém conseguir me dar uma dica, ficaria agradecido. 

A questão é o seguinte. Só pode ser feita com comandos de controle.

 

Questão: Preciso criar um algoritmo que tenha 3 senhas no sistema (Constantes) e um email também.

O usuário precisa primeiro inserir o E-mail. Se o e-mail estiver no sistema... ele irá pedir a senha do usuário em seguida se não... O programa finaliza nessa parte, nem chega a pedir os outros dados. (Meu problema é nessa parte).

Se a senha do usuário não for nenhuma das 3 do sistema ele informará, que senha é inválida e o programa finaliza. Caso for aparecerá mensagem, "Sistema Ativado".

 

Abaixo o código que fiz... Se alguém conseguir me dar uma luz, ficaria agradecido. Estamos usando o Portugol Studio.

Estou tendo problema na parte que pede o E-mail e o usuário insere o mesmo incorreto. Era pro problema finalizar e mesmo assim pede a senha...

Programa:

{
    funcao inicio()
    {

    const cadeia SENHA1 = "300390"
    const cadeia SENHA2 = "300490"
    const cadeia SENHA3 = "300590"
    const cadeia EMAIL = "teste_everton@hotmail.com"
    cadeia password
    cadeia email_usuario

     escreva ("Informe o seu email: ","\n")
     leia (email_usuario)

     se (email_usuario != EMAIL)
     {
         escreva ("E-mail inválido!")
     }

     se (email_usuario == EMAIL)
     {
     escreva ("Informe a sua senha: ")
     }
     leia (password)
     
      se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
          {
              escreva ("Sistema ativado!","\n")
          }
senao
{
    escreva ("Senha incorreta!")
}
    }
}

 

Muito obrigado galera!

 

:) 

Editado por Simon Viegas
Inserir tag CODE
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Everton Looz disse:

se (email_usuario != EMAIL)
     {
         escreva ("E-mail inválido!")
     }

Se esse primeiro SE der falso ....

2 horas atrás, Everton Looz disse:

se (email_usuario == EMAIL)
     {
     escreva ("Informe a sua senha: ")
     }

esse se vai dar sempre verdadeiro, concorda ? 
o que você tem que fazer é quebrar mais

se (email usuario != EMAIL ) { 

     escreva ("E-mail envalido") 

 } senao { /*  não precisa testar se é igual, só pode ser igual, concorda ?  ... */  

    escreva ("Informe a sua senha: ")
    leia (password)

    se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
          {
              escreva ("Sistema ativado!","\n")
          }
    senao  { 
        escreva ("Senha incorreta!")

    }

}

 

  • Amei 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Everton Looz     o programa está finalizando por que você precisa colocar um laço de repetição para que se a senha ou  ou o email estiver errado ele repita o código novamente e peça para digitar o email e a senha de novo,  então você pode colocar o comando enquanto assim :

inteiro flag=1
enquanto(flag==1)
{
    flag = 0
    escreva ("Informe o seu email: ","\n")
    leia (email_usuario)

    se (email_usuario != EMAIL)
    {
        escreva ("E-mail inválido!\n")
        flag=1
    }
    senao
        {
            escreva ("Informe a sua senha: ")
            leia (password)
            se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
            {
                escreva ("Sistema ativado!","\n")
            }
            senao
                {
                    escreva ("Senha incorreta!\n")
                    flag=1
            }
    }
}

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
33 minutos atrás, Boko Moko disse:

Se esse primeiro SE der falso ....

esse se vai dar sempre verdadeiro, concorda ? 
o que você tem que fazer é quebrar mais


se (email usuario != EMAIL ) { 

     escreva ("E-mail envalido") 

 } senao { /*  não precisa testar se é igual, só pode ser igual, concorda ?  ... */  

    escreva ("Informe a sua senha: ")
    leia (password)

    se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
          {
              escreva ("Sistema ativado!","\n")
          }
    senao  { 
        escreva ("Senha incorreta!")

    }

}

 

Entendi!

 

O meu leia (password) estava dando um problema devido a chave colocada erroneamente também... kkk. Dizia que o programa não conseguia compilar o password na parte da função do

" se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
          {
              escreva ("Sistema ativado!","\n")"" Não funcionava.

 

Agora consegui! Muito obrigado, pela ajuda. Meu código ficou assim... Está funcionando !

 

 

programa
{
    funcao inicio()
    {

    const cadeia SENHA1 = "300390"
    const cadeia SENHA2 = "300490"
    const cadeia SENHA3 = "300590"
    const cadeia EMAIL = "frost_everton@hotmail.com"
    cadeia password
    cadeia email_usuario

     escreva ("Informe o seu email: ","\n")
     leia (email_usuario)

     se (email_usuario != EMAIL)
     {
         escreva ("E-mail inválido!")
     }

     senao { 
     escreva ("Informe a sua senha: ")
     leia (password)
     
      se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
          {
              escreva ("Sistema ativado!","\n")
          }
senao
{
    escreva ("Senha incorreta!")
}
    }
    }
}

adicionado 1 minuto depois
13 minutos atrás, devair1010 disse:

@Everton Looz     o programa está finalizando por que você precisa colocar um laço de repetição para que se a senha ou  ou o email estiver errado ele repita o código novamente e peça para digitar o email e a senha de novo,  então você pode colocar o comando enquanto assim :


inteiro flag=1
enquanto(flag==1)
{
    flag = 0
    escreva ("Informe o seu email: ","\n")
    leia (email_usuario)

    se (email_usuario != EMAIL)
    {
        escreva ("E-mail inválido!\n")
        flag=1
    }
    senao
        {
            escreva ("Informe a sua senha: ")
            leia (password)
            se ((password == SENHA1) ou (password == SENHA2) ou (password == SENHA3))
            {
                escreva ("Sistema ativado!","\n")
            }
            senao
                {
                    escreva ("Senha incorreta!\n")
                    flag=1
            }
    }
}

 

Interessante!

Não entramos ainda nesse assunto de laço. Desculpe a ignorância. É que começamos recém a fazer isso.

No entanto, achei extremamente interessante esse comando!

Vou testar aqui!

Muito obrigado pela dica! :) 

  • Amei 1

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

×