Ir ao conteúdo
  • Cadastre-se

PZIM ajuda


Posts recomendados

PEssoal começei a programar a pouco tempo e estou com grandes duvids aqui num programa, agradeço a ajuda!
 

Program Pzim ;var i,p:integer;BeginWriteln('Bem-vindo ao programa do adivinho, onde será necessario 2 pessoas para jogar');Writeln('Passo a explicar como funciona, o jogo é constituido por 2 pessoas, o 1º jogador introduz 1 numero, enquanto o 2º jogador tenta acertar');Writeln('1º Jogador por favor coloque um numero entre 0-10');readln(p);while p > 10 OR p < 0 doBeginwriteln('Por favor coloque um valor entre 0 e 10);readln(p);end;ClrScr;Writeln(' 2 jogador por favor tente adivinhar o numero');readln(i);If (i>p) thenwriteln('o numero introduzir é maior do que o numero tentado adivinhar');else if (i<p) thenwriteln ('o numero introduzir é menor do que o numero tentado adivinhar');elsewriteln('Parabens acertou!');breakend ifWriteln('atenção segunda tentativa');If (i>p) thenwriteln('o numero introduzir é maior do que o numero tentado adivinhar');else if (i<p) thenwriteln ('o numero introduzir é menor do que o numero tentado adivinhar');elsewriteln('Parabens acertou!');breakend ifWriteln('Ultima tentativa');If (i>p) thenwriteln('o numero introduzir é maior do que o numero tentado adivinhar');Writeln('o numero era o' +p);else if (i<p) thenwriteln ('o numero introduzir é menor do que o numero tentado adivinhar');Writeln('o numero era o' +p);elsewriteln('Parabens acertou!');breakend ifEnd.
Link para o comentário
Compartilhar em outros sites

1 - Na linha 11, você esqueceu uma aspa no final do println:

writeln('Por favor coloque um valor entre 0 e 10');

 

2 - Além disso, a sintaxe do IF THEN ELSE é assim:

 

if <condição> then <comando> else <outro comando> ;

 

Note que você só usa o ponto-e-vírgula no final do else. Pois é tudo como se fosse um único bloco de código.

Se você usar o ponto-e-vírgula antes disso, vai dar erro.

 

No teu código você tá fazendo isso:

 
If (i>p) then    writeln('o numero introduzir é maior do que o numero tentado adivinhar');else ...
 
Aquele ponto-e-virgula no final do writeln é o que tá causando erro.
 
3 - Pra usar um bloco de código dentro do ELSE, você usa os comandos BEGIN END.
Então nessa parte:
 
else    writeln('Parabens acertou!');    breakend if

 

Corrija pra:

 

elsebegin    writeln('Parabens acertou!');    break;end;
Link para o comentário
Compartilhar em outros sites

o comando break so funciona dentro de while if ou for, e se por acaso a pessoa acerta queria que parasse

If (i>p) thenwriteln('o numero introduzir é maior do que o numero tentado adivinhar')else if (i<p) thenwriteln ('o numero introduzir é menor do que o numero tentado adivinhar')elsebegin    writeln('Parabens acertou!');    break;end;
Link para o comentário
Compartilhar em outros sites

Basta colocar tudo dentro de um while. Daí o break vai terminar o while.

Considerando que você tá repetindo o mesmo código 3 vezes, você devia ter feito isso no início... colocado o teu código de adivinhar o número dentro do while.

 

Program Pzim ;vari,p:integer;Begin    Writeln('Bem-vindo ao programa do adivinho, onde será necessario 2 pessoas para jogar');    Writeln('Passo a explicar como funciona, o jogo é constituido por 2 pessoas, o 1º jogador introduz 1 numero, enquanto o 2º jogador tenta acertar');    Writeln('1º Jogador por favor coloque um numero entre 0-10');    readln(p);    while (p > 10) OR (p < 0) do    Begin        writeln('Por favor coloque um valor entre 0 e 10');        readln(p);    end;    repeat        Writeln(' 2 jogador por favor tente adivinhar o numero');        readln(i);        If (i>p) then            writeln('o numero introduzir é maior do que o numero tentado adivinhar')        else if (i<p) then            writeln ('o numero introduzir é menor do que o numero tentado adivinhar')        else            writeln('Parabens acertou!');    until i = p;End.
Link para o comentário
Compartilhar em outros sites

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