Sunteți pe pagina 1din 4

1 ATPA

Laborator 3
Tablouri si matrici
In cadrul acestui laborator se vor implementa clasele Tablou si Matrice. Pentru a implementa clasa Tablou
in limbajul Python, se va folosi structura de tip lista. Practic, tabloul este o lista limitata din punct de vedere
functional.

In folderul lab3 sa se creeze fisierul tablou.py. Clasa Tablou va supraincarca functiile de aflare a
dimensiunii __len__, afisare __str__, iteratie pe colectii in cadrul buclei for __iter__, aflare si setare de
valori __getitem__ si __setitem.
2 ATPA

Exercitii:

1. sa se modifice codul astfel incat sa existe un indicator al numarului de elemente efective din
tablou.
2. sa se implementeze o functie care intoarce valoarea incarcarii tabloului: gol=0, plin =1
3. sa se modifice codul astfel ca al adaugare unui element in afara dimensiunii tabloului, sa se creeze
un tablou de dimensiune dubla, in care se va copia tabloul initial
4. sa se implementeze o functie care permite inserarea de valori in tablou. La inserare, elementele
din dreapta se vor deplasa cu o pozitie
5. stergerea unei valori din tablou este echivalenta cu inserarea constantei None la respectiva
pozitie. Sa se implementeze o functie care compacteaza tabloul la stergerea unei valori

Ciurul lui Eratostene

Pentru a afla numerele prime mai mici decat un numar dat N, se poate folosi algoritmul intitulat ciurul lui
Eratostene. La pasul initial se creeaza un tablou de dimensiune N, care se initializeaza cu valoarea 1.
Pozitiile reprezinta numerele. Se considera ca valoarea 1 reprezinta un numar prim. Incepand de la pozitia
2, se inmulteste pozitia cu pozitiile urmatoare, in tablou fiind trecuta valoarea 0, deoarece pozitiile
urmatoare nu mai sunt numere prime. Se continua pana cand inmultirea depaseste valoare N.

In figura urmatoare este reprezentat tabloul pentru N=31.


3 ATPA

In folderul lab3 se va crea fisierul eratostene.py. In cadrul acestuia se va importa clasa Tablou din fisierul
tablou.py.

Exercitii:

1. In cazul in care N este numar prim (N=31), sa se modifice algoritmul astfel incat sa afiseze si
valoarea N
2. Sa se modifice algoritmul pentru valori booleene.

O matrice poate fi considerata ca fiind un tablou de tablouri. In folderul lab3, se va crea fisierul matrice.py
care va implementa clasa Matrice. Aceasta va utiliza clasa Tablou din fisierul tablou.py
4 ATPA

Exercitii

1. Sa se implementeze codul pentru o matrice de forma urmatoare:

S-ar putea să vă placă și