Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna




category
Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Integrated developing environment - turbo pascal (idetp)



Integrated developing environment - turbo pascal (idetp)


INTEGRATED Developing Environment - TURBO PASCAL (IDETP)


Mediu de dezvoltare de programe este un sistem integrat de elaborare a programelor in care toaecomponentele sale u o singur intefata utilizatorsi o BD proprie. Interfata utilizator este construita din totalitatea mijloacelor si regulilor care asigura interactiunea cmponentelor unui mediu de programare cu utizatorul.

Componente:

1. un editor de texte (editor de programe sursa) cu extensia .PAS

2. compilator pentru limbajul Turbo Pascal

Prin limbaj se intelege un sistem natural sau artificail de simboluri destinat comunicarii precum si transmiteii de informatii.



Prin program se intelege o succesiune de operatii efectuate asupa unor date in vederea obtinerii unui anumit rezultat.

Compilatorul traduce un program scris in limbaj sursa Pascal intr-un limbaj intermediar aropiat de limbajul micropocesorului.

3. editorul de lagaturi (LINKER) asambleaza unitati de program din limbajul intermediar intr-o forma finala in limbaj masina care se cheama program executabil. Fisierul cu programul executabil are extensia .EXE

4. depanatorul inteactiv de programe (DEBUGER) - mediul tubo Pascal este dotat cu o interfata gafica. O interfata este grafica cand are elemente grafice de genul: bara de meniuri cu meniuri, fereastra cu elementele ei, cutii de dialog, input Line, Status Line. Elementele grafice pot fi manevrate atat cu mouse-ul, cat si cu tastatura

GUI - graficul utilizatorului interface

Se deschide cu Turbo C:>Turbo

Interfata grafica este afisata de comanda Turbo

Pot fi deschise simultan 99 de ferestre, dar numai 9 pot fi vazute

Cu coltul din dreapta jos se poate redimensiona o fereastra

Fereatra activa are chenar dublu


CTRL+Y - sterge linia pe care e cursorul, liniile de dedebubt sunt mutate mai sus

Shift+o sageata - selectare text


Pascal este adecvat pentru invatarea programarii ca o disciplina logica si sistematica bazata pe cateva notiuni fundamentale care sa-si gaseasca o reflectare naturaa si clara in libaj. Limbajul Pascal ae elemente prin care se pot face: descrierea datelor si a actiunilor ce se fac asupra datelor


TAB+Enter - separator de simboluri

Simboluri specifice: +, -, x, :

Operatori de relatii: =, < >, >, >=, <, <=, ( ) [ ] . , :  ;

Operator de atribuire: :=, ^, '


Simbolurile pentru cuvintele rezervate: nu pot fi folosite intr-un alt context decat cel explicit in definirea limbajului Pascal 9sintaxa limbajului Pascal)

Ex: Program

Begin

End


Identifcatori - sunt simboluri ce desemneaza constante, variabile, nume de functii si proceduri etc. un identifiator incepe obligatoriu cu o litera dupa care poate continua cu o litera sau o cifra.

Numerele desemneaza valori intregi sau reale in conventia zecimalei engleze

Siruri de caractere (String) = o secventa de caractere incadrata intr-un apostrof.

Program Pascal

a)     antet de programe: program, identificator

b)     bloc: parte de descriere si declarare a datelor (optionala) si parte de instructiuni (obligatorie)


Instructiune Pascal - o activitate efectuata asupra unei date. ; separa o instructiune de alta


Begin

Instructiuni

end.



Limbajul Pascal - 2 instructiuni

citire de date de la tastatura REARLN (Variabila)

scriere e date pe monitor WRITELN (expresie - sir de caractere)

Orice program Pascal are o singura fereastra de editare

Pogram sursa=fereatra editare=fisier sursa


Program Salut;

Begin

Writeln ('Salut profesore!')

End.


Readln - citeste date de pe User Screen

Cum se executa comanda REDLN - la pozitia cursorului User Screen se scie valorea expresiei dintre paranteze, apoi cursorul se muta e linia urmatoare


Un program Pascal

1.     se editteaza textul

2.     se compileaza cu comanda Compile

3.     se scot erorile de sintaxa

4.     se lanseaza in executie rogramul cu comanda Run

5.     cu Use Screen/Debug ne uitam la rezultate


Pentru a pastra continutul unei ferestre se foloseste Save/File


Partea de declaratii de date a unui bloc de program Pascal este organizata pe sectiuni. Secinea de declaratii a variabilelor unui program Pascal incepe cu un cuvant rezervat VAR

O variabila este o data al carui continut poate fi modificat in timpul executiei unui program. Inainte de a utiliza orice variabila intr-un program Pascal, ea trebuie sa fie declarata in sectiunea Var.

Sintaxa declaratiei unei variabile are forma:

Identificator: Tip;

Identificatorul este ales potrivit cu semnificatia pe care o contine.

TIP= se intelege multimea valorilor pe care poate sa o ia acea data precum si operatiile care pot fi efectuate cu aceste valori. Limbajul Pascal are un bagaj de tipuri de date predefinite. Fiecare tip de data predefinit are un nume:

1. Integer (Intreg) - valori intre (-32768…+32767). Operatiile pot fi facute: *, +, - ; operatii de aflare a catului impartirii cu rest (divizibil), operatii de aflare a restului (operatii de mod).

Ex: 7 div 3 =2

7 mod 3=1

2. Real - valori intre -2,9•10-39….1,7•1038. Operatii: +, -, *, /


Readln (variabila); - executie:

a)     se deschide ecranul utilizator

b)     se tasteaza o valoare care se incheie obligatoriu cu tasta Enter. Valoarea tastata constituie valoarea initiala a variabilei citite

c)     dupa tastarea lui Enter progamul continua cu instructiunea urmatoare


Ex: program care sa citeasca un numar intreg de l tastatura si sa il afiseze pe ecran

Program CitScr;

Var

Raza: Integer;

Begin

Readln (Raza);

Writeln (Raza);

End.


Executia unui program Pascal incepe cu prima instructiune de dupa Begin si se opreste cand se intalneste end.


Etape pentru scrierea unui program:

1.     se insuseste problema de programare

2.     se schteaza solutia

3.     se transcrie aceasta schita in limbajul Pascal

4.     se introduce programul Pascal in editor

5.     se compileaza programul; se scot erorile sintetice

6.     se testeaza programul pein executia lui Run asupra unor diverse date de intrare pentru care se cunoaste rezultatul dinainte. Daca rezultatul nu coincide cu cele prevazute, programul trebuie depanat pana cand se inlatura eroarea. Comenzi ale depanatorului simbolic se gasesc in meniul Run si Debug


Trace Into/Run - executa instructiune dupa instructiune de la inceput la sfarsit. Un apel al acestei comenzi coincide cu o intructiune

Program Reset - opreste un program din regim de depanare

Evaluate &Modify/Debug - permite afisarea sau modificarea continuului unei variabile cand un program se executa in regim de depanare

Instrctiunea de atribuire - modalitate de a da o valoare pentru o variabila

Variabil:=Expresie;

Expresia consta dintr-o secventa alcatuita din operatori si operanzi. Operanzii pot fi variabile sau numere. In alcatuirea expresiei se pot folosi si paranteze ( ) pentru a modifica prioritatea operatorilor artimetici. Se evalueaza (se calculeaza) expresia din partea dreapta si valoarea obtinuta constituie noua valore a variabilei din partea stanga.

Ex: Program care calculeaza lungimea unui cerc care are raza numar real introdus de la tastatura

π

L=π•D=2πR


Program Lcerc

Var

R:Real;

L:Real;

Begin

Readln ®;

L:=2*3,14*R;

Writeln(L);


End.


Write (Expresie:m:n);

Writeln (Expresie:m:n);


M,n= numer naturale cu semnificatia urmatoare:

m= numarul total de pozitii pe care sa se afiseze numarul real

n= numar de zecimale ale numarului real afisat


Writeln (L:10:2);

End.


Inainte de a citi o valoare de la tastatura, utilizatorul e bine sa fie informat asupra semnificatiei valorii introduse si inainte de a afisa rezultatul. Atentionarea aceasta se face Write sau Writeln cu un text adecvat.

Ex: Program care calculeaza aria unui cerc a carui raza este un numar real citi de la tastatura

S=πR2


Program acerc

Var

R,S:Real;

Begin

Writeln ('Se calculeaza aria unui cerc');

Readln (R);

S:3.14*R*R;

Write ('Aria cercului este: ');

Writeln (S:10:2);

End.


Ex: Sa se calculeze aria unui trapez a carui elemente se introduc de la tastatura


S=


Program atrap

Var

S,Bmare, Bmica, Inaltime: Real;

Begin

Writeln ('Se calculeaza ara unui trapez!');

Write ('Tastati baza mare!);

Readln (Bmare);

Write ('Tastati baza mica!);

Readln (Bmica);

Write ('Tastati inaltimea!);

Readln (Inaltime);

S:=(Bmare+Bmica)*Inaltime/2

Write (Aria este: ');

Writeln (S:10:2);

End.


Ex: Sa se scrie un program pascal care calculeaza radacina unui cerc de gradul I a carui coeficieni sunt nmere reale introduse de la tastatura.


Program EcGrI

Var

A, B, X: Ral;

Writeln ('se alculeaza solutia ecuatiei de gradul I!');

Write ('A=  ');

Readln (A);

Write (B= ');

Readln (B);

X: -B/A;

Write ('x= ');

Writeln (x:10:2);

End.


X:10:2 - valoarea lui x se afiseaza pe 10 pozitii, dintre care 2 sunt zecimale


BOOLEAN

G.BOOLE - o data de tip boolean are una din valrile de adevar desemnate prin identificatori predefiniti TRUE si FALSE. Operatiile care ot fi efectuate cu aceste valori sunt date de operatorii logici AND, OR sau NOT.

AND - furnizeaza valoarea True daca ambii operanzi sunt True

OR - furnizeaza valoarea False daca ambii operanzi au valoarea False

Not+operand True=FALSE

Not+ operand False=True


Operatorii furnizeaza valoarea true daca ambii operanzi au aceeasi valoare

< > - furnizeaza valoarea true daca ambii operanzi au valori diferite

> - furnizeaza valoarea true daca primul operand este > decat al doilea

>= - furnizeaza valoarea true daca daca primul e >= cu operatorii de relateie si operatorii logici formeaza expresii logice

-*/ mod div and

+- or

= <> > >= < <=


Algoritm - sistem de reguli conform carora o informatie initiala ste transferata intr-o  informatie finala trecand prinr-un numar finit de etae intermediare

Caracteristici:

- generalitatea - foosirea algoritmului pentru mai multe informatii initiale

- uncitate - acelasi algoritm aplicat repetat sa dea acelasi rezultat

- claritate - sa poata fi usor ciit

- finitate


Transcrierea unui algoritm se poate face printr-un limbaj logic co-matematic, cu ajutorul schemelor logice si cu ajutorul limbajelor de programare

Schema logica (bloc sau organigrama) - o reprezentare grafica a unui algiritm prin care fiecarei etape I se afiseaza un simbol: grafic numit bloc, iar modul de inlantuire al blocurilor este reprezentat pein segmente orientate (sageti)


Tipuri:

Bloc de calcul                              Bloc de decizie


- Bloc de continuare pe pagina veche (N=numar)


- Bloc de continuare pe pagina noua


Un algoritm sau un program este programat conform programarii structurate daca el foloseste numai urmatoarele structuri de control:




1. structura de control secventiala     2. structura de control alternativa


1.     structura de control repetitiva,                  4. Structura e control repetitiva,


conditionata posterior conditionata anterior

1.     intsructiune secveniala implementata de :=

2.     instructiune alternativa implementata de if

3.     instructiune alternativa implementata de repeat

4.     instructiune alternativa implementata de while


IF expresie THEN insructiune 1 ELSE instructiune 2




Program Par

Var

N, Rest; integer;

Begin

Write (‘tastati un numar intreg:’)

Readln (N);

Rest:= N mod 2;

If rest=0 then

Writeln (‘Numar par’)

Else

Writeln (‘numar impar’)

End.


Sa se scrie schema logica si programul Pascal care afiseaza doua numere intregi si le afiseaza in ordine crescatoare



M

A

B

A>B

Afisare


1

2

False

1   2


100

10

True

10100

100

10

100





IF expresie THEN instructiune





Instructiunea compusa - e specific faptul ca instructiunile componente vor fi executate in ordinea in care sunt scrise

Simbolurile BEGIN si END actioneaza ca delimitatori de inceput si sfarsit ai unei instructiuni compuse, instructiunea compusa va fi folosita atunci cand sunt necesare mai multe instructiuni, iar sintaxa autorizta o instructiune


Program Ord;

Var

A, B, M: Integer;

Begin

Write (‘A= ‘);

Readln (A);

Write (‘B= ‘);

Readln (B);

If A>B then

Begin

M: A;

A:=B;

B:=M;

End;

Write(‘A= ‘);

Writeln(A);

Write (‘B= ‘;

Writeln(B);

End.



AX+B=0

1. A=0 B=0

0X+0=0


2.A=0 B≠0

0X+B=0



A

B

A=0

B=0

Afisare

0

0

True

True

Ec ∞ solutii

0

1

True

False

Ec imposibila

1

0

False


X=0

1

1

False


X=1


Program Ec1

Var

A, B, X: Real;

Begin

Write (‘A= ‘);

Readln (A);

Write (‘B= ‘);

Readln (B);

If A=0 then

If B=0 then

Writeln (‘Ec cu infinitate solutii’)

Else

Writeln (‘Ec imposibila’)

Else

Begin

X:=-B/A;

Write (‘X= ‘);

Writeln X);

End.

End.



=Structura de control repetitiva conditionata posterior=



REPEAT instructiune UNTIL expresie



1.     se executa instructiunea din REPEAT

2.     se evalueaza expresia de dupa UNTIL, daca ea este falsa se trece la 1, daca este adevarata se trece la instructiunea urmatoare lui REPEAT

Obs: Insrucitunea din Repeat se executa cel putin o data in cazul in care expresia este rue. Daca expresia din Repeat este este compusa, atunci cuvointele Begin si End pot sa lipseasca, rolul lui Begin fiind luat de Repeat, iar al lui End de Until




N

N>0

Afisare

-1

False


-00

False


0

False


1

True

1


Program ExRep

Var

N:Integer;

Begin

Repeat

Write (‘tastati un numar pozitiv’)

Readln(N);

Until N>0;

Write (‘N= ‘);

Writeln(N);

End.


Shorint – 128……….127

Integer – 32768……32767

Longint – 214748368……..2147483647

Byte 0……255

Word 0 ….65535


Sa se scrie schema logica si programul care insumeaza primele N numere naturale, unde N este un numar introdus de la tastatura



N

N>0

N=0

S

Afisare

-2

False




3

True


0


2


False

3


1


False

5




True

6

6


Program SumaRep;

Var

N,S:Longint;

Begin

Repeat

Write (‘Tastati un numar>0’);

Readln(N);

Until N>0;

S:=0;

Repeat

S:=S+N;

N:N-1;

Until N=0;

Write (‘Suma este: ‘);

Writeln(S);

End.


Sa se scrie un program care citeste un numar intreg de la tastatura si il afiseaza in ordinea inversa cifrelor sale


Program Oglinda

Var

N, Rest:Longint;

Begin

Repeat

Write (‘tastati un numar natural: ‘);

Readln (N);

Until N>=0;

Repeat

Rest:=N mod 10;

N:=N div 10;

Write (Rest);

Until N=0;

Writeln;


End.


WHILE expresie DO instructiune;


Expresia este una booleana sau logica

Mod de executie:

1.     se evalueaza expresia

2.     daca expresia este adevarata, se executa instructiune ade dupa DO si se merge la 1. Daca expresia este falsa, se trece la instuciunea urmatoare lui WHILE


Obs: Instructiune din WHILE poate sa nu se execute niciodata daca expresia este falsa la prima evaluare spre deosebire de REPEAT unde se executa cel putin o data. Ciclul WHILE se incheie cand expresia devine falsa, iar REPEAT-ul cand expresia este adevarata. Daca instructiunea de dupa DO este compusa, trebuie pus Begin End la While, iar la Repeat No.


Sa se scrie schema logica si programul Pascal care insumeaa primele N numere naturale unde N este un numar natural introdus de la tastatura, folosind instructiune While



N

N>0

S

Afisare

5

True

0


2

True

3


1

True

5


0

False

6

6



Program SumaWhil;

Var

N,S:Longint;

Begin

Repeat

Write (‘Tastati un numar natural:’)

Readln (N);

Until N>0;

S:=0;

While N>0 do

Begin

S:=S+N;

N:=N-1;

End;

Write (‘Suma este: ‘);

Writeln (S);

End.


Instructiunea FOR implementeaza o stuctura de control repetitiva conditinata anterior cu progresarea automata a unei variabile de control a instructiunii FOR


For. VC:=EI to ES do instructiune


VC - variabila de control a For-ului care trebuie sa fie declarata in sectiunea var si trebuie sa fie una din tipurile intregi

EI – expresie aritmetica care furnizeaza valoarea de inceput a variabilei de control.

ES – valoarea de sfarsit a variabilei de control


Executia instructiunii FOR indica o executie repetata a instructiuii de dupa DO in timp ce valoarea de inceput din 1 in 1 pana la valoarea de sfarsit

Daca EI>ES instructiunea nu se executa

Daca EI=ES instructiunea se executa o data


Daca EI<ES cu 1 (ES-EI=1) instructiunea se executa de 2 ori



Sa se scrie un program Pascal care sa afiseaze pe ecran de 5 ori mesajul instructiuni FOR


Program ExFor;

Var

I:Integer;

Begin

For I:1 to 5 to

Writeln (‘Instructiune FOR!’);

End.


I

I<=5

Afisare

1

True

Instruct for

2



3



4



5



6

False




Comanda DOS SHELL/FILE – permite iesirea temporara din Turbo pascal in MsDos. Odata ce sunem in Dos putem efectura comenzi Dos. Pentru a ne reintoarce in Pascal se tasteaza EXIT urmat de Enter


Sa se scrie un program Pascal care afiseaza vriabila de control a instructiunii For


Program ExFor1;

Var

I:Integer;

Begin

For I:=1 to 10 do

Begin

Write (‘I= ‘);

Writeln (I);

End;

End.


Sa se scrie un program Pascal care insumeaza primele N numere naturale unde N e un numar natural introdus de la tastatura cu instructuiunea For


Program SumaFor;

Var

I,N,S:Longint;

Begin

Repeat

Write (‘tastati un numar natural: ‘);

Readln (N);

Until N>;

S:=0;

For I:=1 to N do

S:=S+I

Write (‘Suma este: ‘);

Writeln (S);

End.


0!=1

1!=1

2!=1*2

3!=1*2*3

4!=1*2*3*4


n!=1*2*3…..:(n-1)*n

n!=(n-1):*n


Sa se acrie un program Pascal in care se calculeaza un numar factoral de la tastatura


Program ForFact;

Var

I, N, Factorial:Longint;

Begin

Repeat

Write (‘Tastati un numar >=0 ‘);

Readln (N);

Until N>=0;

Factorial:=1;

For I:=1 to N do

Factorial:=factorial*I;

Write (N);;

Write (‘!= ‘);

Writeln (‘!= ‘);

Writeln (Factorial);

End.



Program WhilFact;

Var

I,N,F:Longint;

Begin

Repeat

Write (‘Tastati N>=0 ‘);

Readln (N);

Until N>=0;

I:=0;

F:=1;

While I<N do

Begin

I:N+1;

F:F*I;

End;

Write (N);

Write (‘!= ‘);

Writeln (F);

End.



Program RepFact;

Var

I,N,F:Longint;

Begin

Repeat

Write (‘Tastati va rugam un numar mai mare decat numarul zero: ‘);

Readln (N);

Until N>=0;

I:=0;

F:=1;

Repeat

I:=I+1;

F:=F*I;

Until (I=N or (N=0);

Write (N);

Write(‘!= ‘);

Writeln (F);

End.


N

I

F

I=N

Afisare

0

0

1




1

1

False



2

2




3

6





N

I

F

I=N

N=0

(I=N) or (N=0)

0

0

1





1

1

False

True

True

2

0

1





1

1

False

False

False


2

2



True


Integer – se numesc tipuri ordinare

Boolean – “      “ “ “

Real -   “ “ “ “

Char – o valoare de tip char este un element al multimii ordonate si finite

Operatori de relatie =, <, > , <=, >=,


Tip interval (Range) – un tip poate fi definit ca fiind un ineval al unui tip Integer sau Char numit tip de baza al intervalului. Definitia unui tip interval indica valoarea constanta minima si maxima si cuprinde toate valorile intre acestea


Ex: Interval; constanta 1…constanta 2

Zi: 1…..31;

Luna: 1….12:

Majuscule: ‘A’ ….’Z’


…………

Definirea unei constante introduce un identificaor ca sinonim al unei constante.


Sintaxa definirii unei constante:

Identificator=constanta;



Ex:

const

pi=3,14


begin

L:2*pi*R;


Tipurile structurate sunt combinatii de alte tipuri caracterizate prin tipuri componente si metoda de structurare


Var

N1:Integer

N2:Integer;

….

N10:Integer

S: Integer;

Begin

Readln (N1);

Readln(N2);

Readln(N10);

S:=N1+N2+….+N10;

Writeln (S);

End.


Tipuri structurale: tablou si fisier

Oricare din tipurile structurate trebuie sa raspunda la 2 cerinte:

1.     posibilitatea de a denota un grup de variabile cu un singur identificator

2.     posibilitatea de a distinge un element paricular al grupului numit componenta


ARRAY – un tip tablou este un tip structura care consta dintr-un numar fixat de componente, toate de acelasi tip, numit Tip de componente

Sintaxa:

Var

Tablou:array[T1] of [T2]


T1 – tipul indicelui

T2 – tipul componentei


T1 – furnizeaza numarul total de componente ale tabloului, valorile pe care le pot lua indicii. Tipul indicelui trebuie sa fi ordinal


Pentru a desemna o componenta oarecare a unui tablou, se scrie numele variabilei tablou urmat de paranteza patrata, un indice si paranteza patrata inchisa

Tablou[indice]


Ex: var

Numere: array [1…10] of Longint;


Numere [1]


Cu variabilele de tip tablou se pot face operatii de atribuire.


For I:=1 to 10 do

Readln (Numere[I])


I

Readln (Numere [I])

1

Readln (Numere [1])

2

Readln (Numere [2])

3

Readln (Numere [3])


Program Suma10;

Var

Numere:array[1…10] of Longint;

I: 1…10;

Begin

For I:=1 to 10 do

S:Longint;

Begin

Write (‘Numere[ ‘); Write (I); (Write( ‘]’)

Readln (Numere [I]);

End;

Suma:=0

For I:=1 to 10 do

S:=S+Numere[I];

Write (‘S este: ‘);

Writeln(S);

End.

Sa se modifice programul anterior astfel incat sa se adune un numar oarecare de numere       naturale, N sa nu depaseasca valoarea 100


Program SumaN;

Var

Numere:array[1…100] of Longint;

I,N:1…100;

S: Longint;

Begin

Write (‘tastati cate numere se aduna: ‘);

Readln (N);

For I:=1 to N do

Begin

Write (‘Numere [ ‘); write (I); Write (‘ ]=’);

Readln (Numere [I];

End;

S:=0;

For I:=1 to N do

S:=S+Numere [I];

Write (‘Suma este: ‘)

Writeln (S);

End.


Sa se citeasca un sir de N numere care sunt introduse de la tastatura. Sa se ordoneze crescator si sa se afiseze


Program Bubble

var

Sir: array[1…100] of Longint;

I,N:1…100;

Permutari: Boolean;

M: Longint;

Begin

Write (‘Tastati lungimea sirului: ‘);

Readln (N);

For I:=1 to N do

Begin

Write (‘Sir [ ‘); write (I);

Wite (‘ ]= ‘); readln (sir [I]);

End;

Repeat

Permutari:=False;

For I:=1 to N-1 do

If sir [I0> sir (I+1] then

Begin

M:=sir [I];

Sir [I]:=sir[I+1];

Sir [I+1]:=M;

Permutari:=True;

End;

Until not permutari;

Writeln (‘sirul ordonat este: ‘);

For :=1 to N do

Begin

Write (‘Sir I ‘); write I);

Write ‘(’ ]=’)’; writeln (sir [I]);

End;

End.


O variabila de tipul predefinit Sting este o secventa de caractere de lungime variabila cuprinsa intre 1-255


Var

Sir: String [u]

Sir 1: string;


1<=u<=255


Ex:

Var

Nume: string [15];

Prenume: string [15];

Observatii: sring;

……………

Readln (nume); Nume:=’Ionescu’;



Atribuirea si operatii generate de operatii de relatie

Operatii de concatenre a doua siruri sau a unui sir cu un caracter. Se noteaza cu +


Program Concat;

Var

NumePrenume: String;

Nume: String [15];

Prenume: String [15];

Begin

NumePrenume: ‘ ‘;

Writeln (NumePrenume);

Nume:=’Ionescu’;

Prenume:=’Ion’

NumePrenume:=Nume+Prenume;

Writeln (NumePrenume);

End.


Sa se modifice programul Bubble astfel incat el sa sorteze un sir de N stringuri citite de la tastatura


Program Bubblest

Var

Sir: array [1…100] of String

I,N:1..100;

M: String

Permutare: Boolean;

Begin

Write( ‘Tastati numarul stringului: ‘);

Readln (N);

Write (‘tastati stringul: ‘);

For I:=1 to N do

Begin

Write (‘sir [‘); write (I);

Write (‘ ]=’); readln (sir [I]);

End;

Repeat

Permutare:=false;

For I=1 to N-1 do

If sir [I]> sir [I+1] then

Begin

M:=sir [I];

Sir [I]:=Sir [I+1];

Sir [I+1]:=M;

Permutare:=true

End:

Until not permutare

Writeln (‘Stringurile ordonate sunt: ‘);

For I:=1 to N do

Begin

Write (‘sir [ ‘); write (I);

Write (‘]=’); writeln (sir [I]);

End;

End.


Var

Tablou:array [T1] of [T2],

Matrice:array [T1] of array [T2] of T3;


T3≠array


Matrice:array [T1,T2] of T3


Matrice [1,1] Matrice [1,2]……Matrice [1,N]

Matrice [2,1] Matrice [2,2]……Matrice [2,N]


Matrice [M,1] Matrice [M,2]…..Matrice [M,N]


Scrieti un program care citeste 2 linii si 3 coloane de numere intregi de la tastatura dupa care le afiseaza


Program Mat23;

Var

I,J:Integer;

M:array [1…2, 1….3] of Longint;

Begin

Writeln (‘ Se introduc elementele unei matrice: ‘);

For I:=1 to 2 do

For J:=1 to 3 do

Begin

Write (‘M[‘ ]; write (I); write (‘, ‘);

Write (J); write (‘]=’);

Readln (M[I,J]);

End;

Write (‘Matricea introdusa este: ‘);

For I:=1 to 2 do

For J:=1 to 3 do

Begin

Write (‘M [‘); wrie(I); write(‘,’);

Write (J); write (‘=’); writeln (M [I,J]);

End;

End.


Sa se scrie un program care insumeaza elementele de pe diagonala principala ale unei matrici patratice introduse de la tastatura


Diagonala principala – sanga sus, dreapa jos

Diagonala secundara – dreapta sus, stanga jos


Program SumaDg;

Var

I,J,N:Integer;

Suma:Longint;

M:array [1…100, 1…100] of Longint;

Begin

Write (‘se citeste o matrice patratica: ‘);

Write (‘Tastati dimensiunea ei: ‘);

Readln (N);

For I:=1 to N do

For J:=1 to N do

Begin

Write (‘M[‘); write (I); write (‘,’);

Write (J); write (‘]=’); readln M [I,J]);

End;

Suma:=0;

For I:=1 to N do

Suma:=suma+M [I,I];

Write (‘Suma este: ‘);

Writeln (suma);

End.


Sa se modifice programul anterior astfel incat sa se insumeze elementele aflate deasupra diagonalei princiale a unei matrici


Program SumaDg;

Var

I,J,N:Integer;

Suma:Longint;

M:array [1…100, 1…100] of Longint;

Begin

Write (‘se citeste o matrice patratica: ‘);

Write (‘Tastati dimensiunea ei: ‘);

Readln (N);

For I:=1 to N do

For J:=1 to N do

Begin

Write (‘M[‘); write (I); write (‘,’);

Write (J); write (‘]=’); readln M [I,J]);

End;

Suma:=0;

For I:=1 to N do

For J:=I=1 to N do

Suma:=suma+M [I,J];

Write (‘Suma este: ‘);

Writeln (suma);

End.



Subprogram – se intelege o parte dintr-un program ale carei instrunctiuni realieaza o acivitate bine deteminata si care are un nume prin care poate fi activata. Subprogramul smplifica rocesul de proiectare a unui program si reduce dimensiune programului obiect general.

Subprogram: procedura+functie

1.     unde se declara  si sintaxa delaratiei

2.     unde se utilieaza sau apeleaza o functie sau o procedura si sintaxa apelului


O procedura sau o functie se declara inainte de begin-ul unui program, adica se declara inainte de a apela o procedura sau o functie.


Sintaxa declaratiei procedurii prevede:

antet de procedura

bloc – are o parte de declaratii de date care este optionala si o pate de instructiuni, adica un BEGIN si un END;

Sintaxa antetului de procedura:

Procedure: Nume;

Procedure Nume (Lista-de-parametri-formali);


Lista de parametri formali este formata din unul sau mai multi parametri formali; cand sunt mai multi, ei sunt separati prin ;


Sintaxa unui parametru formal:

Nume:Tip – parametru formal valoare

Var Nume:Tip

O procedura se utilizeaza in partea de instrutiuni a programului. Apelul procedurii se face prin instructiunea procedura.

Sintaxa apelului de procedura: daca procedura nu are parameri formali, instructiunea procedura consta in Nume;

Nume (Lista-de-parametri-formali) – este formata din unul sau mai multi parametri. Daca sunt mai muli, sunt separati cu virgula. Lista de parameri efectivi poate fi o variabila, o constanta. Ea corespunde cu lista de parametri formali pozitionali. Perechile parametru formal – parametru efectiv, trebuie sa fie de acelasi tip.

Executia instructiunii procedure fara parametri formali; cand execuia programului ajuge la instructiunea procedura, incepe executia partii de instructiuni cuprinsa intre begin – end a procedurii, iar in momentul in care se intalneste end; programul se reia cu instructiunea urmatoare a instructiunii procedure.


Sa se scrie un program care apeleaza o procedura care scrie 5 linii


Program ExProc;

Procedure ScrieLinii;  

Var

I:Integer;

Begin

For I:=1 to 5 do

Writeln (I);

End;

Begin

Writeln (‘+++++’);

ScrieLinii;

Writeln(‘+++++’);

ScrieLinii;

End.


Instrctiunea rocedura cu parametri formali: in situatia executiei unei asemenea instructiuni procedura, lucrurile se desfasoara cu ajutorul instrcutiunii procedure fara parametri formali, cu deosebirea ca inainte de a apela partea de instructiune a prcedurii se face operatia de transfer a listei de parametri efectivi in lista de parametri formali


Sa se scrie n program care foloseste o procedura care afiseaza un numar variabil de linii pe ecran


Program ExProcPF;

Var

I:Integer;

Procedure SareLinii (*:Integr);

Var

J:Integer;

Begin

For J:=1 to X do

Writeln (J);

End;

Begin

Writeln (‘+++++’);

SareLinii (2);

Write (‘+++++’);

I:=3;

SareLinii (I);

Writeln (‘+++++’);

SareLinii (I+1);

End.



Substiturea unui parametru efectiv in parametu formal depinde de tipul parametrului formal. Daca parametrul formal este valoare, atunci valoarea parametrului efectiv corespunzator lui constituie valoarea initiala a parametrului formal. Orice operatii s-ar face cu parametru formal, nu are nici un efect asupra parametrlui efectiv corespunzator lui. Daca parametrul formal este variabila sau referinta (cel cu var), atunci substituirea se face in sensul ca parametrul formal devine sinonim cu paramerul efectiv corespunzator lui. Orice operatie asupra paametrului formal se rasfrange asupra paramerului efectiv corespunzator lui. E aceea, parametrul efectiv trebie sa fie variabila. Lista de parametrii constituie interfata intre program si procedua sau functie. Sn situatii prin care se transmit date de la programe la procedura/functie sau de la procedura la program. Aramerul efectiv programului trebuie sa fie variabila. And parametrul primeste date si returneaza rezultat, atunci aceasta e variabila.


Sa se scrie un program care citeste 2 nuemre de la tastatura, apeleaza o procedura de schimbare a numerelor si le afiseaza.


Progam Schimb;

Var

A,B:Integer;

Procedure swap (X:Integer; Y:Integer);

Var

M:Integer;

Begin

M:=X;

X:=Y;

Y:=M;

End;

Begin

Write (‘A=’);

Readln (A);

Write (‘B=’);

Readln (B);

Swap (A,B);

Write(‘A=’);

Writeln(A);

Write(‘B=’);

Wrieln (B);

End.


A

B

X

Y

M

1

2

1

2

1



2

1



O functie este o parte de program, la fel ca si procedura, dar care calculeaza o singura valoare ordinala sau reala pe care o returneaza atunci cand este apelatao functie. Declaratia unei functii are loc inainte de Begin-ul programului, ea constand intr-un antet de functie si bloc

Antetul de functie are sintaxa:

Function Nume:Tip;


Blocul este identic cu blocul unei proceduri, cu deosebirea ca inainte de End trebuie sa figureze o instructiune de atribuire de forma Nume:=Expresie;

Funcion Nume (Lista-de-parametri-formali):Tip;

Apelarea une funcii se face atunci cand numele ei apare intr-o expresie. Cand evaluarea exresiei ajunge la numele functiei se face transferul sau substituirea parametrilor efctivi in parametri formali daca exista, apoi se apeleaza partea de oinstructiune a functiei si rezultatul care este calculat de insructiunea de atribuire; valoarea returnata de expresia de atribuie (Nume:=Expesie;) constitue valoarea cu care se continua evaluarea expresiei in care a aparut numele functiei.


Sa se scrie un program care calculeaza valoarea expresiei T=A2+2AB+B2 unde A si B sunt doua numere reale citite de la tastatura. Sa se foloseasca in acest scop o funcie


Program Trinom;

Var

A,B,T:real;

Function Patrat (x:real):real;

Begin

Patrat:x*x;

End;

Begin

Write (‘A=’); readln (A);

Write (‘B=’); readln B);

T:=patrat (A)+2*A*B+Patrat (B);

Write (‘T=’);

Writeln (T:10:2);

End.


Comanda Destination Disk/Memory – arata unde se depune programul obiect. Daca e Destination Memory, programul se incarca in memoria RAM a PC-uluisi poate fi executat cu comanda Run. Daca e Destination Disk, atunci programul obiect se depune in directorul cuent al mediului Turbo Pascal intr-un fisier cu numele Nume.exe unde Nume este numele programului sursa Pascal


Limbajul Pascal standard prevede existanta unor proceduri si functii predeclarate (procedurile si functiile pot fi apelate din  orice program Pascal fara a le declara). Procedurile predeclarate sunt utilizate pentru operatii asupra fisierelor. Functiile pedeclarate sunt cele aritmetice si trigonometrice, booleane si pentru trunchierea si rotunjirea numerelor reale.


I, J: Integer

P, R: Real;


J:=Abs (I);

J:=qr (I);

J:=Trunc (R);

J:=Round (R);

P:=Abs (R);

P:=Sqr (R)


Functiile urmatoare accepta un parametru real sau intreg si furnizeaza un rezultat real:

Sin(x) Cos(x) Actan9x)

Αn(x) Exp(x)

Sqrt(α) – Square Root


Fisierul este o structura care consta dintr-o secventa de componente, oate avand acelasi tip. Secventa componentelor este ordonata in asa fel incat la un moment dat este accesibila o singura componenta. Progresarea in secenta se face incepand cu prima componnta, apoi succesiv – fisierul este secvential. Fisierul poate fi parcurs atat secvential cat si nesecvntial. Limbajul Pascal standard admite 2 tipuri de fisiere: cu tip si text. Limbajul Pascal mai admite si fisiere fara tip.

Declaratia unei variabile se face in sectiunea var unde F e numar variabil, iar tip este tiul componentei

Operatii cu fisiere:

1. Conectarea fisierului la aparatul suport se realizeaza cu ajutorul apelului procedurii predeclarate standard Assign (F, Expresie);

F – variabila de tip fisier

Expresie – furnizeaza aparatul , calea si numele fisierului

Daca fisierul este in directorl curent al mediului Turbo, atunci trebuie specificat numai numele fisierului. Operatia de conectare precede oricare alta operate asupra fisierelor fiind comuna tuturor operatiilor

2. Crearea fisierului este operatia de generare secventiala a componentelor sale;  este precedata de executia procedurii predeclarate lui Rewrite (F); apoi o secventa de adaugare a componentelor fisierului prin executia procedurii redeclarate Write (F,);

F- variabila de tip fisier

E- expresie care furnizeaza valoarea componentei ce se adauga

3. Citirea unui fisier: este precedata de executia procedurii predeclarate Reset (F); apoi de o secventa de citire a componentelor prin executia pocedurii predeclarate Read (F,V);

F – variabila fisier

V – variabila trebuie sa aiba acelasi tip cu comonentele fisierului

Pentru a se opri citirea exista o functie predeclarata numita EOF care returneaza valoarea booleana True cand s-a citit ultima comonenta in cazul celorlalte componente valoarea returnata este False. Cea mai potrivita instructiune de citire este While


Sa se realizeze un program care creeaza un fisier de numere intregi citi de la tastatura, dupa care se afiseaza


Program Fisier;

Var

I,N,C:Longint;

F: File of Longint;

Begin

Write (‘Cate componente are fisierul: ‘);

Readln (N);

Assign (F, ‘Fisint.dat’);

Rewrite (F);

For I:=1 to N do

Begin

Write (‘Tastati o componenta: ‘);

Readln (C);

Write (F,C);     

End;

Writeln (‘Componentele fisierului sunt: ‘);

Reset (F);

While not EOF (F) do

Begin

Read (F,C);

Writeln (C);

End:

End.


Fisierul este destinat comunicatiilor rezile intre calculator si utilizator.

Un fisier text este format din linii de text de o lungime variabila, terminate cu un marcaj de sfarsit de linie si cu un marcaj de sfarsit de fisier. Limbajul Pascal are doua tipuri de fisiere text predefinite: Input si Output. Numele Input poate lipsi din instructiunea ead, Output poate lipsi din instructiunea Write. Aceste fisiere au proceduri: Readln (F,V) si Writeln (F,Expresie)

Daca se face citire de la fisierul text Input, marcajul de sfasit de fisier se obtine cu CTRL+Enter

CTRL+Z Eof devine True


Sa se scrie un program care citeste un fisier text de la tastatura, creeaza un fisier text pe disc si il afiseaza


Program Ftext;

Var

F:Text;

S:String;

Begin

Writeln (‘Tastati liniile textului: ‘);

Assign (F,’Fistext.txt’);

Rewrite (F);

While not EOF do

Begin

Readln (S);

Writeln (F,S);

End;

Writeln (‘Textul introdus este: ‘);

Reset (F);

While not EOF (F) do

Begin

Readln (F,S);

Writeln (S);

End;

End.





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright