NameException Posted August 3, 2006 at 02:28 PM Report #41952 Posted August 3, 2006 at 02:28 PM 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?
Triton Posted August 3, 2006 at 02:37 PM Report #41955 Posted August 3, 2006 at 02:37 PM 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. <3 life
NameException Posted August 3, 2006 at 02:40 PM Author Report #41957 Posted August 3, 2006 at 02:40 PM E isso permite "parar" a execução do programa de modo a ser visulizado o resultado na consola?
Triton Posted August 3, 2006 at 02:40 PM Report #41958 Posted August 3, 2006 at 02:40 PM 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). <3 life
NameException Posted August 3, 2006 at 02:51 PM Author Report #41960 Posted August 3, 2006 at 02:51 PM ok, obrigado pela dica!
Warrior Posted August 4, 2006 at 09:28 AM Report #42122 Posted August 4, 2006 at 09:28 AM 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.
Guest Posted August 13, 2006 at 09:39 AM Report #44033 Posted August 13, 2006 at 09:39 AM 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... 😄
R4K4T4 Posted June 25, 2007 at 10:32 PM Report #109970 Posted June 25, 2007 at 10:32 PM 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.
Cypher Posted June 26, 2007 at 04:33 AM Report #110081 Posted June 26, 2007 at 04:33 AM 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....
diogo.delgaudio Posted June 26, 2007 at 05:58 AM Report #110084 Posted June 26, 2007 at 05:58 AM 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. - Roger that.<br />- Affirmative.
Cypher Posted June 26, 2007 at 02:25 PM Report #110190 Posted June 26, 2007 at 02:25 PM 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
JoaoRodrigues Posted June 26, 2007 at 05:59 PM Report #110256 Posted June 26, 2007 at 05:59 PM Hmm, pode não ter... Eu não usei crt em lado nenhum da minha cadeira de Programação e tive que fazer factoriais 😁
Cypher Posted June 26, 2007 at 06:09 PM Report #110259 Posted June 26, 2007 at 06:09 PM ya mas para mostrar o valor como é que o mostravas ??? se fosse no ecran tinhas que por uses crt;
JoaoRodrigues Posted June 26, 2007 at 08:02 PM Report #110305 Posted June 26, 2007 at 08:02 PM 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.
Cypher Posted June 26, 2007 at 08:21 PM Report #110316 Posted June 26, 2007 at 08:21 PM LOOL e como é que metias um writeln sem o uses crt ?? poruqe é que achas que tem o nome CRT ?
JoaoRodrigues Posted June 27, 2007 at 02:35 AM Report #110468 Posted June 27, 2007 at 02:35 AM Calma.. eu nunca usei o crt e sempre usei o writeln... está-me algo a falhar?
diogo.delgaudio Posted June 29, 2007 at 06:24 AM Report #111072 Posted June 29, 2007 at 06:24 AM se não me engano writeln não faz parte da biblioteca, que faz parte da biblioteca é o clrscr não tenho certeza. - Roger that.<br />- Affirmative.
R4K4T4 Posted June 29, 2007 at 08:55 AM Report #111085 Posted June 29, 2007 at 08:55 AM 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.
JoaoRodrigues Posted June 29, 2007 at 02:28 PM Report #111220 Posted June 29, 2007 at 02:28 PM 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 😉
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now