Ce vei învăța astăzi?
După această lecție vei învăța să folosești funcțiile predefinite (funcții deja existente în Python, gata de folosit) pentru operații matematice: abs, int, round și sqrt.
Funcțiile predefinite
Funcțiile predefinite sunt funcții care există deja în Python, gata de folosit, fără să le definim noi. Exemple: abs(), int(), round(), min(), max().
print(abs(-7)) print(int(3.9)) print(round(3.6))
Observă: abs(-7) dă 7, int(3.9) taie partea zecimală și dă 3, iar round(3.6) rotunjește și dă 4.
abs, int și round - ce diferență este?
abs(x) întoarce valoarea absolută a lui x (fără semn). int(x) taie partea zecimală. round(x) rotunjește la cel mai apropiat întreg.
| Funcție | Ce face | Exemplu | Rezultat |
|---|---|---|---|
| abs(-7) | Valoarea absolută | abs(-7) | 7 |
| int(3.9) | Taie partea zecimală | int(3.9) | 3 |
| round(3.6) | Rotunjește la cel mai apropiat întreg | round(3.6) | 4 |
| round(3.4) | Rotunjește la cel mai apropiat întreg | round(3.4) | 3 |
Diferența int vs round:
int este ca o foarfecă: tai tot ce e după virgulă, indiferent de valoare. round este ca un arbitru: trimite numărul la cel mai apropiat întreg, în sus sau în jos.
Rădăcina pătrată cu sqrt
Funcția sqrt(x) calculează rădăcina pătrată a lui x. Nu este predefinită direct în Python: o aducem cu import math, apoi o apelăm ca math.sqrt(x).
import math x1, y1 = map(int, input().split()) x2, y2 = map(int, input().split()) d = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) print(round(d, 2))
Reține: import math aduce modulul, iar funcțiile lui se apelează cu numele modulului urmat de punct: math.sqrt(...). round(d, 2) rotunjește la 2 zecimale.
Exercițiu de completare
Completează enunțul cu cuvintele potrivite:
Funcția ______(x) întoarce valoarea absolută a lui x. Pentru a tăia partea zecimală folosim ______(x), iar pentru a rotunji la cel mai apropiat întreg folosim ______(x). Rădăcina pătrată se calculează cu ______(x), dar mai întâi importăm modulul ______.
Bancă de cuvinte:
Test de înțelegere
Test rapid - funcții matematice predefinite:
1. Care este rezultatul expresiei abs(-7)?
2. Care este rezultatul expresiei int(3.9)?
3. Care este rezultatul expresiei round(3.6)?
Test suplimentar
Test suplimentar - funcții matematice:
1. Care este rezultatul expresiei int(2.99)?
2. Care este rezultatul expresiei round(2.6)?
3. Pentru a folosi funcția sqrt, scriem la începutul programului:
Aprofundare
Rotunjirea bancară: round(2.5) nu dă 3, ci 2, pentru că Python rotunjește la cel mai apropiat număr par când partea zecimală este exact 0.5. Pentru rotunjiri clasice, folosim math.ceil(x) (în sus) și math.floor(x) (în jos).
- round cu două argumente:
round(3.14159, 2)rotunjește la 2 zecimale și dă 3.14 - foarte util pentru medii și prețuri. - int() din șir:
int("12")funcționează, darint("12.5")produce ValueError; conversia din text se face doar dacă șirul conține un număr întreg. - Precizia în virgulă mobilă: 0.1 + 0.2 nu este exact 0.3 (reprezentarea în binar). Comparăm valori reale doar după rotunjire.
- Alte funcții din math:
math.fabs(x)(valoare absolută reală),math.pow(a, b), constantelemath.pișimath.e. - Caz particular:
math.sqrt(-1)produce ValueError; în matematică rădăcina pătrată este definită doar pentru numere nenegative.
PbInfo - Valoarea absolută
Enunț:
Cerință: Să se afișeze valoarea absolută a unui număr întreg x, folosind funcția predefinită abs.
Date de intrare:
Programul citește de la tastatură un număr întreg x.
Date de ieșire:
Programul va afișa pe ecran valoarea absolută a lui x.
Restricții și precizări:
Valorile citite sunt numere întregi, iar n este un număr natural, cu 1 <= n <= 1000.
Exemplu:
Intrare:
-7
Ieșire:
7
Cum gândim soluția:
- Citim x cu
int(input()) - Folosim funcția predefinită
abs(x) - Afișăm rezultatul cu print
Scrie soluția în Python:
Soluție corectă:
x = int(input()) print(abs(x))
Ce învățăm: funcția predefinită abs întoarce valoarea absolută a unui număr.
PbInfo - Distanța dintre două puncte
Enunț:
Cerință: Se dau coordonatele a două puncte din plan: (x1, y1) și (x2, y2). Să se afișeze distanța dintre ele, rotunjită la două zecimale.
Date de intrare:
Programul citește de la tastatură patru numere întregi: x1, y1, x2, y2.
Date de ieșire:
Programul va afișa distanța dintre cele două puncte, rotunjită la două zecimale.
Restricții și precizări:
Valorile citite sunt numere întregi, iar n este un număr natural, cu 1 <= n <= 1000.
Exemplu:
Intrare:
0 0 3 4
Ieșire:
5.0
Cum gândim soluția:
- Importăm modulul math cu
import math - Citim cele patru coordonate
- Calculăm distanța cu formula sqrt((x2-x1)^2 + (y2-y1)^2)
- Rotunjim rezultatul cu
round(d, 2)și îl afișăm
Scrie soluția în Python:
Soluție corectă:
import math x1, y1 = map(int, input().split()) x2, y2 = map(int, input().split()) d = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) print(round(d, 2))
Ce învățăm: modulul math se importă, iar sqrt și round ne ajută să calculăm și să rotunjim rezultate.
Exercițiul Practic: Rotunjiri și rădăcina pătrată
Sarcini de lucru
Aplică funcțiile matematice predefinite în două programe complete
Sarcina 1: Rotunjirile unui număr real
Cerință: Scrie un program care citește un număr real x și afișează, pe rând: int(x), round(x), rotunjirea în jos (math.floor) și rotunjirea în sus (math.ceil).
Soluție:
import math
x = float(input())
print("int:", int(x))
print("round:", round(x))
print("rotunjire in jos:", math.floor(x))
print("rotunjire in sus:", math.ceil(x))
Verifică: int taie partea zecimală, round rotunjește, iar floor și ceil rotunjesc în jos, respectiv în sus.
Sarcina 2: Lungimea ipotenuzei
Cerință: Scrie un program care citește catetele a și b ale unui triunghi dreptunghic și afișează lungimea ipotenuzei, folosind formula sqrt(a*a + b*b), rotunjită la două zecimale.
Soluție:
import math a = float(input()) b = float(input()) ip = math.sqrt(a ** 2 + b ** 2) print(round(ip, 2))
Verifică: folosim a ** 2 pentru pătratul catetei, iar sqrt pentru rădăcina pătrată.