Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » scoala » informatica
Limbajul PASCAL - Caracteristici

Limbajul PASCAL - Caracteristici


Limbajul PASCAL

Caracteristici:

  • Limbaj procedural, destinat descrierii algoritmilor de rezolvare a problemelor, sub forma unor succesiuni de instructiuni (limbaj algoritmic).
  • Limbaj universal, nefiind limitat la o clasa particulara de probleme.

Aparitia limbajului Pascal este un rezultat al conceptelor dezvoltate ca urmare a crizei programarii de la sfarsitul anilor '60. In aceasta perioada, raspandirea pe plan mondial a prelucrarii automate a datelor a cunoscut o extindere remarcabila, trecandu-se la abordarea si rezolvarea unor probleme din ce in ce mai complexe. Programele mari asociate acestor probleme s-au complicat in asa masura incat au devenit foarte greu accesibile, chiar si pentru autorii lor (programarea empirica). Ca raspuns la cerinta de elaborare a unei metodologii generale de dezvoltare sistematica a programelor s-a cristalizat metoda proiectarii si programarii structurate.
Un program structurat este constituit din unitati functionale bine conturate, ierarhizate conform naturii intrinseci a problemei. In interiorul unor astfel de unitati, structura se manifesta atat la nivelul actiunilor (instructiunilor), cat si al datelor.



Programarea structurata este o metoda independenta de limbajul de programare, actionand la nivelul stilului de lucru. Limbajul Pascal ofera programatorilor posibilitatea de a lucra structurat.

In prima forma a aparut in 1968, autorul sau fiind profesorul elvetian Niklaus Wirth. Numele limbajului a fost ales ca un omagiu adus marelui matematician, fizician, filosof si scriitor francez Blaise Pascal (1623-1662), primul care, in 1642, a inventat o masina de calcul. Un prim compilator devine operational in 1970, limbajul fiind publicat in 1971. Interesul trezit de aparitia sa a condus la necesitatea unor consolidari ale limbajului, finalizate prin publicarea in 1973 a unui raport revizuit, in care se realizeaza o definire a formei de referinta numita Pascal Standard, redactata ulterior conform normelor ISO si devenita baza comuna pentru diverse implementari.
Limbajul Pascal include conceptele programarii structurate in ambele laturi ale efortului de abstractizare presupus de realizarea unui program - organizarea datelor si conceperea actiunilor.
. Include o serie de instructiuni care reprezinta chiar structurile de control impuse de tehnica programarii structurate (IF-THEN-ELSE, CASE, REPEAT, WHILE, FOR).
. Are facilitati puternice si deosebit de flexibile pentru reprezentarea datelor.

. Ofera posibilitati de modularizare a programelor, prin structurarea lor in module carora le pot fi asociate constructii ale limbajului (proceduri si functii).

Aceste caracteristici au facut ca, desi conceput initial pentru a servi ca suport de studiu al programarii structurate, limbajul sa fie folosit intens si de catre programatorii profesionisti. Ca efect, s-a ajuns rapid la o crestere spectaculoasa a productivitatii muncii de programare, ducand la raspandirea utilizarii limbajului.
Limbajul Pascal beneficiaza de implementari pe toate tipurile de sisteme de calcul. Multe dintre aceste implementari marcheaza si dezvoltari ale limbajului insusi, adica in raport cu care Pascal Standard apare ca un subset.


Firma Borland a realizat, incepand cu 1983, medii integrate de dezvoltare (IDE - Integrated Development Environment) cu denumirile generice Turbo Pascal, Borland Pascal si Delphi.

Versiunile din categoria Turbo Pascal sunt destinate utilizarii sub DOS. Pentru dezvoltarea de aplicatii Windows a fost lansata implementarea Borland Pascal 7.0 pentru Windows, cu posibilitati superioare de utilizare a POO. Ultima realizare a firmei Borland o reprezinta Delphi, care implementeaza facilitati de POO si programare vizuala.

Constructiile limbajului

Vocabularul limbajului:

  • Set de caractere
    • Litere mari si mici
    • Cifre arabe
    • Caractere speciale
  • Identificatori:

Cuvinte ale vocabularului, care au rolul de a denumi elemente ale programului, se formeaza din litere, cifre, _, primul caracter fiind litera;

Cuvinte rezervate cheie), care au o semnificatie prestabilita si nu pot fi folosite in alt context

Cuvinte cheie si directive standard

and

else

interface

record

uses

array

end

label

repeat

var

asm

file

mod

set

while

begin

for

nil

shl

with

case

function

not

shr

xor

const

goto

object

string

constructor

if

of

then

destructor

implementation

or

to

div

in

packed

type

break

do

inherited

procedure

unit

exit

downto

inline

program

until

continue

   Directive standard

absolute

external

forward

near

public

  • Separatori si comentarii
    • Instructiunile se separa prin ;
    • Trecerea la o noua linie se face apasand tasta Enter
    • Comentariile sunt texte incadrate intre
      • /* comentariu */

Constructii sintactice ale limbaju-lui Pascal :
- expresiile, care sunt constructii formate din operanzi (date numerice, logice, de tip caracter etc.) si operatori (aritmetici, relationali, logici etc.) si a caror evaluare produce o valoare de un anumit tip;
- declaratiile, care sunt constructii pentru definirea si descrierea datelor (constante si/sau variabile, date scalare si/sau structuri de date etc.);
- instructiunile, pentru descrierea actiunilor realizate asupra datelor;
- subprogramele de tip functie si procedura, care, pe baza unor date de intrare, furnizeaza unu sau mai multe rezultate de iesire;
- programul, reprezentand constructia sintactica de nivel superior, care poate face obiectul prelucrarii si executiei pe un sistem de calcul.

Structura programelor Pascal


Un program Pascal are doua parti: partea declarativa si partea operativa.
In prima apare numele programului si declaratiile elementelor ce vor fi folosite in program: constante, variabile etc. Partea operativa este programul propriu-zis, acesta cuprinde instructiunile care vor fi executate, cuprinse intre cuvintele begin si end.

Iata un program simplu:

Programul sursa

Explicatia

program CalculPret;
var valoare, procTVA: Real;

numele programului
declarare variabile

begin
   ReadLn(valoare,procTVA);
   WriteLn('pretul=', valoare*(1+procTVA));
end.

se incepe un grup de instructiuni
citeste valoare si procTVA
scrie 'pretul=' valoare*(1+procTVA)


Sfarsit program

Dimensiunea maxima a unei linii in Turbo Pascal este de 126 caractere.

Tipuri de date

Un tip de data reprezinta o multime de valori pe care le poate lua o data si operatiile care se pot efectua asupra ei.

Exista tipuri de date standard(recunoscute de limbaj, fara a fi definite in program) si tipuri de date definite de utilizator.

Dupa modul de alocare a memoriei, pot sa fie statice (odata declarate, ocupa loc in memorie pana la incheierea programului) sau dinamice (alocarea memoriei se face pe parcursul executiei, numai cat timp este necesar, eliberand memoria, chiar si inainte de incheierea programului).

Tipuri simple (nestructurate)
Tipuri intregi

Tip

Domeniu

Format

ShortInt

8 biti cu semn

Integer

16 biti cu semn

LongInt

32 biti cu semn

Byte

8 biti fara semn

Word

16 biti fara semn

Operatii

Cu datele de tip intreg se pot realiza urmatoarele operatii:

adunarea: 2+3=5; -2+(-10)=-12 sau operator unar: +2=2

scaderea: 2-6=4; sau oparatorul unar de schimbare a semnului

inmultirea: 2*3=6

div

impartirea intreaga: x div y = catul impartirii lui x la y
7 div 3 = 2

mod

restul impartirii intregi a lui x la y: 7 mod 3 = 1

not

negatie (operator unar pe biti)

and

si aritmetic (operator binar pe biti)

xor

sau exclusiv (operator binar pe biti)

shl

shift left (deplasare spre stanga)

shr

shift right (deplasare spre dreapta)

Functii care opereaza pe tipul intreg:

Ord

numarul de ordine = functia identica

Succ

succesorul Succ(x) = x + 1

Pred

predecesorul Pred(x) = x - 1

Odd

Odd(x) = adevarat sau fals, dupa cum x este impar sau par

Lo

Lo(x) = octetul inferior al lui x

Hi

Hi(x) = octetul superior al lui x

Swap

Swap(x) schimba intre ei octetii inferior si superior ai lui x

Tipuri ordinale definite de utilizator

-Tipul enumerat

Exemple:
type zile=(luni, marti, miercuri, joi, vineri, sambata, duminica);
Asupra datelor de tip enumerat se pot aplica functiile Ord, Succ si Pred.

De exemplu: Ord(luni)=0, Ord(marti)=1, iar Pred(vineri)=joi, Succ(vineri)=sambata
Sunt permise si comparatiile. De exemplu, marti<miercuri.

-Tipul subdomeniu

Acesta reprezinta o succesiune de valori consecutive extrase dintr-un tip ordinal definit anterior (tip de baza).

Exemple:

type zile=(luni, marti, miercuri, joi, vineri, sambata, duminica);
var zile_lucratoare=luni..vineri ;

Tipul caracter

Acesta este denumit de identificatorul char. Este format din caracterele codului ASCII.

Ocupa in memorie un octet in care se memoreaza valori binare intre 0 si 255.

Domeniul acestui tip este: multimea caracterelor, adica a tuturor cifrelor, a literelor mari si mici, precum si a caraterului spatiu sau a simbolurilor speciale: +-$(;,@! etc. Acestea trebuie sa fie cuprinse intre apostrofuri. Toate caracterele au o ordine predefinita, ele fiind asezate in lista ASCII. Deci fiecare caracter are un cod al sau.

Exemple de functii pentru tipul caracter:
Ord('A')=65;
Ord('b')=98;
Succ('A')='B';
Pred('b')='a';
Chr(65)='A';
UpCase('a')='A';

- Tipuri logice

Tipurile logice (booleen) pot avea numai valorile True si False. Ord(False)=0; Ord(True)=1;
Succ(False)=True; Pred(True)=False;

O variabila de tip Boolean ocupa un octet.

Operatii specifice:

not

False

True

True

False

and

False

True

False

False

False

True

False

True

or/xor

False

True

False

False

True

True

True

True/False

-Tipuri reale

Tipul

Domeniul valorilor absolute

Format

Numar de cifre semnificative

Real

2.9E-39..1.7E38

6 octeti

Single

1.5E-45..3.4E38

4 octti

Double

5.0E-324..1.7E308

8 octeti

Extended

3.4E-4932..1.1E4932

10 octeti

Comp

8 octeti

Valorile datelor de tip Comp sunt intregi, dar se bucura de operatiile cu tipurile reale.

Functii ce pot fi aplicate datelor de tip real sau care au ca rezultat numere real :

Functia

Tipul argumentului (Real/Intreg)

Rezultat de tip real/intreg

Abs

R R

Abs(x)= | x |

Sqr

R R

patratul argumentului

Sin

R/I R

sinusul valorii argumentului exprimat in radiani

Cos

R/I R

cosinusul valorii argumentului exprimat in radiani

Arctan

R/I R

Arctan(x)=unghiul exprimat in radiani a carui tangenta este x

Ln

R/I R

logaritmul natural al argumentului

Exp

R/I R

Exp(x) = ex, unde e=2.718281828459

Sqrt

R/I R

Sqrt(x) = radicalul lui x

Int

R R

Int(x) = partea intreaga a lui x

Frac

R/I R

partea fractionara a argumentului

Trunc

R I

Trunc(x) = valoarea trunchiata la un numar de tip LongInt a lui x

Round

R I

Round(x) = cel mai apropiat numar intreg pentru x, de tip LongInt

Exemple:
Round(3.4)=3, Round(-3.4)=-3, Round(3.6)=4, Trunc(3.4)=3, Int(3.6)=3.0

Constante

Constantele sunt informatii (date) ale caror valoare nu se poate schimba pe parcursul programului.

Constante intregi

Exemple: 30, +7, 6553, $A12, $FFF.

Ultimele doua numere sunt in baza 16 (hexazecimal) , fiind precedate de $.

Variabile

Prin variabila se intelege o informatie a carei valoare se schimba pe parcursul programului. Multimea de valori pe care le poate lua o variabila formeaza tipul acesteia.

Declarea variabilelor:
var v_1, v_2, v_3: tip_1;
   w_1, w_2, w_3: tip_2;
   .

Expresii

O expresie este fie o constanta, fie o variabila, fie un apel de functie, fie o combinatie corecta de expresii mai simple. Combinarea se realizeaza cu ajutorul operatorilor. Elementele care se combina se numesc operanzi.

Operatori

Operatori aritmetici

-(inversare semn) +(mentinere semn)

*(inmultire) /(impartire reala)

DIV(catul inpartirii intregi)  MOD(restul impartirii intregi)

+(adunare) -(scadere)

Operatori relationali:

< <= = > >= <>(diferit)

Operatori logici:

NOT (negare)

AND (si)

OR (sau)

XOR (sau exclusiv)

Prioritatile operatorilor:

Prioritate

Operator

1 (maxima)

NOT, +, - (operatori unari)

AND, *, /, DIV, MOD, SHR, SHL (operatori multiplivativi)

OR, XOR, +, - (operatori aditivi)

4 (minima)

=, <>, >, <, <=, >=, IN (operatori relationali)

Obs. In cazul in care in expresiile logice se folosesc ca operanzi expresii relationale, datorita prioritatii mai mari a operatorilor logici fata de cei relationali, expresiile relationale se include in paranteze.

Ex. (a>4) AND (a<15)

Bibliografie

Cherciu, R., Homorodean,M., Petrescu, S., Buturoiu, R., Informatica, Editura Niculescu, Bucuresti, 2001

https://www.pascal.go.ro/tutorial





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.