Como instalar o compilador Free Pascal
Este tutorial aborda desde a cópia e instalação do compilador Free Pascal no Red Hat 9 até a criação de alguns exemplos práticos (código e compilação) de programas nesta linguagem.
Parte 5: Testando o Free Pascal
Desenvolvendo um simples programa em Pascal
Faça logon com seu usuário de uso diário, no meu caso, farei o logon com o usuário edersg.
Estando no seu diretório HOME, ou seja, no meu caso: /home/edersg/, vamos criar um diretório (pasta) para armazenamos nossos programas em Pascal. Resolvi criar o diretório (pasta) chamado pascal-softs:
$ mkdir pascal-softs
Logo após, acesse o diretório (pasta) pascal-softs:
$ cd pascal-softs/
Crie um arquivo chamado programa01.pas com o comando:
$ touch programa01.pas
Logo após, para confirmar que o arquivo acima foi criado, digite:
$ ls -lh
-rw-rw-r-- 1 edersg edersg 0 Aug 11 11:25 programa01.pas
Escolha seu editor predileto (vi, vim, emacs, mcedit, kwrite, kedit, xedit, pico, joe etc) e edite o arquivo programa01.pas:
$ vi programa01.pas
Digite as seguintes instruções abaixo:
program programa01; // O programa se chama 'programa01'
begin
writeln ('Olá, este é meu primeiro software em PASCAL!'); // Exibe/imprime no monitor de vídeo do usuário a frase 'Olá, este é meu primeiro software em PASCAL!
end.
begin
writeln ('Olá, este é meu primeiro software em PASCAL!'); // Exibe/imprime no monitor de vídeo do usuário a frase 'Olá, este é meu primeiro software em PASCAL!
end.
Para compilar o arquivo programa01.pas, digite:
$ fpc programa01.pas
Free Pascal Compiler version 1.0.4 [2000/12/18] for i386
Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling programa01.pas
Assembling programa01
Linking programa01
4 Lines compiled, 0.0 sec
Ok, a compilação foi um sucesso. Foi criado o arquivo executável chamado programa01.
Para rodar/executar o programa, digite:
$ ./programa01
Olá, este é meu primeiro software em PASCAL!
Como você pode ver acima, o programa foi executado com sucesso. Parabéns!
Desenvolvendo um médio programa em Pascal
Depois de desenvolver um simples programa em Pascal, vamos criar logo abaixo um programa um pouco mais complexo que o anterior.
Crie um arquivo chamado programa02.pas com o comando:
$ touch programa02.pas
Logo após, para confirmar que o arquivo acima foi criado, digite:
$ ls -lh *.pas
-rw-rw-r-- 1 edersg edersg 237 Aug 11 11:31 programa01.pas
-rw-rw-r-- 1 edersg edersg 0 Aug 11 11:37 programa02.pas
Escolha seu editor predileto (vi, vim, emacs, mcedit, kwrite, kedit, xedit, pico, joe etc) e edite o arquivo programa02.pas:
$ vi programa02.pas
Digite as seguintes instruções abaixo:
program programa02; // O programa se chama 'programa02'
// DEFININDO, DECLARANDO CONSTANTES
Const
time = 'Chicago Bulls'; // a CONSTANTE 'time' é igual a 'Chicago Bulls'
salario = '240,00'; // a CONSTANTE 'salario' é igual a 240.00
// DEFININDO, DECLARANDO VARIÁVEIS
var
numero1, numero2, resultado : integer; // define a variável 'numero1', 'numero2' e 'resultado como do tipo INTEGER (inteiro)
nome, sobrenome : string; // define a variável 'nome' e 'sobrenome' como do tipo STRING(caracteres)
begin
// ATRIBUINDO VALORES ÀS VARIÁVEIS
numero1 := 6; // atribui o valor INTEIRO 6 à variável 'numero1'
numero2 := 2; // atribui o valor INTEIRO 2 à variável 'numero2'
resultado := (numero1 + numero2); // atribui o valor da soma de 'numero1' e 'numero2' à variável 'resultado'
nome := 'Eder'; // atribui a STRING 'Eder' à variável 'nome'
sobrenome := 'Jordam'; // atribui a STRING 'Jordam' à variável 'sobrenome'
// EXIBINDO OS RESULTADOS DAS OPERAÇÕES PARA O USUÁRIO
writeln ('Oi, este é meu segundo software em PASCAL!'); // Exibe, imprime no monitor de vídeo do usuário a frase 'Olá, este é meu segundo software em PASCAL!
writeln ('---------------------------------------------------------------------');
writeln ('Meu nome é ' + nome + ' e meu sobrenome é ' + sobrenome); // Exibe, imprime no monitor de vídeo do usuário a frase 'Meu nome é Eder e meu sobrenome é Jordam'
writeln ('---------------------------------------------------------------------');
writeln ('Eu sou torcedor de um dos melhores times da NBA: ' + time); // Exibe, imprime no monitor de vídeo do usuário a frase 'Eu sou torcedor de um dos melhores times da NBA: Chicago Bulls'
writeln ('---------------------------------------------------------------------');
writeln ('A soma do algarismo 6 com o algarismo 2 é '); // Exibe, imprime no monitor de vídeo do usuário a frase 'A soma do algarismo 6 com o algarismo 2 é'
writeln (resultado); // Exibe, imprime no monitor de vídeo do usuário o número armazenado na variável 'resultado'
if (numero1 > numero2) then // SE numero1 FOR MAIOR QUE numero2 ENTÃO
begin
writeln ('---------------------------------------------------------------------');
writeln ('O numero1 É MAIOR que o numero2'); // exibe a frase: 'O numero1 É MAIOR que o numero2'
writeln ('---------------------------------------------------------------------');
end
else // SENAO
begin
writeln ('---------------------------------------------------------------------');
writeln ('O numero1 NÃO É MAIOR que o numero2'); // exibe a frase: 'O numero1 NÃO É MAIOR que o numero2'
writeln ('---------------------------------------------------------------------');
end;
writeln ('Atualmente o trabalhar brasileiro ganha de salário mínimo R$ ' + salario); // Exibe, imprime no monitor de vídeo do usuário a frase 'Atualmente o trabalhar brasileiro ganha de salário mínimo R$ 240,00'
writeln ('---------------------------------------------------------------------');
end.
// DEFININDO, DECLARANDO CONSTANTES
Const
time = 'Chicago Bulls'; // a CONSTANTE 'time' é igual a 'Chicago Bulls'
salario = '240,00'; // a CONSTANTE 'salario' é igual a 240.00
// DEFININDO, DECLARANDO VARIÁVEIS
var
numero1, numero2, resultado : integer; // define a variável 'numero1', 'numero2' e 'resultado como do tipo INTEGER (inteiro)
nome, sobrenome : string; // define a variável 'nome' e 'sobrenome' como do tipo STRING(caracteres)
begin
// ATRIBUINDO VALORES ÀS VARIÁVEIS
numero1 := 6; // atribui o valor INTEIRO 6 à variável 'numero1'
numero2 := 2; // atribui o valor INTEIRO 2 à variável 'numero2'
resultado := (numero1 + numero2); // atribui o valor da soma de 'numero1' e 'numero2' à variável 'resultado'
nome := 'Eder'; // atribui a STRING 'Eder' à variável 'nome'
sobrenome := 'Jordam'; // atribui a STRING 'Jordam' à variável 'sobrenome'
// EXIBINDO OS RESULTADOS DAS OPERAÇÕES PARA O USUÁRIO
writeln ('Oi, este é meu segundo software em PASCAL!'); // Exibe, imprime no monitor de vídeo do usuário a frase 'Olá, este é meu segundo software em PASCAL!
writeln ('---------------------------------------------------------------------');
writeln ('Meu nome é ' + nome + ' e meu sobrenome é ' + sobrenome); // Exibe, imprime no monitor de vídeo do usuário a frase 'Meu nome é Eder e meu sobrenome é Jordam'
writeln ('---------------------------------------------------------------------');
writeln ('Eu sou torcedor de um dos melhores times da NBA: ' + time); // Exibe, imprime no monitor de vídeo do usuário a frase 'Eu sou torcedor de um dos melhores times da NBA: Chicago Bulls'
writeln ('---------------------------------------------------------------------');
writeln ('A soma do algarismo 6 com o algarismo 2 é '); // Exibe, imprime no monitor de vídeo do usuário a frase 'A soma do algarismo 6 com o algarismo 2 é'
writeln (resultado); // Exibe, imprime no monitor de vídeo do usuário o número armazenado na variável 'resultado'
if (numero1 > numero2) then // SE numero1 FOR MAIOR QUE numero2 ENTÃO
begin
writeln ('---------------------------------------------------------------------');
writeln ('O numero1 É MAIOR que o numero2'); // exibe a frase: 'O numero1 É MAIOR que o numero2'
writeln ('---------------------------------------------------------------------');
end
else // SENAO
begin
writeln ('---------------------------------------------------------------------');
writeln ('O numero1 NÃO É MAIOR que o numero2'); // exibe a frase: 'O numero1 NÃO É MAIOR que o numero2'
writeln ('---------------------------------------------------------------------');
end;
writeln ('Atualmente o trabalhar brasileiro ganha de salário mínimo R$ ' + salario); // Exibe, imprime no monitor de vídeo do usuário a frase 'Atualmente o trabalhar brasileiro ganha de salário mínimo R$ 240,00'
writeln ('---------------------------------------------------------------------');
end.
Para compilar o arquivo programa02.pas, digite:
$ fpc programa02.pas
Free Pascal Compiler version 1.0.4 [2000/12/18] for i386
Copyright (c) 1993-2000 by Florian Klaempfl
Target OS: Linux for i386
Compiling programa02.pas
Assembling programa02
Linking programa02
50 Lines compiled, 0.0 sec
Ok, a compilação foi um sucesso. Foi criado o arquivo executável chamado programa02. Para rodar/executar o programa, digite:
$ ./programa02
Oi, este é meu segundo software em PASCAL!
--------------------------------------------------------------
Meu nome é Eder e meu sobrenome é Jordam
--------------------------------------------------------------
Eu sou torcedor de um dos melhores times da NBA: Chicago Bulls
--------------------------------------------------------------
A soma do algarismo 6 com o algarismo 2 é
8
--------------------------------------------------------------
O numero1 É MAIOR que o numero2
--------------------------------------------------------------
Atualmente o trabalhar brasileiro ganha de salário mínimo R$ 240,00
--------------------------------------------------------------
Como você pode ver acima, o programa foi executado com sucesso. Mais uma vez, meus Parabéns!
Páginas do artigo
1. Licença2. Introdução
3. Copiando o Free Pascal da Internet
4. Instalando o Free Pascal
5. Testando o Free Pascal
6. Sobre o autor
Outros artigos deste autor
Como instalar o software p2p XMule no Red Hat Linux 9
Guia: Pós-instalação do Debian Linux 4.0 Etch/Stable
Como instalar/configurar e rodar aplicativos Java sob o Red Hat Linux 9
Leitura recomendada
Como instalar o Brackets nas versões mais recentes do Linux
A Vida em Preto e Branco I - Pebrot, MSN em modo texto
Convertendo os Arquivos de Temas do Windows (.themepack) em Pacotes de Wallpapers Úteis para o Linux
openSUSE - As várias formas de atualizá-lo e de instalar pacotes
Comentários
Tem o artigo do Dr. Cabelo sobre o Lazarus também que é uma interface muito legal. A propósito, quem instalar o FPC, dê uma boa olhada na biblioteca GTK é muito boa.
Artigo sobre Lazarus:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=176
[]'s
Celso Goya
moinho.net
Artigo sobre Lazarus:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=176
[]'s
Celso Goya
moinho.net
ae, legal isso...
não curto pascal, mas vou ter que vê-lo aqui na facul.. mas pelo menos já rodo ele aqui no linux e boa..
:-)
não curto pascal, mas vou ter que vê-lo aqui na facul.. mas pelo menos já rodo ele aqui no linux e boa..
:-)
Olá,
Eu instalei o free pascal na /usr e ao rodar o programa que fiz como teste, deu o seguinte erro:
Free Pascal Compiler version 2.0.4 [2006/08/20] for i386
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Linux for i386
Compiling programa01.pas
Linking programa01
programa01.pas(4,3) Error: Util ld not found, switching to external linking
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Mas apenas quando rodeu no ubuntu. No slakeware rodou legal...O q houve?
Eu instalei o free pascal na /usr e ao rodar o programa que fiz como teste, deu o seguinte erro:
Free Pascal Compiler version 2.0.4 [2006/08/20] for i386
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Linux for i386
Compiling programa01.pas
Linking programa01
programa01.pas(4,3) Error: Util ld not found, switching to external linking
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Mas apenas quando rodeu no ubuntu. No slakeware rodou legal...O q houve?
Deu essa mesma m**** pra mim. Tem alguma dica por aí?
No momento estou com o Slackware 10.1 e CL10
No momento estou com o Slackware 10.1 e CL10
Muito bom esse tuto!!
Parabens amigo!
Parabens amigo!


Também tem um artigo interessante sobre o Free Pascal Compiler aqui:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=175
Adoro essa linguagem!