Sunteți pe pagina 1din 6

Ministerul Educaţiei Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică și Microelectronică

Departamentul Informatică și Ingineria Sistemelor

REFERAT
la lucrarea de laborator nr.1
Tema: „Introducere în limbajul Python. Expresii,
variabile, funcţii. Instrucţiunile logice şi decizionale.”
Disciplina: „Programarea interactivă”

A elaborat st. gr. IA-191, Zastavnețchi Alexandru

A verificat l. u. Strună Vadim

Chişinău – 2020
Lucrarea de Laborator Nr. 1 Programare Interactivă

Tema: Introducere în limbajul Python. Expresii, variabile, funcţii. Instrucţiunile


logice şi decizionale.

Obiective:
 Instalare interpretor / IDE python
 Familiarizare cu limbajul python
• Execuţie instrucţiuni simple în interpretor
• Implementare/executare programe simple folosind Python IDLE
Cerinţe:
 Rezolvaţi în timpul laboratorului problemele de la punctul I și II.

I Probleme

1. Scrieţi o funcţie mile_kilometri care ia un parametru mile şi returnează numărul de


kilometri.
def mile_kilometri(mile) :
print('Functia: mile_kilometri',mile)
print ('Total:',mile*1.6,'km\n'

2. Scrieţi o funcţie seconde_totale care ia trei parametri ore, minute şi secunde şi


returnează numărul total de secunde pentru variabilele ore, minute şi secunde.
def seconde_totale(ore, minute, secunde):
print('Functia: seconde_totale',ore,minute,secunde)
print ('Total:',ore*3600+minute*60+secunde, 'secunde\n')

3. Scrieţi o funcţie suprafata_dreptunghi care are doi parametri lăţimea şi înălţimea


corespunzătoare lungimilor laturilor unui dreptunghi şi returnează perimetrul și aria
dreptunghiului în cm.
def suprafata_dreptunghi (latimea, inaltimea):
print('Functia: suprafata_dreptunghi',latimea, inaltimea)
print ('Perimetru:',2*(latimea+inaltimea),'cm')
print ('Aria:',latimea*inaltimea,'cm^2\n')

4. Scrieţi o funcţie circumferinta_cerc care are un parametru raza ce corespunde razei


unui cerc în cm şi returnează circumferinţa și aria circumferinței unui cerc în cm.
Lucrarea de Laborator Nr. 1 Programare Interactivă

Pentru a furniza o aproximare mai mare la precizie pentru variabila π utilizaţi funcţia
pi din modulul math. (ex. import math math.pi)
import math
def circumferinta_cerc(raza):
print('Functia: circumferinta_cerc',raza)
print('Aria cercului:', raza*math.pi, 'cm\n')

5. Scrieţi o funcţie depozit_valoare care are trei parametri valoare_curenta, rata_anuala


şi ani_depozit şi returnează valoarea_sumei_viitoare_de_bani a valoare_curenta
investită la dobânda rata_anuala în procente, formată anual.
def depozit_valoare (valoare_curenta, rata_anuala, ani_depozit):
for n in range(ani_depozit):
valoare_curenta= valoare_curenta+ (valoare_curenta*rata_anuala/100)
print('Functia: depozit_valoare',valoare_curenta, rata_anuala, ani_depozit)
print ('Total:',valoare_curenta,'%\n')

6. Scrieţi o funcţie virsta_persoana care are parametrul ziua de naştere (zi/luna/an), şi va


returna vîrsta persoanei în zile.
import datetime
def virsta_persoana(an, luna, zi):
ziua_de_nastere = datetime.date(an, luna, zi)
azi = datetime.datetime.today().date()
varsta_in_zile = (azi - ziua_de_nastere).days
print('Functia: virsta_persoana',an, luna, zi)
print('Varsta in zile:',varsta_in_zile,'\n')

II. Probleme

1. Scrieţi o funcţie numar_par care are ca intrare un număr întreg şi returnează True
dacă numărul este par şi False dacă numărul este impar.
def numar_par(nr):
if(nr % 2 == 0):
print('Functia: numar_par:',nr)
print(bool(True),'\n')
else:
print('Functia: numar_par:',nr)
print(bool(False),'\n')

2. Scrieţi o funcţie gaseste_nume care are ca input un nume şi returnează True dacă
numele este fie "Ion", "Elena" sau "Maria" şi se întoarce False în celelalte cazuri.
def gaseste_nume(nume):
Lucrarea de Laborator Nr. 1 Programare Interactivă

if(nume=='Ion' or nume=='Maria' or nume=='Elena'):


print('Functia: gaseste_nume:',nume)
print(bool(True),'\n')
else:
print('Functia: gaseste_nume:',nume)
print(bool(False),'\n')

3. Scrieţi o funcţie an_bisect care ia ca date de intrare anul şi returnează True dacă anul
(un număr întreg) este un an bisect, conform calendarului gregorian şi False în caz
contrar. (Sfat Intră pe Wikipedia: este un algoritm simplu pentru a stabili dacă un an
este un an bisect.)
def an_bisect(an):
if((an % 4 == 0 and an % 100 != 0) or (an % 400 == 0)):
print('Functia: an_bisect',an)
print(bool(True),'\n')
else:
print('Functia: an_bisect',an)
print(bool(False),'\n')

4. Scrieţi o funcţie intersectare_interval care ia parametrii a, b, c şi d, şi returnează True


dacă intervalele [a, b] şi [c, d] se intersectează şi False în caz contrar. În timp ce acest
test poate părea complicat, soluţia este de fapt foarte simplă.
def intersectare_interval(a, b, c, d):
if((a>=c and a<=d)or(b>=c and b<=d)):
print('Functia: intersectare_interval',a,b,c,d)
print(bool(True),'\n')
else:
print('Functia: intersectare_interval',a,b,c,d)
print(bool(False),'\n')

5. Scrieţi o funcţie numele_si_virsta care ia ca date de intrare numele (un şir de caractere) şi
vîrsta (un număr) şi returnează un şir de forma " % este % de ani." unde procentele sunt
numele şi vîrsta sub forma de şir de caractere. Funcţia trebuie să includă o verificare de
eroare pentru cazul în care vîrsta este mai mică decât zero. În acest caz, funcţia ar trebui
să returneze şirul "Eroare: vârstă invalid".
def numele_si_varsta(numele, varsta):
Lucrarea de Laborator Nr. 1 Programare Interactivă

if(varsta<0):
print("Eroare: varsta invalid")
else:
print('Functia: numele_si_varsta:',numele, varsta)
print(numele," are ",str(varsta)," de ani.\n")

6. Scrieţi o funcţie afiseaza_numerele care ia un număr întreg din intervalul [0,100) şi


afişează mesajul "Numarul consta din % zeci si % unitati." unde procentele ar trebui să
fie înlocuite cu valorile corespunzătoare. Funcţia trebuie să includă o verificare de eroare
pentru cazul în care numărul este negativ sau mai mare sau egal cu 100. În aceste cazuri,
funcţia ar trebui să afişeze un mesaj de erare "Eroare: Numarul introdus nu este un număr
de două cifre.".
def afiseaza_numerele(numar_intreg):
print('Functia: afiseaza_numerele',numar_intreg)
if(numar_intreg<0 or numar_intreg>99):
print("Eroare: Numarul introdus nu este un număr de două cifre.")
else:
print("Numarul are: ",numar_intreg//10 , "zeci si ",numar_intreg%10,"unitati\n")

7. Scrieţi o funcţie cauta_nume care are ca parametru prenume, care corespunde unuia
dintre ("Vasile", "Mihail", "Ion" sau "Stefan") şi apoi returnează numele lor
corespunzătoare ("Moraru", "Perebinos", "Sirghi" sau "Buzurniuc"). Dacă prenume nu se
potriveşte cu niciuna dintre aceste şiruri de caractere, returnează eroare "Eroare: Nu este
profesor".
def cauta_nume(prenume):
print('Functia: cauta_nume:',prenume)
if(prenume=="Vasile"):
print("Rezultat: Moraru Vasile\n")
elif(prenume=="Mihail"):
print("Rezultat: Perebinos Mihail\n")
elif(prenume=="Ion"):
print("Rezultat: Sirghi Ion\n")
elif(prenume=="Stefan"):
print("Rezultat: Buzurniuc Stefan\n")
else:
print("Eroare: Nu este profesor")
8. Pig Latin este un joc de limbaj care implică modificarea cuvintelor printr-un simplu
set de reguli. Scrieţi o funcţie pig_latin care are ca parametru un cuvînt şi aplică
următoarele reguli pentru a genera un nou cuvînt în limbajul pig latin.
- Dacă prima literă din cuvînt este o consoană, adăugaţi consoana la sfîrşit şi
adăugaţi "ay" la restul cuvîntului. De exemplu, pig_latin ("pig") va rezulta "igpay".
- Dacă prima literă din cuvînt este o vocală, adăugaţi "way" la sfîrşitul cuvîntului.
De exemplu, pig_latin ("awl") returnează "owlway".
Lucrarea de Laborator Nr. 1 Programare Interactivă

def pig_latin(cuvant):
prima=str(cuvant)
print('Functia: pig_latin:',cuvant)
if(prima[0]=="a" or prima[0]=="e" or prima[0]=="i" or prima[0]=="o" or
prima[0]=="u"):
cuvantul=cuvant+"way"
else:
cuvantul=cuvant+"ay"
print('Rezultat:',cuvantul)

Concluzie: În baza realizării acestei lucrări de laborator, am obținut aptitudini


de lucru în limbajul Python. Realizând saarcinile propuse, am putut aplica
cunoștințele obținute anterior, și a le completa. Am luat cunoștința cu sintaxa
Python și cu nuanțele structurale în vederea exploatării acestuia.

S-ar putea să vă placă și

  • Laborator 2 PI-2018
    Laborator 2 PI-2018
    Document8 pagini
    Laborator 2 PI-2018
    zgurea2
    100% (1)
  • Laborator nr.1 APA
    Laborator nr.1 APA
    Document5 pagini
    Laborator nr.1 APA
    Anastasia Gherman
    Încă nu există evaluări
  • Probleme MIPI Sorocean Sergiu
    Probleme MIPI Sorocean Sergiu
    Document8 pagini
    Probleme MIPI Sorocean Sergiu
    Viorel Sorocean
    Încă nu există evaluări
  • FortSimplificat Proiect
    FortSimplificat Proiect
    Document8 pagini
    FortSimplificat Proiect
    ThomasMusa
    Încă nu există evaluări
  • Laborator 2 PI-2020
    Laborator 2 PI-2020
    Document2 pagini
    Laborator 2 PI-2020
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Programarea Dinamica
    Programarea Dinamica
    Document8 pagini
    Programarea Dinamica
    Iovu Marcel
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document22 pagini
    Lab 3
    Anonymous s3vOBnT
    Încă nu există evaluări
  • Laborator 3 PI-2020
    Laborator 3 PI-2020
    Document4 pagini
    Laborator 3 PI-2020
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Gradient Conjugat
    Gradient Conjugat
    Document20 pagini
    Gradient Conjugat
    Iulian Boboc
    Încă nu există evaluări
  • Proiect Tsa 2 Word
    Proiect Tsa 2 Word
    Document30 pagini
    Proiect Tsa 2 Word
    Витёк Мужичёк
    Încă nu există evaluări
  • Lab 7 Rom
    Lab 7 Rom
    Document5 pagini
    Lab 7 Rom
    Vlada Sofia
    Încă nu există evaluări
  • ASDC2
    ASDC2
    Document12 pagini
    ASDC2
    Valeria Tintaru
    Încă nu există evaluări
  • Lab 5
    Lab 5
    Document7 pagini
    Lab 5
    Dorin Nicoara
    Încă nu există evaluări
  • Lab 3 Rom
    Lab 3 Rom
    Document6 pagini
    Lab 3 Rom
    Jorca Ţuţuianu
    Încă nu există evaluări
  • Generarea Submulţimilor Unei Mulţimi
    Generarea Submulţimilor Unei Mulţimi
    Document2 pagini
    Generarea Submulţimilor Unei Mulţimi
    Antonia Dogaru
    Încă nu există evaluări
  • Interpol Are
    Interpol Are
    Document26 pagini
    Interpol Are
    Cosmin Dumitru
    Încă nu există evaluări
  • Lab 1 BD
    Lab 1 BD
    Document7 pagini
    Lab 1 BD
    Augusta Bucataru
    Încă nu există evaluări
  • Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Document8 pagini
    Rezolvarea Numerica A Sistemelor de Ecuatii Liniare
    Valentin I. Marius
    Încă nu există evaluări
  • Metode Si Modele de Calcul
    Metode Si Modele de Calcul
    Document10 pagini
    Metode Si Modele de Calcul
    o m
    Încă nu există evaluări
  • LucrariLab SI - Sarcini
    LucrariLab SI - Sarcini
    Document2 pagini
    LucrariLab SI - Sarcini
    Tudor Stratan
    Încă nu există evaluări
  • Lab 2 BD
    Lab 2 BD
    Document19 pagini
    Lab 2 BD
    Augusta Bucataru
    Încă nu există evaluări
  • LL3 (Amoo)
    LL3 (Amoo)
    Document6 pagini
    LL3 (Amoo)
    Eric Semeniuc
    Încă nu există evaluări
  • Lucrare de Laborator Nr.4 CDE
    Lucrare de Laborator Nr.4 CDE
    Document8 pagini
    Lucrare de Laborator Nr.4 CDE
    Dan
    Încă nu există evaluări
  • ASDC1
    ASDC1
    Document17 pagini
    ASDC1
    Valeria Tintaru
    Încă nu există evaluări
  • Lab 3 MMC
    Lab 3 MMC
    Document4 pagini
    Lab 3 MMC
    Adrian Bodorin
    Încă nu există evaluări
  • Amo 5
    Amo 5
    Document8 pagini
    Amo 5
    Fil Gorea
    Încă nu există evaluări
  • Raport 4 Si 5 SDA
    Raport 4 Si 5 SDA
    Document14 pagini
    Raport 4 Si 5 SDA
    Вадим Платон
    Încă nu există evaluări
  • PAM
    PAM
    Document3 pagini
    PAM
    nicu zuza
    Încă nu există evaluări
  • Co1
    Co1
    Document5 pagini
    Co1
    I LOVE ME
    Încă nu există evaluări
  • SOMIPP Lab6
    SOMIPP Lab6
    Document9 pagini
    SOMIPP Lab6
    X3 KTO
    Încă nu există evaluări
  • GRILA1
    GRILA1
    Document40 pagini
    GRILA1
    Gabi Stroe-Ilinca
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document40 pagini
    Curs 2
    angeleyes999
    Încă nu există evaluări
  • ASDN2
    ASDN2
    Document6 pagini
    ASDN2
    Viktor Dobrovolschi
    Încă nu există evaluări
  • L 1
    L 1
    Document8 pagini
    L 1
    Vîzdoagă Daniel
    Încă nu există evaluări
  • TW Lab4
    TW Lab4
    Document8 pagini
    TW Lab4
    Dan
    Încă nu există evaluări
  • Lab. 3
    Lab. 3
    Document5 pagini
    Lab. 3
    Cristina Florea
    Încă nu există evaluări
  • Laborator 4 ASDN
    Laborator 4 ASDN
    Document7 pagini
    Laborator 4 ASDN
    RoscaFlorin
    Încă nu există evaluări
  • Lab 1 MN
    Lab 1 MN
    Document8 pagini
    Lab 1 MN
    DmitriiGreen
    Încă nu există evaluări
  • SOMIPP Lab 5
    SOMIPP Lab 5
    Document5 pagini
    SOMIPP Lab 5
    Augusta Bucataru
    Încă nu există evaluări
  • Lab2 MN CR-212 V14
    Lab2 MN CR-212 V14
    Document8 pagini
    Lab2 MN CR-212 V14
    Tabureanu Marian
    Încă nu există evaluări
  • Laborator 1 Cucu Eugeniu
    Laborator 1 Cucu Eugeniu
    Document5 pagini
    Laborator 1 Cucu Eugeniu
    Cucu Eugen
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document6 pagini
    Lab 1
    Ion Popescu
    Încă nu există evaluări
  • A1
    A1
    Document11 pagini
    A1
    Amarfii Sergiu
    Încă nu există evaluări
  • Moraru Roman Co Lab 1
    Moraru Roman Co Lab 1
    Document5 pagini
    Moraru Roman Co Lab 1
    Belinschi Andrei
    Încă nu există evaluări
  • TAP Lab1
    TAP Lab1
    Document4 pagini
    TAP Lab1
    Adrian Bodorin
    50% (2)
  • Despre UML
    Despre UML
    Document51 pagini
    Despre UML
    Danu Botnari
    Încă nu există evaluări
  • Javascript Curs
    Javascript Curs
    Document118 pagini
    Javascript Curs
    AlCatalinAdrian
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document4 pagini
    Lab 6
    Егор Казаков
    Încă nu există evaluări
  • Asdn2 Lab5
    Asdn2 Lab5
    Document4 pagini
    Asdn2 Lab5
    Жан Ганган
    Încă nu există evaluări
  • Examenul Proiectarea Paginilor Web
    Examenul Proiectarea Paginilor Web
    Document27 pagini
    Examenul Proiectarea Paginilor Web
    Elena
    Încă nu există evaluări
  • 1.sortare Prin Interschimbare
    1.sortare Prin Interschimbare
    Document2 pagini
    1.sortare Prin Interschimbare
    andreigolovei
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document11 pagini
    Laboratorul 1
    Дарья Рг
    Încă nu există evaluări
  • Programare Dinamica
    Programare Dinamica
    Document18 pagini
    Programare Dinamica
    Deyw Mady
    Încă nu există evaluări
  • Lab1 PI Boj
    Lab1 PI Boj
    Document12 pagini
    Lab1 PI Boj
    Vitalie Ambrosi
    Încă nu există evaluări
  • Partea 2
    Partea 2
    Document10 pagini
    Partea 2
    Dulamita Cosmina
    Încă nu există evaluări
  • Python - Curs 2v2
    Python - Curs 2v2
    Document30 pagini
    Python - Curs 2v2
    Dana Sutan
    Încă nu există evaluări
  • Test Subprograme Recursivitate
    Test Subprograme Recursivitate
    Document2 pagini
    Test Subprograme Recursivitate
    Daniel Popa
    Încă nu există evaluări
  • Test Subprograme Recursivitate
    Test Subprograme Recursivitate
    Document2 pagini
    Test Subprograme Recursivitate
    Daniel Popa
    Încă nu există evaluări
  • LP - A - Limbaje de Prog - 2023
    LP - A - Limbaje de Prog - 2023
    Document43 pagini
    LP - A - Limbaje de Prog - 2023
    PriKoLisT ArTiSt
    Încă nu există evaluări
  • 145 Fisa de Lucru Subprograme
    145 Fisa de Lucru Subprograme
    Document23 pagini
    145 Fisa de Lucru Subprograme
    cornel_mihai
    Încă nu există evaluări
  • Referat 18EP
    Referat 18EP
    Document3 pagini
    Referat 18EP
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Referat 07EP
    Referat 07EP
    Document3 pagini
    Referat 07EP
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Referat 08EP
    Referat 08EP
    Document3 pagini
    Referat 08EP
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Sistemul de Comunicatii
    Sistemul de Comunicatii
    Document16 pagini
    Sistemul de Comunicatii
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Schema Functionala A Statiei Radio
    Schema Functionala A Statiei Radio
    Document25 pagini
    Schema Functionala A Statiei Radio
    Sandu Zastavnetchi
    Încă nu există evaluări
  • PC 1istoria Armatei Nationale
    PC 1istoria Armatei Nationale
    Document23 pagini
    PC 1istoria Armatei Nationale
    Sandu Zastavnetchi
    Încă nu există evaluări
  • LP03 ICPP (Finisat)
    LP03 ICPP (Finisat)
    Document15 pagini
    LP03 ICPP (Finisat)
    Sandu Zastavnetchi
    Încă nu există evaluări
  • RMG 3instalarea Militarilor
    RMG 3instalarea Militarilor
    Document35 pagini
    RMG 3instalarea Militarilor
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Geniu 1
    Geniu 1
    Document37 pagini
    Geniu 1
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Antene Si Propagarea Undelor
    Antene Si Propagarea Undelor
    Document40 pagini
    Antene Si Propagarea Undelor
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Tema:: Sistemul de Alimentare Al Mijloacelor de Transmisiuni
    Tema:: Sistemul de Alimentare Al Mijloacelor de Transmisiuni
    Document35 pagini
    Tema:: Sistemul de Alimentare Al Mijloacelor de Transmisiuni
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Filosofia Renasterii
    Filosofia Renasterii
    Document3 pagini
    Filosofia Renasterii
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Laborator 4 PI-2020
    Laborator 4 PI-2020
    Document10 pagini
    Laborator 4 PI-2020
    Sandu Zastavnetchi
    Încă nu există evaluări
  • Laborator 3 PI-2020
    Laborator 3 PI-2020
    Document4 pagini
    Laborator 3 PI-2020
    Sandu Zastavnetchi
    Încă nu există evaluări