Am 20.05.2022 bekommt das Forum ein neues Update. Ab ca. 12:00 ist das Forum nicht mehr erreichbar und wird spätestens am 21.05. wieder online sein. Alle bis dahin erstellten Daten bleiben natürlich erhalten.
Vielen Dank für euer Verständnis. Bei Rückfragen: webmaster@linux-club.de (Christian)
Vielen Dank für euer Verständnis. Bei Rückfragen: webmaster@linux-club.de (Christian)
Kettenbruch
Moderator: Moderatoren
-
- Newbie
- Beiträge: 3
- Registriert: 11. Apr 2004, 07:43
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.
-
- Newbie
- Beiträge: 3
- Registriert: 11. Apr 2004, 07:43
Kettenbruch
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.
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
1
PI = 3 + -------------------------------------
1
7 + -- ------------------------------
1
15 + ----------------------------
1
1 + --------------------------
1
292 + ------------------
2
Diesen Kettenbruch kannst folgendermaßen in C ausrechnen
Code: Alles auswählen
#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-{
-
- Newbie
- Beiträge: 3
- Registriert: 11. Apr 2004, 07:43
Kettenbruch
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
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
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:
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: Alles auswählen
formelfüreinglied ( zahl ) {
return ( 1 / (zahl*zahl) );
}
summe = 0;
for ( i = 0; i < 1000; i++ )
{
summe += formelfüreinglied ( i );
}