laborator7.pdf
TRANSCRIPT
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 1/6
ROMÂNIA
Universitatea Politehnica din Bucuresti
Facultatea de Antreprenoriat, Ingineria si Managementul
Afacerilor
Programarea Calculatoarelor - Laboratorul 7
Responsabil: Şl.dr.ing. Bogdan Ţigănoaia, [email protected]
Obiectivele laboratorului sunt urmatoarele:
Preentarea notiunii de subprogram
!ucrul cu tablouri in "ava
1. Prezentarea notiunii de subprogram
#ubprogramele permit iolarea codului care implementeaa un anumit algoritm. Rolul lor
esential este acela de a spri$ini depanarea si reutiliarea codului.%n "ava subprogramele pot
e&ista doar sub 'orma de metode inglobate in cadrul unor clase. O metoda ('unctie) are:
un nume (identi'icator) unic in cadrul aceleiasi clase.
o lista de parametri de apel * 'aciliteaa transmiterea datelor ce trebuie prelucrate.
un tip returnat (poate 'i void).
1
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 2/6
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 3/6
#ystem.out.println(9<=598')2
' 5 'actorial(>)2
#ystem.out.println(99)2
#ystem.out.println(9>=598')2
' 5 'actorial(?)2
#ystem.out.println(99)2
#ystem.out.println(9?=598')2
0
0
Task 2: Scrieti un subprogram a!a care sa ca"cu"eze #actoria"u" unui numar natura"citit de "a tastatura $!arianta nerecursi!a%&
2& Tab"ouri
ablourile sunt obiecte ce contin colectii de elemente de acelasi tip. Re'erirea la
componentele unui tablou se 'ace prin indici numerici 4 .. A*7 unde A este numarul total de
elemente.&ista doua sinta&e de declarare:
tip variabilaCtablou;2
tip; variabilaCtablou2
Pentru tablouri bidimensioanale: tip variabilaCtablou; ;2
Dlocarea unui tablou se poate 'ace prin:
tip variabilaCtablou; 5 neE tipnumarCelemente;
tip variabilaCtablou; 5 / el7, elF, G eln02
3
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 4/6
Himensiunea unui tablou se poate a'la prin intermediul atributu"ui length:
l5IariabilaCtablou.length
"ava nu suporta tablouri dinamice (dimensiunea unui tablou este 'i&a).
Task ': (ompi"ati si ru"ati urmatoru" program a!a
public class !aborator /
public !aborator() /
0
static 'inal int H%J 5 <2
public static void a'iseaaJatrice ( int m;;, #tring numeJat) /
int i, $2
#ystem.out.println(9Jatricea 98numeJat)2
'or ( i542 iKm.length2 i88) /
'or ( $54 2 $Kmi;.length2 $88)
#ystem.out.print(mi;$;89 9)2
#ystem.out.println(99)2
0
0
public static void genereaalementeJatrice( int m;; ) /
int i, $2
'or ( i542 iKm.length2 i88)
'or ( $54 2 $Kmi;.length2 $88)
mi;$;5(int)(746Jath.random())2
0
public static int;; inmultesteJatrici( int a;;, int b;;) /
4
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 5/6
int i, $, 1, dim2
int c;; 5 neE inta.length;b4;.length;2
i'(a4;.length=5b.length) / LL daca nr col a lui a =5 nr lin a lui b
#ystem.out.println(9Jatricile nu pot 'i inmultite9)2
return c2
0
else
dim 5 a4;.length2
'or ( i542 iKa.length2 i88)
'or ( $54 2 $Kbi;.length2 $88) /
ci;$; 5 42
'or( 1542 1Kdim2 188)
ci;$; 85 ai;1; 6 b1;$;2
0
return c2
0
public static void main(#tring args;) /
int a;; 5 neE intH%J;H%J;2
int b;; 5 neE intH%J;H%J;2
int c;; 5 neE intH%J;H%J;2
LL generare matrici
genereaalementeJatrice(a)2
a'iseaaJatrice(a,9D9)2
genereaalementeJatrice(b)2
a'iseaaJatrice(b,9B9)2
5
7/17/2019 Laborator7.pdf
http://slidepdf.com/reader/full/laborator7pdf 6/6
LL inmultire matrici -5 D & B
c 5 inmultesteJatrici( a, b )2
a'iseaaJatrice(c,9- 5 D & B9)2
0
0
'& Taskuri
Task ): Scrieti un program a!a care sa sorteze un tab"ou care contine numere rea"ecitite de "a tastatura&
Task *: Scrieti un program a!a care imp"ementeaza un a"goritm recursi! pentruca"cu"u" cmmdc intre doua numere natura"e a si b de#init in #e"u" urmator:
(mmdc$a+b% , (mmdc $b+ a - b%+ daca b./0
(mmdc$a+0%, a daca b,0
onus: Sa se scrie un program a!a care citeste o matrice de "a tastatura+ e3trage sia#iseaza ce"e trei matrici componente: submatricea superior triung4iu"ara+ submatriceain#erior triung4iu"ara si submatricea diagona"a&Restu" e"emente"or din ce"e treisubmatrici !or #i initia"izate cu 0&
Bibliogra'ie: http:LLEEE.opendrum.upt.roL
6