Eine Sinuskurve entsteht wenn, man, am Rand einer Runden Scheibe einen Bleistift befestigt und die Scheibe dreht, während dem sie sich auf einer geraden Linie fortbewegt. Durch diese Bewegung entsteht eine Sinusähnliche Kurvenform. Diese Lässt sich auch berechnen. Das in C geschriebene Programm zeichnet eine Sinuskurve im Konsolenfenster.
------------------------------------------------------------------------------------------------
Zur berechnung des Sinus wird der befehl a=sin();, aus der Bibliothek <math.h> verwendet.
/*---------------------------------------------------------------------------------------------------- Titel: Sinuskurve Datei: Sinuskurve.cpp Autor: Jonathan Ernst Datum: 27.09.2011 Funktion: Das Programm zeichnet eine Sinus Kurve --------------------------------------------------------------------------------------------*/ #includeDer Compilierte Code/ The compiled Code://Bibliothek Tastatur laden #include //Bibliothek I/O laden #include //Bibliothek math laden #include #define PI 3.14159 //definiere PI void sinus(int hohe, int anzahl) // Unterprogramm welches die Sinus Kurve zeichnet. { int Matrix[700][700]; // erstellt eine Matrix der grösse 700x700 int x,y,z = 0; // definition der variabeln x.y.z werden für die For schlaufen benötigt. float wert = 0; //definition Variable wert = 0 wird zur berechnung des Sinus verwendet int ss = 0; //definition Variable ssbestimmt die x achse der Matrix for( z = 0; z < anzahl;z++) //bestimmt wie vielmal die Sinuskurve gezeichnet wird { for(ss=0;ss < (hohe*2);ss++) //bestimmt anzahl spalten { for(y=0;y < 360;y++) //bestimmt vieviel mal die Rechnung des Sinus durchgeführt werden soll. 360 = ein Kreis { wert=sin((y*2*PI)/(360)); //berechnung des Sinus wertes wert=wert*hohe; //den Wert des Sinus wird an die höhe der Matrix angepasst if (wert == wert) // wert in integer umformen ss = wert+hohe; // wert in integer umformen + die höhe Matrix[y][ss]=88888; //zeichnet 88888 an jeweiliger position welche durch den Wert des sinus bestimmt wird. } for(y=0;y<360;y++) //bestimmt die länge des Matrix ( 360 Zeilen) { for(ss=0;ss<(hohe*2+1);ss++) //bestimmt die höhe des Matrix { printf("%3d ",Matrix[y][ss]); //zeichnet den Matrix } printf("\n"); //Zeilen umschlag } } } } int main(void) //hauptprogramm { int hohe = 0; //defonition Variable Höhe int anzahl = 0; //definition Variable anzahl char exit = 'a'; //definition Variable a do //do schlaufe, um das Programm zu wiederholen { printf("Welche höhe soll die Sinus Kurve haben? (z.bsp 50) : "); //Textausgabe scanf("%i", &hohe); //Texteingabe printf("Wie viele male soll der Sinus gezeichnet werden? : ");//Textausgabe scanf("%i",&anzahl);//Texteingabe sinus(hohe,anzahl); //Aufruf des unterprogrammes welches den Sinus zeichnet getch(); //wartet auf enter taste printf("Wollen sie einen weiteren Sinus Zeichnen? j/n");//Textausgabe fflush(stdin); //löscht tastatur puffer exit = getchar(); //liest buchstaben ein } while (exit !='n'); // bestimmt ob Programm wiederholt werden soll oder nicht return (0);//gibt 0 zurück }//ende
Einstellungen im Konsolenfenster:
- Schriftart ganz klein.
- Anzahl Zeilen und Spalten auf maximum schalten.
So kann die "Auflösung" vergrössert werden. !
C - simple programs --------------------------------------------------------------------------------- Captain Malgardi Malgardis Crew become a fan on Facebook : Malgardi Fan!
Keine Kommentare:
Kommentar veröffentlichen