Am adaugat materialele din săpt trecute.

This commit is contained in:
2026-03-27 21:15:27 +02:00
parent 16f3a6aaed
commit 84453a6456
23 changed files with 1634 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 6 14:12:20 2026
@author: alex
"""
#functii
def este_prim(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n%i == 0:
return False
return True
def cmmdc(a, b):
a, b = abs(a), abs(b)
while b != 0:
a,b = b, a % b
return a
def cmmc(a, b):
if a == 0 or b == 0:
return 0
return abs(a * b) // cmmdc(a, b)
#cod
#for n in [1, 2, 3 ,4, 17, 18, 97, 100]:
# stare = "prim" if este_prim(n) else "compus"
# print(f"{n:3d} este {stare}")
perechi = [(12, 8), (100, 75), (17,13), (48, 36)]
print(f"{'a':>5} {'b':>5} {'CMMDC':>8} {'CMMC':>8}")
print("-" * 30)
for a, b in perechi:
print(f"{a:>5} {b:>5} {cmmdc(a, b):>8} {cmmc(a, b):>8}")
+95
View File
@@ -0,0 +1,95 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 6 14:36:50 2026
@author: alex
"""
import math
def putere(a, n):
p = 1
if n < 1:
return p
return a*putere(a, n-1)
def putere_it(a, n):
p = 1
for i in range (1, n+1):
p = p*a
return p
def factorial(n):
f = 1
for i in range(1, n+1):
f = f*i
return f
def comb(n, k):
return factorial(n) // (factorial(k) * factorial(n - k))
def cifre_pare(n):
n = abs(n)
cif_pare = 0
while n!= 0:
if( (n%10)%2 == 0 ):
cif_pare += 1
n //= 10
return cif_pare
def produs_div3(n):
p=1
while (n != 0):
cifra = int(n%10)
print(cifra)
if (cifra % 3 == 0):
p *= cifra
n //= 10
return p
def lungime(n):
i = 0
while n > 1:
n //= 10
i += 1
return i
def oglindit(n):
og = 0
while n != 0:
og += putere(10,lungime(n)) * int(n%10)
n //= 10
return og
def oglindit_2(n):
ogl = 0
while n!= 0:
ogl = ogl * 10 + n%10
n //= 10
return ogl
def parab(x):
return x*x
def integreaza(f, a, b, n=1000):
h = (b - a) / n
integr = 0
for i in range(n):
x = a + i*h
integr += f(x) * h
return integr
#print(putere(2, 10))
#print(putere_it(2, 10))
#print(factorial(5))
#print(comb(5, 2))
#print(cifre_pare(2486135))
#print(cifre_pare(2222222))
#print(produs_div3(39162))
#print(lungime(24))
#print(oglindit(123))
#print(oglindit_2(123))
print(integreaza(parab, 0, 1,10000))
print(integreaza(math.sin, 0, math.pi))
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 11 14:12:41 2026
@author: alex
"""
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:16:54 2026
@author: alex
"""
#Lab 4
note = [7, 8, 9, 10]
puncte = [(1,2), (3,4, (5,6))]
print(note[0])
print(note[-1])
print(note[-2])
v = [10, 20, 30, 40, 50, 60, 70, 80]
print(v[2:5])
print(v[:5])
print(v[::2])
print(v[::-1])
note = [7,8,9,10]
for i, val in enumerate(note):
print(f"{i} {val}")
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:28:27 2026
@author: alex
"""
def inverseaza(lista):
lung = len(lista)
inv = []
for i in range(0,lung):
inv.append(lista[lung-1-i])
return inv
lista = [1,3,4,2,5,6]
print(lista)
lista = inverseaza(lista)
print(lista)
def inverseaza_2(lista):
lista_2 = []
for n in lista:
lista_2.insert(0,n)
return lista_2
lista = inverseaza_2(lista)
print(lista)
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:38:04 2026
@author: alex
"""
#def comune(A,B):
# intrare = ""
# print("adauga in A: ")
# while intrare != -1:
# intrare = input()
# A.append(intrare)
# print("adauga in B: ")
# A = int(A)
# while intrare != -1:
# intrare = input()
# B.append(intrare)
# B = int(B)
# print(A)
# print(B)
#
#A = []
#B = []
#comune(A,B)
def comune(A,B):
A = set(A)
B = set(B)
intersectia = A & B
intersectia = list(intersectia)
intersectia.sort()
return intersectia
A = [1,2,3,4,4]
B = [3,4,5,6,7]
C = comune(A,B)
print(C)
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:49:16 2026
@author: alex
"""
# Scrie o functie rotire lista k care roteste lista circular la dreapta cu n elemente
def rotire(lista, k):
lista_2 = []
for i in lista:
lista_2=lista[k+1:] + lista[:-k]
return lista_2
lista =[1,2,3,4,5]
lista = rotire(lista,2)
print(lista)
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:55:47 2026
@author: alex
"""
def inverseaza_dict(d):
d_2 = dict()
for k, el in d.items():
d_2[el]=k
return d_2
D = {"a":1 , "b":2, "c":3}
D = inverseaza_dict(D)
print(D)
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 15:06:25 2026
@author: alex
"""
def cel_mai_frecvent(lista):
frec = [0] * (max(lista) + 1)
for n in lista:
frec[n] += 1
maxim = 0
for i in range(len(frec)):
if frec[i] > maxim:
maxim = frec[i]
el = i
return el
lista = [1, 3, 2, 3, 1, 3, 2]
print(max(lista))
print(cel_mai_frecvent(lista))
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 15:24:08 2026
@author: alex
"""
def cel_mai_frecvent(lista):
frec = [0] * (max(lista) + 1)
for n in lista:
frec[n] += 1
maxim = 0
for i in range(len(frec)):
if frec[i] > maxim:
maxim = frec[i]
el = i
return el
def frecventa(lista):
rezultat = {}
for x in lista:
if x in rezultat:
rezultat[x] += 1
else:
rezultat[x] = 1
return rezultat
lista = [1, 3, 2, 3, 1, 3, 2]
print(max(lista))
print(cel_mai_frecvent(lista))
note = [7,8,9,7,10,8,7,9,9,10,1]
freq = frecventa(note)
print(freq)
for nota,cnt in sorted(freq.items()):
print(f"Nota {nota}: aparede {cnt} ori")
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 15:34:19 2026
@author: alex
"""
def f(x):
return x*x -3*x +2
tabel = {}
for x in range(-3,6):
tabel[x] = f(x)
#afisare tabel
print(f"{'x':>5} | {'f(x)':>6}")
print("-" * 15)
for x, val in tabel.items():
print(f"{x:>5} | {val:>6}")
radacini = [x for x,val in tabel.items() if val == 0]
print(f"\nRadacini in [-3,5]: {radacini}")
+110
View File
@@ -0,0 +1,110 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 20 14:18:48 2026
@author: alex
"""
import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
rez = a[a>5]
print(rez)
a = np.zeros(7)
b = np.ones(5)
c = np.arange(0,15,2)
print(a, b, c)
d = np.linspace(-2, 2, 9)
print(d)
print(len(d))
f = np.arange(-5,6,1)
print(f)
x = np.array([-3,-2,-1,0,1,2,3])
print(x+2)
print(3*x -1)
print(x**2)
print(x**2 + 3*x +2)
print(np.abs(x))
print(abs(x))
y = np.array([0,1,2,3,4,5])
print(y*y + 3)
y_1 = y.tolist()
print([i**2 + 3 for i in y_1])
a = np.array([4,7,2,9,6,2,9])
print(np.sum(a))
print(np.mean(a))
print(f"minimul este {min(a)} la pozitia {np.argmax(a)}; maximul este {max(b)} la pozitia {np.argmin(a)}")
print(np.where(a == np.min(a)))
print(np.where(a == np.max(a)))
print(np.sort(a))
a = np.array([-4,-1,0,2,5,7,8,11])
print(a[a>0])
print(a[a%2 == 0])
print(a[(a >= 0) & (a <= 7)])
print(a[a > np.mean(a)])
c = np.array([12,15,18,21,24,19,16])
f = c *(9/5) + 32
print(f)
print(np.mean(c))
print(np.argmax(c))
print(c - np.mean(c))
print(c[c > np.mean(c)])
def distanta_fata_de_medie(a):
return np.abs((a-np.mean(a)))
a = np.arange(-100,1,10)
print(a)
print(distanta_fata_de_medie(a))
def raport_fata_de_max(a):
if np.max(a) == 0:
return None
else:
return(a / np.max(a))
print(a)
print(raport_fata_de_max(a))
a = np.arange(0,101,10)
print(a)
print(raport_fata_de_max(a))
a = np.arange(1,25,3)
def normalizare_0_1(a):
if np.max(a) == np.min(a):
return a*0
else:
return((a-np.min(a))/(np.max(a)-np.min(a)))
print(a)
print(normalizare_0_1(a))
a = np.zeros(20)
print(normalizare_0_1(a))
def este_sortat_crescator(a):
b = np.sort(a)
if np.array_equal(a,b):
print("Sirul este sortat")
else:
print("Sirul nu este sortat")
ns = np.array([1,200,3,4,22,19])
este_sortat_crescator(ns)
s = np.arange(1,10)
este_sortat_crescator(s)