Pascal (limbaj de
programare)
Pascal este unul dintre limbajele
de programare de
referinţă în ştiinţa calculatoarelor, fiind cel care a definit
programarea calculatoarelor. Pascal a fost dezvoltat de elveţianul Niklaus
Wirth în 1970 pentru a pune în practică programarea structurată, aceasta fiind mai uşor de compilat.
Unul din marile sale avantaje este asemănarea cu limbajul natural limba
engleză, ceea ce îl face limbajul ideal pentru cei care sunt la primul contact
cu programarea. Pascal este bazat pe limbajul Algol şi a fost denumit astfel în
onoarea matematicianului Blaise Pascal, creditat pentru construirea primelor
maşini de calcul numeric. Wirth a mai dezvoltat limbajele Modula-2 şi Oberon,
similare cu Pascal.
Cele mai populare
implementări a acestui limbaj au fost Turbo Pascal şi Borland Pascal, ambele
ale firmei Borland cu versiuni pentru Macintosh şi DOS, care i-au adăugat limbajului obiecte şi au
fost continuate cu versiuni destinate programării vizuale pentru Microsoft
Windows (limbajul Delphi) şi
pentru Linux (Kylix).
În prezent există şi alte
implementări mai mult sau mai puţin populare, dar gratuite, printre care se
remarcă Free
Pascal şi GNU Pascal.
|
Tipuri de date de bază
- Integer (numere întregi)
- Real (numere reale)
- Char (caractere)
- String (şiruri de caractere)
- Boolean (valori logice)
- Text (fişiere text)
- File (fişiere binare)
- Array (vectori)
Operatori
(clasificare după tipul de date)
Pentru
datele numerice (integer, real, byte, word)
|
grupează expresiile |
|
adunare şi scădere |
|
înmulţire
şi împărţire (împărţirea cu virgulă se face în numere reale) |
|
returnează
restul (doar în întregi) |
|
returnează
câtul (doar în întregi) |
Operatori relaţionali
|
mai mic |
|
mai mare |
|
egal |
|
diferit |
|
mai mic sau egal |
|
mai mare sau egal |
Pentru
datele de tip şir de caractere (string)
|
concatenarea a două şiruri |
Operatori relaţionali
|
mai mare
sau mai mic, pe baza ordinii lexicografice în funcţie de codurile ASCII |
|
cele două
şiruri sunt identice |
Instrucţiuni de bază
Instrucţiune multiplă
begin
<instrucţiuni>
end.
Condiţie
if <condiţie> then
<instrucţiune>;
sau
if <condiţie> then
<instrucţiune>
else
<instrucţiune>;
Cicluri
Cu test iniţial
while <condiţie> do
<instrucţiune>;
Cu test final
repeat
<instrucţiuni>
until <condiţie>;
Cu număr cunoscut de paşi
for <variabilă>:=<valoare_iniţială> to <valoare_finală> do
<instrucţiune>;
sau
for <variabilă>:=<valoare_iniţială> downto <valoare_finală> do
<instrucţiune>;
Structura unui program Pascal
program <nume_program>;
uses <biblioteci cu funcţii şi proceduri folosite în program>
type <tipuri de date definite de utilizator>
const <constante folosite în program>
var <variabile globale folosite în program>
<aici se pot scrie funcţii şi proceduri folosite în program>
begin
<aici se scrie programul principal>
end.
- Notă: După fiecare comandă se pune " ;
" cu următoarele excepţii: înainte de "else" şi după
"do".
Câteva instrucţiuni
WRITE
Este o instrucţiune pentru afişarea
pe ecran a unui text (şir de caractere) sau a valorii unor constante, unor
variabile sau unor expresii, exceptând date de tip vector sau fişier.
Conţinutul a ceea ce urmează să fie afişat pe ecran este încadrat de două
paranteze rotunde. Lista a ceea ce urmează să fie afişat pe ecran este
despărţită prin virgulă. Instrucţiunea WRITELN face
aceeaşi acţiune ca şi WRITE dar după afişare mută cursorul la începutul
rândului următor al ecranului.
Exemplu
write ('a=', a);
Descriere: afişează pe ecran şirul a=
după care afişează valoarea variabilei sau constantei a.
READ
Este o instrucţiune care
citeşte de la tastatură o variabilă, cu excepţia tipului boolean şi a
vectorilor. Variabilele se scriu între paranteze şi, dacă sunt mai multe
variabile, se despart prin virgulă. Instrucţiunea READLN face acelaşi
lucru ca READ dar aşteaptă un <ENTER> înainte de a prelucra datele
primite. În caz că sunt citite mai multe variabile, introducerea acestora se va
face prin separarea valorilor prin spaţii albe (<Space>, <TAB> sau
<ENTER>).
Exemple
- write ('Dati x='); readln (x);
Descriere: afişează pe ecran Dati x=
după care citeşte de la tastatură valoarea variabilei x.
- readln;
Descriere: aşteaptă apăsarea tastei
<ENTER> după care continuă cu restul de instrucţiuni din program.
READKEY
Este o instrucţiune de citire
de la tastatură a caracterelor (valori de tip char) fără ca acestea să fie
afişate pe ecran. Variabila caracter citită se scrie între paranteze.
Exemplu
write ('Parasiti aplicatia?
(d/n)'); readkey (x);
Descriere: afişează pe ecran Parasiti
aplicatia? apoi aşteaptă să fie introdusă de la tastatură o literă.
STR
Transformă un număr într-un
string (şir de caractere). Odată transformat în string, numărului nu i se mai
pot efectua operaţii matematice deoarece acum este considerat un cuvânt.
Exemplu
str (x, s);
Descriere: Creează un string din numărul x
în şirul s.
VAL
Transformă un string
într-un număr atât timp cât stringul conţine o reprezentare validă.
Exemplu
val (s, x, er);
Descriere: creează un număr din stringul s
în variabila x. Dacă în timpul execuţiei se întâlneşte o eroare,
variabila de tip integer er va conţine poziţia caracterului de la care
s-a constatat că nu se poate transforma stringul în număr. Spre exemplu, pentru
şirul de caractere ' 1234a6 ' variabila er va conţine 5.
BREAK
Opreşte forţat un ciclu
(FOR, REPEAT sau WHILE), chiar dacă acesta nu s-a încheiat.
EXIT
Opreşte automat programul.
HALT
Opreşte automat programul
cu posibilitatea de transmite sistemului de operare un cod de eroare.
Exemplu
halt (5);
Descriere: opreşte programul şi transmite
codul de eroare 5.
DELETE
Şterge o porţiune dintr-un
string.
Exemplu
delete (s, 8, 4);
Descriere: şterge 4 caractere din şirul
s începând cu poziţia 8.
INSERT
Introduce un şir de
caractere în altul.
Exemplu
insert ('abc', s, 8);
Descriere: introduce în şirul s pe
poziţia 8 caracterele abc.hhhhhhhhhhhhhhhhhh