Vai al contenuto

Pascal, basato sulla programmazione strutturata.

Inviato

Questa Guida la scrivo per tutti quelli che voglio iniziare a programmare... o vogliono sapere un pò degli inizi dell'OOP.

PREMESSA

Il Pascal è un linguaggio di programmazione molto rigido ma i suoi comandi sono molto intuitivi

COMPILATORE

Io come compilatore consiglio fortemente Free Pascal, e OpenSource, ed è molto utilizzato per sviluppi su linux.

IL PRIMO PROGRAMMA: HELLO WORLD

Inizio subito con il primo programma e lo spiegherò riga per riga.

program HelloWorld;

begin

writeln('Hello World');

readln;

end.

 

  • Allora la prima riga determina in nome del programma.
  • Poi begin sarebbe l'inizio del blocco, di un istruzione, dove poi finisce ad end.
  • writeln('') si può intuire e dice al programma di stampare su schermo ciò che c'è tra parentesi.
  • readln ,si usa su ambito windows, per dire al programma di salvare su schermo ciò che c'è stampato finché non si prema <Enter>
  • tutti i comandi alla fine devono terminare con il punto e virgola_;_(tranne begin e end.)

Commenti

I commenti, come in tutti i linguaggi, servono al programmatore per lasciare appunti o per altri programmatori che devono leggerlo.

I commenti si possono scrivere in due modi: o con parentesi graffe{a}, o con parentesi tonte con asterischi(*a*)

LE VARIABILI

Il programma fatto qui sopra può essere divertente ma non può dare sviluppo. Ogni programma a bisogno di un'algoritmo, dove ci sono numeri da variare e numeri "da ricordare. Questi numeri che possono variare sono le VARIABILI, e come dice la parola possono variare per il proprio bisogno. Le variabili si dichiarano mettendo sotto program var. Ecco un esempio:

 

program Variabili;

var n:integer;

r:real;

begin

n:=3;

r:=2.5;

writeln(n+r);

readln;

end.

ATTENZIONE: QUANDO BISOGNA ESEGUIRE OPERAZIONE NON DOVETE MAI METTERE IL SEGNO APICE(').

Allora... devo aggiungere una cosa, quando con il compilatore date il Run di questo programma verrà fuori 5.50000000000000E+000 perché un integer e un real non possono aggiungersi e lo spiegherò dopo.

 

  • La prima riga determina il nome del programma.
  • La seconda è la dichiarazione delle variabili con i tipi di dati numerici.
  • Dopo begin c'è l'assegnazione di n e r con := si assegna un valore numerico(visto che c'è integer e real)
  • Come al solito c'è writeln, ma stavolta senza apice(') perchè deve sommare i valori e non stampare dei caratteri

L'Assegnazione

L'assegnazione di una variabile avviene, che durante un blocco, si scrive il nome della variabile(che abbiamo dichiarato) e dopo il segno(:=) si esplicita il valore:

Nomevariabile:=1000(o qualsiasi altro valore che vedremo in seguito)

LE PAROLE RISERVATE

Le parole riservate, sono delle affermazioni che avvengono alla assegnazione delle variabili come integer e real che vedremo qui sotto.

I TIPI DI DATI

Integer

Questo tipo corrisponde agli interi, non proprio tutti, solo -32768 a 32767 ed occupano 16bit(2byte) e quando si superano questi valori si va in Overflow.

 

Ogni tipo ha le sue operazioni, e quello di integer:

 

  • + permette di sommare due interi
  • - permette di sottrarre due interi
  • * permette di moltiplicare due interi
  • div permette di calcolare il quoto di due interi
  • mov permette di calcolare il resto di una divisione tra due interi

Ecco un esempio che usa degli interi.

program Pari;

var n:integer;

begin

n:=5;

if (n mov 2=0) then write('pari');

else write('dispari');

end.

 

  • Iniziamo dalla seconda riga, dichiarazione della variabile.
  • Poi dopo begin l'assegnazione di n.
  • E nella quinta riga si trovano delle istruzioni di controllo(if..then..else) e questo comando letto alla lettera significa "Se la il resto della divisione tra 5 e 2 è 0 allora scrivi pari sennò scrivi dispari.

Real

Il tipo di variabile Real, corrispondono ai numeri con virgola mobile. Anche con i real le operazioni sono limitate, il computer essendo una macchina ha i suoi limiti. Quindi bisogna evitare l'Overflow decimale e per evitarli è meglio creare dei stratagemmi.

Come integer ha le sue operazioni:

  • + permette di sommare due valori reali
  • - permette di sottrarre due valori reali
  • * permette di moltiplicare due valori reali
  • / permette di dividere due valori reali

Ecco un esempio che usa numeri reali:

program Real;

var r:real c:real;

begin

r:=10.2;

c:=5.2;

writeln(10.2/5.2);

readln;

end.

Boolean

L'algebra di Boole è fondamentale nell'informatica. Infatti queste variabilii possono calcolare solo operazioni di condizioni. E assumono solo i valori vero(true) e falso(false) che equivalgono a 1 e 0. In pascal sono 4 le operazioni:

  • AND che corrisponde al concetto e contemporaneamente.
  • OR corrisponde a oppure.
  • NOT che corrisponde alla negazione.
  • XOR matematicamente corrisponde all'aut,ovvero.

 

IO CON QUESTA GUIDA HO FINITO!!!

Modificato da JackAllHunt

Featured Replies

Inviato
Sembra più facile C a vederlo così
Inviato
Linguaggio vecchio, ma ancora utilizzato in molte scuole! Ottima idea, continua così!
Inviato
Si esatto appena finito è facilissimo rispetto al C o C++
Inviato
  • Autore
Si è molto semplice perchè era a scopo didattico per i ragazzi che volevano programmare software per macchinette e server.

Modificato da JackAllHunt

Inviato
Niklaus Wirth lo creò così difficile(ai tempi c'era BESIC) perchè era a scopo didattico quindi la differenza tra C/C++ si nota col tempo perché i software erano quelle macchine che foravano un nastro di carta o delle calcolatrici di algoritmi pesanti....

Invece il C++ ci permette di fare videogiochi.

La differenza è il tempo, l'innovazione e l'hardware.

Fra un pò farò altri tipi di dati.

 

Non rimanerci male, ma di quello che hai scritto non ho capito una virgola .-.

 

ps: Si scrive Basic

  • 4 settimane dopo...
Inviato
  • Autore
Introduzione finita ora per ci deve frequentare un ITI con il progetto per sviluppatori sanno qualcosa su questo PASCAL!!
Inviato

Ho notato un paio di errori..

Si scrive

 

ELSE

WRITE/LN (XXXXXXXXX)

 

Poi a var non c'è bisogno di fare r:real c:real ma

var r,c:real

Inviato
  • Autore

è lo stesso io ho provato e testato è il risultato??

COMPILATO ed eseguito anche per var quello è solo un modo per velocizzare ed è lo stesso

Inviato
Fai qualche ciclo serio e vedi che casino esce ^_^
Inviato
  • Autore

ti ripeto è solo per la sistemazione ma è uguale -.-''

 

PS: vai a scrivere in BASIC o in assembler la si che si possono fare errori per una lettera o un accapo

Inviato
ciao jackallhunt un altro buon compilatore per il pascal è dev-pascal io uso sia free pascal che dev-pascal e alcune volte free crea dei piccoli problemi. ;)
  • 7 mesi dopo...
Inviato
Ciao Jack, sto studiando il pascal a scuola e mi sono accorto che nelle operazioni che si possono fare con integer hai fatto un errore di battitura: hai scritto mov invece di mod :)

Crea un account o accedi per lasciare un commento