Professional Documents
Culture Documents
L3A
L3A
November 4, 2019
1.1 Problema 1
Fie n, un numar natural, mai mare decat 0, calculati si afisati cu 4 respectiv cu 6 zecimale expresia
∑
n
x
r=
x+1
x=0
n:12+
Invalid input (invalid literal for int() with base 10: '12+')
n:12
9.8199 ; 9.819866
1
print('n must be greater than 0')
except Exception as e:
print('Invalid input (%s)' % e)
n:10
7.9801 ; 7.980123
1.2 Problema 2
Scrieti un script care sa preia un numar intreg de la tastatura. Afisati numarul in format binar pe
8 biti. hint: se foloseste instructiunea format
[27]: while True:
try:
nr = input('n:')
n = int(nr)
break
except Exception as e:
print('Invalid input %s' % e)
print(format(n, '#08b'))
n:19
0b010011
1.3 Problema 3
Solicitati de la tastatura un numar real err, $err < 0 $ ce reprezinta eroarea de determinare a
numarului e (math.e). Estimati numarul de iteratii necesare pentru atingerea acestei erori pt
formulele de mai jos:
∑
inf
1
e=3−
k!(k − 1)k
k=2
1∑k+1
inf
e=
2 k!
k=0
[ ]:
def ea(n):
s = 0
2
for k in range(2, n+1):
s += 1./(factorial(k)*(k-1)*k)
return 3-s
def eb(n):
s = 0
for k in range(n+1):
s += float(k+1)/factorial(k)
return s/2.
while True:
try:
rn = input("err:")
err = float(rn)
if err > 1 or err < 0:
print('Invalid Input')
break
except Exception as e:
print('Invalid Input (%s)' % e )
n = 1
while(abs(e-ea(n))>err):
n += 1
print('ea: %i : %.14f' % (n, ea(n)))
n = 1
while(abs(e-eb(n))>err):
n += 1
print('eb: %i : %.14f' % (n, ea(n)))
n = 1
#while(abs(math.e-ec(n))>err):
# n += 1
#print('ec: %i : %.4f' % (n, ea(n)))
err:0.00001
ea: 6 : 2.71828703703704
eb: 9 : 2.71828183176563
3
ea = lambda n: 3 - sum([1./(factorial(k)*(k-1)*k) for k in range(2,n+1)])
eb = lambda n: sum([(k+1)/factorial(k) for k in range(n+1)])/2
n = 1
while(abs(e-ea(n))>err):
n += 1
print('ea: %i : %.14f' % (n, ea(n)))
n = 1
while(abs(e-eb(n))>err):
n += 1
print('eb: %i : %.14f' % (n, ea(n)))
err:0.0001
ea: 5 : 2.71833333333333
eb: 8 : 2.71828187003968
1.4 Problema 4
Preluati de la tastatura un tuplu de numere si daca lungimea acestuia este cuprinsa intre 2 si 5
elemente, calculati valoarea medie a acestora
[51]: while True:
ct = []
rt = input('Tuplu:')
try:
rt = rt.replace(',', ' ')
for c in rt.split():
c.replace(',','')
ct.append(float(c))
break
except Exception as e:
print(e)
Tuplu:1,2,3,4
AVG: 2.5000
[ ]: