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.