Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Limbaje de programare: Cobol, Pascal

algoritmi



+ Font mai mare | - Font mai mic



Limbaje de programare

Un limbaj de programare este un ansamblu de simboluri, cuvinte, instructiuni si semnificatii atribuite acestora, utilizat pentru descrierea algoritmilor. Limbajul de programare este astfel un mijloc prin care programatorul comunica cu calculatorul.



Programul este o succesiune de intructiuni apartinand unui limbaj de programare, prin care se descriu operatiile la care sunt supuse datele si ordinea de executie a acestora, pentru rezolvarea automata a unei probleme date. Un program reprezinta o alta modalitate de descriere a unui algoritm de rezolvare a unei probleme date.

Pentru a inlatura acest mare dezavantaj au aparut limbajele simbolice si apoi limbajele de programare evoluate care prin intermediul ansambloarelor si compilatoarelor de care dispun, permit traducerea automata a instructiunilor scrise intr-un limbaj apropiat de limbajul curent de limbajul binar. Limbajele de programare reprezinta principalele mijloace de comunicare om-masina, evolutia lor fiind nemijlocit legata de cea a calculatoarelor electronice, a caror era a inceput prin anii 1944.

Dintre limbajele de programare evoluate utilizate pe toata gama sistemelor de calcul mentionam:

Basic

Algol

Fortram

Cobol

Pascal

C

PL/1

In ultimul timp s-au impus tot mai multe limbaje de inteligenta artificiala si sisteme expert cum sunt:

C++

Lisp

Prolog

precum si programarea pe obiecte ( Basic, C, etc. ).

Orice limbaj de programare presupune definirea urmatoarelor elemente componente:

alfabetul

vocabularul

gramatica

punctuatia

semantica

Rezultatul activitatii de programare il constituie programul scris ca text intr-un limbaj de programare. Un astfel de program se numeste program sursa. El este scris printr-un editor de texte acceptat de limbajul de programare respectiv.

Fiind scris ca format text, programul sursa nu este inteles de catre sistemul electronic de calcul. Pentru aceasta este necesara traducerea lui intr-un cod intern, accesibil calculatorului. Aceasta operatie se realizeaza cu un program translator numit compilator. Compilatorul este componenta software care realizeaza traducerea programului sursa in cod intern, rezultand asa numitul program cod obiect. Lucrul cu un anumit limbaj de programare presupune existenta compilatorului pentru acel limbaj. Ansamblul format din limbajul de programare si programul translator asociat, formeaza sistemul de programare.

Limbajul de programare pascal face parte din categoria limbajelor de programare evoluate de nivel inalt. Un program structurat este constituit din unitati functionale bine definite, ierarhizate conform naturii specifice a problemei de rezolvat. In interiorul unei astfel de unitati functionale, structurarea se manifesta atat la nivelul operatiilor de executat cat si la cel al datelor de prelucrat.

Programarea structurata este o metoda independenta de limbajul de programare utilizat. Limbajul Pascal include conceptele programarii structurate in ambele sensuri ale efortului de abstractizare presupus de realizarea unui program: ogranizarea datelor si conceperea succesiunii de operatii.Limbajul Pascal a fost implementat pana in prezent pe o mare varietate de calculatoare, avand un inalt grad de portabilitate comparativ cu implementarea altor limbaje de programare.

Un program reprezinta o multime ordonata de instructiuni, asociata unui algoritm de rezolvare a unei probleme care comanda operatiile de prelucrare a datelor.

Instructiunea reprezinta exprimarea intr-o forma riguroasa a unei operatii si precizeaza functia si adresele operanzilor.Relatia dintre cele 3 elemente: algoritm, limbaj si program poate fi exprimata astfel:

Blocul executabil constituie lantul de instructiuni prin care este codificat programul in limbajul pascal, deci prin care se descrie algoritmul de prelucrare. Acestea sunt cuprinse intre Begin si End.

Este interzis sa dam nume diverselor obiecte care sa coincida cu acele cuvinte rezervate. In partea declarativa orice declaratie careia nu i se asociaza obiectele legate de programul in cauza se poate omite.

Toate obiectele manipulate in pascal poarta un nume. Acest nume se numeste identificator. Identificatorii sunt denumiri prin care se desemneaza datele, procedurile, functiile, programele.

Un tip de date reprezinta setul de valori pe care le poate lua elementul respectiv, impreuna cu multimea operatiilor care se aplica asupra acestora. Orice variabila utilizata in program trebuie sa apartina unui tip. Tipul de date poate fi: predefinit si construit pe baza celor predefinite.

Din punct de vedere al posibilitatii de modificare a valorii in faza de executie a programului, datele se pot clasifica in:

date variabile

date constante

Tipurile intregi de date sunt:

Byte

Word

Shortint

Integer

Longint

Tipul real reprezinta un numar real cuprins intre doua limite care difera de la un compilator la altul si de la un tip la altul.

Astfel tipurile reale pot fi:

real

single

double

extended

comp

Functiile SUCC si PRED nu functioneaza, tipul REAL nefiind ordinal.

Tipul Caracter ( CHAR )

O variabila de tip caracter poate avea drept valoare un caracter. O constanta de tip caracter poate fi:

`a` `:` literele mari au alte valori decat cele mici

x:char se reprezinta in memorie pe un octet, adica 255 coduri.

x:=`a` sau x:=a

Exista functii care permit trecerea de la caracter la codul ASCII si invers.

CHR ( cod ) este o functie care intoarce ca rezultat caracterul respectiv.

x:=chr(64)

ORD ( caracter ) este o functie care intoarce codul ASCII al caracterului respectiv.

Tipul Boolean este un tip ordinal, enumerativ, care ocupa un octet memorie si poate lua 2 valori logice: adevarat si fals.

Declaratia de tip se face :

Type boolean = ( True, False )

Tipul Declarat ( Enumerativ ) este definit de utilizator ca o lista ordonata, prin enumerarea valorilor posibile astfel:

TYPE identif tip = ( lista elemente )

TYPE zi-sapt= ( luni, marti, , duminica )

Tipul Subdomeniu se mai numeste tip interval si se defineste ca submultime a unui tip ordinal prin precizarea intervalului inchis de valori. Toate caracteristicile tipului parinte ( Integer , Char ) se regasesc in tipul subdomeniului, singura deosebire dintre ele constand in multimea valorilor pe care le poate lua.

Declararea constantelor:

CONST ident = valoare;

Pot fi numai de tip standard ( scalar ) si se declara in sectiunea CONST

Valoarea constantei nu poate fi modificata in timpul rularii programelor.

Orice incercare de a atribui constantelor o valoare, chiar daca este egala cu cea initiala, va genera un mesaj de eroare.

Se asigura astfel protectia valorilor.

Declaratia de tip

TYPE Identif_tip=definitie tip;

Declaratia de variabile

Var identif var: spatiu tip var

Daca sunt mai multe variabile de acelasi tip, se insira separate cu `,`

Declaratia de functii si proceduri

function nume_functie (declaratie de var): tip rez;

function fact (n: integer):integer;

Mai multe variabile se separa prin `;`

Instructiuni pascal: Limbajul pascal este puternic orientat spre programarea structurata, fiind conceput astfel incat sa implementeze corect conceptele proiectarii si realizarii structurate si modularizate a programelor. Progamul scris intr-un limbaj de programare evoluat deci in pascal, se numeste progream sursa.

Instructiuni simple:

de atribuire

apeluri de procedura

instructiunea de salt neconditionat(goto)

instructiunea vida

Instructiuni simple

Prin instructiuni simple se realizeaza o mare parte din operatiile de baza a algoritmilor de prelucrare. Instructiunea vida descrie actiunea vida, ea este definita prin lipsa in contextul unor constructii pascal, fara a avea o mnemonica explicita.

Se prezinta ca o linie goala urmata de `;`

i:=1 ; 2 instructiuni vide

If x>0 then

x:=x+1

else;

Instructiunea de atribuire evalueaza o expresie si atribuie rezultatul obtinut unei variabile sau functii.

Are formatul general:

Identificator:=valoare;

Prioritatea operanzilor in Pascal:

NOT

/ DIV MOD AND

+ - OR ( *, +, -, pe multimi )

> , < ,<= , >= , <> , si operatori relationali pe multimi

Expresii logice sunt cele care in urma evaluarii produc un rezultat logic de TRUE sau FALSE ( Boolean ). Ele se prezinta fie sub forma unor conditii simple, fie sub forma unor conditii compuse, formate din mai multe conditii simple legate prin operatorii logici: AND, OR, NOT.

Daca nu suntem siguri de prioritatea anumitor operatori este necesara utilizarea parantezelor.

Apelul de procedura:

Orice rutina scrisa de noi, pentru a efectua anumite operatii, se numeste procedura.

Procedurile intalnite in program ca simple instructiuni genereaza o serie de operatii:

compilatorul cauta numele de procedura in biblioteca sa; daca nu este gasit acolo procedura e cautata in lista de declaratii de proceduri a programului; daca nu este nici acolo se afiseaza un mesaj de eroare.

daca este gasita procedura e apelata.

Instructiunea de salt neconditionat GOTO

Format : GOTO eticheta;

La intalnirea ei se executa un salt la linia care este precedata de eticheta urmata de `:`

IF delta >= 0 THEN

GOTO 30

ELSE

WRITE (` ecuatia nu are solutii`);

30: x1:=(-b+sqrt(delta))/(2*a);

x2:=(-b-sqrt(delta))/(2*a);

write ( x1, x2 );

end.

Instructiuni structurate

Instructiunea compusa este o secventa de instructiuni delimitata de cuvintele rezervate BEGIN, END.

Format :

BEGIN lista-instr END;

Efectul executiei instructiunii IF:

Se evalueaza conditia specificata.

Instructiuni pentru realizarea structurilor repetitive

Instructiunea WHILE realizeaza structura repetitiva conditionata anterior.

Format:

WHILE conditie DO instructiune; este echivalenta cu o constructie formata din urmatoarele instructiuni:

IF conditie THEN

BEGIN

instructiune

GOTO 1

end.

Instructiunea WHILE se mai numeste instructiune cu test initial.

Instructiunea Repeat

Realizeaza "structura repetitiva conditionata posterior".

Format:

REPEAT instructiune UNTIL conditie ;

REPEAT

instructiune

UNTIL

conditie;

Ca si ELSE, inainte de UNTIL mi se pune `;`.

Instructiunea FOR ( ciclu cu contor )

Realizeaza structura repetitiva cu numarator ( contor de numarare ).

Format:

1) FOR contor:=val initiala TO val finala

DO instructiunea;

2) FOR contor:=val initiala DOWNTO val finala

DO instructiunea

Instructiuni de citire si scriere a datelor

In pascal, citirea si scrierea nu se realizeaza prin instructiuni, ci prin proceduri specializate in acest sens, proceduri standard ale limbajului.

Aceste fisiere in Turbo Pascal sunt asociate tastaturii si respectiv ecranului.

Fisierele INPUT si OUTPUT contin excusiv siruri de caractere organizate pe linii. Liniile sunt incheiate de caracterul special standard EOL introdus automat la apasarea tastei ENTER.

Citirea datelor din fisierul INPUT

Exista doua proceduri standard predefinite in Pascal:

-Read

-Readln

Procedura READ

Format:

READ ( variabila);

variabilele pot fi doar de tip CHAR, INTEGER, REAL sau STRING.

Procedura READLN

Format:

READLN ( variabila);

Scrierea datelor:

-Write

-Writeln

Instructiuni de selectie multipla ( CASE )

Format:

CASE expresie OF

lista etichete CASE:instructiune;

END;

Structura de tablou (Vector, Matrice): structura de tablou in Pascal este mai flexibila decat in alte limbaje de programare, fiind rezultatul compunerii a doua tipuri:

tipul de baza al tabloului

tipul de indexare al tabloului

Setul de caractere : Acestea sunt entitati formate din caractere :

Literele mari si mici ale alfabetului limbii romane: A-Z, a-z;

Cifrele sistemului de numerotatie zecimal: 0-9;

Caractere speciale: =-/^()[].,;:_!@#$%&etc;

Caractere speciale perechi: <=,>=,=,<>;

Separatorii : spatiu, tab, Enter.

Identificatorii : Pot fi o variabila, o contanta, un tip definit de utilizator, o enumerare, o procedura, o functie, un obiect, o metoda, o proprietate, un control, o forma, un modul sau chiar proiectul insusi. Un proiect Basic poate sa contina maxim 32000 identificatori.

Comentariile sunt siruri de caractere care au in fata caracterul apostrof (') si servesc pentru a face mai lizibil textul programului , pntru a documenta programul.

Fiecare tip de data permite o serie de operatii. Astfel pentru valorile unui tip intreg se pot face urmatoarele operatii : +, -, *, impartirea intreaga, impartirea reala, restul impartirii intregi, ridicarea la putere.

Constantele : reprezinta o valoare fixa care nu se schimba in timpul executiei programului sau de la o executie la alta. Pot fi de 2 tipuri : intrinseci si simbolice.

Variabilele : reprezinta o locatie de memorie interna care serveste pentru stocarea temporara a datelor si care se identifica printr-un nume. Tipul variabilelor din Basic sunt : variant, byte, boolean, integer, long, single, double, currency, date si object.

Variabilele din Basic sunt caracterizate prin :

nume

tip de data

domeniu.

Utilizatorul poate defini in cadrul modulului sau si tipuri de date proprii, deci tipuri de date predefinite. Pentru aceasta, declaratia de tip se face de catre programatori in prima parte a modului de cod cu ajutorul instructiunii :

TYPE - definire variabila

END TYPE

Operatorii : Reprezinta comenzi speciale pentru operatiile ce pot fi executate cu datele din program. Basic pune la dispozitie 4 tipuri de operatori : aritmetici, logici, de comparare si de concatenare.

O functie este o procedura care efectueaza o anumita sarcina intr-un program.

Dialogul standard cu utilizatorul

Functia INPUT- apelul functiei INPUT permite preluarea de date de la tastatura.

Functii matematice si statistice : ABS, EXP, INT, LOG, RND, SQR, ATN, SIN, COS, TAN ;

Functii pentru siruri de caractere : LCASE$, UCASE$, LTRIM$, RTRIM, CHR, ASC, LEN, VAL, LEFT$, RIGHT$, MID$, INSTR,

Functii pentru conversia intregilor : INT, CINT ;

Functii pentru conversia tipului de data : CDBL, CLNG.

Functii pentru lucrul cu date calendaristice : TIME$, DATE$ ;

O procedura este o secventa de instructiuni executate ca un tot unitar sau partajabile. Exista trei tipuri de proceduri : SUB, FUNCTION, Tip de proprietate. Sintaxa generala a unei proceduri este : Private/Public/Static/Sub

............

End Sub.

Instructiuni de atribuire - atribuirea se poate efectua prin instructiunile :

Let - pentru valori atribuite variabilelor si proprietatilor ;

Set - pentru atribuirea de obiecte la o variabila de tip obiect ;

Lset si Rset - pentru atribuiri speciale de siruri sau tipuri definite de utilizator

Terminarea executiei unui program sau oprirea temporara a acestuia sepot realiza prin instructiunile : DoEvents, End, Exit, Stop.

Se stie ca in cadrul algoritmilor de rezolvare a problemelor se intalnesc, in afara unor secvente de operatii care se executa liniar, in mod neconditionat, o serie de operatii care necesita testarea unor conditii, functie de care se o succesiune de operatii sau alta, sau o serie de operatii care se executa in mod repetat. Avem de a face cu cele trei tipuri de structuri fundamentale :

secventiala /liniara ;

alternativa/de decizie ;

repetitiva.

Limbajul de programare Basic implementeaza aceste structuri de control ale programului prin comenzi corespunzatoare, deci :

comenzi pentru structuri alternative ;

comenzi pentru structuri repetitive.

Comenzile pentru structurile alternative : If.. Then, If.Then.Else, Select Case.

Comenzile pentru structurile repetitive : While.Wend, Do..Loop, For..Next, For Each. Next.

Fisierele contin colectii de date omogene ca natura si criterii de prelucrare, memorate pe discul magnetic .



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 3381
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved