Kopfgesteuerte Schleife mit while

Mit while am Kopf der Schleife, wird eine Bedingung auf true überprüft und solange durchgeführt, bis die Bedingung false ist.

 

Syntax von while:

while (Bedingung)
{
   Anweisung
}

 

Beispiel:

Eine Anweisung soll solange ausgeführt werden, bis eine Bedingung erfüllt ist.
Ist die Bedingung von Anfang an nicht erfüllt, wird auch die Anweisung nicht ausgeführt.

float start,i,ende;

Console.WriteLine("Startwert");
start = Convert.ToSingle(Console.ReadLine());

Console.WriteLine("Endwert");
ende = Convert.ToSingle(Console.ReadLine());

i = start;  //i wird definiert

while (i <= ende)  //führe aus bis i = ende
{
   Console.WriteLine("{0}",i);
   i++;  //erhöhe i um 1 bei jedem Durchlauf
}

Console.ReadLine();

 

Programm zur Berechnung von Sinus, Cosinus und Tangent 

Hier ein Programm, welches den Sinus, Cosinus und Tangent bestimmter Winkel in einer Tabelle berechnet:

namespace kopfgesteuerte_schleife
{
    class Program
    { 
        static void Main(string[] args)
        {
            float start, end, schritt;

            float i;

            Console.WriteLine("Geben Sie den Startwinkel ein!");
            start = Convert.ToSingle(Console.ReadLine());

            Console.WriteLine("Geben Sie den Endwinkel ein!");

            end = Convert.ToSingle(Console.ReadLine());


            Console.WriteLine("Geben Sie die Schrittweite ein!");
            schritt = Convert.ToSingle(Console.ReadLine());

            Console.WriteLine("\nWinkel\tsin\tcos\ttan");

            Console.WriteLine("_______________________________");

            i = start;  //definiert den Startwert für i

            while (i <= end)  //Solange i <=end -> führe die Anweisung aus
            {
                Console.WriteLine("{0}\t{1:f4}\t{2:f4}\t{3:f4}\n", i, Math.Sin(i * Math.PI / 180), Math.Cos(i * Math.PI / 180), Math.Tan(i * Math.PI / 180));  //Berechnung der Werte und Umrechnung auf rad mit grad*(PI/180)

                i = i + schritt; //Achtung! Ohne Erhöhung -> Endlosschleife
            }
            Console.ReadLine(); 
        }
    }
}