• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

perez

[Resolvido]Instrução para...

5 mensagens neste tópico

Boas,

eu estava a escrever um algoritmo em pascal e a determinada altura (no fim quando estava a definir as teclas para repetir o programa) lembrei-me que já tinha visto em algum lado mas não sei fazer.

Program demonstra;
uses crt;
var
x:string[1];
Begin
    Repeat
        ClrScr;
          WriteLn('Escreva uma letra');
          Read(x);
          WriteLn('Tu escreveste ',x);
          Readkey;
        WriteLn('Deseja repetir? (s/n)');
        Read(a);                                            <-|
    Until (a = 'n')
End.

(Algoritmo de demonstração)

Na linha com a seta o user escreve 's' ou 'n' e dá enter para repetir o programa, o que eu queria saber é qual é a instrução para bastar ao user clicar na tecla e o programa repita, sem ter que clicar enter.

Alguém me pode ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpa a demora mas tenho um problema com ciclos infinitos e perder o trabalho 0.o

também sou do 10º ano =P

deixo-te aqui um pequeno exemplo que fiz no Pzim

Program Pzim ;
var c: char;
Begin
repeat
writeln ('Hello world');
writeln ('Deseja Repetir?');

    repeat
        c := upcase(readkey);
    until (c = 'N') or (c = 'S');

until (c = 'N');
End.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

eu estava a escrever um algoritmo em pascal e a determinada altura (no fim quando estava a definir as teclas para repetir o programa) lembrei-me que já tinha visto em algum lado mas não sei fazer.

Program demonstra;
uses crt;
var
x:string[1];
Begin
    Repeat
        ClrScr;
          WriteLn('Escreva uma letra');
          Read(x);
          WriteLn('Tu escreveste ',x);
          Readkey;
        WriteLn('Deseja repetir? (s/n)');
        Read(a);                                            <-|
    Until (a = 'n')
End.

(Algoritmo de demonstração)

Na linha com a seta o user escreve 's' ou 'n' e dá enter para repetir o programa, o que eu queria saber é qual é a instrução para bastar ao user clicar na tecla e o programa repita, sem ter que clicar enter.

Alguém me pode ajudar?

Tens a certeza que isso dá para fazer em pascal? Noutras linguagens sei que dá mas nessa acho que só com o Enter é que podes passar à instrução seguinte.

Quer dizer.. a nao ser que definas o s ou o n como a tecla Enter.. mas nao sei ate q ponto é possivel..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpa a demora mas tenho um problema com ciclos infinitos e perder o trabalho 0.o

também sou do 10º ano =P

deixo-te aqui um pequeno exemplo que fiz no Pzim

Program Pzim ;
var c: char;
Begin
repeat
writeln ('Hello world');
writeln ('Deseja Repetir?');

    repeat
        c := upcase(readkey);
    until (c = 'N') or (c = 'S');

until (c = 'N');
End.

dá erro :/

Vasco16, sim tenho, pois eu encontrei um tretis em pascal que no fim do jogo diz: clique 's' para sair ou 'n' para novo jogo, e não precisa dar enter

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu fiz no pascal pzim , la copila sem erro, sim tirei essa ideia a uns tempos de o tetris ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora