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





loading...




Politica de confidentialitate

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


Proiecte

vezi toate proiectele
 SCHITA DE PROIECT DIDACTIC GEOGRAFIE CLASA: a IX-a - Unitatile majore ale reliefului terestru
 PROIECT DIDACTIC 5-7 ani Educatia limbajului - Cate cuvinte am spus?
 Proiect atestat Tehnician Electronist - AMPLIFICATOARE ELECTRONICE
 Proiect - masurarea si controlul marimilor geometrice

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)
 LUCRARE DE DIPLOMA MANAGEMENT - MANAGEMENTUL CALITATII APLICAT IN DOMENIUL FABRICARII BERII. STUDIU DE CAZ - FABRICA DE BERE SEBES
 Lucrare de diploma tehnologia confectiilor din piele si inlocuitor - proiectarea constructiv tehnologica a unui produs de incaltaminte tip cizma scurt

Lucrari licenta

vezi toate lucrarile de licenta
 LUCRARE DE LICENTA CONTABILITATE - ANALIZA EFICIENTEI ECONOMICE – CAI DE CRESTERE LA S.C. CONSTRUCTIA S.A TG-JIU
 Lucrare de licenta sport - Jocul de volei
 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
 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
 PROIECT ATESTAT MATEMATICA-INFORMATICA - CALUTUL INTELIGENT
 Proiect atestat Tehnician Electronist - AMPLIFICATOARE ELECTRONICE
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 ATESTAT PROFESIONAL TURISM SI ALIMENTATIE PUBLICA, TEHNICIAN IN TURISM




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