Arrays
Sinn und Zweck
Was passiert eigentlich wenn mal nicht eine Variable, oder zwei braucht, sondern vielleicht 3.000.000?
Die kommen schneller zusammen als man denkt. Heutzutage sind Digitalkameras überall. Von Megapixel spricht jeder. Wieviel sind denn 3 Megapixel? Ungefähr 3.000.000.
Eine Digitalkamera speichert für jeden Bildpunkt eine Zahl ab. Vereinfacht gesagt 0 für dunkel 255 für hell. Aber man kann ja nicht 3 Mio Variablen deklarieren.
Dafür braucht man jetzt Arrays, damit man viele gleichartige Werte mit einem einzigen Namen ansprechen kann.
Funktionsweise eines Arrays
Ein Array besteht aus einzelnen Zellen, sehr schön erklärt ist das in dem Infoblatt (s.u.) Jede Zelle bekommt praktischerweise eine Nummer. Mehr möchte ich hier nicht dazu erzählen, komm einfach in meinen Unterricht ;-)
Syntax
Wenn man ein Array deklarieren möchte, dann geht das so ähnlich wie bei den
Variablen.
Datentyp Name_des_Arrays
[ Anzahl_Elemente ] ;
Der Datentyp legt zunächst fest,
welche Daten das Array aufnehmen kann. Die Anzahl gibt an wieviele und der Name wie es heißt.
Initialisierung eines Arrays (füllen mit Werten)
Setzen aller Werte eines Arrays auf einen Wert:
Name_des_Arrays[0] = Wert; //ACHTUNG: erstes Element hat Nr 0
Name_des_Arrays[1] = Wert;
Name_des_Arrays[2] = Wert;
Name_des_Arrays[3] = Wert;
.
.
.
Name_des_Arrays[Anzahl_Elemente - 1] = Wert;
Beispiel mit der Digitalkamera
Wir haben ja zu Beginn schon erklärt, wozu man Arrays braucht. Innerhalb einer Digitalkamera läuft dann ungefähr folgendes ab:
int aiDigiCam[3000000];
aiDigiCam[0] = 123;
aiDigiCam[1] = 12;
aiDigiCam[2] = 200;
usw. Das heißt eine DigiCam speichert für jeden "Pixel" einen Wert. Naja wenn man sowas selber machen will mit 3000000 Pixeln ist man wohl etwas beschäftigt. Doch das kommt im nächsten Kapitel Schleifen.
Infoblätter und Arbeitsblätter zu Arrays
Funktionsprinzip
Info: Erklärt mit Hilfe einer Präsentation das Prinzip eines Arrays
Einstieg in Arrays
Info: Eine kleine Aufgabensammlung, mit der man Schritt für Schritt an ein komplexes Programm herangeführt wird.
PGM-Bilder zeichnen mit Hilfe von ArraysInfo: Auf diesem Arbeitsblatt kann man mit Hilfe des PGM-FrameWorks einfache Bilder zeichnen und sein Verständnis für den Umgang mit Arrays verbessern.
Erweiterte Aufgaben mit ArraysInfo: Auf diesem Arbeitsblatt gibt es neue Aufgaben, die alle am Beispiel der Bildverarbeitung den Umgang mit Arrays trainieren sollen.
Dabei kann man ebenfalls erlernen, wie ganz einfache Bildbearbeitung funktioniert.