Die Webseiten der Fachschaft Informatik am ERG Saalfeld


Zahlenfolgen

In der 11. Klasse wurden/werden Folgen und Reihen behandelt. Oft sind diese durch die Angabe ihrer Elemente angegeben. Um ein beliebiges Element der Folge anzugeben, muss man die Bildungsvorschrift kennen und nutzen. Im Mathematikunterricht geht man davon aus (zumindest läßt das die Aufgabenstellung im Lehrbuch vermuten), dass die iterative Bildungsvorschrift anzugeben und zu verwenden ist. Dabei ist normalerweise die rekursive Bildungsvorschrift viel leichter anzugeben.

Das soll jetzt hier am Beispiel der Aufgabe S. 11/3f (Cornelsen Kl. 11) deutlich gemacht werden.

Gegeben ist in der Aufgabe die Zahlenfolge: 5, 10, 20, 40, 80, ...

Man erkennt sofort: das 1. Element ist die 5.     Also - die Abbruchbedingung ist: für n = 1 ist a1 = 5

Man erkennt leicht: ein beliebiges Element ergibt sich aus dem Doppelten des vorhergehenden Elements.     Also - die Rekursion: an = 2 * an-1

Damit ergibt sich als rekursive Definition der Folge an:

 a1 = 5
 an = 2 * an-1

 
Da in Python nicht mit Indizes gearbeitet werden kann, nehmen wir stattdessen Parameter. Das sieht dann so aus:

 a(1) = 5
 a(n) = 2 * a(n-1)


Damit ergibt sich folgendes Programm:

import sys

n = int(sys.argv[1])

def a(n):
    if n == 1:
        ergebnis = 5
    else:
       ergebnis = 2 * a(n-1)
    return ergebnis


print(a(n))

 

Der Aufruf sah bei mir so aus:

 



Zum Vergleich die iterative Bildungsvorschrift

Wir schreiben dazu unserer Zahlenfolge als Produkte 5*1, 5*2, 5*4, 5*8, 5*16, ...

Die 1. Zahl ist 5*20, die zweite Zahl 5*21, die dritte Zahl 5*22, die vierte Zahl 5*23, ...

Damit ergibt sich als iterative Bildungsvorschrift:

 an = 5 * 2n-1

 

Aufgaben

Geben Sie für die folgenden Zahlenfolgen die rekursive Definition an und erstellen Sie jeweils eine rekursive Funktion, um die n. Zahl der Folge anzugeben. Rufen Sie zum Testen die Funktion für n = 1, n = 5 und n = 8 auf.

  1.    1, 1/10, 1/100, 1/1000, ...
  2.    1, 9, 17, 25, ...
  3.    3, 33, 333, 3333, ...

Zusatz: Geben Sie für die bei a. b. und c. angegebenen Folgen je eine iterative Bildungsvorschrift und eine Funktion dazu zum Testen an.

 

zurück


© ERG Saalfeld   -   Hans-Dietrich Kirmse     letztes Update 14.08.2022