+ All Categories
Home > Documents > Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs...

Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs...

Date post: 04-Feb-2018
Category:
Upload: vanhuong
View: 222 times
Download: 0 times
Share this document with a friend
5
Lab. 7 Fp Nov. 2013 Sem. I Tad - Probleme elementare cu siruri 1. Suma si produs 2. Exista si orice (toate) 3. Min / Max 4. Suma cifrelor 1. A. TAD Student – cu informații despre: nr. matricol, nume, nr note, note. B. Realizati o aplicatie pentru gestiunea studentilor 2. A. TAD CD– cu informații despre: pret, titlu, nr melodii, titluri melodii. B. Realizati o aplicatie pentru gestiunea CD-urilor 3. A. TAD Locuinta – cu informații despre: tip, adresa, nr camere, suprafete camere. B. Realizati o aplicatie pentru gestiunea Locuintelor-urilor Probleme cu Tad Fundamentele Programării Laborator 7 Fundamentele Programării Laborator ~ 2013/2014 http://www.cs.ubbcluj.ro/~per/Python/Fp_Lab.html Lab. 7 Fp
Transcript
Page 1: Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs 2. Exista si ... cu informații despre: nr. matricol, nume, nr note, note ... despre:

Lab. 7 Fp

Nov. 2013 Sem. I

Tad - Probleme elementare cu siruri

1. Suma si produs

2. Exista si orice (toate)

3. Min / Max

4. Suma cifrelor

1. A. TAD Student – cu informații despre: nr. matricol, nume, nr note, note. B. Realizati o aplicatie pentru gestiunea studentilor

2. A. TAD CD– cu informații despre: pret, titlu, nr melodii, titluri melodii. B. Realizati o aplicatie pentru gestiunea CD-urilor

3. A. TAD Locuinta – cu informații despre: tip, adresa, nr camere, suprafete camere. B. Realizati o aplicatie pentru gestiunea Locuintelor-urilor

Probleme cu Tad

Fundamentele Programării Laborator 7

Fundamentele Programării Laborator ~ 2013/2014

http://www.cs.ubbcluj.ro/~per/Python/Fp_Lab.html

Lab. 7 Fp

Page 2: Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs 2. Exista si ... cu informații despre: nr. matricol, nume, nr note, note ... despre:

def Suma(X): s=0 for x in X: s+=x return s def PrUc(x): Uc=x%10 Pc=x while Pc>9: Pc/=10 return Pc==Uc def Par(x): return x%2==0 def Oc(x): return x<10 def SumaPr(X,Pr): s=0 for x in X: if Pr(x): s+=x return s def ProdPr(X,P): p=1 for x in X: if P(x): p*=x return p

def SumaPr(X,Pr): s=0 for x in X: if Pr(x): s+=x return s

SumaPr(X,PrUc))

SumaPr(X,Par))

ProdPr(X,Oc))

Probleme elementare1. Suma si produs

X=[3,6,12,13,24,202,5, 100,1001,70]

print(" X=",X) print(" S0=",Suma(X)) print(" S1=",SumaPr(X,PrUc)) print(" S2=",SumaPr(X,Par)) print(" P3=",ProdPr(X,Oc))

Funcţie parametruParametru de tip functie

(' X=', [3, 6, 12, 13, 24, 202, 5, 100, 1001, 70])

(' S0=', 1436)

(' S1=', 1217)

(' S2=', 414)

(' S3=', 90)

Page 3: Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs 2. Exista si ... cu informații despre: nr. matricol, nume, nr note, note ... despre:

X=[2,3,5,8,9,13,24,29,30,100,1000]

if ExPr1(X,Pp): print(" Exista patrate perf. in sir!") else: print(" Nu exista niciun patrat perf. in sir!")

if ExPr1(X,Np): print(" Exista numere perf. in sir!") else: print(" Nu exista niciun numar perf. in sir!")

if ExPr2(X,Pp): print(" Exista patrate perf. in sir!") else: print(" Nu exista niciun patrat perf. in sir!")

if ExPr2(X,Np): print(" Exista numere perf. in sir!") else: print(" Nu exista niciun numar perf. in sir!")

if ExPr3(X,Pp): print(" Exista patrate perf. in sir!") else: print(" Nu exista niciun patrat perf. in sir!")

if ExPr3(X,Np): print(" Exista numere perf. in sir!") else: print(" Nu exista niciun numar perf. in sir!")

if Oricare(X,Poz): print(" Toate sunt pozitive din sir!") # sunt toate ... else: print(" Nu sunt toate pozitive!")

if Oricare(X,Par): print(" Toate sunt pare din sir!") # sunt toate ... else: print(" Nu sunt toate pare!")

Nov. 2013 Sem. I Lab. 7 Fp

Exista si orice (toate)

2. Exista si orice (toate): # Exista cel putin un el. cu Pr. import math

def Par(x): return x%2==0 def Poz(x): return x>0 def Pp(x): return int(math.sqrt(abs(x)))**2==x def Np(x): # suma div = x Ex. 6=1+2+3, 28=1+2+... s=1 for d in range(2,x/2+1): if x%d==0: s+=d return s==x

def ExPr1(X,P): Gasit=False for x in X: if P(x): Gasit=True return Gasit

def ExPr2(X,P): Gasit=False for x in X: if P(x): Gasit=True; break return Gasit

def ExPr3(X,P): i=0; while (i<len(X)) and (not P(X[i])): i+=1 return i<len(X)

def Oricare(X,P): i=0; while (i<len(X)) and P(X[i]): i+=1 return i>=len(X)

>>> Exista patrate perf. in sir! Nu exista niciun numar perf. in sir! Exista patrate perf. in sir! Nu exista niciun numar perf. in sir! Exista patrate perf. in sir! Nu exista niciun numar perf. in sir! Toate sunt pozitive din sir! Nu sunt toate pare! >>>

Param. Funcţie:

ExPri(X,P) P ∈ {Pp, Np}

Oricare(X,P) P ∈ {Poz, Par}

Page 4: Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs 2. Exista si ... cu informații despre: nr. matricol, nume, nr note, note ... despre:

# el. Max / Min din sirul X def Maxim(X): max=X[0] for x in X: if x>max: max=x return max def PozMax(X): p=0 for i in range(1,len(X)): if X[i]>X[p]: p=i return p def PozMin(X): p=0 for i in range(1,len(X)): if X[i]<X[p]: p=i return p def Minim(X): min=X[0] for i in range(1,len(X)): if X[i]<min: min=X[i] return min def MaxPr(X,P): i=0 while (i<len(X)) and (not P(X[i])): i+=1 if i>=len(X): print(" Nu exista Max!") max=X[i] for j in range(i+1,len(X)): if P(X[j]) and X[j]>max: max=X[j] return max def MinPr(X,P): i=0 while (i<len(X)) and (not P(X[i])): i+=1 if i>=len(X): print(" Nu exista Minim!"); return 0 else: min=X[i] for j in range(i+1,len(X)): if P(X[j]) and X[j]<min: min=X[j] return min def Exista(X,P): i=0; while (i<len(X)) and (not P(X[i])): i+=1 return i<len(X) def Par(x): return x>100

Param. Funcţie:

MaxPr(X,P) P ∈ {Par, …}

MinPr(X,P) P ∈ {Par, …}

Exista(X,P) P ∈ {Par, …}

3. Min / Max El. Max / Min din sirul X

X=[11,32,6,13,5,22,77,8, 33,65,12]

print(" X = ",X) print(" Max = ",Maxim(X)) print(" Min = ",Minim(X)) if Exista(X,Par): print(" Max = ",MaxPr(X,Par)) print(" Min = ",MinPr(X,Par)) else: print(" Nu exista niciun numar par in sir!") print(" Poz.Max = ",PozMax(X)) #

Parametru de tip functie

>>>

(' X = ', [11, 32, 6, 13, 5, 22, 77, 8, 33, 65, 12])

(' Max = ', 77)

(' Min = ', 5)

Nu exista niciun numar par in sir!

(' Poz.Max = ', 6)

(' Poz.Min = ', 4)

>>>

Page 5: Lab. 7 Fp - Facultatea de Matematică şi Informaticăper/Python/Lab7 Python.pdf · Suma si produs 2. Exista si ... cu informații despre: nr. matricol, nume, nr note, note ... despre:

Nov. 2013 Sem. I

4. Suma cifrelor Suma cifrelor lui x

def Scr(x): if (x<10): return x else: return Scr(x//10)+x%10 def Scn(x): sc=0 while x>0: sc+=x%10 x//=10 return sc

Delete box or place a tag line or quote here. Delete box or place a tag line or quote here.

Fp – Lab. 7

http://www.cs.ubbcluj.ro/~per/Python/Fp_Lab.html

Lab. 7 Fp

def Sct(x): sc=x%10 while x>9: x//=10 sc+=x%10 return sc

x=int(input(" Dati x:")) print(" Suma cifrelor lui x = ",Scn(x)) print(" Suma cifrelor lui x = ",Scr(x)) print(" Suma cifrelor lui x = ",Sct(x))

>>> Dati x:1234567 (' Suma cifrelor lui x = ', 28) (' Suma cifrelor lui x = ', 28) (' Suma cifrelor lui x = ', 28) >>>


Recommended