Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Alguem sabe me ajudar com esse erro?


Posts recomendados

@simon viegas

program lista_de_exercicios ;
var
exercicio, exercicio1 : string;

resposta : char;
begin 
 
  repeat
 
  writeln('');
  writeln('===========================================================================================');
  writeln('                                      lista de exercicios                                  ');
  writeln('===========================================================================================');
  writeln('');
  
  writeln('');
  writeln('================================================================================');
  writeln('                                         1_exercicio 1                          ');
  writeln('                                         2_exercicio 3                          ');
  writeln('                                         3_exercicio 5                          ');
	writeln('                                         4_finalizar                            ');              
  writeln('================================================================================');
  writeln('');
  
  writeln('informe o exercicio (1, 2 ou 3 - press 4 para finalizar o programa): ');
  readln(exercicio);
  if(exercicio = '1') then
  begin
    writeln('qual dos itens e um dispositivo de entrada?');
    writeln('');
    writeln('==============================================================================');
    writeln('                                      a - teclado                             ');
    writeln('                                      b - monitor                             ');
    writeln('                                      c - caixa de som                        ');
    writeln('                                      d - impressora                          ');
    writeln('==============================================================================');
    writeln('digite a resposta (a, b, c ou d): ');
    readln(resposta);
    if(resposta = 'a') then
      writeln('resposta correta teclado!')
    else
      writeln('resposta incorreta');
  end;
  until((exercicio) = '4');
  
  end.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
29 minutos atrás, Simon Viegas disse:

2#

Muda o tipo da variável exercicio e a variável resposta para char, em vez de string. 

 

Está incompleto.

 

 

 

30 minutos atrás, Simon Viegas disse:

4#

Inicie frases com letras maiúsculas! Tudo em minúsculo fica muito estranho.

 

Faltou também...

 

 

 

 

30 minutos atrás, Simon Viegas disse:

6#

Se o usuário executar a opção 4, o algoritmo deve finalizar a execução do algoritmo com a mensagem, “fim de execução - tudo de bom.”.

 

Deixe a mensagem depois do until.

 

 

 

30 minutos atrás, Simon Viegas disse:

7#

Caso seja informado um número diferente de 1, 2 3 e 4, o algoritmo deve emitir a mensagem de opção inválida e voltar a pedir uma opção de menu novamente.

 

Insira um else no primeiro if (que tem exercicio = '1'), ou seja, ou entra na opção 1 ou mostra a mensagem.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
9 horas atrás, HUNTER020 disse:

@Simon Viegas Na linha de baixo do if, e digito só else mesmo?

 

Não. O else vai ficar após o end do begin do if (que tem exercicio = '1').

 

Se você ainda tem dúvidas em como é a sintaxe do if e do if/else, sugiro dar uma pesquisa sobre esses comandos. Salve esse projeto e faça alguns exercício especificamente de if e if/else.

Link para o comentário
Compartilhar em outros sites

Em 20/05/2019 às 22:34, HUNTER020 disse:

@Simon Viegas as duas ultimas

 

adicionado 0 minutos depois

as outras 5 já fiz aqui

Simon está online aí?

adicionado 4 minutos depois

tive que modificar o codigo que eu tinha escrito quase que por completo utilizando estrutura de multipla escolha só que ele não reconhece as respostas agora

adicionado 5 minutos depois
program lista_de_exercicios ;
var
exercicio: integer;
resposta : char;
begin
    clrscr();
  repeat
    
    writeln('');
    writeln('======================================================================================');
    writeln('                                      lista de exercicios                             ');
    writeln('======================================================================================');
    writeln('');
    
    writeln('');
    writeln('================================================================================');
    writeln('                                         1_exercicio 1                          ');
    writeln('                                         2_exercicio 3                          ');
    writeln('                                         3_exercicio 5                          ');
    writeln('                                         4_finalizar                            ');
    writeln('================================================================================');
    writeln('');
    
    writeln('informe o exercicio (1, 2 ou 3 - press 4 para finalizar o programa): ');
    readln(exercicio);
    
    case (exercicio) of
      1:  begin
      writeln('exercicio1') ;
            writeln('1_qual dos itens e um dispositivo de entrada?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                      a - teclado                             ');
      writeln('                                      b - monitor                             ');
      writeln('                                      c - caixa de som                        ');
      writeln('                                      d - impressora                          ');
      writeln('==============================================================================');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
      end;
      2:  begin
        writeln('exercicio2') ;
      writeln('3_qual dos itens e um dispositivo de saida?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                     a - teclado                              ');
      writeln('                                     b - mouse                                ');
      writeln('                                     c - monitor                              ');
      writeln('                                     d - cpu                                  ');
      writeln('==============================================================================');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
      end;
      3: begin
        
        writeln('exercicio3') ;
      writeln('5_qual destes pode ser considerado hardware?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                     a - windows                              ');
      writeln('                                     b - linux                                ');
      writeln('                                     c - chrome                               ');
      writeln('                                     d - placa-mãe                            ');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
        writeln();
      end;
      4: begin
        //aqui você deve utilizar o comando continue para que o algoritmo pule esta etapa e possa finalizar sua estrutura de repetição.
        continue;
      end;
      else begin
        writeln('número inválido') ;
      writeln('erro, a questao digitada e invalida!')
      end;
    end;
  until((exercicio) = 4);
end.

é só um rascunho mas ficou assim

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

@simon viegas

program lista_de_exercicios ;
var
exercicio: integer;
resposta : char;
begin
    
  repeat
    
    writeln('');
    writeln('======================================================================================');
    writeln('                                      lista de exercicios                             ');
    writeln('======================================================================================');
    writeln('');
    
    writeln('');
    writeln('================================================================================');
    writeln('                                         1_exercicio 1                          ');
    writeln('                                         2_exercicio 3                          ');
    writeln('                                         3_exercicio 5                          ');
    writeln('                                         4_finalizar                            ');
    writeln('================================================================================');
    writeln('');
    
    writeln('informe o exercicio (1, 2 ou 3 - press 4 para finalizar o programa): ');
    readln(exercicio);
    
    case (exercicio) of
      1:  begin
      clrscr();
      writeln('exercicio1') ;
            writeln('1_qual dos itens e um dispositivo de entrada?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                      a - teclado                             ');
      writeln('                                      b - monitor                             ');
      writeln('                                      c - caixa de som                        ');
      writeln('                                      d - impressora                          ');
      writeln('==============================================================================');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
      end;
      2:  begin
      clrscr();
        writeln('exercicio2') ;
      writeln('3_qual dos itens e um dispositivo de saida?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                     a - teclado                              ');
      writeln('                                     b - mouse                                ');
      writeln('                                     c - monitor                              ');
      writeln('                                     d - cpu                                  ');
      writeln('==============================================================================');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
      end;
      3: begin
      clrscr();  
        writeln('exercicio3') ;
      writeln('5_qual destes pode ser considerado hardware?');
      writeln('');
      writeln('==============================================================================');
      writeln('                                     a - windows                              ');
      writeln('                                     b - linux                                ');
      writeln('                                     c - chrome                               ');
      writeln('                                     d - placa-mãe                            ');
      writeln('digite a resposta (a, b, c ou d): ');
      readln(resposta);
        writeln();
      end;
      4: begin
      clrscr();
        //aqui você deve utilizar o comando continue para que o algoritmo pule esta etapa e possa finalizar sua estrutura de repetição.
        continue;
      end;
      else begin
        writeln('número inválido') ;
      writeln('erro, a questao digitada e invalida!')
      end;
    end;
  until((exercicio) = 4);
end.

agora estou apenas com o problema de o código não reconhecer as opções de resposta a, b, c e  d, alguem poderia me dar uma ajuda

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

  • Membro VIP
3 horas atrás, HUNTER020 disse:

@simon viegas

agora estou apenas com o problema de o código não reconhecer as opções de resposta a, b, c e  d, alguem poderia me dar uma ajuda 

 

Em relação a não reconhecer as opções, não vai reconhecer mesmo, pois você simplesmente não fez algo para isso..., ou seja: para tratar a resposta você precisa fazer justamente isso (tratar a resposta! :)). Isso você já fez nos outros códigos. Exemplo:

    '1':begin
        ClrScr();
        writeln('Exercicio1') ;
        writeln('1 - Qual dos itens é um dispositivo de entrada?');
        writeln('');
        writeln('==============================================================================');
        writeln('                                      a - Teclado                             ');
        writeln('                                      b - Monitor                             ');
        writeln('                                      c - Caixa de som                        ');
        writeln('                                      d - Impressora                          ');
        writeln('==============================================================================');
        write  ('=> ');
        readln(resposta);
        if (resposta = 'a') then
          write  ('Acertou, miseravi!')
        else
          write  ('Errou feio! Errou rude!');
        ReadKey;
        end;

Uma dúvida? cada "exercício" que o menu se refere seria cada "questão" dessa mesmo ou as 3 questões deveria fazer parte do exercício 1?

 

Se for a primeira coisa, tá certo... se for a segunda, por consequência, precisaria arrumar...

 

Segue um esboço de código:

program lista_de_exercicios ;
{
2) Elabore um algoritmo que monte um menu com as seguintes opções:
1  Exercício 1
2  Exercício 3
3  Exercício 5
4  Fim
Se o usuário executar a opção 1, o algoritmo deve executar o exercício 1 desta lista.
Se o usuário executar a opção 2, o algoritmo deve executar o exercício 3 desta lista.
Se o usuário executar a opção 3, o algoritmo deve executar o exercício 5 desta lista.
Se o usuário executar a opção 4, o algoritmo deve finalizar a execução do algoritmo 
  com a mensagem, fim de execução - tudo de bom.”.
Caso seja informado um número diferente de 1, 2 3 e 4, o algoritmo deve emitir a
  mensagem de opção inválida e voltar a pedir uma opção de menu novamente.
}
uses
  CRT; //necessário para alguns compiladores reconhecer o ClrScr, ReadKey etc (PZim pode remover)
var
  exercicio : char;
  resposta  : char;
  
BEGIN
repeat
  ClrScr();
  writeln('');
  writeln('======================================================================================');
  writeln('                                      LISTA DE EXERCÍCIOS                             ');
  writeln('======================================================================================');
  writeln('');
  writeln('');
  writeln('=====================================================================================');
  writeln('                                        1 - Exercício 1                              ');
  writeln('                                        2 - Exercicio 3                              ');
  writeln('                                        3 - Exercicio 5                              ');
  writeln('                                        4 - Fim                                      ');
  writeln('=====================================================================================');
  writeln('');
  write  ('=> ');
  readln(exercicio);
  case (exercicio) of
    '1':begin
        ClrScr();
        writeln('Exercício 1') ;
        writeln('1 - Qual dos itens é um dispositivo de entrada?');
        writeln('');
        writeln('==============================================================================');
        writeln('                                      a - Teclado                             ');
        writeln('                                      b - Monitor                             ');
        writeln('                                      c - Caixa de som                        ');
        writeln('                                      d - Impressora                          ');
        writeln('==============================================================================');
        write  ('=> ');
        readln(resposta);
        if (resposta = 'a') then
          write  ('Acertou, miseravi!')
        else
          write  ('Errou feio! Errou rude!');
        ReadKey;
        end;
    '2':begin
        ClrScr();
        writeln('Exercicio2') ;
        writeln('3 - Qual dos itens eh um dispositivo de saida?');
        writeln('');
        writeln('==============================================================================');
        writeln('                                     a - teclado                              ');
        writeln('                                     b - mouse                                ');
        writeln('                                     c - monitor                              ');
        writeln('                                     d - cpu                                  ');
        writeln('==============================================================================');
        write  ('=> ');
        readln(resposta);
        end;
    '3':begin
        ClrScr();  
        writeln('exercicio3') ;
        writeln('5 - Qual destes pode ser considerado hardware?');
        writeln('');
        writeln('==============================================================================');
        writeln('                                     a - windows                              ');
        writeln('                                     b - linux                                ');
        writeln('                                     c - chrome                               ');
        writeln('                                     d - placa-mãe                            ');
        write  ('=> ');
        readln(resposta);
        writeln();
        end;
    '4':begin
        ClrScr();
        //aqui você deve utilizar o comando continue para que o algoritmo pule esta etapa e possa finalizar sua estrutura de repetição.
        //Observação: Não, não precisa desse comando. Ou, se precisa aqui no 4, precisaria em TODAS as outras opções do case. (só aqui não faz sentido. A lógica é a mesma para qualquer opção)
        {Continue;} 
        end;
     else
       {begin} //O else do case NÃO precisa de begin/end
       writeln('Número inválido') ;
       writeln('Erro: a questão digitada é inválida!')
       {end;}
     end; //fim case
until (exercicio = '4');
END.

 

A depender, pega esse código acima e faz os ajustes que faltam. Após posta o código aqui para analisarmos.

 

Qualquer dúvida é só perguntar.

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

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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