laborator7.pdf

6
 ROMÂNIA  Universitatea Politehni ca din Bucuresti Facultatea de Ant reprenoriat, Ingineria si Man agementul  Afacerilor  Programarea Calculatoarelo r - Laboratorul 7 Responsabil: Şl.dr.ing. Bogdan Ţigănoaia, [email protected] Obiectivele laboratorului sunt urmatoarele: Prezentarea notiunii de subprogram Lucrul cu tablouri in Java 1. Prezentarea notiunii de subprogram Subp rogramele permit izolarea codului care imple mentea za un anumit algoritm. Rolul lor esential este acela de a sprijini depanarea si reutilizarea codului.In Java subprogramele pot exista doar sub forma de metode inglobate in cadrul unor clase. O metoda (functie) are:  un nume (identificator) unic in cadrul aceleiasi clase.  o lista de parametri de apel - faciliteaza transmiterea datelor ce trebuie prelucrate. un tip returnat (poate fi void). 1

Upload: alex-serban

Post on 07-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laborator7.pdf

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

Page 2: Laborator7.pdf

7/17/2019 Laborator7.pdf

http://slidepdf.com/reader/full/laborator7pdf 2/6

Page 3: Laborator7.pdf

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

Page 4: Laborator7.pdf

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

Page 5: Laborator7.pdf

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

Page 6: Laborator7.pdf

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