teorie informatica

Upload: fadil-parastie

Post on 20-Jul-2015

1.038 views

Category:

Documents


3 download

TRANSCRIPT

Autor:Stanciu Alexandra Clasa a X-a C

1

TABLOURI Caractere generale Un tablou este o multime finita si ordonata de elemente de acelasi tip,care are asociat un numePentru a avea acces la continutul componentelor unui tablou se foloseste pozitia elementelor din tablou(indicele). Indicele trebuie sa fie de un tip ordinal Tipul comun al elementelor de baza poate fi oricare din tipurile de baza sau structurate In cazul in care componentele unui tablou sunt accesate dupa un singur indice,atunci tabloul este unidimensional sau vector,daca sunt accesate dupa 2 indici,atunci tabloul este bidimensional sau matrice,iar daca sunt accesate dupa mai multi indici,atunci tabloul este multidimensional.

1. Vectori4 12 2 9 0 5 34 23 1 7 4 0 11 17

exemplu de vector Adresare:v[x] v[1]=4 (primul element) v[2]=12 (al doilea element) v[3]=2 (al treilea element) ............ v[14]=17(al paisprezecelea element)2

Utilizare Vectorii se utilizeaza,in special,pentru a calcula anumite sume,pentru aranja in ordine crescatoare anumiti termeni sau pentru ecuatii care ar putea fi mai greu de rezolvat folosind alte programe. Declarare type vector=array[1..100] of tip_de_date; var v:vector; n-nr de elemente Program citire+afisare program citire_afisare; type vector=array[1..100] of integer; var a:vector; n,i:integer; begin write(n=); readln(n); for i:=1 to n do begin write(a[,i,]=); readln(a[i]); end; for i:=1 to n do write(a[i], ); readln; end. Program suma si produsul tuturor elementelor program suma_produs; type vector=array[1..100] of integer;3

var v:vector; n,i,s,p:integer; begin write(n=); readln(n); for i:=1 to n do begin write(v[,i,]=); readln(v[i]); end; for i:=1 to n do write(v[i], ); s:=0; for i:=1 to n do s:=s+v[i]; writeln(Suma nr este , s); p:=1; for i:=1 to n do p:=p*v[i]; writeln(Produsul nr este , p); readln; end. Program in care se maresc cu 1 nr div cu 3 program divizibil; type vector=array[1..100] of integer; var a:vector; n,i:integer; begin write(n=); readln(n); for i:=1 to n do begin write(a[,i,]=); readln(a[i]); end;4

for i:=1 to n do write(a[i], ); for i:=1 to n do if v[i] mod 3=0 then v[i]:=v[i]+1; readln; end. Program in care se numara nr poz si cele neg program numarare; type vector=array[1..100] of integer; var a:vector; n,i,nn,np:integer; begin write(n=); readln(n); for i:=1 to n do begin write(a[,i,]=); readln(a[i]); end; for i:=1 to n do write(a[i], ); nn:=0; np:=0; for i:=1 to n do begin if v[i]0 then np:=np+1; end; write(Sunt ,nn, nr neg si ,np, nr poz); readln; end.

5

Program in care sa se calculeze S=a[1]+...+a[n]/b[1]+...+b[n] program suma; type vector=array[1..100] of integer; var a,b:vector; n,i:integer; s:real; begin write(n=); readln(n); for i:=1 to n do begin write(a[,i,]=); readln(a[i]); write(b[,i,]=); readln(b[i]); end; for i:=1 to n do write(a[i], ); for i:=1 to n do write)b[i], ); s:=0; for i:=1 to n do s:=s+(a[i]/b[i]); write(Suma este , s); readln; end.

6

2. Sortaria)Sortarea prin metoda bulelor Secventa de program program sortarebule; type vector=array[1..100] of integer; var a:vector; i,n,x:integer; inv:boolean; begin write('n='); readln(n); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; repeat inv:=false; for i:=1 to n-1 do if a[i]>a[i+1] then begin inv:=true; x:=a[i]; a[i]:=a[i+1]; a[i+1]:=x; end; until not inv; for i:=1 to n do write(a[i],' '); readln; end.

7

Metoda Ordonarea datelor prin interschimb si miscarea lor spre stanga sau dreapta,asemenea unor bule,poarta numele de Bubble Sort sau Metoda Bulelor. Se repeta parcurgerea vectorului cu interschimbul elementelor care nu respecta relatia de ordine pana cand se ajunge la o parcurgere fara interschimb.Prin ordonare,elementele si-au schimbat pozitia astfel incat la stanga oricarui element se afla toate valorile mai mici decat el,iar la dreapta sa,toate valorile mai mari.Trecerea vectorului de la configuratia initiala la configuratia finala se face prin compararea elementelor invecinate si schimbarea pozitiei lor astfel incat valorile mici sa se deplaseze spre stanga,,iar cele mari spre dreapta.

b)Sortare prin metoda minimului Secventa de program program sortaremin; type vector= array[1..100] of integer; var a:vector i,n,x,min,k,j:integer; begin write('n='); readln(n); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; for i:=1 to n-1 do8

begin min:=a[i]; k:=i; for j:=i+1 to n do if a[j]