Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

NameException

Run do Free Pascal IDE

Mensagens Recomendadas

NameException    0
NameException

Boas tardes...

Estou iniciando a programação em Pascal utilizando o Free Pascal IDE 1.0.4, mas estou com uma duvida... Por exemplo, para calcular o factorial de um numero, pede-se ao utilizador um numero, sobre o qual depois é calculado o factorial.

Ao correr o programa (factorial, por exemplo), numa consola tipo DOS, do Free Pascal, é pedido um numero e após introduzido o numero seguido de "enter", a consola fecha-se e volta para a interface onde é escrito o código do programa, e só consigo ver o resultado fazendo novamente "run"....

Como contornar este problema?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Se entendi bem o problema tens de por uma pausa no fim do programa para poderes ver o resultado, se bem me lembro em Pascal isso faz-se com um simples readln.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

E isso permite "parar" a execução do programa de modo a ser visulizado o resultado na consola?

Sim, porque o programa vai esperar que lhe escrevas qualquer input na consola, porque usaste o readln, que tem essa mesma função (readline).

Outra solução é correres o programa mesmo pela linha de comandos (Start, Run: cmd).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Warrior    68
Warrior

Não é necessário usar esse truque, o FreePascal tem um atalho que volta a mostrar a consola.

Alt + F5 ou ctrl + F5 (ou F4?) é uma questão de tentares, já não programo Pascal há muito tempo.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ber0x88    0
ber0x88

E isso permite "parar" a execução do programa de modo a ser visulizado o resultado na consola?

Também podes usar o commando "readkey;" clicando numa tecla qualquer o programa continua...  :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
R4K4T4    0
R4K4T4

E isso permite "parar" a execução do programa de modo a ser visulizado o resultado na consola?

Também podes usar o commando "readkey;" clicando numa tecla qualquer o programa continua...  ;)

Esse comando resulta na maioria dos compiladores, mas nao em todos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Cypher    0
Cypher

o que existe é um erro ... por exmplo no pascal 7.0 tenso teu programa e no fical tens

readln;

muitas das vezes tar la e nao é igual .. Solução : meter 2 readln;

readln;

readln;

assim ja funciona , mas eu acho que a maneira mais correcta para fazer o que tu pretendes é com um

repeat until keypressed;

ou seja pára ate nao carregares numa tecla com diz a instrução....

cumps....

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
diogo.delgaudio    0
diogo.delgaudio

lembre que para usar o comando readkey é necessário adicionar a lib uses crt seu cabeçalho ficará assim:

program fatorial;

uses crt;

var

.

.

.

a minha dica é que você sempre use esta lib e utilize o readkey para dar o tempo de visualzar os resultados no fim do programa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Cypher    0
Cypher

lembre que para usar o comando readkey é necessário adicionar a lib uses crt seu cabeçalho ficará assim:

program fatorial;

uses crt;

var

.

.

.

a minha dica é que você sempre use esta lib e utilize o readkey para dar o tempo de visualzar os resultados no fim do programa.

ele lê o valor do factorial, por isso, partimos od principio que ja lá tem  uses crt;

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoRodrigues    0
JoaoRodrigues

writeln ? E depois punha um ciclo para se quisesses calcular outro factorial ou nao. Assim garantia sempre que vias o resultado final e dava-te a hipotese de repetires a operaçao sem reiniciares o programa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
diogo.delgaudio    0
diogo.delgaudio

se não me engano writeln não faz parte da biblioteca, que faz parte da biblioteca é o clrscr não tenho certeza.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
R4K4T4    0
R4K4T4

Calma.. eu nunca usei o crt e sempre usei o writeln... está-me algo a falhar?

Pelo menos no Dev-Pascal tens que usar o "uses crt" senão ele não compila.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoRodrigues    0
JoaoRodrigues

O writeln é 1 comando "básico". Por exemplo,

program HelloWorld(output);

begin

writeln('Hello World');

end.

Não leva uses crt. O ClrScr sim, precisa. Este não... pelo menos no meu FP-Compiler nunca precisou ;)

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade