BuK/IIm20/Vorlesung 11 Seidl

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
=== S. 5 / S. 6 ===
Umsetzung der Funktionen in Python:

<code id="60c4e3ec40d38">
def S(n):
    return n + 1

# ADD
def add_n(m, n):
    for i in range(m):
        n = S(n)
    return n

def add_n_alternative(m, n):
    if m == 0:
        return n
    else:
        #print("n: ", n)
        #print("m: ", m - 1)
        return S(add_n_alternative(m - 1, n))

# MULT
def mult_n(m, n):
    x = 0
    for i in range(m):
        x = add_n_alternative(x, n)
    return x

def mult_n_alternative(m, n):
    if m == 0:
        return 0
    else:
        return add_n_alternative(mult_n_alternative(m - 1, n), n)

# POT
def pot_n(m, n):
    x = 1
    for i in range(m):
        x = mult_n_alternative(x, n)
    return x

def pot_n_alternative(m, n):
    if m == 0:
        return 1
    else:
        return mult_n_alternative(pot_n_alternative(m - 1, n), n)
        n = S(n)
    return n

def add_n_alternative(m, n):
    if m == 0:
        return n
    else:
        #print("n: ", n)
        #print("m: ", m - 1)
        return S(add_n_alternative(m - 1, n))

# MULT
def mult_n(m, n):
    x = 0
    for i in range(m):
        x = add_n_alternative(x, n)
    return x

def mult_n_alternative(m, n):
    if m == 0:
        return 0
    else:
        return add_n_alternative(mult_n_alternative(m - 1, n), n)

# POT
def pot_n(m, n):
    x = 1
    for i in range(m):
        x = mult_n_alternative(x, n)
    return x

def pot_n_alternative(m, n):
    if m == 0:
        return 1
    else:
        return mult_n_alternative(pot_n_alternative(m - 1, n), n)
</code>

<run id="60c4e3ec40dc1">
print(add_n(3, 5))
print(add_n_alternative(3, 5))

print(mult_n(2, 5))
print(mult_n_alternative(2, 5))

print(pot_n(2, 3))
print(pot_n_alternative(2, 3))
</run>

=== S. 16 ===
[[Bild:Fseidl_20210612_184327.jpg]]

=== S. 32 ===
[[Bild:Fseidl_20210612_184416.jpg]]