Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » referate » informatica
LUCRARE DE ATESTAT - TABLOURI BIDIMENSIONALE

LUCRARE DE ATESTAT - TABLOURI BIDIMENSIONALE




Colegiul National "Nicolae Titulescu"

Craiova

LUCRARE DE ATESTAT

TABLOURI BIDIMENSIONALE



ARGUMENT

Tablourile bidimensionale reprezinta o parte importanta din materia de studiu a unui elev de liceu . Prin studiul tablourilor bidimensionale sau matricilor s-a putut usura rezolvarea exercitiilor si problemelor .Datorita modului simplu de invatare si retinere a notiunilor esentiale si atractiei pentru acest capitol din informatica , eu am ales tablourile bidimensionale ca tema pentru atestat

Cap I. Notiuni introductive

1.Tablouri bidimensionale

Def : Prin tablou intelegem o strucutura de date, toate de acelasi fel, care ocupa locatii successive in memorie.

Tablourile sunt de mai multe feluri dar cele mai folosite sunt tablourile unidimensionale si bidimensionale (matrici).

Def :Tablourile bidimensionale reprezinta o structura de date, toate de acelasi fel organizate pe linii si coloane.

Schematic arata astfel :

Coloana 1

Coloana2

Coloana 3

Coloana n

Linia 1

a[1,1]

a[1,2]

a[1,3]

a[1,m]

Linia 2

a[2,1]

a[2,2]

a[2,3]

a[2,m]

Linia 3

a[3,1]

a[3,2]

a[3,3]

a[3,m]

Linia n

a[n,1]

a[n,2]

a[n,3]

a[n,m]

1

4

12

3

0

1

0

22

4

3

1

1

-matrice cu n x m elemente

-a[i,j] : i=indice de linie

j=indice de coloana

-exemplu :n=3 si m=4 : a[2,3]=0

O categorie aparte a matricilor o constituie matricile patratice ,in care numarul de linii este egal cu numarul de coloane adica n=m

Declararea tablourilor bidimensionale

Se realizeaza prin doua metode:

a) type nume_tip = array[tip_indice1,tip_indice2] of tip_componenta

unde :tip_indice1 =indice de linie

tip_indice2 =indice de coloana

tip componenta = tipul de date din care fac parte elementele matricei

nume_tip = numele atribuit de utilizator tipului de date

array = cuvant cheie

of = cuvant cheie

exemple:

type tablou = array[1..5,1..3] of integer

type matrice = array[1..10,1..10] of integer

b) var a :array[tip_indice1,tip_indice2] of tip_componenta

unde: a = numele matricei



tip_indice1 = indice de linie

tip_indice2 = indice de coloana

array = cuvant cheie

of = cuvant cheie

var = cuvant cheie

tip_componenta = tipul de date din care fac parte elementele matricei

In aceasta varianta se spune ca s-a declarat un tip de date anonim

exemple:

var t : array[-5..5,5..10] of char;

t[-3,7] = 'A'

var m :array['a'..'m',1..10] of boolean

m['b',3] = true

CAP II . Operatii cu tablouri bidimensionale

Se presupune ca avem o matrice cu n linii si m coloane si ca avem urmatoarele declaratii

A : array [1..10,1..10] of integer ;

n , i , j : integer ;

1) Citirea tablourilor bidimensionale

for i : = 1 to n do

for j : = 1 to m do

begin

write ('a[', i ,',', j ,'] =') ;

readln (a[i ,j]) ;

end;

2) Tiparirea tablourilor bidimensionale

a)     pe un singur rand cu spatiu intre elemente

for i : = 1 to n do

for j : = 1 to m do

write (a[i,j],' ') ;

end ;

b)     pe randuri diferite

for i : = 1 to n do

for j : = 1 to m do

writeln (a[I,j]) ;

c)     sub forma de matrice

for i : = 1 to n do

begin

for j : = 1 to m do

write (a[i,j]:3) ;

writeln ;

end ;

3) Aflarea sumei si produsului elementelor

program suma_si_produs ;

type matrice = array[1..10,1..10] of integer ;

var a : matrice ;

n , I , j , S , P : integer ;

Begin

write ('n=') ; readln(n) ;

S : = 0

P : = 1

for i : = 1 to n do

for j : = 1 to m do

begin

S : = S + a[i,j] ;

P : = P * a[i,j] ;

end ; End.

4) Aflarea simultana a maximului si minimului

program minim_si_maxim ;

type matrice = array[1..10,1..10] of integer ;

var a : matrice ;

n , i , j , min , max : integer ;

Begin

Write ('n=') ; readln (n) ;

min : =a[1,1] ;

max : = a[1,1] ;

for i : = 1 to n do

for j : = 1 to m do

begin

if a[i,j] > max them max : = a[i,j] ;

if a[i,j] < min then min : = a[i,j] ;

end ;

End .

5) Afisarea elementelor matricei in ordinea rezultata parcurgerii acesteia in spirala

program spirala ;

type matrice = array[1..10,1..10] of integer ;

vat a : matrice ;

n, i, j, k : integer ;

Begin

write ('n='); readln(n) ;

for i : = 1 to n do

for j : = 1 to n do

begin

write (' a[', i ,',', j ,'] = ') ;

readln (a[i,j]);

end ;

for k : = 1 to n div 2 +1 do

begin

for i : = k to n-k+1 do writeln (a[k,i]) ;

for i : = k +1 to n-k+1 do writeln (a[i,n-k+1]) ;

for i : = n-k downto k do writeln (a[n-k+1,i]) ;

for i : = n-k downto k+1 do writeln (a[i,k]) ;

end;

End.

6) Interschimbarea liniilor unei matrice

Se citeste un tablou cu m linii si n coloane. Se citesc de asemenea si doua numere naturale, distincte, x si y, cuprinse intre 1 si m. Se cere sa se schimbe liniile x si y. La inceput se va afisa tabloul initial, apoi cel obtinut prin interschimbarea liniilor x si y

Program inversare ;

type matrice = array[1..10,1..10] of byte ;

var a : matrice ;

m , n , i , j , x , y , aux : integer ;

Begin

write ('m=') ; readln (m) ;

write ('n=') ; readln (n) ;

for i : = 1 to m do

for j : = 1 to n do

begin

write ('a[', i ,',', j ,']=') ; readln (a[i,j]) ;

end ;

write ('x=') ; readln (x) ;

write ('y=') ; readln (y) ;

for i := 1 to m do

begin

for j : = 1 to n do

write (a[i,j],' ') ;

writeln ;

for j : = 1 to n do

begin

aux : = a[x,j] ;

a[x,j] : = a[j,y] ;

a[j,y] : = aux ;

end ;

writeln ;

for i : = 1 to m do

begin

for j = 1 to n do

write (a[i,j],' ') ;

writeln ;

end ;

End.

Cap III . Aplicatii cu matrici

Se da o matrice a patratica cu n x n elemente care are urmatoarele cerinte :

a) Sa se citeasca si sa se tipareasca matricea a ?

b) Sa se afiseze minimul si maximul matricei precum si pozitiile pe care se afla acestia ?

c) Sa se realizeze o procedura prin care sa se interschimbe doua linii oarecare din matrice ?

d) Sa se afiseze maximul elementelor matricei pe linie respectiv minimul pe coloane ?

e) Sa se calculeze suma elementelor matricei a de pe diagonala principala respectiv suma elementelor de pe diagonala secundara ?

program atestat;

type matrice=array[1..10,1..10] of integer;

var a : matrice;

s1, s2, n, i, j: integer;

max , min:integer;

procedure citire_matrice(var a:matrice;var n:integer

begin

write(' n= '); readln(n);

for i : =1 to n do

for j : = 1 to n do

begin

write('a[', i, ' , ', j ,'] = ');readln(a[i,j])

end;

end;

procedure tiparire_matrice(a:matrice ; n:integer);

begin

for i : = 1 to n do

begin

for j : =1 to n do

write(a[i,j]:3,' ');

writeln;

end;

end;

procedure pozitie(nr:integer);

begin

for i:=1 to n do

for j:=1 to n do

if a[i,j]=nr then

writeln(i,' ',j);

end;

procedure maxim_si_minim(a:matrice;n:integer);

begin

max:=a[1,1];

min:=a[1,1];

for i:=1 to n do

for j:=1 to n do

begin

if a[i,j]>max then

max:=a[i,j];

if a[i,j]<min then

min:=a[i,j];

end;

end;

procedure maxim_pe_linii(a:matrice;n:integer;k:integer);

var max_lin:integer;



begin

max_lin : =a[k,1];

for j : =1 to n do

if a[k,j] > max_lin then max_lin : =a[k,j];

writeln('maximul pe linia ', k ,' este :',max_lin);

end;

procedure minim_pe_coloane(a:matrice;n:integer;k:integer);

var min_col:integer;

begin

min_col:=a[1,k];

for i:=1 to n do

if a[1,k]<min_col then min_col:=a[1,k];

writeln('minimul pe coloana ',k,' este :',min_col);

end;

procedure interschimbare(a:matrice;n:integer);

var aux : matrice;

begin

i : =1;

for j : =1 to n do

aux[i,j]:=a[i,j];

i:=2;

for j : =1 to n do

begin

a[1,j] : =a[i,j];

a[i,j] : =aux[1,j];

end;

writeln(' Matricea interschimbata intre linia 1 si linia 2 este ');

for i : =1 to n do

begin

for j : =1 to n do

write(a[i,j],' ');

writeln;

end;

end;

procedure contur(a:matrice;n:integer);

begin

i :=1;

for j : =1 to n do

write(a[i,j],' ,);

i :=n;

for j : =1 to n do

write(a[i,j],' ,);

j:=1;

for i : =2 to n-1 do

write(a[i,j],' ,);

j : =n;

for i : =2 to n-1 do

write(a[i,j],' ,);

writeln;

end;

procedure sum_diag_princ(a:matrice;n:integer);

begin

s1:=0;

for i:=1 to n do

for j:=1 to n do

if i=j then

s1:=s1+a[i,j];

write(,s1=',s1);

writeln;

end;

procedure suma_diag_sec(a:matrice;n:integer);

begin

s2:=0;

for i :=1 to n do

for j :=1 to n do

if (i+j)=n+1 then

s2:=s2+a[i,j];

write(,s2=',s2);

writeln;

end;

Begin

citire_matrice(a,n);

tiparire_matrice(a,n);

maxim_si_minim(a,n);

writeln(,Elementul maxim este :',max,' si se afla pe pozitia:');

pozitie(max);

writeln(,Elementul minim este :',min,' si se afla pe pozitia:');

pozitie(min);

for i :=1 to n do

maxim_pe_linii(a,n,i);

for j :=1 to n do

minim_pe_coloane(a,n,j);

write(,conturul matricei este: ,);

contur(a,n);

interschimbare(a,n);

write('Suma de pe diagonala principala este ');

suma_diagonala_principala(a,n);

write('suma de pe diagonala secundara este ');

suma_diagonala_secundara(a,n);

End.

EXECUTAREA PROGRAMULUI DE LA APLICATIE

N =3

a [1,1]=1

a [1,2]=1

a [1,3]=3

a [2,1]=4

a [2,2]=5

a [2,3]=6

a [3,1]=7

a [3,2]=8

a [3,3]=9

1 2 3

Matricea initiala este : 4 5 6

7 8 9

Elementul maxim este :9 si se afla pe pozitia : 3 3

Elementul minim este :1 si se afla pe pozitia : 1 1

Maximul pe linia 1 este :3

Maximul pe linia 2 este :6

Maximul pe linia 3 este :9

Minimul pe coloana 1 este :1

Minimul pe coloana 2 este :2

Minimul pe coloana 3 este :3

Conturul matricei este : 1 2 3 7 8 9 4 6

Matricea cu liniile 1 si 2 interschimbate este :

4 5 6

1 2 3

7 8 9

Suma de pe diagonala principala este s1=15

Suma de pe diagonala principala este s2=15

BIBLIOGRAFIE

ATESTAT TESTE SI PROBLEME REZOLVATE :

Roxana TAMPLARU , Dana ROTOFEI , Nicolita GUTA , Mihaela GRINDEANU

Editura ARVES , 2003 , CRAIOVA

MANUAL INFORMATICA CLASA A-IX-A VARIANTA PASCAL :

Tudor SORIN

Editura L&S INFOMAT , 2002 , CRAIOVA







Politica de confidentialitate







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


Proiecte

vezi toate proiectele
PROIECT DE LECTIE CLASA A II-A, Educatie plastica, Tehnica marmorata
PROIECT DIDACTIC 5-7 ani activitate matematica - „Cum este si cum nu este aceasta piesa”
Proiect Circuite Digitale
Organizarea si conducerea procesului tehnologic proiectat

Lucrari de diploma

vezi toate lucrarile de diploma
LUCRARE DE DIPLOMA - Rolul asistentului medical in ingrijirea pacientului cu A.V.C.
Spatiul romanesc, intre diplomatie si conflict in Evul Mediu
Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”
Lucrare de diploma Facultatea de Textile – Pielarie - Tehnologia confectiilor din piele si inlocuitori - PROIECTAREA CONSTRUCTIV TEHNOLOGICA A UNUI PR

Lucrari licenta

vezi toate lucrarile de licenta
Lucrare de licenta contabilitate si informatica de gestiune - politici si tratamente contabile privind leasingul (ias 17). prevalenta economicului asupra juridicului
Lucrare de licenta educatie fizica si sport - sistemul de selectie in jocul de handbal pentru copii de 10-11 ani in concordanta cu cerintele handbalul
Lucrare de licenta - cercetare si analiza financiara asupra deseurilor de ambalaje la sc.ambalaje sa
LUCRARE DE LICENTA - Asigurarea calitatii la firma Trans

Lucrari doctorat

vezi toate lucrarile de doctorat
Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
Lucrare atestat informatica - „administrarea gradinii botanice”
Lucrare atestat Tehnician operator tehnica de calcul - Sursa de tensiune cu tranzistoare npn
ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
Proiect atestat tehnician in turism - carnaval la venezia

PROIECT ATESTAT INFORMATICA - GESTIONAREA STOCULUI UNEI FARMACII
Trasaturile marketingului la inceput de secol XXI
Structuri arborescente combinationale pentru inmultirea binara
Elementele de baza ale unui template Joomla
Comunicare si sincronizare prin mesaje
Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson
ELEMENTE COMPONENTE ALE SISTEMULUI INFORMATIC
CALCULUL CLIENT/SERVER



Termeni si conditii
Contact
Creeaza si tu