Posts mit dem Label PI werden angezeigt. Alle Posts anzeigen
Posts mit dem Label PI werden angezeigt. Alle Posts anzeigen

Mittwoch, 28. September 2011

C - Maximum Minimum Durchschnitt berechnen

Das Programm:
Das bestimmen des höchsten und des kleinsten Wertes einer beliebig langen Zahlen Reihe ist eine der drei Aufgaben welche das unten-stehende Programm ausführen kann.

Als Zusatz wurde ihm die Fähigkeit verliehen aus den gegebenen Zahlen den Durchschnitt und die  Summe zu berechnen. Außerdem kann es sich merken wie viele Zahlen eingegeben wurden.

/*----------------------------------------------------------------------------------------------------
Titel: MinMax & Durchschnitt & Fakultät
Datei: minmax.cpp
Autor: Jonathan Ernst
Datum: 28.09.2011
Funktion: Ein Programm welches die höchste und die tiefste Zahl sowie den Durchschnitt
einer beliebig langen Zahlen-Reihe ermittelt 
--------------------------------------------------------------------------------------------*/
#include   //Bibliothek Tastatur laden
#include   //Bibliothek I/O laden
#include   //Bibliothek math laden

float minimum(float a, float min) //Funktion zur Bestimmung der kleinsten Zahl
{
if (a < min)                  //wenn a kleiner als das Minimum ist     
min = a;               //wird das Minimum = a gesetzt     
return(min);                  //das Minimum wird zurück gegeben. 
} 
float maximum(float a, float max) //Funktion zur Bestimmung der grössten Zahl 
{       
 if (a > max)               //wenn a grösser als das Maximum ist
max = a;                   //wird das Maximum = a gesetzt
return(max);               //das Maximum wird zurückgegeben
}
float durch(float summe, float counter) //Funktion zur Berechnung des Durchschnittes
{     
float durchschnitt = summe/counter; // durchschnitt wird berechnet in dem man die Summe aller Zahlen geteilt durch die Anzahl der Zahlen rechnet.
return(durchschnitt);               //der durchschnitt wird zurückgegeben
}


int main(void)                 //das Hauptprogramm
{

float a = 0;              //definition der Variable a
float min = 1000000;      //definition der Variable min
float max= 0;             //definition der Variable max
int counter = 0;          //definition der Variable counter
float durchschnitt = 0;   //definition der Variable durchschnitt
char loop = 'a';          //definition der Variable loop
float summe = 0;          //definition der Variable summe

do                        //start der do- while Schlaufe
{         counter++;      //zählt die Anzahl Schleifen durchgänge und somit auch die Anzahl der eingegebenen Zahlen
printf("Geben sie eine Zahl ein: "); //Textausgabe
scanf("%f",&a);                      //Texteingabe
min = minimum(a,min);                //Aufruf der Funktion zur bestimmung der kleinsten Zahl
max = maximum(a,max);                //Aufruf der Funktion zur bestimmung der grössten Zahl
summe = summe +a;                    //Berechnung der Summe
durchschnitt = durch(summe, counter);//Aufruf der Funktion zur bestimmung des Durchschnittes
printf("Wollen sie eine  neue Zahl eingeben? j/n :"); //Textausgabe
fflush(stdin);                       // löscht den tastatur puffer
loop = getchar();                    //liest zeichen ein, um Schleife zu beenden

}while (loop != 'n');                          //entscheidet wie viele male die Schleife durchgeführt werden soll.

printf("\nMin\t\t= %.2f\nMax\t\t= %.2f\nSumme\t\t= %.2f\nAnzahl Zahlen\t: %i\nDurchschnit\t= %.2f",min,max,summe,counter,durchschnitt); //Textausgabe
getch();//damit das Fenster noch offen bleibt
return 0;//gibt 0 zurück
}//ende


Der Compilierte Code/ The compiled Code:


C - simple programs --------------------------------------------------------------------------------- Captain Malgardi Malgardis Crew become a fan on Facebook : Malgardi Fan!

Mittwoch, 14. September 2011

Textrahmen im C zeichnen

Das Programm:
Funktion: Einer Funktion sollen die Koordinaten (x1,y1,x2,y2) übergeben werden.
Die Funktion soll daraus einen Textrahmen der entsprechenden Position und Grösse zeichnen.

/*----------------------------------------------------------------------------------------------------
Titel: Funkt (7) Textrahmen
Datei: textramen.cpp
Autor: Jonathan Ernst
Datum: 14.09.2011
Funktion: Einer Funktion sollen die Koordinaten (x1,y1,x2,y2) übergeben werden.
Die Funktion soll daraus einen Textrahmen der entsprechenden Position und Grösse zeichnen.
--------------------------------------------------------------------------------------------*/
#include   //Bibliothek Tastatur laden
#include   //Bibliothek I/O laden
#include   //Bibliothek math laden

int textramen(int xabstand,int yabstand,int xbreite,int ylange)  //Unterprogramm zur Berechnung des Bogenmasses
{
    int x = 0;    // Deklaration Variable x dient als Zähler
    int y = 0;    // Deklaration Variable y dient als Zähler
    int z = 0;    // Deklaration Variable z dient als Zähler

 if((xabstand < (68-xbreite))&&(xbreite > 2)&&(xbreite < 68))  //kontrolliert die Korrektheit der eingegebenen Zahlen
 {
  for (x=0; x < yabstand; x++)               // bestimmt y1 Koordinate
    printf("\n");                                      // geht eine Zeile runter

  for (x=0; x < xabstand; x++)               // bestimmt x1 Koordinate
    printf(" ");                                        // zeichnet lehrschlag

    printf("\311");                                   // zeichnet Zeichen ?

  for (x=2; x < xbreite; x++)                    // widerholt die printf Anwendung  x2 mal
    printf("\315");                                    // zeichnet Zeichen ?


    printf("\273\n");                                 // zeichnet Zeichen ?

  for (x=2; x < ylange; x++)                    // wiederholt die Zeichnung der ? Symbole y2 mal
    {

      for (y=0; y < xabstand; y++)             // bestimmt den  Abstand x1
        printf(" ");                                      // zeichnet lehrschlag

        printf("\272");                                // zeichnet Zeichen ?

      for ( z=2; z < xbreite; z++)    // bestimmt den Abstand zwischen ?
        printf(" ");                                      // zeichnet lehrschlag

        printf("\272\n");                             // zeichnet Zeichen ?

    }
  for (x=0; x < xabstand; x++)                 // bestimmt x1 Koordinate
    printf(" ");                                          // zeichnet lehrschlag

    printf("\310");                                     // zeichnet Zeichen ?

  for (x=2; x < xbreite; x++)                    // wiederholt die printf Anwendung  x2 mal
    printf("\315");                                    // zeichnet Zeichen ?

    printf("\274");                                   // zeichnet Zeichen ?
      }

else
   printf("\n\232berpr\201fen Sie ihre Eingabe.\nBeachten Sie diese Werte:\n (x1 = position x) nicht gr\224sser als 68 und (68 - x2)\n (x2 = breite) min. 2, max. 68.\n");    // wenn die eingegebenen Zahlen nicht den Vorgaben entsprechen kommt dieser Text. 
                               
}
 
int main(void)                 //Aufruf Funktion Hauptprogramm
{        //Beginn Hauptprogramm
int x1 = 0;   //Deklaration Variable x1
int x2 = 0;  //Deklaration Variable x2
int y1 = 0;  //Deklaration Variable y1
int y2 = 0; //Deklaration Variable y2
int change = 0;

printf("\n Bitte geben Sie die Koordinaten ein:\n x1, y1 (position), x2, y2 (gr\224sse). :");  //Ausgabe Text
  scanf("%i,%i,%i,%i",&x1,&y1,&x2,&y2);                               // Texteingabe
printf("\n Bitte geben Sie eine belibige Zahl ein: ");  //Ausgabe Text
  scanf("%i",&change);

  for ( int i = 0; i < change; i++)
{
textramen(x1,y1,x2,y2);
gotoxy(x1=x1-2,y1++);
}
              //Funktionsaufruf textramen
 
fflush(stdin);                                             //Tastaturpuffer lehren.
getch();                  //warte
return 0;                  //ende
}


Der Compilierte Code/ The compiled Code:
C - simple programs --------------------------------------------------------------------------------- Captain Malgardi Malgardis Crew become a fan on Facebook : Malgardi Fan!

C - Spannungsteiler / Voltage divider

Das Programm
Berechnen sie die Ausgangsspannung eines belasteten Spannungsteilers bei 10 Positionen.

Calculate UL of an Voltage divider in 10 positions.

Rges = R1 + ((R2 * RL)/(R2 + RL))
Iges = Uo / Rges
U1 = R1 * Iges
U2 = Uo - U1


/*----------------------------------------------------------------------------------------------------
Titel: Spannungsteiler
Datei: spannungsteiler.cpp
Autor: Jonathan Ernst
Datum: 31.08.2011
Funktion: Berechnen sie die Ausgangsspannung eines belasteten Spannungsteilers bei 10 Positionen.
--------------------------------------------------------------------------------------------*/
#include //Bibliothek Tastatur laden
#include //Bibliothek I/O laden
#include //Bibliothek math laden

int main(void) //Aufruf Funktion Hauptprogramm

{ //Beginn Hauptprogramm

float Uo = 0; //Deklaration Variable Spannung Uo
float U1 = 0; //Deklaration Variable Spannung U1
float U2 = 0; //Deklaration Variable Spannung U2
float Rges = 0; //Deklaration Variable Gesammt Widerstand
float R1 = 0; //Deklaration Variable Wiederstand R1
float R2 = 0; //Deklaration Variable Wiederstand R2
float RL = 0; //Deklaration Variable Lastwiederstand
float Iges = 0; //Deklaration Variable Gesammt Strom
float Rpoti = 0; //Deklaration Variable Wiederstand des Potentiometers
float Pot1 = 0; //Deklaration Variable Position Potentiometer
float Pot2 = 100; //Deklaration Variable invertierrt Position Potentiometer.
float step = 10;

printf("\n Bitte geben sie die Klemmenspannung Uo in V ein: "); //Ausgabe Text
scanf("%f",&Uo); //Daten einlesen

printf("\n Bitte geben sie den Widerstand des Potentiometers in Ohm ein: "); //Ausgabe Text
scanf("%f",&Rpoti); //Daten einlesen

printf("\n Bitte geben sie den Last-Widerstand in Ohm ein: "); //Ausgabe Text
scanf("%f",&RL); //Daten einlesen

for (Pot1 = Pot1; Pot1 < 110; Pot1 + step)
{
     Pot2 = Pot2 - Pot1;
     R1 = Rpoti * Pot1;
     R2 = Rpoti * Pot2;
     Pot2 = 100;
     Rges = R1 + ((R2 * RL)/(R2 + RL));
     Iges = Uo / Rges;
     U1 = R1 * Iges;
     U2 = Uo - U1;

     printf("\n Bei einer Position von %1.0f prozent betr\204gt die Spannung \201ber RL %0.2fV. ",Pot1, U2); //Ausgabe Text

     Pot1 = Pot1 + step;
}

getch(); //warte
return 0; //ende
}

Der Compilierte Code/ The compiled Code:
Bitte geben sie die Klemmenspannung Uo in V ein: 20
Bitte geben sie den Widerstand des Potentiometers in Ohm ein: 40
Bitte geben sie den Last-Widerstand in Ohm ein: 30

Bei einer Position von 0 prozent beträgt die Spannung über RL 20.00V.
Bei einer Position von 10 prozent beträgt die Spannung über RL 1.38V.
Bei einer Position von 20 prozent beträgt die Spannung über RL 0.72V.
Bei einer Position von 30 prozent beträgt die Spannung über RL 0.48V.
Bei einer Position von 40 prozent beträgt die Spannung über RL 0.36V.
Bei einer Position von 50 prozent beträgt die Spannung über RL 0.29V.
Bei einer Position von 60 prozent beträgt die Spannung über RL 0.24V.
Bei einer Position von 70 prozent beträgt die Spannung über RL 0.21V.
Bei einer Position von 80 prozent beträgt die Spannung über RL 0.18V.
Bei einer Position von 90 prozent beträgt die Spannung über RL 0.15V.
Bei einer Position von 100 prozent beträgt die Spannung über RL 0.00V.
C - simple programs --------------------------------------------------------------------------------- Captain Malgardi Malgardis Crew become a fan on Facebook : Malgardi Fan!

C - Erdradius / Earth radius berechen

Das Programm:
-Wie gross wäre der Abstand zwischen dem Erdumfang und einem 1m längeren Umfang, wenn man diese ineinander legen würde?
-How big would be the distance between earth's circumference and an 1m extended circumference if you would lay them into each other.

/*----------------------------------------------------------------------------------------------------
Titel: Erdradius
Datei: erdradiuse.cpp
Autor: Jonathan Ernst
Datum: 07.06.2011
Funktion: Erdradius Formeln
--------------------------------------------------------------------------------------------*/
#include   //Bibliothek Tastatur laden
#include   //Bibliothek I/O laden
#include   //Bibliothek math laden

int main(void) //Aufruf Funktion Hauptprogramm
{         //Beginn Hauptprogramm
float Umfanggeg = 0;   //Deklaration Variable Umfang Gegeben
float Eingabe1 = 0;    //Deklaration Variable Eingabe1
float Umfangges = 0;   //Deklaration Variable Umfang Gesucht
float Radius1 = 0;    //Deklaration Variable Radius Gegeben
float Radius2 = 0;    //Deklaration Variable Radius Gesucht
float Differenz = 0;   //Deklaration Variable Resultat (Differenz)

printf("\n Bitte geben sie den Umfang in km ein : ");  //Ausgabe Text
  scanf("%fkm",&Umfanggeg);        //Daten einlesen

printf("\n Bitte geben sie den Abschnit den sie dem \n Umfang beifuegen moechten in km ein: ");  //Ausgabe Text
  scanf("%fkm",&Eingabe1);        //Daten einlesen

Umfangges = Umfanggeg + Eingabe1;         //ADDITION von Unfanggeg und Eingabe 1
printf("\n Der urspruengliche Umfang1 ist: %0.2fkm \n",Umfanggeg);   //Ausgabe Text
printf("\n Sie haben dem Umfang %fkm zugefuegt.\n",Eingabe1);   //Ausgabe Text
printf("\n Jetzt betraegt der Umfang2 %0.3fkm.\n",Umfangges);    //Ausgabe Text

Radius2 = Umfanggeg / (2 * 3.141592);      //Radius 1 berechnen. 
Radius1 = Umfangges / (2 * 3.141592);      //Radius 2 berechnen.
Differenz = Radius1 - Radius2;      //Differenz von Radius 1 und 2 Berechnen

printf("\n Der Abstand zwischen Umfang1 und Umfang2 betraegt %0.5fkm.\n", Differenz);   //Ausgabe Text

getch();           //warte
return 0;            //ende
}

Der Comilierte Code/ the compiled code:


It doesn't matter how big the circumference of an object is, what matters is that you extend the circumference of the second object by the same amount.

If you extend a random circumference with 1m you'll allways get 0.15898cm. Try it, you'll see!

Es ist egal mit welchem Umfang man rechnet, das entscheidende ist die Differenz. Verändert man die Grösse um welche man einen zweiten Umfang erweitert verändert sich auch der Abstand der beiden Kreise.


C - simple programs
---------------------------------------------------------------------------------
Captain MalgardiMalgardis Crewbecome a fan on Facebook : Malgardi Fan!

C - Altgrad in Bogenmass umrechnen

Das Programm:
Codieren Sie die Funktion "Altgrad_Bogen", die einen Winkel vom Gradmass ins Bogenmass umrechnet.
Code the function "Altgrad_Bogen", which converts an angle from degrees into radiants.




/*----------------------------------------------------------------------------------------------------
Titel: Funkt (4) Winkel
Datei: winkel.cpp
Autor: Jonathan Ernst
Datum: 14.09.2011
Funktion: Codieren Sie die Funktion "Altgrad_Bogen", die einen Winkel vom Gradmass ins Bogenmass umrechnet.
--------------------------------------------------------------------------------------------*/
#include   //Bibliothek Tastatur laden
#include   //Bibliothek I/O laden
#include   //Bibliothek math laden
#define PI 3.14159          //definiere PI

float Altgrad_Bogen( float a )  //Unterprogramm zur berechnung des Bogenmasses
{
    a = (a * 2 * PI)/360;           // Berechnung des bogenmasses Winkelmass = 2 * PI (Bogenmass)
    return(a);                //gibt den Wert von a (bogenmass) zurück
}

int main(void)                 //Aufruf Funktion Hauptprogramm
{        //Beginn Hauptprogramm
float altgrad = 0;   //Deklaration Variable altgrad
float bogenmass = 0;  //Deklaration Variable bogenmass
char exit = 'a';                   //Deklaration variable exit


while ( exit != 'n')                         //while schlaufe, solange exit nicht = f ist.
 {

printf("\n Bitte geben Sie einen Winkel an: ");  //Ausgabe Text
  scanf("%f",&altgrad);                               // Texteingabe

bogenmass = Altgrad_Bogen(altgrad);                 //Funktionsaufruf Altgrad_Bogen

printf("\n Das Bogenmass des Winkels betr\204gt: %0.2f rad \n", bogenmass);   //Ausgabe Text
fflush(stdin);                                             //Tastaturpuffer lehren.
getch();                  //warte
printf("\n\n\nM\224chten sie eine weiter Zahl anzeigen? j/n ");   //textausgabe
exit=getchar();

}
return 0;                  //ende
}




Der Compilierte Code/ The compiled Code:





C - simple programs
---------------------------------------------------------------------------------
Captain MalgardiMalgardis Crewbecome a fan on Facebook : Malgardi Fan!