Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo:laboratoare:01 [2017/10/30 20:59]
127.0.0.1 external edit
poo:laboratoare:01 [2023/10/01 10:05] (current)
carmen.odubasteanu [Problema 3]
Line 1: Line 1:
 ===== Laboratorul 01. ===== ===== Laboratorul 01. =====
  
 +<note important>​
 +<color blue>​**Observație**</​color>​
 +
 +Datele de intrare se vor da fie ca parametri în linia de comandă, fie ca valori fixe ale aplicațiilor!
 +</​note>​
 +
 +====Problema 1====
 +Să se introducă programul de mai jos (clasa **//​Test//​**) într-un fișier cu numele ''​Prob1.java'',​ folosind mediul integrat NetBeans / Eclipse.
 +
 +**1.** Să se compileze și să se ruleze următorul program:
 +<code java>
 +class Test {
 + public static void main(String args[]) {
 + System.out.println("​Test Java"​);​
 + }
 +}
 +</​code>​
 +**2.** Adăugați atributul **//​public//​** înaintea cuvântului cheie **//​class//​**,​ recompilați și executați programul. Rezolvați problema apărută!
 +
 +
 +
 +
 +<note warning><​color #​FF0000>​**IMPORTANT!**</​color>​
 +
 +Clasele care **NU** au atributul **//​public//​** pot avea un nume diferit de numele fișierului sursă, însă dacă adăugăm atributul **//​public//​** este obligatoriu ca numele clasei și numele fișierului sursă, în care se află clasa, să coincidă.</​note>​
 +
 +
 +====Problema 2====
 +Să se scrie o clasă **//​Problema2//​** care conţine două metode (funcţii):
 +  * metoda **//​print//​** __nestatica__ care primește un argument de tip ''​String''​ pe care-l afișează;
 +  * metoda **//​main//​** care apelează funcția **//​print()//​** pentru afișarea unui șir constant.
 +
 +<note warning>
 +<color #​FF0000>​**IMPORTANT!**</​color>​
 +
 +Metoda print se va apela în **//​main//​** astfel:
 +<code java>
 +Problema2 obiect = new Problema2();​ // creare obiect de tip Problema2
 +obiect.print("​Test"​);​ //apelare metoda print
 +</​code>​
 +</​note>​
 +
 +
 +
 +
 +
 +
 +====Problema 3====
 +  - Să se modifice clasa scrisă la exerciţiul anterior prin definirea a două clase, fiecare conţinând câte o metodă:
 +    * o clasă pentru metoda **//​main//​**;​
 +    * o clasă pentru metoda **//​print//​**.
 +    * Să se verifice dacă ambele clase din fișier pot fi publice. Apelul metodei **//​print//​** se va realiza în acelaşi mod ca la problema 2!
 +  - Să se modifice programul anterior prin crearea a două fişiere sursă, fiecare conţinând cate una din clasele de mai sus. Incercati să executați ambele clase.
 +
 +<note important>​
 +<color red>​**IMPORTANT!**</​color>​
 +
 +Într-un fișier **NU** pot fi definite două **clase publice**.
 +</​note>​
 +
 +
 +====Problema 4====
 +Să se scrie un program pentru afișarea tuturor argumentelor primite în linia de comandă.
 +
 +<note tip>
 +<color green>​**Observație**</​color>​
 +
 +Argumentele se pot transmite astfel:
 +  * daca programul se ruleaza din NetBeans / Eclipse se vor urma instructiunile de la începutul laboratorului;​
 +  * daca programul se ruleaza din linia de comandă: ''​java numeprogram arg1 arg2 arg3''​
 +</​note>​
 +
 +
 +====Problema 5====
 +Să se realizeze o clasă care cuprinde o metodă recursivă (nestatica) care calculează puterea întreagă a unui numar întreg și o metodă pentru afișarea rezultatului funcției, alături de rezultatul funcției statice ''​Math.pow(baza,​ exp)''​ pentru a se putea valida. Clasa va conține un **//​main//​** în care se vor testa cele două metode definite anterior.
 +
 +<note important>​
 +<color red>​**IMPORTANT!**</​color>​
 +
 +O **//metodă statică//​** a unei clase se apelează prin:
 +
 +''​NumeClasă.numeMetodăStatică(...)''​
 +
 +''​Math.pow(...);''​
 +</​note> ​
 +
 +
 +
 +====Problema 6====
 +Să se implementeze o clasă cu două metode:
 +  * o metodă (nestatica) de tip ''​boolean''​ care verifică dacă un număr întreg dat este prim;
 +  * metoda ''​main''​ care verifică metoda anterioară pentru toate numerele naturale mai mici ca $20$.
 +
 +
 +====Problema 7====
 +Să se scrie un program pentru verificarea ipotezei lui Goldbach pentru primele n numere pare, prin afișarea tuturor sumelor de două numere prime prin care poate fi exprimat un număr par. Variabila n poate fi inițializată cu o valoare constantă.
 +
 +**Ipoteza lui Goldbach:** orice nr par poate fi descompus ca sumă de cel puțin o pereche de două numere prime. Se consideră $1$ ca fiind număr prim.
 +
 +Pentru afișarea unei expresii de forma ''​a = b + c''​ se va scrie:
 +<code java>
 +System.out.println(a + " = " + b + " + " + c);
 +</​code>​
 +unde ''​a'',​ ''​b'',​ ''​c''​ sunt variabile numerice de orice tip (''​short'',​ ''​int'',​ ''​long'',​ ''​float'',​ ''​double''​).
 +
 +====Problema 8====
 +Să se scrie un program pentru ordonarea unui vector de numere și căutarea binară în acest vector, folosind metodele statice **//​sort()//​** și **//​binarySearch()//​** din clasa **//​Arrays//​**. Vectorul va conține numere generate aleator folosind metoda statică **//​random()//​** din clasa //​**Math**//,​ cu rezultat de tip //​**double**//​.
  
poo/laboratoare/01.1509389957.txt.gz · Last modified: 2017/12/22 12:53 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0