Feld (Datentyp): Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Anne Simon (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Kowa (Diskussion | Beiträge)
 
(31 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Definition=
{{Qualität
Ein Array ist (engl.: Anordnung, Aufstellung, Reihe, Reihung, Feld, Bereich) in der [[GlossarWiki:Informatik|Informatik]] ein Begriff für eine Datenstruktur von gleichen Elementen in festgelegter Art und Weise.
|correctness        = 5
|extent              = 3
|numberOfReferences  = 2
|qualityOfReferences = 4
|conformance        = 4
}}


Dabei wird zwischen dem (Standard-)Array und dem [[GlossarWiki:assoziativen Array|assoziativen Array]] unterschieden.
==Definition==
Als [[GlossarWiki:assoziativen Array|assoziativen Array]] bezeichnet man eine Sammlung von Elementen, bei denen der Zugriff auf einzelne Elemente mit Hilfe einer Zeichenkette (Schlüssel) erfolgt.


Ein [[Feld (Datentyp)|Feld]] oder {{Array}} ist ein spezieller {{Container}}, der
endlich viele [[Element]]e zu einer durchnummerierten Folge zusammenfasst. Dabei wird dem ersten Element der Folge
im Allgemeinen die Position <code>0</code>
([[null-basierte Zählweise]]) oder die Position <code>1</code> ([[eins-basierte Zählweise]]) zugeordnet.


Ein Array fasst mehrere Daten in einer Einheit zusammen das Array ist als "Container" für Ketten gleichartiger Variablen gedacht.  
Ein Feld hat i. Allg. dauerhaft eine feste Länge. Das heißt, die Zahl der Elemente, die in einem Feld gespeichert werden können,
wird bei der Erzeugung des Feldes festgelegt und kann nachträglich {{iAllg}} nicht mehr geändert werden.


Wenn Sie beispielsweise die 16 Grundfarben speichern wollen, brauchen Sie keine 16 Variablen, sondern ein Array-Objekt, in dem Sie den Farbwerte speichern können. Angesprochen wird ein einzelnes Element über einen ganzzahligen Index.
==Bemerkungen==


Der Begriff [[Array]] wird nicht einheitlich gebraucht.
In einigen Programmiersprachen, wie z.B. [[ActionScript]] oder [[Lingo]], verhalten sich Arrays eher wie
[[Liste (Informatik)|Listen]], als wie [[Feld]]er.


Die Anzahl der Elemente, die ein Array aufnehmen kann, wird Größe beziehungsweise Länge genannt und ist für jedes Array-Objekt in der frei zugänglichen Objektvariable [[GlossarWiki:length|length]] gespeichert. length ist eine int-Variable, deren Wert entweder positiv oder null ist.
Auf ein Element eines Feldes kann direkt zugegriffen werden, wenn seine Position im Feld bekannt ist. Üblicherweise geschieht
der Zugriff mit Hilfe des so genannten [[Indexoperator]]s <code><nowiki>[]</nowiki></code>.


==Zusammenfassung==
<source lang="javascript">
let a = ['r', 's', 't'];  // Definition eines neuen Feldes in Pseudo-Code
print(a[1]);              // Ergebnis: "s", wenn die Positionsnummer des ersten Elements 0 ist
                          // Ergebnis: "r", wenn die Positionsnummer des ersten Elements 1 ist
</source>


Mit Hilfe einer [[For-Schleife]] kann auf alle Elemente eines Feldes nacheinander zugegriffen werden:


Jedes Array beinhaltet Werte nur eines bestimmten Datentyps bzw. Grundtyps. Dies können sein:
<source lang="javascript">
let a = ['r', 's', 't'];  // Definition eines neuen Feldes in Pseudocode
for i := 0 to a.length -1
{ print a[i]; }
</source>
Es kann darüber hinaus spezielle Operatoren wie z.B. [[For-each-Schleife]]n geben,
mit denen nacheinander auf alle Elemente eines Array zugegriffen werden kann.


    * Elementare Datentypen wie int, byte, long und so weiter
In vielen Programmiersprachen ist es möglich, den [[Datentyp]] der Elemente eines Feldes zu beschränken:


    * Referenztypen
<source lang="javascript">
String[5], Array<3,Integer> ... // längenbeschränkte und typisierte Felder in Pseudocode,
                                // zwei alternative Schreibweisen
</source>


    * Referenztypen anderer Arrays, um mehrdimensionale Arrays zu realisieren
Ein Feld, das andere Felder als Elemente hat, wird [[mehrdimensionales Feld]] genannt:


<source lang="javascript">
String[5][6][3]                // drei-dimensionales Feld mit 5*6*3 Elementen in Pseudocode
String[5,6,3]                  // Kurzschreibweise
Array<5, Array<6, Array<3, String>>>
                                // alternative Schreibweise
</source>


==Beispiele==


===Eindimensionales Array===


==ein Array und Ausgabe der Länge==
Ein eindimensionales Array kann z.B. einen [[Vektor]] darstellen.


var zahlen  : Array;
<source lang="javascript">
zahlen = ([1],[2],[3],[5],[7],[6]);
vektor: Integer[3] := [0,1,-4];
</source>


var leange : Number = zahlen.length;
===Zweidimensionales Array===


trace (laenge);
Ein zweidimensionales kann z.B. eine [[Matrix]] darstellen.


=Beispiele=
<source lang="javascript">
matrix: Integer[5][5]
  := [[0,0,0,0, 0],
      [0,0,7,0, 0],
      [1,1,1,1, 0],
      [0,2,0,0,-4],
      [0,0,0,0,-3]
    ]
</source>


==Quellen==


# {{Quelle|Schneider, U.; Werner, D. (2001): Taschenbuch der Informatik}}
# {{Quelle|Kowarschick, W.: Multimedia-Programmierung}}


==eindimensionales Array==
==Siehe auch==


Ein eindimensionales Array kann z.B. einen Vektor darstellen.
*{{Vgl|Assoziatives Array}}
*[[Wikipedia:Feld (Datentyp)]]


Vektor v = ([0,1])
[[Kategorie:Datentyp]]
 
==zweidimensionales Array==
 
Ein zweidimensionales kann z.B. eine Matrix darstellen.
 
Matrix M = ([0,0,0,0,0],
    [0,0,0,0,0],
    [1,1,1,1,0],
    [0,0,0,0,0],
    [0,0,0,0,0])
 
 
==mehrdimensionales Array==
 
fünfDimMatrix[4][1][1][1][1];
 
 
=Quellen=
 
 
 
*[[http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-815?GalileoSession=83325466A20NK.RwPg4/ Einstieg in Java]]
*[[http://de.selfhtml.org/ Objektreferenz//Arrays in Java-Script]]
 
 
 
[[Kategorie:Programmierung]]
[[Kategorie:Glossar]]
[[Kategorie:Glossar]]

Aktuelle Version vom 31. Juli 2019, 16:49 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 5
(vollständig überprüft)
Umfang: 3
(einige wichtige Fakten fehlen)
Quellenangaben: 2
(wichtige Quellen fehlen)
Quellenarten: 4
(sehr gut)
Konformität: 4
(sehr gut)

Definition

Ein Feld oder Array ist ein spezieller Container, der endlich viele Elemente zu einer durchnummerierten Folge zusammenfasst. Dabei wird dem ersten Element der Folge im Allgemeinen die Position 0 (null-basierte Zählweise) oder die Position 1 (eins-basierte Zählweise) zugeordnet.

Ein Feld hat i. Allg. dauerhaft eine feste Länge. Das heißt, die Zahl der Elemente, die in einem Feld gespeichert werden können, wird bei der Erzeugung des Feldes festgelegt und kann nachträglich i. Allg. nicht mehr geändert werden.

Bemerkungen

Der Begriff Array wird nicht einheitlich gebraucht. In einigen Programmiersprachen, wie z.B. ActionScript oder Lingo, verhalten sich Arrays eher wie Listen, als wie Felder.

Auf ein Element eines Feldes kann direkt zugegriffen werden, wenn seine Position im Feld bekannt ist. Üblicherweise geschieht der Zugriff mit Hilfe des so genannten Indexoperators [].

let a = ['r', 's', 't'];  // Definition eines neuen Feldes in Pseudo-Code
print(a[1]);              // Ergebnis: "s", wenn die Positionsnummer des ersten Elements 0 ist
                          // Ergebnis: "r", wenn die Positionsnummer des ersten Elements 1 ist

Mit Hilfe einer For-Schleife kann auf alle Elemente eines Feldes nacheinander zugegriffen werden:

let a = ['r', 's', 't'];  // Definition eines neuen Feldes in Pseudocode
for i := 0 to a.length -1
{ print a[i]; }

Es kann darüber hinaus spezielle Operatoren wie z.B. For-each-Schleifen geben, mit denen nacheinander auf alle Elemente eines Array zugegriffen werden kann.

In vielen Programmiersprachen ist es möglich, den Datentyp der Elemente eines Feldes zu beschränken:

String[5], Array<3,Integer> ... // längenbeschränkte und typisierte Felder in Pseudocode,
                                // zwei alternative Schreibweisen

Ein Feld, das andere Felder als Elemente hat, wird mehrdimensionales Feld genannt:

String[5][6][3]                 // drei-dimensionales Feld mit 5*6*3 Elementen in Pseudocode 
String[5,6,3]                   // Kurzschreibweise
Array<5, Array<6, Array<3, String>>>
                                // alternative Schreibweise

Beispiele

Eindimensionales Array

Ein eindimensionales Array kann z.B. einen Vektor darstellen.

vektor: Integer[3] := [0,1,-4];

Zweidimensionales Array

Ein zweidimensionales kann z.B. eine Matrix darstellen.

matrix: Integer[5][5] 
  := [[0,0,0,0, 0],
      [0,0,7,0, 0],
      [1,1,1,1, 0],
      [0,2,0,0,-4],
      [0,0,0,0,-3]
     ]

Quellen

  1. Schneider, Werner (2001): Taschenbuch der Informatik; Hrsg.: Uwe Schneider und Dieter Werner; Auflage: 4; Verlag: Fachbuchverlag Leipzig im Carl Hanser Verlag; ISBN: 3446217533; 2001; Quellengüte: 5 (Buch)
  2. Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)

Siehe auch