IKG/Schleifen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
== Schleifen ==
Schleifen sind in der Programmierung sehr wichtig, weil sie zum einen eine große Text- und Zeitersparnis darstellen und zum anderen durch ihre Verwendung komplexe Probleme gelöst werden können. 
Hierbei werden verschiedene Schleifenarten unterschieden. Es gibt zählergesteuerte Schleifen - for-Schleifen- und sogenannte Kopfgesteuerte Schleifen - while-Schleifen.
In Python werden Bereiche die zusammen gehören eingerückt. Nach einem Doppelpunkt also immer die nächsten Zeilen mit TAB einrücken. 

== For-Schleife ==
Zählergesteuert bedeutet, das die Schleifen eine feste Länge haben. Entweder weil die Länge durch eine feste Liste bestimmt wird oder weil ein Ende bekannt ist. 

'''Beispiel'''
Farbliste mit rot, gruen, gelbm schwarz soll nach gruen untersucht werden. Wenn gruen gefunden wird, dann ist die Suche beendet.<br>

colors=['red','green','yellow','black']<br>
for x in colors:
print(x)
if x == 'green': break

<run id="637f68cec7ddf"></run>

== While-Schleife ==

While-Schleifen sind kopfgesteuerte Schleifen, die eine Abbruchbedingung benötigen. Das stellt auch ihre Schwierigkeit dar. Wenn die Abbruchbedingung nicht sorgsam überdacht ist, kann es zu einer Endlosschleife kommen, die den Arbeitsspeicher blockiert. 

'''Beispiel'''
Im Beispiel soll eine Integerzahl i zu Beginn gleich 1 sein. 

In eine While-Schleife soll i bei jedem Durchgang um 1 erhöht werden -> i +=1
Vorher jedoch soll i mit print() ausgegeben werden, damit wir die Erhöhung überprüfen können.
Die Abbruchbedingung soll i < 6 sein. Diese Bedingung wird bei der Definition der Schleife durch 
while i < 6: angegeben. 

<run id="63c94890a24b0"></run>

<!--
program Caesar;    
uses SysUtils;     

var abc, klartext, schluesseltext : string; 
  i, zahl, addition : integer;              
  buchstabe : char;                         

  begin
    abc := 'abcdefghijklmnopqrstuvwxyz';
    addition := 3;           
    zahl := 0;               
    klartext := '';
    schluesseltext := '';

    WriteLn('Lieber Benutzer gib deine Nachricht ein'); 
    ReadLn(klartext);           

    for i := 1 to length(klartext) do          
    begin
      buchstabe := klartext[i];    
      zahl := Pos(buchstabe, abc);  
       if zahl < 23 then
      begin
         zahl := zahl + addition;
      end;
      if zahl > 23 then
      begin
         zahl := zahl -26;
         zahl := zahl + addition;   /
      end;
       if zahl = 23 then
      begin
         zahl := zahl + addition;
      end;
      schluesseltext := schluesseltext + abc[zahl];

    end;             
    WriteLn(schluesseltext); 
    ReadLn();             
  end.              
-->