Sunteți pe pagina 1din 13

Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.

ro/cursur i

Cursul 5

TABLOURI DE VARIABILE
• Tablourile de variabile se folosesc pentru memorarea unor mulţimi de elemente de acelaşi tip.
Exemple: tablouri care au toate elementele, de tip int sau tablouri care au toate elementele de
tip float. Tablourile de acest tip se numesc, de obicei, vectori (tablouri unidimensionale). Cu
ajutorul lor putem codifica în programe “şirurile” întâlnite în schemele logice.
• În Java se pot considera şi tablouri ale căror elemente sunt tot tablouri. Exemplu: tablou ale
cărui elemente sunt tablouri cu elemente de tip float. Un tablou de acest fel corespunde unei
matrici. Exemplu: tablouri cu doi indici care se obţin prin extensia vectorilor.
• Tablourile cu trei indici se obţin prin extinderea tablourilor cu doi indici şi aşa mai departe.
• Tablourile cu mai mulţi indici se numesc tablouri multidimensionale.

Vectori:
• Se definesc printr-o instrucţiune de forma:

int v[ ] = new int[4];

Această instrucţiune precizează că v este un şir de tip int cu 4 componente. Numerotarea


componentelor şirului începe cu 0. Ele se identifică prin v[0], v[1], v[2] şi v[3]. Prin urmare, numărul 4
din declaraţia vectorului v nu este indicele ultimei componente ci dimensiunea sa, adică numărul de
componente. În figura apar numele componentelor vectorului v.

• Dimensiunea unui vector v se poate determina printr-o instrucţiune de forma:

n=v.length;

În această instrucţiune, n este o variabilă de tip int.

Matrici:

Matricile dreptunghiulare se definesc, de obicei, printr-o declaraţie de forma:

int a[ ][ ]=new int[3][4];

Această declaraţie precizează că a este o matrice de tip int cu 3 linii şi 4 coloane. Numerotarea liniilor
şi coloanelor matricii începe de la 0. Elementele de pe prima linie a matricii a se identifică prin a[0][0],

1
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i
a[0][1], a[0][2] şi a[0][3], elementele de pe linia a doua a matricii a se identifică prin a[1][0], a[1][1],
a[1][2] şi a[1][3], iar elementele de pe linia a treia a matricii a se identifică prin a[2][0], a[2][1], a[2][2]
şi a[2][3]. În figura 7.2 apar identificatorii componentelor unei matricii dreptunghiulare a.

Numărul m de linii ale matricii a se determină printr-o instrucţiune de forma:

m=a.length;

numărul n1 de elemente de pe prima linie a matricii a se determină printr-o instrucţiune de forma:

n1=a[0].length;

numărul n2 de elemente de pe a doua linie a matricii a se determină printr-o instrucţiune de forma:

n2=a[1].length;
şi aşa mai departe. Variabilele n, n1 şi n2 care apar în instrucţiunile anterioare sunt de tip int.

Aplicatii

A1.
/* Programul calculeaza maximul unui tablou si maximul fiecarei linii*/

2
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

3
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

4
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

5
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

6
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

7
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

8
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

9
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

Exercitii propuse

Ex1:
Se consideră algoritmul alăturat descris în
pseudocod. Variabila a memorează un tablou
bidimensional cu n linii şi n coloane, numerotate de
la 0 la n-1, iar toate
celelalte variabile sunt întregi.
a. Ce valoare se va afişa în urma executării
secvenţei, dacă n=4, iar tabloul are
conţinutul alaturat?
b. Corespunzător algoritmului dat, scrieţi
programul Java si schema logica
c. Scrieţi în pseudocod un algoritm echivalent
cu cel dat în care să se înlocuiască structura
cât timp... execută cu o structură repetitivă
cu test final

Ex2:
Se consideră tabloul bidimensional a cu n linii numerotate
de la 0 la n-1 şi m coloane numerotate de la 0 la m-1.
1. Ce valoare va reţine elementul a[n-1][p] după
executarea secvenţei de program alăturate? a. cel mai mare
element de pe linia n-1 b. cel mai mic element de pe linia
n-1 c. cel mai mare element de pe coloana n-1 d. cel mai
mic element de pe coloana n-1
2. Scrieţi în pseudocod un algoritm echivalent cu cel dat în
care să se înlocuiască structura for cu o structură cât
timp… execută
3. Corespunzător algoritmului dat, scrieţi programul Java
si schema logica
Ex3:
Considerăm declaraţiile: int i,j,a[10][10];
a. Ce se va afişa după executarea secvenţei de instrucţiuni
alăturate?
b) Corespunzător algoritmului dat, scrieţi programul Java print a[i][j]

10
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

si schema logica
Ex4:
Scrieţi un program Java care citeşte de la tastatură două numere naturale n şi m (2≤m≤10, 2≤n≤10) şi
care construieşte în memorie şi apoi afişează o matrice A cu n linii (numerotate de la 1 la n) şi m
coloane (numerotate de la 1 la m) cu proprietatea că fiecare element Aij memorează cea mai mare
dintre valorile indicilor i şi j (1≤i≤n, 1≤j≤m). Matricea se va afişa pe ecran, câte o linie a matricei pe
câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.

Exemplu: pentru n=4 şi m=5 se va afişa matricea alăturată.

Ex5:
Variabila a memorează un tablou bidimensional cu 5 linii
si 5 coloane, numerotate de la 1 la 5, ale cărui elemente
sunt numere întregi.
a. Care este cel mai mare element situat pe diagonala
principală a tabloului construit în urma executării
secvenţei de program alăturate ?
a. Corespunzător algoritmului dat, scrieţi programul
Java si schema logica
Ex6:
S crieţi un program Java care citeşte de la tastatură un număr natural n (2≤n≤24) şi construieşte în
memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:
- elementele aflate pe diagonala secundară a matricei vor primi valoarea 0
- elementele de pe prima linie, cu excepţia celui aflat pe diagonala secundară vor primi valoarea n
- elementele de pe a doua linie, cu excepţia celui aflat pe diagonala secundară
vor primi valoarea n-1
...
- elementele de pe ultima linie, cu excepţia celui aflat pe diagonala secundară vor
primi valoarea 1
Programul va afişa matricea astfel construită pe ecran, câte o linie a matricei
pe câte o linie a ecranului, cu câte un spaţiu între elementele fiecărei linii (ca în exemplu).
Exemplu: pentru n=4 se va afişa matricea alăturată.
Ex7:
Variabila a memorează un tablou bidimensional cu 5
linii si 5 coloane, numerotate de la 1 la 5, ale cărui
elemente sunt numere întregi.
a. Care este cel mai mare element situat pe diagonala
principală a tabloului construit în urma executării
secvenţei de program alăturate ?
b. Corespunzător algoritmului dat, scrieţi programul
Java si schema logica
Ex8:
În secvenţa alăturată, variabila v memorează elementele

11
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i
unei matrice cu liniile şi coloanele numerotate de la 1 la n,
iar toate celelalte variabile sunt întregi.
1. Dacă 1≤k<n, atunci executarea secvenţei
determină: a. eliminarea liniei k din matrice b.
adăugarea liniei k în matrice c. eliminarea coloanei
k din matrice d. adăugarea coloanei k în matrice
2. Corespunzător algoritmului dat, scrieţi programul
Java si schema logica
Ex9:
Scrieţi un program Java care citeşte de la tastatură un număr natural n (2≤n≤24) şi construieşte în
memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:
- elementele aflate pe diagonala principală a matricei vor primi valoarea 0
- elementele de pe prima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n
- elementelede pe a doua coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n-1
...
- elementele de pe ultima coloană, cu excepţia celui aflat pe diagonala principală
vor primi valoarea 1
Programul va afişa matricea astfel construită pe ecran, câte o linie a matricei
pe câte o linie a ecranului, cu câte un spaţiu între elementele fiecărei linii (ca în
exemplu). Exemplu: pentru n=4 se va afişa matricea alăturată.

Tema:
• Se vor rula in java Aplicatiile A1-A8 si exercitiile Ex1 – Ex9;
• In documentul C5.doc (Wordpad/Word/OfficeOrg) se vor face capturi
corespunzatoare aplicatiilor rulate in care vor apare rezultatele rularii si
comentarii/ observatii;
• Proiectul Java C5 ce contine fisierele sursa A1-A8 si Ex1-Ex9 impreuna cu
C5.doc se vor arhiva intr-un fisier C5_nume+prenume.rar si se va trimite
prin e-mail la adresa constructii20092010@gmail.com. La subject se va
mentiona: C5_nume+prenume; Termen: 28 decembrie 2009, ora 8.00 a.m.

Recomandari:
• Reluarea tuturor materialelor parcurse la curs (C1-C7) si laborator(L1-L14)
disponibile si in format electronic la adresa http://scdsd.bluepink.ro ,
sectiunea Cursuri, informatica aplicata, in vederea unei f. bune pregatiri a
evaluarii practice la laborator precum si a sustinerii testului grila.
• Studentii sunt incurajati sa rezolve Test grila (simulare) ce se va publica pe
site, la adresa de mai sus, pe data de 29 decembrie 2009;

Observatii
• Materiale in format electronic: http://scdsd.bluepink.ro, sectiunea cursuri, informática
aplicata
• Caiet(dosar) – laborator/curs

12
Informatica aplicata-note de curs constructii20092010@gmail.com; http://scdsd.bluepink.ro/cursur i

Colocviu:
Nota finala (NF) se calculeaza pe baza unui punctaj obtinut ca 0.5 *Punctaj test grila (PTG) +0.3
*Punctaj activitate laborator (PAL) (prezenta activa, rezolvare teme etc)+0.2 *Punctaj evaluare la
laborator(PVL)

Organizare test grila:

La curs, conform planificarii seriei respective (saptamana para/ impara):


• Luni, 11 ianuarie 2010, ora 16.00, Sala A01)
• Luni, 18 ianuarie 2010, ora 16.00, Sala A01)

Conform programarii de mai sus, la Testul grila participa numai studentii din seria
respectiva, care au sustinut activitatea la laborator conform programarii, pe parcursul
semestrului I.

Reamintim ca prezenta la activitatile didactice este obligatorie!!! Recuperarea activitatilor


de laborator se face conform regulamentelor facultatii si universitatii, dupa sesiune.

Afisarea notei finale: Vineri, 22 ianuarie 2010, ora 16.00

13

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