Computer & Molto Di Più - Forums

Versione completa: [Pascal] - Livello Base
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Pagine: 1 2
[Pascal] - Livello Base


Il Pascal è un linguaggio di programmazione ideato da Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.. Intitolato così, in onore del matematico francese Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare., inventore della prima calcolatrice.


I compilatori per il linguaggio Pascal più noti sono:
Turbo-Pascal - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare. - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.
Dev-Pascal - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare. - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.
Free Pascal - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare. - Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.

Personalmente consiglio Dev-Pascal, ma qualunque compilatore andrà benissimo. I setup sono tutti scaricabili dai siti ufficiali.




Iniziare a programmare



Parole chiave di base:
  • program: Seguito dal nome del programma che viene posto all'inizio del file sorgente. Il titolo che segue può contenere solo caratteri alfanumerici e l'underscore (_).
  • type: Dichiarazioni di tipo: il programmatore definisce un tipo di variabile non esistente.
  • uses: Seguito dal nome della libreria; Importa una serie di comandi speciali, disponibili solo in determinate librerie pascal.
  • Var: Da questo punto in poi vengono dichiarate le variabili e il loro tipo. Più tardi elencheremo i vari tipi di variabili.
  • begin: Dopo aver dichiarato eventuali variabili, tipi, procedure, funzioni e tutto il resto, da questo punto si inizia a programmare.
  • end: l'end. chiude tutte le applicazioni in pascal. E' bene che sia preceduto da una readln; per motivi che spiegheremo in seguito.



Tipi di Variabili:
  • integer: variabile di tipo intero. Numeri da -32768 a 32767, non sono consentiti numeri con cifre decimali. Occupa 2 byte di memoria.
  • word: solo numeri interi da 0 a 65535. Occupa 2 byte di memoria.
  • byte: copre valori interi da 0 a 255. Occupa un byte di memoria, come suggerisce il nome.
  • short: copre valori da -128 a 127. Anch'esso occupa un solo byte di memoria.
  • longint: la variabile di tipo intero più grande in pascal. Copre i valori da -2147483648 e 2147483647. Occupa 4 byte di memoria.
  • real: insieme dei numeri reali da -2.9E-39 a 1.7E38. Quando mostrate a video valori di tipo reale, essi sono scritti in notazione esponenziale. Pertanto andrà utilizzato un metodo spiegato più avanti, per far sì che la variabile mostrata non sia scritta in notazione esponenziale.
  • char: questa variabile può assumere come valore un carattere. Occupa un byte di memoria.
  • boolean: variabile di tipo binario. Può assumere solamente due valori: Vero o Falso (True, False).
  • string: variabile che può assumere un valore come più caratteri; anche un testo.


Input e Output:

L'imput dei dati da tastiera si effettua con il comando readln(nome_variabile); (letteralmente Leggi. Il computer leggerà i dati che immetterete).
N.B. La readln è importantissima anche a fini di output, ed è bene inserirne una prima di ogni riga di end. che fa concludere ogni programma.
La spiegazione è semplice. Il computer eseguirebbe tutte le operazioni e nel caso non ci fosse suddetta readln, il programma terminerebbe istantaneamente, e l'utente non avrebbe la possibilità di leggere quanto mostrato, appunto, dal programma. Mettendo questa readln si impedisce ciò, facendo in modo che il programma si chiuda solo alla pressione del tasto 'INVIO'.

L'output invece si scrive in 2 modi, a seconda del tipo di dato da mostrare. Se si vuole mostrare una variabile sullo schermo basterà scrivere writeln(nome_variabile);. Se è invece un testo quello che si vuole mostrare, digitare writeln('testo di outuput');. Il testo va sempre inserito tra apici (') e nel caso si debba inserire un apostrofo nel testo, inserirlo con un doppio apice.
ESEMPIO - writeln('Quell''albero è bello');
Se si vuole mostrare un testo e una variabile in una stessa writeln - ESEMPIO: writeln('La variabile immessa corrisponde a ', nome_variabile);
(write: letteralmente Scrivi. Il computer mostrerà sullo schermo i dati.)

Il vostro primo programma in pascal:

Codice:
program 1;

begin
writeln('Ciao mondo pascal');
readln;
end.


E' possibile immettere i comandi read e write anzichè readln e writeln.
La differenza sostanziale sta nel fatto che una readln o una writeln posizionano il cursore a capo, dopo aver eseguito l'operazione da voi richiesta; read e write posizionano il cursore subito dopo ciò che è stato immesso/mostrato dal compilatore.

ESEMPIO INPUT/OUTPUT:

Codice:
program input_output;
var ch:char;

begin
writeln('Inserisci il carattere');
readln(ch);
writeln('Il carattere inserito e'' ',ch);
readln;
end.


OUTPUT DI NUMERI REALI: Sopra abbiamo accennato ad una cosa negativa dei numeri di variabile REAL nell'output. Questi vengono mostrati in forma esponenziale.
Come evitare questo?

ESEMPIO:

Codice:
program esempio;
var x:real;

begin
x:=7/3;
writeln('La variabile x corrisponde a ', x:10:2);
end.

N.B. Ho assegnato ad x l'operazione 7/3, in modo da ottenere un numero con cifre decimali, per rendere meglio l'esempio.

Questo := cosa significa? Lo spiegheremo nel prossimo passo.

Cosa significa x:10:2 ?
Con 10 ordiniamo al compilatore di mostrare un massimo di 10 cifre;
Con il 2 ordiniamo al compilatore di mostrare solamente 2 cifre decimali (in un totale di 10 cifre);



Assegnazione:

L'assegnazione è un operazione fondamentale eseguibile con le variabili. I caratteri che corrispondono all'assegnazione sono :=
Per assegnare si intende attribuire ad una variabile un valore specificato da chi programma oppure il risultato di un'espressione.

Codice:
nome_della_variabile := valore_assegnato_alla_variabile;

In pascal è possibile inoltre assegnare ad una variabile corrispondente a sè stesso con una modifica.
ESEMPIO: x:=x+1;
E' un operazione facilmente eseguibile per il compilatore.
Questo tipo di assegnazione è frequente nell'uso dei "Cicli", che vedremo molto più avanti.



Librerie aggiuntive:

Il pascal offre alcune librerie aggiuntive. Tra queste vi sono il crt e il graph. Per utilizzare le funzioni di tali librerie bisogna usare il comando uses.

ESEMPIO:
program esempio;
uses crt;
...


Le funzioni di crt che approfondiremo in seguito sono il clrscr, il gotoxy, il keypressed, e il delay.
Se vi interessa approfondire le funzioni delle librerie crt e graph, visitate Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare. dei manuali di Wikipedia, l'enciclopedia libera.



Operazioni di base:

Il compilatore offre numerose funzioni matematiche. Elenchiamo le più importanti:
  • somma: un'addizione di un numero ad un altro. Si scrive semplicemente con + tra 2 o più numeri/variabili.
  • differenza: una sottrazione di un numero da un altro. Si scrive semplicemente con - tra 2 o più numeri/variabili.
  • prodotto: una moltiplicazione di un numero per un altro. Si scrive semplicemente con * tra 2 o più numeri/variabili.
  • quoziente: una divisione di un numero per un altro. Si scrive semplicemente con / tra 2 o più numeri/variabili, se si tratta di numeri reali. Per la divisione di numeri interi è bene usare il comando div.
  • div: una divisione tra numeri interi. Si scrive con la seguente sintassi:
risultato_divisione := variabile_o_cifra_1 div variabile_o_cifra_2

  • mod: il mod esegue una divisione e fornisce come risultato il resto della divisione.

ESEMPIO:

Codice:
program mod;
var a,b,resto:integer;

program
writeln('Inserire A e B');
readln(a,b);
resto:= a mod b;
writeln('La divisione di ',A,' per ',B,' da come resto: ',resto);
end.

Se volete approfondire anche il discorso delle operazioni, visitate Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare. dei manuali di Wikipedia, l'enciclopedia libera.



Funzioni di crt:

Come accennato, elenchiamo le funzioni aggiuntive di crt:

clrscr: questo comando pulisce lo schermo e posiziona il cursore in posizione (1,1). Spesso si scrive subito dopo il begin.
cursoron e cursoroff: questi due comandi rispettivamente attivano e disattivano il cursore. Se non viene disattivato prima, cursoron è attivo automaticamente in qualsiasi programma pascal.
gotoxy: (lett: go to xy - Vai a XY) permette di posizionare il cursore in una zona precisa dello schermo. ESEMPIO: gotoxy(1,1);
delay: Questa funzione fa sì che il sistema si fermi in pausa per un certo numero di millisecondi definito dal programmatore. Scrivendo delay(1000); l'operazione viene eseguita dopo un secondo (cioè 1000 millisecondi).
keypressed: è una funzione utile nei cicli (che vedremo più avanti). Usata in un ciclo permette che l'operazione si ripeta finchè l'utente non preme un tasto qualsiasi della tastiera.
textcolor: permette di modificare il colore del testo che seguirà la riga. Per scegliere il colore si deve inserire al posto di x il nome inglese del colore, o il suo corrispondente numerico del colore in pascal. STRUTTURA: textcolor(x);
textbackground: stessa procedura del textcolor, solo che anzichè modificare il colore del testo, modifica il colore di sfondo del testo (N.B. non sfondo della finestra). STRUTTURA: textbackground(x); dove x è il colore col nome inglese o il corrispondente numerico del colore in pascal.

Elenco dei corrispondenti numerici ai colori in pascal:

0=nero
1=blu scuro
2=verde scuro
3=verde acqua scuro
4=rosso scuro
5=fucsia scuro
6=ocra
7=grigio chiaro
8=grigio scuro
9=blu
10=verde
11=azzurro
12=rosso
13=fucsia
14=giallo
15=bianco



Note nei progetti pascal:

Per immettere un testo nel progetto pascal, in modo da ricordarsi i punti fondamentali del programma, quando si vogliono apportare modifiche o si vuole leggere la codifica, bisogna usare tag apposite:

- Scrivendo il testo tra doppi slash //...//, il testo comparirà solo nella codifica del progetto pascal.
Il testo tra // deve però essere immesso in una sola riga.

- Scrivendo il testo tra parentesi graffe {...}, il testo comparirà sempre solo nella codifica del progetto pascal.
Questo testo può essere immesso in più righe.

- Ultima variante: Immettere il testo tra parentesi+asterisco (*...*), anche qui il testo comparirà solo nella codifica del progetto pascal.
Anche quest'ultimo può essere immesso in più righe.

ESEMPIO:

Codice:
program esempio; //qui enunciamo il titolo del programma//
uses crt; {qui ordiniamo di usare la libreria crt}
var a:string; (*qui enunciamo le variabili del programma*)



Qui io li ho usati tutti diversi per farvi vedere, ma nel programma è ovvio che potete immettere il testo sempre tra le stesse tag.





La guida continua:

Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.




by dani3l3

Buon lavoro =D
utilissima guida!
=D
Sono felice che gradiate Smile
Certo ke si =D
altro che il mio libro di informatica
(03-02-2011 11:09 PM)pascolinux Ha scritto: Gli ospiti non possono vedere i link contenuti nelle guide. Si prega di registrarsi cliccando QUI per poterli visualizzare.altro che il mio libro di informatica

Modestamente XD
Bene bene però ti consiglio di concentrarti più su C e C++ ;D e ovviamente anche un pò di Perl (per i linuxiani) non guasta ;D
Nell'istituto in cui studio, non sono previsti nel programma scolastico C, C++ ecc...Come linguaggi affronteremo il pascal, il delphi, l'assembler, php, java, e database vari come Sql...forse anche qualcos'altro, ma non ricordo...

In parole povere, non posso aiutarvi con C e vari...
Pagine: 1 2
URL di riferimento