• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kettenbruch

Hi, ich möchte gerne C Programmierung lehrnen. Da ich kein Informatik gelehrnt habe, sitze ich jetzt an einer stelle fest. Und zwar kann ich keinen Kettenbruch errechnen. Bei Google habe ich zwar Seiten darrüber gefunden, aber nirgentwo wird ein Kettenbruch erklärt. Vieleicht hat jemand die Zeit mir dass zu erklären. Ich bedanke mich im vorraus für eure Hilfe.
 
A

Anonymous

Gast
was möchtest du nun genau?
Eine zahl in einen kettenbruchumwandeln?
oder einen vorhandenen kettenbruch in C ausrechnen?
Wenn du zweiteres möchtest musst die den Kettenbruch nennen, dann kann ich dir helfen

Gruß }-Tux-{
 
OP
H

hittingeser

Newbie
Hi, ich möchte nur an einem Beispiel wissen wie man einen Kettenbruch ausrechnet. Zb.: 43/20 oder einfach nur die Zahl 35. Wenn ich dass kapiert habe, kann ich wahrscheinlich einfach einen Kettenbruch ausrechnen. In dem Buch welches ich habe steht nur eine Kettenbruchauflösung, aber nicht wie man dass macht.
 
A

Anonymous

Gast
Meinst du z.B. so etwas?

1
PI = 3 + -------------------------------------
1
7 + -- ------------------------------
1
15 + ----------------------------
1
1 + --------------------------
1
292 + ------------------
2


Diesen Kettenbruch kannst folgendermaßen in C ausrechnen

Code:
#include <stdio.h>
int main(void)
{
	float pi;
	pi = 3 + 1.0 / (7.0 + 1.0 / (15.0 + 1.0 / (1.0 + 1.0 / (292.0 + 0.5))));            	                           																																						    printf("PI lautet: %f", pi);
        return(0);
}
 /code]

oder meinst du wie man so einen Kettenbruch aufstellt?

Gruß }-Tux-{
 
OP
H

hittingeser

Newbie
Hi, jetzt weiss ich schon etwas mehr. Da muss es doch bestimmte Regeln geben nach denen so ein Kettenbruch gelöst wird. Es gibt ja auch Regeln wie mann C Programme schreiben muss. Nochmals danke für deine Hilfe.


Neuen Pc gebaut
deshalb zur Zeit Win xp, muss noch warten bis Suse 9.1 raus kommt.

P4 3.0 FSB 800 HT
1024 Ram
 
A

Anonymous

Gast
ja der kettenbruch wird sozusagen von hinten nach vorne aufgelöst, da zu erst immer die klammern ausgerechnet werden.
Denn klammern haben in C fast immer die höchste priorität, d.h. sie werden zuerst ausgerechnet.

Gruß }-Tux-{
 
A

Anonymous

Gast
Allgemein lässt sich zu Kettenbrüchen sagen, dass sie gar garstig sein können.

Es gibt Kettenbrüche der Art: a0 / ( 1 + a1 / ( 1 + a2 / ( 1+ ..... )))))
Die kann man eigentlich nur von innen heraus lösen, aber das innerste innen liegt im Unendlichen.

Dann gibt es unendliche Summen in etwa so:
SIGMA (n = 0 bis unendlich) An / (n*n)
Also Summe über die An geteilt durch n.

Diese lassen sich zwar nicht exakt ausrechnen, aber praktisch macht man es so, dass man irgendwann aufhört mit rechnen, weil der restliche Teil unbedeutend ist. (Fragen sie den Mathematiker ihrer Wahl, wann dies der Fall ist)

Weiter fällt mir zwar nix ein, aber prinzipiell gibt es nur eine Möglichkeit einen Kettenbruch auszurechnen: Rekursion durch Iteration ersetzen und dann solange Iterieren, bis man die nötige Genauigkeit erreicht hat.

Beispiel:
Code:
formelfüreinglied ( zahl ) {
  return ( 1 / (zahl*zahl) );
}

summe = 0;
for ( i = 0; i < 1000; i++ ) 
{
  summe += formelfüreinglied ( i );
}
 
Oben