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.

Empfohlene Antworten

Veröffentlicht

Hallo, ich habe Aufgabe zu lösen nur leider hab ich ein kleines Problem mit einer Angabe!

"Schreiben Sie ein Programm, das die Funktionswerte des Sinus an Punkten x ∈ [0, 2pi] berechnet. Die Punkte sollen den Abstand Δx

haben, welcher vom Programm als freier Parameter eingelesen werden soll. Das Programm muss

einen while-Loop enthalten."

So weit so gut... mir ist bewusst wie diese Sinuskurve aussieht!

Was ist aber mit "Die Punkte sollen den Abstand Δx haben......" gemeint! Was für Punkte sollen delta x haben?? Brauch einen Denkanstoß! Bitte danke! Bitte um etwas Nachsicht bin Anfänger! ;-)

Ist doch eigentlich recht einfach. Stell Dir das am besten auf einem Blatt Papier vor. Dort zeichnest Du einfach mal die Sinuskurve im Bereich [0, 2pi].

Sprich Y-Achse ist [-1,1] und X-Achse [0,2pi]. Nun gehst Du von der 0 immer in Delta Schritten nach rechts auf der X-Achse und liest den dortigen Wert der Sinuskurve (was Du da machst, nennt sich Sampling).

Wenn Delta also 1 wäre, dann würdest Du die Sinuskurve an 0, 1, 2, ... berechnen so lange das Delta < 2pi ist und damit hast Du den Ansatz der Schleife

Hallo danke für die schnelle Antwort! ich eigentlich ganz logisch!

Ich hab mich jetzt mal kurz hingesetzt und hab leider einen (wohl mindestens) Fehler!

Wenn ich z.B. Delta "1" eingebe, rechnet er zwar 1,2,3,4,5,6 aber leider immer nur den Sinus mit 1! Wo is der Fehler!

Hier Code!

#include <iostream>

#include <math.h>


using namespace std;


int main()

{

  double x;

  double pi = M_PI;

  cout << "Bitte Wert eingeben"<< endl;

  cin >>x;

  double y = y + x;

  double result = sin(y);


         while  ( y <= 2*pi) {

        //y = y + x;

  cout << "Für den Sinus von "<< y << " gilt "<<  result << " ACHTUNG: gerechnet als Bogenmas!!"<< endl;

  y = y+x;

   }

  return 0;

}

Wenn ich z.B. Delta "1" eingebe, rechnet er zwar 1,2,3,4,5,6 aber leider immer nur den Sinus mit 1!

Schau Dir an, wo Du in Deinem Code genau den Sinus berechnest. Du muss den Sinus xon x=1, x=2, x=3 usw berechnen, im Moment machst Du das nur für genau einen Wert.

Wenn Du bei 0 für x beginnst, musst Du für jeden Wert den Du auf das x addierst den Sinus bestimmen, so lange x kleiner als 2Pi ist.

Tatsächlich! Ich bin doch einfach zu doof! Danke!

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.