Differences

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

Link to this comparison view

poo:laboratoare:01 [2017/12/22 12:53]
mihai.nan
poo:laboratoare:01 [2023/10/01 10:05] (current)
carmen.odubasteanu [Problema 3]
Line 9: Line 9:
 ====Problema 1==== ====Problema 1====
 Să se introducă programul de mai jos (clasa **//​Test//​**) într-un fișier cu numele ''​Prob1.java'',​ folosind mediul integrat NetBeans / Eclipse. 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:+ 
 +**1.** Să se compileze și să se ruleze următorul program:
 <code java> <code java>
 class Test { class Test {
Line 17: Line 18:
 } }
 </​code>​ </​code>​
-Adăugați atributul **//​public//​** înaintea cuvântului cheie **//​class//​**,​ recompilați și executați programul. Rezolvați problema apărută!+**2.** ​Adăugați atributul **//​public//​** înaintea cuvântului cheie **//​class//​**,​ recompilați și executați programul. Rezolvați problema apărută!
  
  
Line 29: Line 30:
 ====Problema 2==== ====Problema 2====
 Să se scrie o clasă **//​Problema2//​** care conţine două metode (funcţii): Să se scrie o clasă **//​Problema2//​** care conţine două metode (funcţii):
-  * metoda **//print()//** care primește un argument de tip String pe care-l afișează;​ +  * 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.+  * metoda **//​main//​** care apelează funcția **//​print()//​** pentru afișarea unui șir constant.
  
 <note warning> <note warning>
Line 49: Line 50:
 ====Problema 3==== ====Problema 3====
   - Să se modifice clasa scrisă la exerciţiul anterior prin definirea a două clase, fiecare conţinând câte o metodă:   - 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 **//​main//​**;​ 
-    * o clasă pentru metoda **//print()//**. +    * o clasă pentru metoda **//​print//​**. 
-  - as+    * 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>​
  
  
-1.  +====Problema 4==== 
-\begin{itemize} +Să se scrie un program pentru afișarea tuturor argumentelor primite ​în linia de comandă. 
-\item + 
-o clasă pentru metoda \textbf{main()};​ +<note tip> 
-\item +<color green>​**Observație**</​color>​
-o clasă pentru metoda \textbf{print()}. +
-\end{itemize} +
-\par +
-\noindent +
-Să se verifice dacă ambele clase din fi\c{s}ier pot fi publice. +
-\par +
-\noindent +
-Apelul metodei \textbf{print} se va realiza ​în acelaşi mod ca la problema 2! +
-\newline +
-\warning{IMPORTANT !}  +
-\begin{Warning} +
-Într-un fi\c{s}ier \textbf{\textit{nu}} pot fi definite două \textbf{\textit{clase publice}}+
-\end{Warning} ​ +
-\par +
-\setlength{\parindent}{7ex} +
-2. Să se modifice programul anterior prin crearea a două fişiere sursă, fiecare conţinând o clasă cu câte o singură metodă. Incercati să executa\c{t}i ambele clase. +
-\noindent +
-\newline +
-\newline +
-\warning{IMPORTANT !}  +
-\begin{Warning} +
-O \textbf{\textit{clasă executabilă}} este o clasă care con\c{t}ine obligatoriu \textbf{\textit{metoda main}}. +
-\end{Warning}+
  
-\noindent 
-\chapter{\textbf{Problema 4}} 
-\par 
-\setlength{\parindent}{7ex} 
-Să se scrie un program pentru afi\c{s}area tuturor argumentelor primite în linia de comandă. 
-\begin{myblock}{Observatie} 
 Argumentele se pot transmite astfel: Argumentele se pot transmite astfel:
-\begin{itemize} +  * daca programul se ruleaza din NetBeans / Eclipse se vor urma instructiunile de la începutul laboratorului;​ 
-\item +  ​* ​daca programul se ruleaza din linia de comandă: ​''​java numeprogram arg1 arg2 arg3''​ 
-daca programul se ruleaza din NetBeans / Eclipse se vor urma instructiunile de la începutul laboratorului;​ +</​note>​
-\item +
-daca programul se ruleaza din linia de comandă: +
-\setlength{\parindent}{14ex} +
-\par +
-\textbf{\textit{java numeprogram arg1 arg2 arg3}} +
-\end{itemize} +
-\end{myblock}+
  
-\noindent 
-\chapter{\textbf{Problema 5}} 
-\par 
-Să se realizeze o clasă care cuprinde o metodă recursivă care calculează puterea întreagă a unui numar întreg \c{s}i o metodă pentru afi\c{s}area rezultatului func\c{t}iei,​ alături de rezultatul func\c{t}iei statice \textbf{\textit{Math.pow(baza,​ exp)}} pentru a se putea valida. Clasa va con\c{t}ine un \textbf{main} în care se vor testa cele două metode definite anterior. 
  
-\warning{IMPORTANT !}  +====Problema 5==== 
-\begin{Warning} +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 validaClasa va conține un **//​main//​** în care se vor testa cele două metode definite anterior.
-\noindent +
-O \textbf{\textit{metodă ​statică}} a unei clase se apelează prin: +
-\setlength{\parindent}{17ex} +
-\par\color{Blue}\textbf{NumeClasă.numeMetodăStatică(...)} +
-\newline +
-Ex: \texttt{Math.pow(...);} +
-\end{Warning} ​+
  
 +<note important>​
 +<color red>​**IMPORTANT!**</​color>​
  
 +O **//metodă statică//​** a unei clase se apelează prin:
  
-\vspace{0.2cm} +''​NumeClasă.numeMetodăStatică(...)''​ 
-\noindent + 
-\chapter{\textbf{Problema 6}} +''​Math.pow(...);''​ 
-\par+</​note>​  
 + 
 + 
 + 
 +====Problema 6====
 Să se implementeze o clasă cu două metode: Să se implementeze o clasă cu două metode:
-\begin{itemize} +  * o metodă ​(nestatica) ​de tip ''​boolean'' ​care verifică dacă un număr întreg dat este prim; 
-\item +  ​* ​metoda ​''​main'' ​care verifică metoda anterioară pentru toate numerele naturale mai mici ca $20$.
-o metodă de tip \textbf{\textit{boolean}} care verifică dacă un număr întreg dat este prim; +
-\item +
-metoda ​\textbf{\textit{main()}} care verifică metoda anterioară pentru toate numerele naturale mai mici ca 20. +
-\end{itemize}+
  
-\noindent 
-\chapter{\textbf{Problema 7}} 
-\par 
-Să se scrie un program pentru verificarea ipotezei lui Goldbach pentru primele \textbf{n} numere pare, prin afi\c{s}area tuturor sumelor de două numere prime prin care poate fi exprimat un număr par. Variabila \textbf{n} poate fi ini\c{t}ializată cu o valoare constantă. 
-\par 
-\textbf{Ipoteza lui Goldbach:} orice nr par poate fi descompus ca sumă de cel pu\c{t}in o pereche de două numere prime. Se consideră $1$ ca fiind număr prim. 
  
-\begin{myexampleblock}{Cod sursă Java} +====Problema 7==== 
-\par +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ă. 
-Pentru afi\c{s}area unei expresii de forma \textbf{\textit{a = b + c}} se va scrie: + 
-\begin{lstlisting}+**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); System.out.println(a + " = " + b + " + " + c);
-\end{lstlisting} +</​code>​ 
-unde \textbf{\textit{a}}\textbf{\textit{b}}\textbf{\textit{c}} sunt variabile numerice de orice tip (\textbf{\textit{short}}\textbf{\textit{int}}\textbf{\textit{long}}\textbf{\textit{float}}\textbf{\textit{doube}}). +unde ''​a''​''​b''​''​c'' ​sunt variabile numerice de orice tip (''​short''​''​int''​''​long''​''​float''​''​double''​).
-\end{myexampleblock}+
  
-\noindent +====Problema 8==== 
-\chapter{\textbf{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**//.
-\par +
-Să se scrie un program pentru ordonarea unui vector de numere ​\c{s}i căutarea binară în acest vector, folosind metodele statice ​\textbf{\textit{sort()}} si \textbf{\textit{binarySearch()}} din clasa \textbf{\textit{Arrays}}. Vectorul va con\c{t}ine numere generate aleator folosind metoda statică ​\textbf{\textit{random()}} din clasa \textbf{\textit{Math}}, cu rezultat de tip \textbf{\textit{double}}.+
  
poo/laboratoare/01.1513940036.txt.gz · Last modified: 2017/12/22 12:53 by mihai.nan
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