Lucrare practică 3
Obiective:
- Consolidarea cunoștințelor despre definiția și apelarea funcțiilor.
- Utilizarea parametrilor și valorilor returnate.
- Observarea diferenței dintre variabile locale și globale.
- Aplicarea recursivității la probleme algoritmice.
- Importarea și utilizarea modulelor standard.
Sarcina de lucru:
1. Exerciții introductive
1.1. Funcție simplă fără parametri
-
- Scrieți o funcție care afișează un mesaj de salut pentru utilizator.
- Apelați funcția de cel puțin 3 ori în program.
1.2. Funcție cu parametri și return
-
- Scrieți o funcție suma(a,b) care primește două numere și returnează suma lor.
- Testați funcția cu valori introduse de la tastatură.
2. Parametri, variabile și modularizare
2.1. Valori returnate
-
- Scrieți o funcție maxim(a, b, c) care primește trei numere și returnează valoarea maximă dintre ele.
2.2. Variabile locale și globale
-
- Declarați o variabilă globală x=n, unde n este numărul de ordine după lista grupei.
- Scrieți o funcție care definește o variabilă locală x=n*2 și afișează valoarea ei.
- Încercați să afișați la ecran ambele variabile la sfârșitul programului, observați diferența dintre variabila locală și cea globală.
2.3. Organizare modulară
-
- Creați un fișier Python utilitati.py în care să definiți funcțiile suma și maxim.
- Într-un alt fișier main.py, importați modulul utilitati și testați funcțiile.
3. Recursivitate
3.1. Factorial
-
- Scrieți o funcție recursivă care calculează factorialul unui număr n.
3.2. Suma primelor n numere naturale
-
- Scrieți o funcție recursivă care calculează suma 1+2+...+n.
4. Module standard
4.1. Module matematice
-
- Folosiți modulul math pentru a calcula: radicalul unui număr, valoarea lui pi, ridicarea la putere x^y.
4.2. Generare de numere aleatoare
-
- Folosiți modulul random pentru a simula aruncarea unui zar de n ori.
4.3. Lucrul cu data și ora
-
- Folosiți modulul datetime pentru a afișa data și ora curentă.
5. Exercițiu de sinteză
Scrieți un program care conține un meniu cu următoarele opțiuni:
-
- Calcul factorial (folosind funcția recursivă).
- Determinarea maximului a trei numere (funcție cu parametri și return).
- Simulare aruncare zar (folosind random).
- Afișarea datei curente (folosind datetime).
- Ieșire din program.
- Programul trebuie să se repete (folosind o buclă) până când utilizatorul alege opțiunea de ieșire.
Evaluarea rezultatelor efectuării lucrării practice:
Pontaj:
- Nota 5 pentru realizarea punctului 1 și 2, ambele complet.
- +1 pentru realizarea și punctului 3 complet.
- +1 pentru realizarea și punctului 4 complet.
- +1 pentru realizarea și punctului 5 complet.
- +2 pentru răspunsul corect la întrebările din partea cadrului didactic.
Penalități:
- -1 pentru fiecare săptămână întârziere.
- -1 pentru lipsă la ora practică la care a fost înmânată sarcina.
- -2 pentru nerespectarea codului de etică a studentului la ore.