Sinuskurve im Terminal ausgeben C

Hallo,
ich habe eine Aufgabe bekommen und nicht so richtig eine Ahnung wie ich sie angehen soll.
Die Aufgabe lautet:

Nach Eingabe von Frequenz, Amplitude und Schrittweite soll das
Programm eine Sinuskurve mit den entsprechenden Eingabewerten
Ausgeben. Die Kurve soll einfachheitshalber vertikal dargestellt werden.
Das Menü soll die drei oben genannten Eingabemöglichkeiten besitzen
und eine Option um das Programm zu beenden.
Wenn eines der Eingabefelder leer gelassen wird soll das Programm mit
folgenden Standartwerten rechnen:
Frequenz: 0,5PI Hz (ca. 1,57 Hz)
Amplitude:1
Schrittweite: 0,5

Meine Frage ist vor allem, wie gebe ich die Kurve nun am einfachsten und überhaupt vertikal aus?

Hallo Kev,
leider habe ich mit der grafischen Ausgabe unter C noch gar nichts zu tun gehabt. Je nachdem, welchen Compiler du verwendest bzw. in welcher Umgebung du arbeitest, sollte es aber Funktionen für die Ausgabe einer Sinuskurve geben. Und es müsste dann auch möglich sein, die Richtung (horizontal/vertikal) mit Hilfe eines Übergabeparameters zu steuern.
Tut mir leid, dass ich dir nichts Konkretes sagen kann. Trotzdem viel Erfolg!
Burkhard

Hallo Kev2709

Danke dass Du mich als Experte für Deine Aufgabe ausgesucht hast.

In nahezu jeder Programmiersprache gibt es heute Funktionen um Sinuskurven zu berechnen. Aus dieser Berechnung dann eine Zeichnung abzuleiten ist eine einfache Aufgabe. Nehme einfach ein beliebig grosses (gross genuges) Raster und trage dort die entsprechenden Punkte ein.

Leider fehlen in Deiner Aufgabenstellung wichtige Elemente wie Programmiersprache und Ausgabeziel. Somit kann kein konkretes Beispiel abgeleitet werden.

Viele Grüsse
Markus

Vielen dank für deine Antwort Markus,
Das Programm soll in C geschrieben sein und vollständig in einer Konsole ausführbar sein.
Das heißt ich soll die Kurve im Terminal mit dem * -Zeichen ‚malen‘.

Vielen dank im voraus und viele Grüße
Kevin

Aus der Mathematik sollte bekannt sein, dass die Sinus-Funktion einen Wertebereich von [-1;1] hat. Als DOS-Programme noch verbreitet waren, war auch allgemein bekannt, dass deren Textausgabe eine Breite von meist 80 Zeichen hatte. Gefragt ist also eine Ausgabe, bei welcher der – Schrittweite für Schrittweite berechnete – Funktionswert (in einer Schleife aufaddieren) auf eine Breite von 0 bis knapp 80 skaliert wird, optimal also auf Ganzzahlwert gerundete [1;79].

So wird Textzeile für Textzeile immer ein bestimmtes Zeichen (vielleicht der Stern) als Symbol für den Funktionswert ausgegeben und vom linken Rand aus dadurch so weit nach rechts positioniert wie nötig, indem davor noch eine entsprechende Anzahl (0 bis 78) von Leerzeichen ausgegeben wird; dafür sollte C eine String-Funktion bereitstellen, die ein Zeichen um eine angegebene Anzahl wiederholt (oder schreib dir eine, die mit einer Schleife eine entsprechende Anzahl Leerzeichen ausgibt, bevor das Sternchen ausgegeben wird, und danach der Zeilenumbruch „\r\n“).

In der ersten Zeile wäre wohl noch ein Vorspann nützlich, der die Skalierung repräsentiert, etwa in der Form:

-1 ----- 0 ----- +1

entsprechend symmetrisch auf eine Breite von 79 Zeichen verbreitert.

Fertiger Code wird hier nicht als Hilfestellung angegeben, da es ja deine „Hausaufgabe“ ist.