Felder: Motivation. Felder (Arrays) und Zeiger (Pointers) - Teil I. Felder: erste Anwendung. Felder: erste Anwendung. Felder: erste Anwendung
|
|
- Edith Lenz
- vor 6 Jahren
- Abrufe
Transkript
1 1/16/12 Felder (Arrays) und Zeiger (Pinters) - Teil I Feldtyen, Sieb des Eratsthenes, Iteratin, Zeigertyen, Zeigerarithmetik, dynamische Seicherverwaltung Felder: Mtivatin n Wir können jetzt über Zahlen iterieren: fr (int i=; i<n; ++i)... n Oft muss man aber über Daten iterieren (Beisiel: finde ein Kin in Zürich, das heute The C++ Legacy zeigt) n Felder dienen zum Seichern vn Flgen gleichartiger Daten (Beisiel: Sielläne aller Zürcher Kins) Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Streiche alle echten Vielfachen vn und gehe zur nächsten Zahl Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Streiche alle echten Vielfachen vn und gehe zur nächsten Zahl 1
2 1/16/12 Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Felder: erste Anwung Das Sieb des Eratsthenes berechnet alle Primzahlen < n Methde: Ausstreichen der Nicht- Primzahlen Frage: wie streichen wir Zahlen aus??? Am Ende des Streichungsrzesses bleiben genau die Primzahlen übrig! mit einem Feld! Felder: Imlementierung Sieb des Eratsthenes Felder: Imlementierung Sieb des Eratsthenes cnst unsigned int n = 1; // definitin and initializatin: rvides us with // Bleans [],..., [] bl [n]; fr (unsigned int i = ; i < n; ++i) [i] = ; // cmutatin and utut std::cut << "Prime numbers in 2,..., " << << ":\n"; fr (unsigned int i = 2; i < n; ++i) if (![i]) // i is rime std::cut << i << " "; // crss ut all rer multiles f i fr (unsigned int m = 2*i; m < n; m += i) [m] = true; std::cut << "\n"; Berechnet alle Primzahlen < 1 n ist eine Knstante, sllte als auch s deklariert werden! cnst unsigned int n = 1; // definitin and initializatin: rvides us with // Bleans [],..., [] bl [n]; fr (unsigned int i = ; i < n; ++i) [i] = ; // cmutatin and utut std::cut << "Prime numbers in 2,..., " << << ":\n"; fr (unsigned int i = 2; i < n; ++i) if (![i]) // i is rime std::cut << i << " "; // crss ut all rer multiles f i fr (unsigned int m = 2*i; m < n; m += i) [m] = true; std::cut << "\n"; Feld: [i] gibt an, b i schn ausgestrichen wurde return ; return ; Felder: Imlementierung Sieb des Eratsthenes Felder: Definitin cnst unsigned int n = 1; Deklaratin einer Feldvariablen (array): // definitin and initializatin: rvides us with // Bleans [],..., [] bl [n]; fr (unsigned int i = ; i < n; ++i) [i] = ; T a [exr ] Wert k ist bei Kmilierung bekannt (z.b. Literal, Knstante) // cmutatin and utut std::cut << "Prime numbers in 2,..., " << << ":\n"; fr (unsigned int i = 2; i < n; ++i) if (![i]) // i is rime std::cut << i << " "; // crss ut all rer multiles f i fr (unsigned int m = 2*i; m < n; m += i) [m] = true; std::cut << "\n"; return ; Das Sieb: gehe zur jeweils nächsten nichtgestrichenen Zahl i (diese ist Primzahl), gib sie aus und streiche alle echten Vielfachen vn i aus zugrundelieger Ty Variable des Feld-Tys knstanter ganzzahliger Ausdruck; Wert gibt Länge des Feldes an Ty vn a : T [k ] Wertebereich vn T [k ]: T k 2
3 1/16/12 Felder: Definitin Deklaratin einer Feldvariablen (array): T a [exr ] zugrundelieger Ty Variable des Feld-Tys knstanter ganzzahliger Ausdruck; Wert gibt Länge des Feldes an Beisiel: Wert k ist bei Kmilierung bekannt (z.b. Literal, Knstante) bl [n] Felder variabler Länge? Praktischer (aber nicht erlaubt) wäre: // inut f n std::cut << Cmute rime numbers in [2, n) fr n =? ; unsigned int n; std::cin >> n; // definitin and initializatin: rvides us with // Bleans [],..., [] bl [n]; // Fehler!... kein knstanter Ausdruck! Felder variabler Länge? Praktischer (und erlaubt) wäre: // inut f n std::cut << Cmute rime numbers in [2, n) fr n =? ; unsigned int n; std::cin >> n; // definitin and initializatin: rvides us with // Bleans [],..., [] bl* cnst = new bl[n]; // k!... s geht es (Erklärung flgt)! Feld-Initialisierung n int a[5]; n int a[5] = 4, 3, 5, 2, 1; auch k; Länge wird deduziert Die 5 Elemente vn a bleiben uninitialisiert (können säter Werte zugewiesen bekmmen) Die 5 Elemente vn a werden mit einer Initialisierungsliste initialisiert n int a[] = 4, 3, 5, 2, 1; Seicherlayut eines Feldes Ein Feld belegt einen zusammenhängen Seicherbereich Beisiel: Feld mit 4 Elementen Wahlfreier Zugriff (Randm Access) Der L-Wert a [ exr ] Wert i hat Ty T und bezieht sich auf das i te Element des Feldes a (Zählung ab ) Seicherzellen für jeweils einen Wert vm Ty T a[] a[1] a[2] a[3] 3
4 1/16/12 Wahlfreier Zugriff (Randm Access) a [ exr ] Wahlfreier Zugriff (Randm Access) Wahlfreier Zugriff ist sehr effizient (Reduktin auf Adressarithmetik): : Adresse vn a + si : Adresse vn a[i] Der Wert i vn exr heisst Feldindex []: Subskrit-Oeratr s : Seicherbedarf vn T (in Zellen) a[i] Felder sind rimitiv Man kann Felder nicht wie bei anderen Tyen initialisieren und zuweisen: Warum? int a[5] = 4,3,5,2,1; int b[5]; b = a; // Fehler! int c[5] = a; // Fehler! Felder sind rimitiv Felder sind Erblast der Srache C und aus heutiger Sicht rimitiv In C, Felder sind sehr maschinennah und effizient, bieten aber keinen Luxus wie eingebautes Initialisieren und Kieren Die Standard-Biblithek bietet kmfrtable Alternativen (mehr dazu säter) Felder als Daten-Cntainer Cntainer: Objekt, das andere Objekte seichern kann......und die Möglichkeit anbietet, über die geseicherten Objekte zu iterieren (Kinrgramme...) Iteratin in Feldern geht über wahlfreien Zugriff: a[], a[1],...,a[] Iteratin durch wahlfreien Zugriff fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand: 4
5 1/16/12 Iteratin durch wahlfreien Zugriff fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand (Adressberechnung): +s Iteratin durch wahlfreien Zugriff fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand (Adressberechnung): +2s Iteratin durch wahlfreien Zugriff fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand (Adressberechnung): +3s Iteratin durch wahlfreien Zugriff fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand (Adressberechnung): +s Iteratin durch wahlfreien Zugriff Effizientere und natürlichere Iteratin fr (unsigned int i = ; i < 1; ++i) [i] = ; Berechnungsaufwand (Adressberechnung): Pr Feldelement eine Additin und eine Multilikatin + i s +s +2s Addieren vn s: gehe zum nächsten Element +s 5
6 1/16/12 Effizientere und natürlichere Iteratin Berechnungsaufwand (Adressberechnung): Pr Feldelement eine Additin vrher + s Effizientere und natürlichere bl* cnst = ; bl* cnst = + n; Pr Feldelement eine Additin // tr t first element // tr after last element vrher + s Effizientere und natürlichere Buchlesen: Wahlfreier Zugriff vs. natürliche Iteratin bl* cnst = ; // tr t first element bl* cnst = + 1;// tr after last element wird nch genau erklärt! Pr Feldelement eine Additin vrher + s Wahlfreier Zugriff: öffne Buch auf S.1 klae Buch zu öffne Buch auf S.2-3 klae Buch zu öffne Buch auf S Natürliche Iteratin: öffne Buch auf S.1 blättere um blättere um blättere um blättere um... Zeiger Zeiger-Tyen erlauben das Reräsentieren vn und das Rechnen mit Adressen unterstützen insbesndere die Oeratin gehe zum nächsten Element eines Feldes sind mit Vrsicht zu verwen (beim Verrechnen mit Adressen stürzt meist das Prgramm ab) T * zugrundelieger Ty srich: Zeiger auf T T * hat als mögliche Werte Adressen vn Objekten des Tys T Ausdrücke vm Ty T * heissen Zeiger 6
7 1/16/12 Zeiger: Visualisierung Adresseratr Zeiger auf das Objekt (Wert vn ist die Adresse des Objekts) liefert einen Zeiger (R-Wert) auf ein beliebiges Objekt, gegeben durch einen L-Wert & L-Wert Objekt im Seicher int i = 5; int* itr = &i; itr i & Dereferenzierungseratr liefert einen L-Wert für ein Objekt, gegeben durch einen Zeiger auf das Objekt * R-Wert Dereferenzierungseratr = Adresseratr -1 Zeiger (R-Wert) & * int i = 5; itr int* itr = &i; int j = *itr; // j = 5 i * Objekt (L-Wert) Felder sind Zeiger Felder sind Zeiger Jedes Feld vm Ty T [k] ist in den Ty T* knvertierbar Feld-nach-Zeiger-Knversin Ergebnis der Knversin ist ein Zeiger auf das erste Element (Feldindex ) Beisiel: int a[5]; int* = a; a Tritt ein Feld in einem Ausdruck auf, s wird es autmatisch knvertiert Im Rechner assiert dabei nichts: ein Feld ist hnehin nur durch die Adresse des ersten Elements reräsentiert. 7
8 1/16/12 Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger : Zeiger auf ein Feldelement...der auf Zelle direkt hinter dem Feld (ast-the- Zeiger) a[] a[1] a[2] a[3] a[4] a[5] a[] a[1] a[2] a[3] a[4] a[5] Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger Adden mit Ergebniszeiger ausserhalb dieses Bereichs sind illegal! a[] a[1] a[2] a[3] a[4] a[5] a[] a[1] a[2] a[3] a[4] a[5] Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger +=, -=, ++, -- gibt es auch, mit der üblichen Bedeutung Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger!= : nicht == <= : < der == q < == < r > : nicht <= >= : nicht < a[] a[1] a[2] a[3] a[4] a[5] a[] a[1] a[2] a[3] a[4] a[5] 8
9 1/16/12 Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger -2 Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger -2 q r s q r s a[] a[1] a[2] a[3] a[4] a[5] a[] a[1] a[2] a[3] a[4] a[5] Zeiger +, - ganze Zahl Zeiger ==,!=, <, >, <=, >= Zeiger -1 q r r = 2 q = 1 r q = 3 Die Wahrheit über den Subskrit-Oeratr arbeitet eigentlich auf Zeigern: a [ exr ] ist eine Abkürzung für * (a + exr ) Besiel: exr hat Wert 2 a[] a[1] a[2] a[3] a[4] a[5] a[] a[1] a[2] a[3] a[4] a[5] bl* cnst = ; //tr t first element bl* cnst = + 1; //tr after last element wird nch genau erklärt! bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Feld-nach-Zeiger-Knversin 9
10 1/16/12 ist eine Knstante! bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element cnst bl* wäre ein variabler Zeiger auf cnst bl! bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Feld-nach-Zeiger-Knversin Feld-nach-Zeiger-Knversin bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Feld-nach-Zeiger-Knversin Zeiger + ganze Zahl bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Zeiger-Initialisierung bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Zeiger-Vergleich Dereferenzierung, Zuweisung 1
11 1/16/12 bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Zeigerinkrement Zeiger-Vergleich bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element Dereferenzierung, Zuweisung Zeigerinkrement, usw... bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element...usw., Zeigerinkrement Zeiger-Vergleich 11
12 1/16/12 bl* cnst = ; // tr t first element bl* cnst = + n; // tr after last element fertig! Warum Zeiger? Die (geringfügig) schnellere Iteratin ist nicht der Punkt (Lesbarkeit sricht ft eher für wahlfreien Zugriff) Grund 1: wir brauchen sie für Felder mit variabler Länge (gleich...) Grund 2: std:: Cntainer-Algrithmen (Srtieren,...) brauchen Iteratren Zeiger sind die Iteratren der Felder! Dynamischer Seicher wie besrgen wir Seicher, der bei Kmilierung nicht vrhersehbar ist? Sieb des Eratsthenes mit Eingabe vn n Allgemein: Feld variabler Länge New-Ausdrücke new T new-oeratr Ausdruck vm Ty T * (Zeiger) Effekt: neuer Seicher für ein Objekt vm Ty T wird bereitgestellt; der Wert des Ausdrucks ist dessen Adresse New-Ausdrücke new T [exr ] new-oeratr Ausdruck vm Ty T * (Zeiger) Ty int, Wert n ; exr nicht ntwigerweise knstant Effekt: neuer Seicher für ein Feld der Länge n mit zugrundeliegem Ty T wird bereitgestellt; Wert des Ausdrucks ist Adresse des ersten Elements Der Hea Hautseicherbereich, aus dem das Prgramm neuen Seicher hlen kann. int* i = new int; int* a = new int[3]; hea ( dynamischer Seicher ) 12
13 1/16/12 Sieb des Eratsthenes neu: dynamischer Seicher Sieb des Eratsthenes neu: dynamischer Seicher // inut // inut std::cut << "Cmute rime numbers std::cut << "Cmute rime numbers in 2,..., fr n =? "; in 2,..., fr n =? "; cnst unsigned int n = 1; unsigned int n; cnst unsigned int n = 1; unsigned int n; std::cin >> n; std::cin >> n; bl [n]; bl* = new bl[n]; bl [n]; bl* = new bl[n]; fr (unsigned int i = ; i < n; ++i) fr (unsigned int i = ; i < n; ++i) fr (unsigned int i = ; i < n; ++i) fr (unsigned int i = ; i < n; ++i) [i] = ; [i] = ; [i] = ; [i] = ; // cmutatin and utut // cmutatin and utut // cmutatin and utut // cmutatin and utut delete[] ; delete[] ; return ; Subskrit-Oeratr auf Zeiger return ; return ; Freigabe des nicht mehr benötigten dynamischen Seichers return ; Delete-Ausdrücke Mit new erzeugte Objekte haben dynamische Seicherdauer: sie leben, bis sie exlizit gelöscht werden: delete exr int* i = new int;... delete i; Delete-Ausdrücke Mit new erzeugte Objekte haben dynamische Seicherdauer: sie leben, bis sie exlizit gelöscht werden. delete[] exr int* a = new int[3];... delete[] a; delete-oeratr Zeiger vm Ty T *, der auf ein vrher mit new bereitgestelltes Objekt zeigt; Effekt: Seicher auf dem Hea wird wieder freigegeben. delete-oeratr Zeiger vm Ty T *, der auf ein vrher mit new bereitgestelltes Feld zeigt; Effekt: Seicher auf dem Hea wird wieder freigegeben. Dynamische-Seicher- Richtlinie Zu jedem new gibt es ein asses delete int* a = new int[3];... delete[] a; Dynamische-Seicher- Richtlinie Zu jedem new gibt es ein asses delete Nichtbeflgung führt zu Seicherlecks (ungenutzter, aber nicht mehr verfügbarer Seicher auf dem Hea) 13
Felder: Motivation. Felder (Arrays) und Zeiger (Pointers) - Teil I. Felder: erste Anwendung. Felder: erste Anwendung
Felder (Arrays) und Zeiger (Pointers) - Teil I Felder: Motivation Wir können jetzt über Zahlen iterieren: for (int i=; i
MehrFelder (Arrays) und Zeiger (Pointers) - Teil I
Felder (Arrays) und Zeiger (Pointers) - Teil I Feldtypen, Sieb des Eratosthenes, Iteration, Zeigertypen, Zeigerarithmetik, dynamische Speicherverwaltung Felder: Motivation n Wir können jetzt über Zahlen
MehrFelder (Arrays) und Zeiger (Pointers) - Teil I
Felder (Arrays) und Zeiger (Pointers) - Teil I Felder: Motivation Wir können jetzt über Zahlen iterieren: for (int i=0; i
MehrKontrollfluss. Kontrollanweisungen. if-anweisung. if-else Anweisung. else. Auswahlanweisungen, Iterationsanweisungen, Blöcke, Sprunganweisungen
Kntrllfluss Kntrllanweisungen bisher linear (vn ben nach unten) Für interessante Prgramme braucht man Verzweigungen und Sprünge Auswahlanweisungen, Iteratinsanweisungen, Blöcke, Sprunganweisungen Berechnung
MehrContainer für eine Folge gleichartiger Daten. Dynamische Datentypen. Probleme mit Feldern...aber nicht mit std::vector. ... und auch std::vector
// Container für eine Folge gleichartiger Daten Dynamische Datentyen Listen; Funktionalität, Coy- Konstruktor, Zuweisungsoerator,, Konzet Dynamischer Datenty n Bisher: Felder (T[],std::array, std::vector)
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
MehrInformatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5
Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrCelsius to Fahrenheit. Ganze Zahlen. Assoziativität und Präzedenz. 9 * celsius / Assoziativität und Präzedenz. Assoziativität und Präzedenz
Celsius t Fahrenheit Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatren // Prgram: fahrenheit.cpp // Cnvert temperatures frm Celsius t Fahrenheit. #include
Mehr10. Referenztypen. Referenztypen: Definition und Initialisierung, Call By Value, Call by Reference, Temporäre Objekte
288 10. Referenztypen Referenztypen: Definition und Initialisierung, Call By Value, Call by Reference, Temporäre Objekte Swap! // POST: values of x and y are exchanged void swap (int& x, int& y) { int
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
Mehr9. Referenztypen. Swap! Referenztypen: Definition. Referenztypen
Swap! 9. Referenztypen Referenztypen: Definition und Initialisierung, Call By Value, Call by Reference, Temporäre Objekte, Konstanten, Const-Referenzen 255 // POST: values of x and y are exchanged void
Mehr11. Referenztypen. Swap! Referenztypen. Referenztypen: Definition
380 Swap! 381 11. Referenztypen Referenztypen: Definition und Initialisierung, Call By Value, Call by Reference, Temporäre Objekte, Konstanten, Const-Referenzen Referenztypen 378 // POST: values of x and
MehrCrashkurs C++ - Teil 1
Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik
MehrEinstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern
MehrPraktikum OOP/C++ - Versuch 5
Seite 1 vn 5 Allgemeines Die Elektrifizierung im Autmbilbereich nimmt immer mehr zu. Das heißt, es kmmen immer mehr Elektrmtren und verbraucher zum Einsatz. Es ist ein Prgramm in C++ zu entwickeln, das
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrZeiger: Der Adressoperator &
Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrVorlesung Programmieren
Vorlesung Programmieren 6. Arrays 23.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
MehrALGORITHMEN- PARADIGMEN
4. Kapitel ALGORITHMEN- PARADIGMEN Algrithmen & Datenstrukturen Prf. Dr. Wlfgang Schramm Übersicht 1 1. Einführung 2. Algrithmen 3. EigenschaFen vn Prgrammiersprachen 4. Algrithmenparadigmen 5. Suchen
MehrVHDL - Objekte und Typen
VHDL - Objekte und Typen Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 VHDL - Objekte und Typen 1/23 2007-08-24 Inhalt
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrFelder, Zeiger und Adreßrechnung
Felder, Zeiger und Adreßrechnung Felder bestehen aus Variablen eines einzigen Datentyps. Bisher kennen wir eindimensionale Felder. In C sind Felder mit beliebigen Dimensionen möglich. Unsere räumliche
MehrStructs, Referenztypen und Const-Typen
Structs, Referenztypen und Const-Typen Rechnen mit rationalen Zahlen o Rationale Zahlen (Q) sind von der Form n/d, mit n und d ausz o C++ hat keinen eingebauten Typ für rationale Zahlen Rechnen mit rationalen
MehrÜbersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.
Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 2 Arrays und Pointer Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät statische Arrays Deklaration (eindimensional): /* 40
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrDas folgende Programm demonstriert, wie man Speicheradressen von Variablen ermittelt.
Kapitel 8 Zeiger (Pointer) Bislang war beim Zugriff auf eine Variable nur ihr Inhalt von Interesse. Dabei war es unwichtig, wo (an welcher Speicheradresse) der Inhalt abgelegt wurde. Ein neuer Variablentyp,
MehrFelder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrVorlesung Programmieren
Vorlesung Programmieren 5. Arrays Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT FÜR INFORMATIK
Mehr2. Ganze Zahlen int unsigned int
99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
Mehr2.7 Felder (Arrays) Das englische Wort array hatte ursprünglich militärische Bedeutung: Aufstellung zur Schlacht : Titel der Zeichnung links:
2.7 Felder (Arrays) Felder (Arrays) bilden eine Zusammenfassung von Elementen gleichen Typs, deren Anzahl bei der Programmierung noch nicht notwendigerweise feststeht. Das englische Wort array hatte ursprünglich
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrDAP2 Praktikum Blatt 1
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE
Mehr1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
1. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 1 Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrVHDL Objekte und Typen
VHDL Objekte und Typen Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Objekte und Typen 1/27 2009-07-31 Inhalt
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrLindenmayer-Systeme: Fraktale rekursiv zeichnen. Definition. Definition. Definition. o Alphabet Σ ( Beispiel: {F, +, -} )
Fraktale rekursiv zeichnen Definition o Alphabet Σ ( Beispiel: F, +, - ) Definition o Alphabet Σ ( Beispiel: F, +, - ) o Σ * = Menge aller endlichen Wörter über Σ ( Beispiel: F+F+ ist in Σ * ) Definition
Mehr2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int
74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
MehrC- Kurs 08 Zeiger. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins?tut für Informa?k Technische Informa?
C- Kurs 08 Dipl.- Inf. Jörn Hoffmann jhoffmann@informa?k.uni- leipzig.de Universität Leipzig Ins?tut für Informa?k Technische Informa?k Überblick Datentyp zur Verwaltung von Adressen (auf Speicherplätze)
MehrC/C++-Programmierung
1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
Mehr1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrKapitel 9: Klassen und höhere Datentypen. Selektoren
Selektoren Üblicherweise erlaubt man keinen (direkten) öffentlichen (public) Zugang zu Objektvariablen mehr Kontrolle über Zugang interne Details besser verborgen Statt dessen: Zugriff auf privates Feld
MehrPraxisorientierte Einführung in C++ Lektion: "Dynamische Speicherverwaltung"
Praxisorientierte Einführung in C++ Lektion: "Dynamische Speicherverwaltung" Christof Elbrechter Neuroinformatics Group, CITEC May 15, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ May 15,
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrVDK-Informatik
Florian Andritsch 7. Juli 2010 1 / 16 Übersicht Heute: Mittwoch Themen, Dynamische Arrays, Wiederholung Funktionen-Arrays- Rekursionen, Structs 2 / 16 Übersicht Was gabs gestern? Themen double, float Konversion
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrDas erste C++ Programm
Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrLindenmayer-Systeme: Fraktale rekursiv zeichnen
Lindenmayer-Systeme: Fraktale rekursiv zeichnen Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) o Σ * = Menge aller
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in
MehrGrundlagen der Informatik 2. Operatoren
2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrArrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
Mehr5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)
5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte
Mehr9 Zeiger (Pointer). Dynamischer Speicher
9 Zeiger (Pointer). Dynamischer Speicher Jörn Loviscach Versionsstand: 25. September 2013, 18:07 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
Mehr9. Java Arrays und Strings. Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche
256 9. Java Arrays und Strings Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche Arrays 257 Arrayvariable deklarieren: int[] z; 257 Arrays Arrayvariable deklarieren:
MehrDie Mersenne sche Vermutung. Einführung. Der Vortrag von Cole. Die Mersenne sche Vermutung
Die Mersenne sche Vermutung Einführung Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Mersenne (1644): Die Zahlen der Form 2 n -1 sind Primzahlen
MehrDatenstrukturen / Container in Java
Datenstrukturen / Container in Java Mathematik / Algebraischer Datentyp / Containerklassen Enum-Klassen Arrays (Felder) = elementare Container Algorithmen mit Arrays Prof. Dr. E. Ehses, 2014 1 Mathematik
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Lineare Listen (1) Einfach verkettete Listen Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 148 Wiederholung Felder Vorteil Der Zugriff auf ein beliebiges
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrDie Formel für die Standardabweichung lautet (ohne die Wurzel haben wir die Varianz):
Mittelwert und Standardabweichung Klasse: StandardDeviation Schreiben Sie ein Programm StandardDeviation, das von den zufällig erzeugten Werten eines Arrays beliebiger Größe den Mittelwert und die Standardabweichung
Mehr