0 Daumen
1,3k Aufrufe

Könnte mir jemand helfen in Informatik beim Programmieren? Ich brauche einen ausführlichen Lösungsweg.

def funktion (k) :
       if k>1:
           return  funktion(k-1) +k
       else:
          return 1
n=10
z=function (n)
print (z)

Welches Ergebnis liefert das Programm?

Avatar von

2 Antworten

+1 Daumen
Ausführlich einen Lösungsweg

Was willst Du hier genau? Wenn es eine Schritt-für-Schritt-Lösung sein soll, hast Du zwei Möglichkeiten:

1.) Zahlen einsetzen und den Handlungsanweisungen des Programms folgen.

2.) Das Programm implementieren und an den entsprechenden Stellen print aufrufen.

Kontrollergebnis: 55

Nach ein paar Versuchen (oder bei Beachtung des Programmverlaufs) erkennst Du, dass das Programm

\(\sum\limits_{k=1}^{n}{k}\)

berechnet.

Avatar von

Hallo Andre

Ich darf leider das programm nicht benutzen also muss es handschriftlich machen

0 Daumen

Hallo Alpay,

die Funktion liefert die Summe der Zahlen von \(1\) bis \(k\). Für den Wert \(n=10\) wird \(55\) ausgegeben.

Überlege mal selber, was die Funktion tut, wenn Du sie mit \(n=2\) aufrufst. Wenn Du dazu Fragen hast, so melde Dich bitte.

Gruß Werner

Avatar von

Hallo Werner

Ich verstehe dich brauche aber einen ausführlichen Rechenvorgang

Also es kommt ja 10+9+8+7+6+5+4+3+2+1= 55 ist eine Rekursion wie kann ich das so aufschreiben, dass man das in der informatik Sprache erkennt so meinte ich es

Als eine Rekursion

..., dass man das in der informatik Sprache erkennt so meinte ich es

kommt drauf an, was Du unter 'Informatik Sprache' verstehst. Eine bestimmte Programmiersprache oder Pseudocode - der steht oben schon als Aufgabenstellung.

Du könntest Schritt für Schritt vorgehen:

$$\begin{aligned} f(n=10) &\rightarrow f(9) + 10 \\ &\rightarrow (f(8) + 9) + 10\\ &\rightarrow (f(7) + 8) + 19 \\ &\dots \\ &\rightarrow (f(2) + 3) + 49 \\ &\rightarrow  (f(1) + 2) + 52 \\ & \rightarrow 1 + 54 \\ & \rightarrow 55 \end{aligned}$$ wenn's hilft.

Ja genau das meinte ich wie mache ich das

so wie's da steht. Was vermisst Du?

Ok habe es jetzt danke

Programmiersprache

Programmiersprache

Welche? Fortran 66, Java, Algol, C++, Basic, Logo, C, Rexx, Lisp, D oder was anderes?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community