Μάθημα : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γ ΕΠΑΛ ΘΕΩΡΙΑ

Κωδικός : T100228

T100228  -  ΓΕΩΡΓΙΟΣ ΜΠΑΝΤΟΥΒΕΡΗΣ

Ενότητες μαθήματος - Συναρτήσεις

Συναρτήσεις

Video βασισμένο στο βιβλίο Συναρτήσεις στην Python

ΟΡΙΣΜΟΣ ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΗΣ

def foo():         #ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ
    print "i am a function"
    print ("telos synartisis") #ΤΕΛΟΣ ΕΝΤΟΛΩΝ ΣΥΝΑΡΤΗΣΗΣ

print "εδω ξεκινα το προγραμμα"

x=foo()            # ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΗΣ
print "τελος προγραμματος"
print "Η τιμή της μεταβλητης χ ειναι ",x

ΤΕΡΜΑΤΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΧΩΡΙΣ ΝΑ ΕΧΕΙ ΟΛΟΚΛΗΡΩΘΕΙ  Η ΕΚΤΕΛΕΣΗ ΤΟΥ ΣΩΜΑΤΟς ΕΝΤΟΛΩΝ

def foo():         #ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ
    print "i am a function"

         return 10                  # Η ΕΝΤΟΛΗ return εδω τερματιζει την εκτέλεση της συνάρτησης
    print ("telos synartisis") #ΤΕΛΟΣ ΕΝΤΟΛΩΝ ΣΥΝΑΡΤΗΣΗΣ

print "εδω ξεκινα το προγραμμα"

x=foo()            # ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΗΣ
print "τελος προγραμματος"
print "Η τιμή της μεταβλητης χ ειναι ",x

ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ

def protovathmia(a,b):
    if a !=0:
        x=-b/float(a)
    else:
        print "adynath dioti a = 0"
    x=None # θα επιστρέφεται η τιμή None
    return x # απο εδω επιστρέφεται η υπολογισθείσα τιμή

#0X+b=0 # Εδώ ο συντελεστης a ειναι 0 επιστρεφεται τιμή None
print protovathmia(0,10)

# 2x+5=0
print protovathmia(2,5)
# 3x+10=0
print protovathmia(3,10)

ΚΑΘΟΛΙΚΕΣ - ΤΟΠΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ

ΧΡΗΣΗ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΣ ΚΑΙ ΕΚΤΟΣ ΣΥΝΑΡΤΗΣΗΣ ΠΟΥ ΕΧΟΥΝ ΙΔΙΟ ΟΝΟΜΑ

total = 0    # ΚΑΘΟΛΙΚΗ ΜΕΤΑΒΛΗΤΗ
def summ(a,b):
    total = a+b   # ΤΟΠΙΚΗ ΜΕΤΑΒΛΗΤΗ
    return total

print "summa (10,20) = ",summ(10,20) # ΕΜΦΑΝΙΣΗ ΑΠΟΤΕΛΕΣΜΑΤΟΣ  ΠΟΥ ΕΠΙΣΤΡΕΦΕΤΑΙ ΑΠΟ ΣΥΝΑΡΤΗΣΗ
print "total = ",total  # ΕΜΦΑΝΙΣΗ ΤΙΜΗΣ ΚΑΘΟΛΙΚΗΣ ΜΕΤΑΒΛΗΤΗΣ

ΝΕΑ ΕΚΔΟΣΗ - Η ΚΑΘΟΛΙΚΗ ΜΕΤΑΒΛΗΤΗ ΠΛΕΟΝ ΕΙΝΑΙ ΟΡΑΤΗ

#total = 0    # Η ΚΑΘΟΛΙΚΗ ΜΕΤΑΒΛΗΤΗ ΚΑΙ ΝΑ ΜΗΝ ΟΡΙΣΤΕΙ ΕΔΩ ΘΑ ΟΡΙΣΤΕΙ ΑΠΟ ΤΗ ΣΥΝΑΡΤΗΣΗ
def summ(a,b):
    global total # ORIZETAI H ΤΟΠΙΚΗ ΜΕΤΑΒΛΗΤΗ ΝΑ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ ΩΣ ΚΑΘΟΛΙΚΗ ΠΛΕΟΝ
    total = a+b    # ΟΡΙΖΕΤΑΙ Η ΤΟΠΙΚΗ ΜΕΤΑΒΛΗΤΗ ΝΑ ΕΙΝΑΙ ΚΑΙ ΚΑΘΟΛΙΚΗ
    return total

print "summa (10,20) = ",summ(10,20) # ΕΜΦΑΝΙΣΗ ΑΠΟΤΕΛΕΣΜΑΤΟΣ  ΠΟΥ ΕΠΙΣΤΡΕΦΕΤΑΙ ΑΠΟ ΣΥΝΑΡΤΗΣΗ
print "total = ",total  # ΕΜΦΑΝΙΣΗ ΤΙΜΗΣ ΚΑΘΟΛΙΚΗΣ ΜΕΤΑΒΛΗΤΗΣ

-------------------

ΟΡΙΣΜΑΤΑ ΠΑΡΑΜΕΤΡΟΙ ΣΕ ΣΥΝΑΡΤΗΣΕΙΣ

orisma1=10
orisma2=20

def func(param1,param2):
    print "param1 1=",param1  # ΟΙ ΜΕΤΑΒΛΗΤΕΣ ΠΟΥ ΔΗΜΙΟΥΡΓΟΥΝΤΑΙ ΛΕΓΟΝΤΑΙ ΠΑΡΑΜΕΤΡΟΙ
    print "param2 2=",param2

func(orisma1,orisma2)       # >ΚΛΗΣΗ ΜΕ ΟΡΙΣΜΑΤΑ
func(10,20) #