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 bidimensionalereprezinta o parte importanta din materia de studiu a unui elev de liceu. Prin studiultablourilor bidimensionale sau matricilor s-a pututusura rezolvarea exercitiilor si problemelor .Datorita moduluisimplu de invatare si retinere a notiunilor esentiale si atractiei pentruacest capitol din informatica , eu am ales tablourile bidimensionale ca tema pentruatestat

Cap I. Notiuni introductive

1.Tablouri bidimensionale

 

Def : Printablouintelegem 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 adican=m

2. 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:

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

2)     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:

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

t[-3,7] = ‘A’

2)     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

fori : = 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 ;

vata: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 tom do

begin

for j = 1 to n do

write (a[i,j],’ ‘) ;

writeln ;

end ;

End.

Cap III .Aplicatii cu matrici

Se da o matricea 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-1do

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.

EXECUTAREAPROGRAMULUI 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

123

Matricea initiala este:456

789

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 :

456

123

789

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

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 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
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 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