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

NameException

Run do Free Pascal IDE

19 mensagens neste tópico

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm, pode não ter... Eu não usei crt em lado nenhum da minha cadeira de Programação e tive que fazer factoriais :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya mas para mostrar o valor como é que o mostravas ???

se fosse no ecran tinhas que por uses crt;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOOL e como é que metias um writeln sem o uses crt ??

poruqe é que achas que tem o nome CRT ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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