luni, 26 august 2024

Operațiile destinate prelucrării tipurilor de date tablou unidimensional

În programarea Java, vectorii (tablourile) sunt utilizați pentru a stoca un număr fix de valori de același tip. Mai jos veți găsi câteva operații importante prezentate cât se poate de simplu, cu algoritm și exemple practice.

1️⃣ Declararea și inițializarea unui vector

Operația: Crearea unui vector și alocarea de valori.
Algoritm:
  1. Se declară vectorul.
  2. Se initializează cu valori.
int[] v = {3, 5, 7, 2, 9};

2️⃣ Citirea elementelor unui vector de la tastatură

Operația: Crearea unui vector și alocarea de valori citite de la tastatură.
Algoritm:
  1. Citește numărul de elemente.
  2. Creează vectorul.
  3. Parcurge și citește fiecare valoare.
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] v = new int[n];
for(int i = 0; i < n; i++){
    v[i] = sc.nextInt();
}

3️⃣ Afișarea elementelor unui vector

Operația: Afișarea tuturor valorilor din vector.
Algoritm:
  1. Parcurge vectorul.
  2. Afișează fiecare element.
for(int i = 0; i < v.length; i++){
    System.out.print(v[i] + " ");
}

4️⃣ Calculul sumei elementelor din vector

Operația: Determinarea sumei tuturor valorilor.
Algoritm:
  1. Inițializează suma cu 0.
  2. Adună succesiv toate elementele.
int suma = 0;
for(int i = 0; i < v.length; i++){
    suma += v[i];
}
System.out.println("Suma = " + suma);

5️⃣ Determinarea valorii maxime

Operația: Găsirea celui mai mare element.
Algoritm:
  1. Se presupune că primul element este maxim.
  2. Se compară toate valorile cu acesta.
int max = v[0];
for(int i = 1; i < v.length; i++){
    if(v[i] > max)
        max = v[i];
}
System.out.println("Maximul = " + max);

6️⃣ Determinarea valorii minime

Operația: Găsirea celui mai mic element.
Algoritm:
  1. Se consideră primul element minim.
  2. Se compară toate valorile cu el.
int min = v[0];
for(int i = 1; i < v.length; i++){
    if(v[i] < min)
        min = v[i];
}
System.out.println("Minimul = " + min);

7️⃣ Căutarea unui element în vector

Operația: Verificarea existenței unei valori.
Algoritm:
  1. Se parcurge vectorul.
  2. Dacă un element coincide cu cel căutat → găsit.
int caut = 7;
boolean gasit = false;
for(int i = 0; i < v.length; i++){
    if(v[i] == caut){
        gasit = true;
        break;
    }
}
if(gasit)
    System.out.println("Elementul a fost găsit.");
else
    System.out.println("Elementul NU există.");

8️⃣ Determinarea mediei elementelor

Operația: Calculul mediei aritmetice.
Algoritm:
  1. Se calculează suma.
  2. Se împarte la numărul elementelor.
int suma = 0;
for(int x : v){
    suma += x;
}
double media = (double)suma / v.length;
System.out.println("Media = " + media);

9️⃣ Sortarea elementelor prin metoda bulelor (Bubble Sort)

Operația: Sortarea vectorului în ordine crescătoare prin compararea elementelor vecine.
Algoritm:
  1. Parcurge vectorul de mai multe ori.
  2. Compară elementele adiacente.
  3. Dacă sunt în ordine greșită, le interschimbă.
  4. Cel mai mare element „urcă” spre final.
for(int i = 0; i < v.length - 1; i++){
    for(int j = 0; j < v.length - 1 - i; j++){
        if(v[j] > v[j + 1]){
            int temp = v[j];
            v[j] = v[j + 1];
            v[j + 1] = temp;
        }
    }
}
System.out.println("Vector sortat cu metoda bulelor:");
for(int x : v)
    System.out.print(x + " ");

🔟 Inversarea elementelor din vector

Operația: Ultimul element devine primul și invers.
Algoritm:
  1. Se folosesc doi indici (stânga și dreapta).
  2. Se interschimbă valorile până la mijloc.
int left = 0, right = v.length - 1;
while(left < right){
    int temp = v[left];
    v[left] = v[right];
    v[right] = temp;
    left++;
    right--;
}

joi, 22 august 2024

Explorează diferența dintre abstract și concret

    Bine venit în această postare unde veți găsi un videoclip educațional, creat de Hodoroja Sorin (aprilie 2024), în care veți descoperi diferențele dintre conceptele de abstract și concret în limbajul Java. 

    Aceste două concepte sunt fundamentale pentru programarea orientată pe obiecte și reprezintă cheia pentru a construi aplicații flexibile și reutilizabile.

    Pe parcursul acestui video, vom explora ce înseamnă o clasă abstractă și cum se diferențiază aceasta de o clasă concretă. Vom înțelege când și de ce să folosim metode abstracte și cum să implementăm aceste concepte în codul nostru Java. 

    Cu ajutorul unor exemple practice, vom clarifica modul în care abstractizarea ne ajută să definim comportamente generale, lăsând detaliile concrete să fie implementate în subclase.

Alăturați-vă pentru a aprofunda aceste noțiuni esențiale și a învăța cum să le aplicați eficient în proiectele voastre Java!




Mulțumim Sorin pentru implicare activă!!!!


Conceptele Static și Non-Static în limbajul Java

În Java, clasele și obiectele sunt elementele de bază ale oricărui program. 
Dar știați că clasele pot avea două tipuri de membri: statice și non-statice? 
Membrii statice aparțin clasei în sine, în timp ce membrii non-statice aparțin instanțelor clasei. 
Această distincție poate părea subtilă, dar are un impact semnificativ asupra modului în care codul dvs. se comportă și se execută.

În acest video, elevul Morari Sandu (martie 2020) explorează lumea conceptelor statice și non-statice în Java!

La sfârșitul acestui tutorial, veți avea o înțelegere solidă a când să utilizați membrii statice și non-statice și cum să scrieți cod Java mai eficient și mai bun. 

Așa că, să începem și să vă ridicăm abilitățile Java la nivelul următor!



Îți mulțumim Sandu pentru acest video util!!!


joi, 15 august 2024

Instrucţiunea repetitivă do-while

În limbajul Java există încă o instrucțiune iterativă, do‑while — asemănătoare cu while, dar cu o diferenţă importantă: corpul buclei se execută cel puţin o dată, indiferent dacă condiţia iniţială este adevărată sau falsă.

Scop:
Se foloseşte atunci când:
  1. vrem să efectuăm cel puţin o dată o acţiune (de ex. afişarea unui meniu, citirea input-ului) şi apoi să continuăm repetarea doar cât timp condiţia este îndeplinită;
  2. condiţia de continuare apare după corpul buclei (post-condiţie).
Sintaxa:
do { 
 // instrucţiuni 
} while (expresie_conditie);


Semantica:
  1. Se execută corpul buclei.
  2. Se verifică expresia_conditie.
  3. Dacă este adevărată, se revine la pasul 1 (se repetă).
  4. Dacă este falsă, bucla se opreşte şi apoi execuţia continuă.

Exemplu

Rezultate


Explicație
Codul solicită utilizatorului un număr pozitiv cel puţin o dată, şi repetă solicitarea dacă numărul este negativ.
Chiar dacă expresia_conditie este falsă de la început (ex. numar este deja pozitiv), corpul se va executa o dată.
Ca şi în cazul instrucțiunii while, trebuie să existe o cale de ieşire — altfel va apărea o buclă infinită.
Evitaţi folosirea condiţiei true fără mecanism de întrerupere.