Ir ao conteúdo

Posts recomendados

Postado

Galera...Acompanhei os vídeos sobre logica de programação do canal RBtech, como ele ensina no VisuAlg fiz meus primeiros algoritmos nele.

Agora estou tentando fazer no Pascal uns algoritmos que aprendi no VisuAlg e estou com dificuldades.

 

O Primeiro algoritmo é assim:

 

Ele escreve na tela: "Digite uma estação do ano".

e pra cada estação escolhida você recebe uma frase diferente.

 

Segue o algoritmo:


 

program Estacoes_do_ano;
var
    estacao:string;
Begin
    write ('Digite uma estação do ano: ');
    read (estacao);
    

    if estacao = 'outono' then
        writeln ('Passeie no Bosque!!!');
        
    if estacao = 'inverno' then
        writeln ('Agasalhe-se bem!!!');
        
    if estacao = 'primavera' then
        writeln ('Aprecie seu Jardim!!!');
        
    if estacao = 'verao' then
        writeln ('Cuidado com o sol!!!')
        
  else
        write ('verifique o que vc digitou');
        
 End.

 

se eu escrevo verão, aparece a frase correta. Mas quando escrevo qualquer outra estação aparece a frase correspondente + a "verifique o que você digitou".

Queria colocar também duas opções para verão, com e sem acento (verao, verão), mas não estou conseguindo.

 

 

  • Curtir 1
  • Membro VIP
Postado

Olá.

 

Minhas sugestões:

 

1 ) READ x READLN

Uma orientação básica seria: use apenas readln. Não use read (sem o ln)

 

Existem diferenças entre um e outro, mas por enquanto basta saber que só* se deve usar o readln.

 

2 ) CONDIÇÕES MUTUALMENTE EXCLUSIVAS

21 horas atrás, llucas74 disse:

se eu escrevo verão, aparece a frase correta. Mas quando escrevo qualquer outra estação aparece a frase correspondente + a "verifique o que você digitou".

No caso do verão, você está utilizando um else no if, ou seja, caso o if seja falso, entra no else. Da mesma forma, caso o if seja verdadeiro, ele pula o else. RESUMINDO: ou executa o que está no if, ou executa o que está no else. Daí, se responder verão, a frase que está no else não vai ser "validada", mas se for outra frase qualquer, vai executar o que está no else, entende?

 

POSSÍVEL SOLUÇÃO

 

Como  todas opções são mutualmente exclusivas entre si, ou seja, se for uma delas, não pode ser outra, todos os ifs devem ficar "entrelaçados"... algo como:

 

if (condição) then
  comandos
else
  if (condição) then
    comandos
  else 
    if (condição) then
      comandos
    else
      if (condição) then
        comandos
      else
        comandos  

Para seu código, o "inverno" viria do else do "outono", já a "primavera" do else do "inverno"... etc

 

No aguardo

Postado

Funcionou perfeitamente dessa forma, muito obrigado :-)

 

Minha duvida agora é o seguinte:

Como colocar duas condições ou mais no mesmo IF. para o sistema reconhecer por exemplo: verao e verão. ou outono e Outono.

tentei colocar virgula e tal, mas nao deu certo.

 

  • Membro VIP
Postado

Olá,

 

Exemplo:

 

if (estacao = 'outono') or (estacao = 'Outono') or (estacao = 'OUTONO') then
if (estacao = 'verao') or (estacao = 'Verao') or (estacao = 'VERAO') then

 

Obs.1: creio que se faz necessário o uso do "( )" nesse caso. Com uma condição só é facultativo...

 

Obs.2: O uso de "caracteres especiais" é uma detalhe a parte, ou seja, a princípio não aceita "ç", "ã", "é" etc.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!