Ir ao conteúdo
  • Cadastre-se
Simoneslv

Pascal Como colocar para que as opções de maior pontuação e menor pontuação funcionem

Recommended Posts

Boa noite,

Preciso de ajuda no meu quis feito em Pascal.

Queria saber como coloco para que as opções de maior pontuação e menor pontuação funcionem, pois, sempre aparece a última pontuação e as outras são esquecidas.

Gostaria também como arrumar a questão de quando o jogador querer continuar no quis, a linha de inserir a senha não fique na mesma linha da pergunta de continuar ou sair.

 

Obrigada desde já!

Código:

Spoiler

Program Pzim ;
{quis: Introdução à Linguagem de Programação.}
var
senha: integer;
nome: string;
sair: char;
opcao,contV,contP,maiorP,menorP: integer;
Begin
    textcolor(13);
    contV:=0;
    contP:=0;
    repeat
        contV:=contV+1;
        contP:=0;
        writeln('Olá, digite a senha para entrar no software: ');
        read(senha);
        clrscr;
        if(senha=2018)then
            writeln('Acesso permitido')
        else
            writeln('Acesso negado');
        clrscr;
        while(senha<>2018)do
        begin
            writeln('Senha inválida');
            writeln('Digite a senha novamente: ');
            read(senha);
        end;
        clrscr;
        writeln('Bem-vindo (a) ao quis. Para jogar o software você deve responder as perguntas solicitadas sobre Introdução à Linguagem de Programação');
        readln;
        clrscr;
        writeln('Digite seu nome de usuário: ');
        read(nome);
        clrscr;
        writeln('A) Na linguagem Pascal, o comando readkey serve para: ');
        writeln('1 - Inserir um ponto e vírgula no final do código');
        writeln('2 - Esperar o usuário apertar a tecla enter');
        writeln('3 - Mudar a cor das letras');
        writeln('4 - Desfazer uma linha de código');
        read(opcao); 
        while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
        begin
            writeln('Opção inválida');
            writeln('Digite corretamente: ');
            read(opcao);
        end;         
        case opcao of
            1:
            writeln('Resposta incorreta');
            2:
            writeln('Resposta correta');
            3:
            writeln('Resposta incorreta');
            4:
            writeln('Resposta incorreta');
        end;
        if(opcao=2)then
            contP:=contP+10;
        delay(1000);
        clrscr;
        writeln('B) Para o que serve o comando clrscr: ');
        writeln('1 - Escrever na tela');
        writeln('2 - Adicionar um ponto e vírgula (;)');
        writeln('3 - N.D.A');
        writeln('4 - Limpar a tela');
        read(opcao);
        while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
        begin
            writeln('Opção inválida');
            writeln('Digite corretamente: ');
            read(opcao);
        end; 
        case opcao of
            1:
            writeln('Resposta incorreta');
            2:
            writeln('Resposta incorreta');
             3:
          writeln('Resposta incorreta');
              4:
          writeln('Resposta correta');
        end;
        if(opcao=4)then
            contP:=contP+10;
        delay(1000);
        clrscr;
        writeln('C) Qual símbolo é utilizado para realizar a multiplicação: ');
        writeln('1 - /');
        writeln('2 - %');
        writeln('3 - *');
        writeln('4 - x');
        read(opcao);
        while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
        begin
          writeln('Opção inválida');
          writeln('Digite corretamente: ');
          read(opcao);
        end;
        case opcao of
              1:
          writeln('Resposta incorreta');
          2:
          writeln('Resposta incorreta');
          3:
          writeln('Resposta correta');
          4:
          writeln('Resposta incorreta');
        end;
        if(opcao=3)then
            contP:=contP+10;
        delay(1000);
        clrscr;
        writeln('D) Quais os tipos de variáveis que podem ser utilizados para o comando case: ');
      writeln('1 - integer, string, char');
      writeln('2 - real, boolean, varchar');
      writeln('3 - char, integer, boolean');
      writeln('4 - char, integer, boolean, real, string, varchar');
      read(opcao);
      while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
      begin
            writeln('Opção inválida');
        writeln('Digite corretamente: ');
        read(opcao);
      end;
      case opcao of
        1:
        writeln('Resposta incorreta');
        2:
        writeln('Resposta incorreta');
        3:
        writeln('Resposta correta');
        4:
        writeln('Resposta incorreta');
      end;
      if(opcao=3)then
          contP:=contP+10;
      delay(1000);
      clrscr;
      writeln('E) Quando entre o comando if e else temos mais de uma linha de código: ');
        writeln('1 - Utilizamos begin e end e todas as linhas possuem ponto-e-vírgula');
      writeln('2 - Ultilizamos of');
      writeln('3 - Utilizamos delay e todas as linhas possuem ponto');
        writeln('4 - Não usamos begin e end e só colocamos ponto-e-vírgula na última linha de código');
      read(opcao);
      while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
      begin
        writeln('Opção inválida');
        writeln('Digite corretamente: ');
        read(opcao);
      end;
      case opcao of
        1:
        writeln('Resposta correta');
        2:
        writeln('Resposta incorreta');
        3:
            writeln('Resposta incorreta');
        4:
        writeln('Resposta incorreta');
      end;
      if(opcao=1)then
          contP:=contP+10;
      delay(1000);
      clrscr;
      writeln('F) Em qual ano a linguagem Pascal foi criada: ');
      writeln('1 - Em 1850');
      writeln('2 - Em 2000');
      writeln('3 - Em 1940');
      writeln('4 - Em 1970');
      read(opcao);
      while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
      begin
        writeln('Opção inválida');
        writeln('Digite corretamente: ');
        read(opcao);
      end;
      case opcao of
        1:
        writeln('Resposta incorreta');
        2:
        writeln('Resposta incorreta');
        3:
        writeln('Resposta incorreta');
        4:
        writeln('Resposta correta');
      end;
      if(opcao=4)then
          contP:=contP+10;
      delay(1000);
      clrscr;
      writeln('G) As declarações de variáveis são obrigatórias para: ');
      writeln('1 - Identar o código');
          writeln('2 - Validar os identificadores');
      writeln('3 - Colocar data e hora');
      writeln('4 - Escolher qual tipo de exibição usar');
      read(opcao);
      while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
      begin
        writeln('Opção inválida');
        writeln('Digite corretamente: ');
        read(opcao);
      end;
      case opcao of
        1:
        writeln('Resposta incorreta');
        2:
        writeln('Resposta correta');
        3:
        writeln('Resposta incorreta');
        4:
        writeln('Resposta incorreta');
      end;
          if(opcao=2)then
          contP:=contP+10;
      delay(1000);
      clrscr;
      writeln('H) A expressões lógicas " =, <>, And, >= " significam: ');
      writeln('1 - Diferente, maior, ou, menor igual');
      writeln('2 - Igual, maiormenor, e, maior igual');
      writeln('3 - Igual, diferente, ou, menor igual');
      writeln('4 - Igual, diferente, e, maior igual');
      read(opcao);
      while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
      begin
        writeln('Opção inválida');
        writeln('Digite corretamente: ');
        read(opcao);
      end;
      case opcao of
        1:
        writeln('Resposta incorreta');
            2:
        writeln('Resposta incorreta');
        3:
        writeln('Resposta incorreta');
        4:
        writeln('Resposta correta');
      end;
      if(opcao=4)then
      contP:=contP+10;
      delay(1000);
      clrscr;
      writeln('I) Qual o último caractere utilizado no código: ');
      writeln('1 - Ponto e vírgula(;)');
        writeln('2 - End');
        writeln('3 - Ponto (.)');
        writeln('4 - vírgula (,)');
        read(opcao);
        while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
        begin
          writeln('Opção inválida');
          writeln('Digite corretamente: ');
          read(opcao);
        end;
        case opcao of
          1:
          writeln('Resposta incorreta');
          2:
          writeln('Resposta incorreta');
          3:
          writeln('Resposta correta');
          4:
          writeln('Resposta incorreta');
        end;
        if(opcao=3)then
            contP:=contP+10;
        delay(1000);
        clrscr;
        writeln('J) Qual a tecla utilizada para compilar o código: ');
        writeln('1 - F9');
        writeln('2 - Esc');
        writeln('3 - Enter');
        writeln('4 - F5');
        read(opcao);
        while(opcao<>1)and(opcao<>2)and(opcao<>3)and(opcao<>4)do
        begin
          writeln('Opção inválida');
          writeln('Digite corretamente: ');
          read(opcao);
        end;
        case opcao of
          1:
          writeln('Resposta correta');
          2:
          writeln('Resposta incorreta');
          3:
          writeln('Resposta incorreta');
          4:
          writeln('Resposta incorreta');
        end;
        if(opcao=1)then
            contP:=contP+10;
        delay(1000);
        clrscr;
        if(contP>maiorP)then
            maiorP:=contP;
        if(contP<menorP)then
            menorP:=contP;
        writeln('Parabéns, ',nome,', você terminou o quis');
        writeln('Sua pontuação foi de ',contP,' pontos');
        readln;
        clrscr;
        writeln('Deseja continuar o quis?');
        writeln('Para sair digite S');
        writeln('Para continuar digite outra letra');
        read(sair);
        clrscr;
    until(upCase(sair)='S');
    clrscr;
    writeln('Você jogou ',contV,' vezes');
    writeln('Sua maior pontuação foi: ',maiorP);
    writeln('Sua menor pontuação foi: ',menorP);
    readkey;
End.

 

Editado por Simon Viegas
Ao postar um código, utilize a tag CODE, botao <>
  • 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

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

×