Documente Academic
Documente Profesional
Documente Cultură
AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică și Ingineria Sistemelor
Raport
pentru lucrarea de laborator Nr.1
Verificat:
Chișinău – 2023
1
Cuprins
TEMA LUCRĂRII..............................................................................................................3
SCOPUL LUCRĂRII:........................................................................................................3
ETAPELE DE REALIZARE:............................................................................................3
SARCINA 1:........................................................................................................................3
CODUL:..............................................................................................................................3
OUTPUT:............................................................................................................................4
CONCLUZII........................................................................................................................6
2
Lucrare de laborator nr. 1
Tema lucrării: Clase, obiecte, constructori
Scopul lucrării:
Etapele de realizare:
1.Sarcina 1:
În fiecare cuvânt din textul dat simbolul de pe poziţia indicată a cuvântului de
înlocuit cu un simbol dat. Dacă poziţia indicată este mai mare ca lungimea cuvântului,
corecţia nu se face.
Codul:
import java.util.Scanner;
class Text
{
private String mySent;
private int pos;
private char symb;
private String newSent = "1.";
public Text( String mySent, int pos, char symb)
{
this.mySent = mySent;
this.symb = symb;
this.pos = pos;
}
public String getSentence()
{
return newSent;
}
public void changeSentence()
{
String[] words = mySent.split("[\\s,.:;?!]+");
4
Output:
La rularea acestui program, în terminal se va afișa fraza „Introduceți textul”, care solicită
de la utilizator introducerea de la tastatură a unei propoziții și apăsarea butonului Enter.
După ce textul a fost citit, se solicită inserarea poziției pentru înlocuire, adică a câta literă
din cuvinte va fi modificată.
După alegerea poziției, va fi nevoie de introdus și simbolul nou cu care vor fi înlocuite
literele de pe poziția specificată anterior.
În final, la ecran se va afișa textul scris la început și modificat conform cerințelor scrise la
fiecare pas al programului. Putem observa că fiecare a 3-a literă a fost înlocuită cu „q”. De
5
asemenea putem menționa că dacă cuvântul este mai scurt decât poziția aleasă, nimic nu se
modifică.
2.Sarcina 2:
Elaborați un program Java care va crea un meniu recursiv. Acesta trebuie să cuprindă
următoarele funcții (cu apelare ulterioară ale acestora în funcția main()):
1. Citește șirul de caractere de la tastatură;
2. Afișează șirul de caractere;
3. Calculează și afișează lungimea șirului;
4. Calculul conform variantelor;
5. ....
6. Ieșire din program.
Varianta 1:
Se dă un tablou unidimensional de tip Char. Să se modifice toate caracterele primului
cuvânt în litere mari; să se identifice cel mai mare cuvânt din șir; să se numere câte cuvinte există
în șir; să se înlocuiască toate caracterele ‘a’ întâlnite în șir cu caracterul ‘*’; să se găsească și să se
afișeze ultima poziție a caracterului ‘a’; să se inverseze șirul de caractere; să se insereze după
fiecare cuvânt din șir numărul de litere a cuvântului respectiv; să se șteargă din șir cuvântul care
începe cu caracterul ‘e’.
Codul:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
while (true) {
System.out.println(
"\n1. Citește șirul de caractere de la tastatură;\
n" +
"2. Afișează șirul de caractere;\n" +
"3. Calculează și afișează lungimea
șirului;\n" +
"4. Modifică caracterele primului cuvânt în
litere mari;\n" +
"5. Identifică cel mai mare cuvânt din
șir;\n" +
"6. Calculează câte cuvinte sunt în șir;\n"
+
"7. Modifică caracterul 'a' cu '*';\n" +
6
"8. Identifică ultima poziție a
caracterului 'a';\n" +
"9. Inversarea șirului;\n" +
"10. Inserează după fiecare cuvânt numărul
de litere;\n" +
"11. Șterge din șir cuvintele care încep cu
'e';\n" +
"12. Ieșire din program;\n");
switch (choice) {
case 1:
System.out.print("Introduceți șirul: ");
String sentence = scanner.nextLine();
text.get(sentence);
break;
case 2:
System.out.println("Șirul introdus: " +
text.show());
scanner.nextLine();
break;
case 3:
System.out.println("Lungimea șirului este: " +
text.leng());
scanner.nextLine();
break;
case 4:
text.upper();
System.out.println("Șirul modificat: " +
text.show());
scanner.nextLine();
break;
case 5:
System.out.println("Cel mai lung cuvânt este: " +
text.longword());
scanner.nextLine();
break;
case 6:
System.out.println("Șirul conține " + text.wordnum()
+ " cuvinte");
scanner.nextLine();
break;
case 7:
text.moda();
System.out.println("Șirul modificat: " +
text.show());
scanner.nextLine();
break;
case 8:
System.out.println("Ultima poziție a caracterului
„a”: " + text.lasta());
scanner.nextLine();
break;
case 9:
System.out.println("Șirul inversat este: " +
text.invert());
scanner.nextLine();
break;
case 10:
7
System.out.println("Șirul cu numărul de litere după
cuvinte: " + text.addLeng());
scanner.nextLine();
break;
case 11:
System.out.println("Șirul fără cuvinte ce încep cu
„e”: " + text.remove());
scanner.nextLine();
break;
case 12:
System.out.println("La revedere!");
return;
default:
System.out.println("Optiunea incorectă!");
break;
}
}
}
}
class Text
{
private String sent;
public Text()
{
this.sent = "";
}
public void get(String sent)
{
this.sent = sent;
}
public String show()
{
return sent;
}
public int leng()
{
return sent.length();
}
public void upper()
{
String[] words = sent.split("[\\s,.:;?!]+");
words[0] = words[0].toUpperCase();
sent = String.join(" ", words);
}
public String longword()
{
String[] words = sent.split("[\\s,.:;?!]+");
int lenght = 0;
int word = 0;
for (int i = 0; i < words.length; i++)
{
if (lenght < words[i].length())
{
lenght = words[i].length();
word = i;
}
}
return words[word];
8
}
public int wordnum()
{
String[] words = sent.split("[\\s,.:;?!]+");
return words.length;
}
public void moda()
{
String[] words = sent.split("[\\s,.:;?!]+");
9
Output:
11
Figura 2.12. Opțiunea 11
Opțiunea 11 returnează șirul, eliminând toate cuvintele care încep cu litera „e”. În șirul
inițial nu existau asemenea cuvinte, de aceea a fost introdus un alt șir „Este important să depui mult
efort”. Puteți observa că au rămas doar cuvintele „important să depui mult”.
12
Concluzii
Efectuând această lucrare de laborator am făcut cunoștință cu softul Cisco Packet Tracer
este un software de simulare a rețelei dezvoltat de Cisco Systems. Oferă un mediu vizual pentru a
simula configurația și comportamentul routerelor și comutatoarelor Cisco. Packet Tracer este
folosit în mod obișnuit pentru a exersa abilitățile de configurare a rețelei și de depanare și pentru a
preda și învăța concepte cheie în rețelele de computere.
În Cisco Packet Tracer, un hub este un dispozitiv de rețea care funcționează la nivelul fizic
al modelului OSI(Open Systems Interconnection-acronim pentru interconectarea sistemelor
deschise) și oferă un punct de conectare comun pentru mai multe dispozitive de rețea. Acesta
transmite datele primite de la un dispozitiv către toate celelalte dispozitive conectate. Un
comutator, pe de altă parte, operează la nivelul de legătură de date al modelului OSI și oferă o
conexiune dedicată pentru fiecare dispozitiv din rețea. Utilizează adrese MAC pentru a redirecționa
datele către dispozitivul de destinație corect, ceea ce este mai eficient decât abordarea de difuzare
utilizată de hub-uri.
În concluzie pot spune că principala diferență dintre un hub și un comutator în Cisco
Packet Tracer este că un hub transmite date către toate dispozitivele conectate, în timp ce un
comutator utilizează adrese MAC pentru a redirecționa datele către dispozitivul de destinație
corect.
13