Linux & Programmazione. L'esempio del Pascal
Da Wizard linux team wiki.
Contents |
Linux & Programmazione; L’esempio del Pascal
Precisazioni:questa guida non vi insegna a programmare, ma vi aiuta a configurare il vostro S.O. preferito, per quanto riguarda la programmazione.
Dopo aver installato il sistema operativo, dobbiamo avere installato su “More applicationsàSviluppoàAmbienti di sviluppo” il KDevelop; In caso contrario, provvedere ad installarlo, andando su “SistemaàConfigurazioneàGestione pacchettiàInstalla software”; Nella schermata che vi apparirà, dovete mettere “KDevelop”, selezionate il pacchetto e avviate l’installazione;
Una volta installato, apritelo (ALT+F2àKdevelop);
Questo programma è un editor di testi che si adatta, in base al linguaggio, con diversi colori alle righe di codice; Racchiude una minima parte dei linguaggi di programmazione, ma sono quelli più usati; Fra questi abbiamo: C, Java, Phyton, PHP, Perl ecc… Per molti linguaggi come ad esempio Perl, esiste già un compilatore nel sistema, quindi, prima di andare a scaricarne uno, accertatevi che sia presente.;
Come da titolo, prenderò in considerazione il Pascal; Uno dei migliori compilatori per questo linguaggio è il FreePascalCompilator (abbreviato FPC); Potete prelevare l’ultima versione del software da http://www.freepascal.org Una volta scaricati i sorgenti, oppure il pacchetto RPM o DEB ed averli installati, il compilatore è presente nel sistema, per prova aprite la Konsole e digitate “fpc”; Se vi apparirà l’help, vuol dire che funziona;
In questo momento ci viene in aiuto il Kdevelop; Create un nuovo progetto (ProjectàNew); Selezionate il linguaggio di programmazione (pascalàSimple Program) e create la cartella del progetto; Cancellate il programma di esempio (il famosissimo HelloWorld =D) e cominciate a scrivere il vostro sorgente. Quando avete finito basterà andare su BuilàBuil project o spingere F8;
In fondo al progettò apparirà una finestra con i passaggi e comandi che altrimenti dovreste fare voi manualmente dalla console; Se il nel sorgente non ha riscontrato errori, alla fine verrà scritto” *** Success ***”
In questo momento il file eseguibile verrà creato dentro la cartella; Se volete avviarlo ciccate su BuilàExecute Program; Vi apparirà la Konsole con il vostro programma in esecuzione (per quanto riguarda il pascal. Se invece il sorgente comprende la programmazione ad oggetti, apparirà una finestra);
Queste operazioni, come ho detto in precedenza, si possono fare anche manualmente, creando il sorgente in un file di testo e rinominarlo con estensione pas o pp; Una volta salavato, basterà aprire la Konsole, posizionarsi nella cartella dove c’è il file e digitare fpc “nome+file.estenzione” (senza virgolette); e verrà creato l’eseguibile se il compilatore non ha trovato errori; A questo punto basterà richiamarlo: “./nome+file”
COMPILARE ALTRI LINGUAGGI MANUALMENTE:
Da Konsole e posizionati nella cartella del file digitare per…
C/C++:
gcc NomeFile.c –o NomeEseguibile (inizialmente lo compila e se non ha trovato errori, crea l’eseguibile con il nome che gli avete dato);
Java:
Javac NomeFile.java (compilazione) Java NomeClasse (Avvio. Il nome della classe è quella che si specifica all’interno del sorgente java (class ….)
Perl:
perl NomeFile.PL (compilazione ed esecuzione)
File Prova in Pascal
{
Copyright (C) 2005 by H a V o C
HaVoC@Linux
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the
Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
program semplice;
uses crt;
var var_array:array[1..100] of integer;
i,c,c2:integer;
sequenza:boolean;
scelta:char;
esci:string;
begin
repeat
{Menu'}
clrscr;
writeln;
writeln(' A) Visualizza 100 numeri random ');
writeln(' B) Conta quanti sono uguali al primo numero generato ');
writeln(' C) Verifica se esiste almeno un numero uguale a 10 ');
writeln(' D) Conta le coppie contigue di 10 ci sono ');
readln(scelta);
{Visualizza 100 numeri random}
case scelta of
'a','A':
begin
clrscr;
writeln('I numeri random creati sono: ');
writeln;
randomize;
for i:=1 to 100
do begin
var_array[i]:=random(50)+1;
write(' ',var_array[i]);
end;
writeln;
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end;
{Conta quanti sono uguali al primo}
'b','B':
begin
clrscr;
c:=0;
c2:=0;
writeln;
randomize;
for i:=1 to 100
do begin
var_array[i]:=random(50)+1;
if var_array[i]=var_array[i-c]
then
INC(C2);
inc(c);
end;
if c2=0
then begin
writeln('Non sono stati creati numeri uguali al primo');
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end
else begin
writeln('Sono stati trovati ',c2,' numeri uguali al primo');
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end;
end;
{Verifica l'esistenza del 10 nella sequanza random}
'c','C':
begin
clrscr;
c:=0;
writeln;
randomize;
for i:=1 to 100
do begin
var_array[i]:=random(50)+1;
INC(C);
if var_array[i]=10
then begin
writeln('ATTENZIONE: Ho trovato un 10 alla posizione ',c);
writeln('Il programma si chiudera''');
writeln;
readln;
exit;
end;
end;
writeln('Non ho trovato nessun 10');
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end;
{Verifica l'esistenza di coppie di 10 contigue nel programma}
'd','D':
begin
clrscr;
c:=0;
sequenza:=false;
writeln;
randomize;
for i:=1 to 100
do begin
var_array[i]:=random(50)+1;
if (var_array[i]=var_array[i-1]) and (sequenza=false) and (var_array[i]=10)
then begin
INC(C);
sequenza:=true;
end
else sequenza:=false;
end;
if c=0
then begin
writeln('Non sono state trovate coppie contigue di 10');
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end
else begin
writeln('Ho trovato ',c,' coppie contigue di 10');
writeln;
writeln('Vuoi uscire dal programma? [S/N]');
readln(esci);
end;
end;
end;
{Controlla la scelta dell'utente per uscire}
until (esci='S') or (esci='s');
end.



