Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Programm zur Nullstellenberechnung als Projektarbeit - Empfehlenswert?

Empfohlene Antworten

Veröffentlicht

Moin,

Wir müssen von der Schule aus eine Projektarbeit anfertigen. Mein Mathe-Lehrer hat mich angesprochen, ob ich nicht ein C++ Programm zum berechnen der Nullstellen für eine Funktion f(x) schreiben möchte.

Wir haben in der Schule bisher nur einfache Programme geschrieben:

If-Else-Anweisungen

For und While-Schleifen

Switch-Anweisungen

und Grundlegende Rechenarten

Meint ihr das es nicht zu viel ist für mich jetzt so ein Programm zu schreiben?

Denn mir stellen sich noch ein paar Fragen:

Wenn jemand für eine Funktion f(x) z.B. 3x eingibt, wie stelle ich das an, das er für x den schon vorher festgelegten Wert für x einsetzt und dann multipliziert (z.B. wurde vorher über cin für x 2 eingegeben, wie stelle es dann an das er nach der Eingabe der Funktion 3*2 rechnet?)

Danke schonmal!

Wieviel Zeit ist denn für die Projektarbeit geplant? So ein Nullstellensuchprogramm kann nämlich praktisch beliebig kompliziert werden.

1. Eingabe

Soll der Benutzer die Funktionsvorschrift selbst eingeben können (d.h. du hast einen String "y = 2*x*x - 4") oder soll die Funktionsvorschrift als gültiger Code im Quelltext stehen?

Im ersten Fall musst du einen Parser schreiben, der den String zerlegt und auswertet. Keine einfache Aufgabe, schon gar nicht für einen Anfänger. Im zweiten Fall bleibt dir das erspart, aber das Programm ist dadurch weniger benutzerfreundlich, und du nimmst dir die Möglichkeit der symbolischen Verarbeitung (siehe Punkt 2).

2. Verarbeitung

Sollen die Nullstellen rein numerisch gesucht werden (d.h. durch wiederholtes Einsetzen und Ausprobieren) oder soll die Funktionsgleichung Null gesetzt und nach x aufgelöst werden?

Im ersten Fall musst du mit Genauigkeitsproblemen rechnen. Im zweiten Fall (setzt einen Parser voraus) musst du die algebraischen Gesetze auf die vom Parser erzeugte Datenstruktur anwenden. Auch keine einfache Aufgabe.

Was ganz gut funktionieren könnte: Du könntest dich auf bestimmte Arten von Funktionen beschränken, z.B. lineare. Der Benutzer kann nur die Koeffizienten eingeben (dadurch brauchst du keinen Parser). Wenn das gut läuft, kannst du noch quadratische Funktionen dazu nehmen. Alles andere dürfte den Rahmen der Projektarbeit sprengen.

1. Eingabe Soll der Benutzer die Funktionsvorschrift selbst eingeben können (d.h. du hast einen String "y = 2*x*x - 4")

genau das soll der benutzer eingeben.

Wenn der String dann z.B. y=x²+3x-4 ist, soll da programm automatisch erkennen, das es hier mit der pq-formel forfahren kann und diese dann anwenden und das Ergebnis ausgeben.

Also ich würde das so nciht machen, würde es in etwa so machen

pq formel geht ja bekanntlich nur bei einer quadratischen funktion oderß wenn du x³ hast ist es ja doof das runter zu rechnen

alsowürde ich dem programm das so vorgeben:

f(x) = +- a2*x +-a1*x +- a0

dann kann er vorher auswählen bei welchem a ein plu soder ein minus kommt, ach und du musst auch beachten dass ein x negativ sein kann

aber das dürfte mit grundkenntnissen zu machen sein!

Geht aber leichter mit einem builder oder musst du konsole machen?

wenn du hilfe brauchst ich habe sowas auch mal programmiert!

Mit der Console, Builder werde wir nicht mit arbeiten, weil die Zeit zu knapp ist.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.