
Es wird wieder spannender! In diesem Kapitel besprechen wir ein grundsätzliches Instrument der Programmierung aller Programmiersprachen: die Schleifen. Eine Schleife hat die Fähigkeit, eine Anweisung so lange zu wiederholen, so lange eine bestimmte Bedingung erfüllt ist. Ist diese Bedingung nicht mehr erfüllt endet die Schleife. Wie immer wird dieses Konzept am konkreten Beispiel weiter unten am deutlichsten. Grundsätzlich gibt es drei Befehle in Objective-C um Schleifen zu erzeugen:
Und um diese drei Befehle geht es in diesem Kapitel.
Beginnen wir also gleich mit einer Fragestellung. Kennen Sie die Geschichte vom Schach und den Reiskörnern? Nein, dann hier die Kurzfassung: angeblich soll der Erfinder des Schachspieles für seine tolle Erfindung einen ordentlichen Finderlohn ausgehandelt haben. Er legte auf das erste Schachfeld ein Reiskorn, auf das zweite zwei Reiskörner, auf das dritte dann doppelt so viel wie auf dem zweiten, nämlich vier, auf dem vierten Feld dann doppelt soviel wie auf dem dritten Feld, nämlich acht, dann sechzehn, dann zweiunddreißig, dann vierundsechzig. Dann sagte er zu dem König: "ich will allen Reis zusammen, bis hinauf zum 64. Feld! Also das eine Reiskorn auf dem ersten Feld, plus die zwei Reiskörner auf dem zweiten Feld, plus die vier auf dem dritten usw bis hin zum 64. Feld". Nun, jener König der diesen Erfinderlohn ausgeben wollte, unterschätzte dieses Vorhaben, denn die Zahl die dabei herauskommt ist riesig, wirklich riesig. Hätte er einen Programmierer gehabt, dann hätte dieser König abschätzen können, dass ein derartiger Erfinderlohn nicht machbar ist. Dieser Programmierer hätte wahrscheinlich gesagt: "Ich programmiere eine Schleife“. In diesem Fall eignet sich eine Zählschleife am besten, und Zählschleifen werden mit dem for Befehl programmiert. Legen wir also los!
Der for Befehl
Nehmen wir zuerst an, der Erfinder des Schachspiels wäre etwas bescheidener gewesen und hätte gesagt: „Oh König mein König - ich glaube das sagte man damals so -, ich lege auf das erste Feld ein Reiskorn, aufs zweite lege ich zwei Reiskörner, aufs dritte Drei...usw. Am Schluss sollen dann alle Reiskörner mir gehören.“ Berechnen wir nun die Zahl der Reiskörner bis zum zehnten Feld. Warum nur bis zum Zehnten? Sie werden es gleich selbst sehen.
Programm 4.1
-----------------------------------------------------------------------------------------------------------------
#import <stdio.h>
int main(int argc, char *argv[])
{
int reiskornzahl;
reiskornzahl = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
printf ("Die Zahl der Reiskörner auf dem zehnten Feld beträgt
%i\n", reiskornzahl);
return 0;
Programm 4.1 output
-----------------------------------------------------------------------------------------------------------------
Die Zahl der Reiskörner auf dem zehnten Feld beträgt 55
-----------------------------------------------------------------------------------------------------------------
weiter ---- Objective-C Index ---- Startseite----zurück
EINSTIEG
KAPITEL 1: SCHRITT FÜR SCHRITT ZUM ERSTEN PROGRAMM
KAPITEL 2: OBJEKTE, KLASSEN, INSTANZEN UND METHODEN
KAPITEL 3: DIE VERSCHIEDENEN DATENTYPEN
KAPITEL 4: DIE PROGRAMMSCHLEIFEN
KAPITEL 5: ENTSCHEIDE DICH, ENTWEDER ODER....
KAPITEL 6: UND NOCHMALS KLASSEN
KAPITEL 7: VERERBUNG
KAPITEL 8: POLYMORPHISMUS, DYNASCHISCHE TYPISIERUNG UND DYNAMISCHES BINDEN
KAPITEL 9: NOCH MEHR DATENTYPEN UND VARIABLEN
KAPITEL 10: CATEGORIES, POSING AND PROTOCOL
KAPITEL 11: DER PRÄPROZESSOR