This shows you the differences between two versions of the page.
|
poo-ca-cd:laboratoare:limbajul-java [2025/10/03 14:13] florian_luis.micu [Resurse și linkuri utile] |
poo-ca-cd:laboratoare:limbajul-java [2025/10/15 04:25] (current) florian_luis.micu [Resurse și linkuri utile] |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * Autori: [[miculuis1@gmail.com | Florian-Luis Micu ]], [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]], [[stefancocioran@gmail.com | Ștefan Cocioran ]] | * Autori: [[miculuis1@gmail.com | Florian-Luis Micu ]], [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]], [[stefancocioran@gmail.com | Ștefan Cocioran ]] | ||
| - | * Data publicării: 30.09.2025 | + | * Data publicării: 05.10.2025 |
| - | * Data ultimei modificări: 30.09.2025 | + | * Data ultimei modificări: 05.10.2025 |
| - | ====Obiective==== | + | =====Obiective===== |
| - | Scopul acestui laborator este familiarizarea studenților cu noțiunile de bază ale programării în Java. | + | Scopul acestui laborator este de a familiariza studenții cu noțiunile de bază ale programării în Java. |
| Aspectele urmărite sunt: | Aspectele urmărite sunt: | ||
| Line 14: | Line 14: | ||
| * Utilizarea instrucțiunilor de control ale execuției | * Utilizarea instrucțiunilor de control ale execuției | ||
| * Condiționale (if, if-else, switch). | * Condiționale (if, if-else, switch). | ||
| - | * Bucle (for, while, do-while) și instrucțiuni speciale pentru bulce (break, continue). | + | * Bucle (for, while, do-while) și instrucțiuni speciale pentru bucle (break, continue). |
| * Lucrul cu tablouri (array-uri, matrice). | * Lucrul cu tablouri (array-uri, matrice). | ||
| * Exploatarea mecanismelor de afișare în consolă. | * Exploatarea mecanismelor de afișare în consolă. | ||
| Aspectele **bonus** urmărite sunt: | Aspectele **bonus** urmărite sunt: | ||
| - | * Noțiunea de classpath. | + | * Noțiunea classpath. |
| * Rolul fișierelor .jar. | * Rolul fișierelor .jar. | ||
| * Sisteme de build și management de proiect. | * Sisteme de build și management de proiect. | ||
| Line 323: | Line 323: | ||
| <code java> | <code java> | ||
| int day = 3; | int day = 3; | ||
| - | char dayInitial; | + | char dayName; |
| switch(day) { | switch(day) { | ||
| Line 1066: | Line 1066: | ||
| - | ==== Summary ==== | + | ===== Summary ===== |
| * Codul Java se compilează cu javac și se rulează cu java pe bytecode interpretat de JVM. | * Codul Java se compilează cu javac și se rulează cu java pe bytecode interpretat de JVM. | ||
| Line 1082: | Line 1082: | ||
| | | ||
| - | ====Exerciții==== | + | =====Exerciții===== |
| <note tip> | <note tip> | ||
| Line 1092: | Line 1092: | ||
| </note> | </note> | ||
| - | ==Task 1 - Simple checksum (2.5p)== | + | <note warning> |
| + | * Exercițiile vor fi făcute pe platforma [[https://code.devmind.ro/|Devmind Code]]. Găsiți exercițiile din acest laborator în **contestul aferent**. | ||
| + | * Vă recomandăm să faceți exercițiile **mai întâi** în IntelliJ, deoarece acolo aveți acces la o serie de **instrumente** specifice unui IDE. După ce ați terminat exercițiile puteți să le **copiați** pe Devmind Code. | ||
| + | </note> | ||
| + | |||
| + | ====Task 1 - Simple checksum (2.5p)==== | ||
| **Enunț:** Citește un număr și calculează cifra de control astfel: | **Enunț:** Citește un număr și calculează cifra de control astfel: | ||
| Line 1101: | Line 1106: | ||
| **Exemplu:** ''n'' = ''9875'' → ''9+8+7+5'' = ''29'' → ''2+9'' = ''11'' → ''1+1'' = ''2''. | **Exemplu:** ''n'' = ''9875'' → ''9+8+7+5'' = ''29'' → ''2+9'' = ''11'' → ''1+1'' = ''2''. | ||
| - | ==Task 2 - Aproximarea lui π folosind seria lui Leibniz (2.5p)== | + | ====Task 2 - Aproximarea lui π folosind seria lui Leibniz (2.5p)==== |
| **Enunț:** Calculează o aproximare a lui π folosind seria lui Leibniz și observați cum precizia crește cu cât mărim ''n'': | **Enunț:** Calculează o aproximare a lui π folosind seria lui Leibniz și observați cum precizia crește cu cât mărim ''n'': | ||
| Line 1125: | Line 1130: | ||
| $$ | $$ | ||
| - | ==Task 3 - Frecvența vocalelor și a consoanelor dintr-un cuvânt (2.5p)== | + | ====Task 3 - Frecvența vocalelor și a consoanelor dintr-un cuvânt (2.5p)==== |
| **Enunț:** Scrieți un program care citește de la utilizator ''n'' caractere și numără câte vocale și câte consoane sunt. Considerăm literele ''a, e, i, o, u'' și **literele mari** corespunzătoare ca vocale. Restul literelor sunt consoane. Ignorăm spațiile, cifrele și semnele de punctuație. | **Enunț:** Scrieți un program care citește de la utilizator ''n'' caractere și numără câte vocale și câte consoane sunt. Considerăm literele ''a, e, i, o, u'' și **literele mari** corespunzătoare ca vocale. Restul literelor sunt consoane. Ignorăm spațiile, cifrele și semnele de punctuație. | ||
| Line 1137: | Line 1142: | ||
| * **consoane**: 3 | * **consoane**: 3 | ||
| - | ==Task 4 - Triunghiul lui Pascal (2.5p)== | + | ====Task 4 - Triunghiul lui Pascal (2.5p)==== |
| **Enunț:** Generați primele n linii din triunghiul lui Pascal. | **Enunț:** Generați primele n linii din triunghiul lui Pascal. | ||
| Line 1155: | Line 1160: | ||
| </code> | </code> | ||
| - | ==Task 5 - Debug (Opțional - 0p)== | + | ====Task 5 - Debug (Opțional - 0p)==== |
| - | **Enunț:** Descărcați următoarea {{:poo-ca-cd:laboratoare:limbajul-java:poo_lab-1_ex-5.zip|arhivă}} și deschideți proiectul dinăuntrul ei cu IntelliJ. Rezolvați bug-urile din **proiect** pentru a face codul să compileze și pentru a avea rezultatele corecte. | + | **Enunț:** Descărcați următoarea {{:poo-ca-cd:laboratoare:limbajul-java:poo_lab-1_ex-5.zip|arhivă}} și deschideți proiectul dinăuntrul ei folosind IntelliJ. Rezolvați bug-urile din **proiect** pentru a face codul să compileze și pentru a avea rezultatele corecte. |
| <spoiler Hint#1> | <spoiler Hint#1> | ||
| Line 1176: | Line 1181: | ||
| </note> | </note> | ||
| - | ==== Resurse și linkuri utile==== | + | ===== Resurse și link-uri utile===== |
| * [[:poo-ca-cd:laboratoare:old-exercises|Exerciții din alți ani]] | * [[:poo-ca-cd:laboratoare:old-exercises|Exerciții din alți ani]] | ||
| * [[https://www.baeldung.com/jvm-vs-jre-vs-jdk|Difference Between JVM, JRE, and JDK]] | * [[https://www.baeldung.com/jvm-vs-jre-vs-jdk|Difference Between JVM, JRE, and JDK]] | ||
| + | * [[https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html|Java primitive data types]] | ||
| + | * [[https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html|Java operators precedence]] | ||
| /* Nu mai merge: | /* Nu mai merge: | ||