Belegarbeit und ich krieg ne Krise...



  • hallöchen,

    ich muss eine Belegarbeit in Informatik über ein programm schreiben (welches wir bekommen haben).

    .. Besser gesagt, wir sollen dieses Programm (relativ) ausführlich erklären > eine Dokumentation über dieses Prgramme

    Das Programm selber dient der Ermittlung von einer Nullstelle mit Hilfe des Näherungsverfahrens

    zum Programm selber sollte folgendes enthalten sein:

    - Darstellen von Quelltext
    a) verwendetete Bibliotheken.. #include... (wenn möglich noch bissl erklären)
    b) Variablen und deren Verwendung
    c) verwendete Funktionen
    d) ein PAP

    zu a) .. hab allgemeines zu Bibliotheken schon zusammen getragen, jedoch fehlen mir die genauen aufgaben der einzelnen Bibliotheken

    zu b) zu 2 Variablen fehlt mir die Verwendung, weis net für was die Variablen da sind :S

    c) verwendete Funktionen hab ich so schon.. evtl. noch paar kleine fragen hab ich

    d) PAP hab ich so fertig 🙂

    hier nun das Programm:

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    #include<time.h>
    #include<math.h>
    
    float Fkt(float x);
    int Vorzeichen(float x);
    
    int main()
        {
        Berechne();
        system ("Pause");
        }
    
    int Berechne()
        {
            float a,b,c,eps=0.0000001,Schritte,Flag=1;
            puts("Intervallgrenze a:");
            scanf("%f",&a);
            puts("Intervallgrenze b:");
            scanf("%f",&b);
            printf("Werte a=%f und b=%f \n\n",a,b);
            printf("Funktionswert von a: %f",Fkt(a));
            c=a;
      /*      while (c<=b)
                    {
                      printf("c= %f    Fkt(c):%f\n",c,fabs(Fkt(c)));
                      c=c+0.1;
                    }
      */
                          while ((fabs(Fkt(c))>=eps) && (Flag==1))
                          {
                             if ((Vorzeichen(Fkt(a))) != (Vorzeichen(Fkt(b))))
                               {
                                c=(a+b)/2;
                                printf("a=%f\tb=%f\tc=%f\tFkt(c)=%f\n",a,b,c,Fkt(c));
                                if ((Vorzeichen(Fkt(c))) != (Vorzeichen(Fkt(b))))
                                   {
                                      a=c;
                                   }
                                else
    
                                       {
                                      b=c;
                                   }
                                Schritte++;
                               }
                             else
                               {
                                  printf("Berechung Nullstelle nicht moeglich!\n");
                                  Flag=0;
                               }
                        }
                      printf("Gefundene Nullstelle = %f in %f Schritten\n\n",c,Schritte);
        }
    
    float Fkt(float x)
        {
            return(x*x-3*x-4);
        }
    int Vorzeichen(float y)
        {
           if (fabs(y)==(y))
                  {return 0;}        //Positives Vorzeichen
                 else
                  {return -1;}       //Negatives Vorzeichen
        }
    

    des Programm wurde in c gschrieben sollte so also für euch kein Problem sein, bin über jede Hilfe sehr dankbar 😃

    Wenn mir jemand ausführlich helfen würde, wäre auch top, denn würden wir des über icq oder so machen 🙂



  • Hmm, was meinst du wozu das ANSI C Forum da ist?!



  • ansi c ?! es sagt mein nick was ich dvon versteh .. is ansi c net des gleiche wie c++ .. naja egal ... brauch immernoch hilfe^^



  • Wenn es das gleiche wäre, würde es dafür nicht 2 Foren geben: http://de.wikipedia.org/wiki/C-Plusplus

    zu a) .. hab allgemeines zu Bibliotheken schon zusammen getragen, jedoch fehlen mir die genauen aufgaben der einzelnen Bibliotheken

    Informationen zu Headerdateien findest du z.B. hier:
    http://www.cplusplus.com/ref/

    zu b) zu 2 Variablen fehlt mir die Verwendung, weis net für was die Variablen da sind :S

    Wenn du Variablen nicht benötigst, wieso hast du sie dann drin? Außerdem sein aussagekräftige Bezeichner immer von Vorteil, statt Bezeichner wie a, b und c.



  • (ANSI) C != C++

    Naja, egal. Hast du das selbst geschrieben? Wenn nicht, solltest du auf jeden Fall bemängeln, dass die Berechnen Funktion für die Ein- und Ausgabe missbraucht wird. Welche Variablen verstehst du denn nicht?



  • @ vellas, des programm haben wir gekriegt zur nullstellenberechnung der funktion .. wir sollne des erklären...

    @ .filmor

    float a,b,c,eps=0.0000001,Schritte,Flag=1;
    

    die eps steht soweit ich weis für die epsilon umgebung für des intervall .. nur des ist wieder tiefstes mathe, also keine ahnung was des genau bewirkt

    dann für was "Schritte" und "flag=1" da ist


Anmelden zum Antworten