Rückblick Speicherverwaltung
|
|
- Günther Schubert
- vor 7 Jahren
- Abrufe
Transkript
1 Rückblick Speicherverwaltung Im Datenbereich des entsprechenden Programms werden die globalen und lokalen Variablen gespeichert. Hauptspeicher Datenspeicher Betriebssystem 1.0 global a:real global b:real Daten zu unserem Benutzerprogramm 'Dies soll ein global s:string langer String sein' lokal Prozedur1 c:integer 'Dies soll ein lokal Prozedur1 a:string langer String sein' 'Kurzer String' lokal Prozedur2 a:string 1 lokal Prozedur2 c:integer 'x' lokal Prozedur2 a:char Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 93 Compiler Funktionsweise eines Compilers am Beispiel von Modula-2 Gegeben sei folgendes Modula-2-Programm: MODULE hallo; (* Das ist ein tolles Programm *) FROM InOut IMPORT WriteString, WriteLn; WriteString ("Hallo Welt!"); (* Ausgabe *) WriteLn; END hallo. Programmtext (Quellcode) unter dem Namen hallo.mi speichern Die Endung mi gilt zur Kennzeichnung als Modula-2-Code. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 94
2 Compiler Funktionsweise eines Compilers am Beispiel von Modula-2 Quellcode hallo.mi (Modula-2-Programm) MODULE hallo; (* Das ist ein tolles Programm *) FROM InOut IMPORT WriteString, WriteLn; WriteString ("Hallo Welt!"); WriteLn; (* Ausgabe *) END hallo. Aufruf des Compilers: mocka c hallo Erzeugen vom sog. Objektcode (in Maschinensprache) Compiler Verbinden mit bereits übersetzen Bibliotheken (Libraries) Linker Ausführbares Programm Aufruf des Linkers: mocka p hallo hallo Library: WriteString, WritLn Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 95 Compiler Detaillierter Ablauf während des Übersetzens: Quellcode Compiler Lexikalische Analyse (Scanner) Erkennen von lexikalischen Quelltextbestandteilen, z.b. Schlüsselwörtern, Bezeichnern... Syntaktische Analyse (Parser) Überprüfung auf syntaktische Korrektheit (z.b. anhand von Syntaxdiagrammen) Semantische Analyse Überprüfen der Semantik (sind alle Bezeichner definiert, Test der Signaturen etc.) Objektcode Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 96
3 Parameterübergabe Die Parameterübergabe beim Prozeduraufruf Beim Prozeduraufruf werden die Argumente durch aktuelle Parameter ersetzt. Man unterscheidet hauptsächlich zwei Arten der Übergabe: Call by value Call by reference Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 97 Parameterübergabe Call by value Erforderliche Syntax: Proc(x:INTEGER) Ablaufbeschreibung beim Prozeduraufruf: Von der übergebenen Variablen wird eine Kopie angelegt. Die übergebene Variable behält ihren alten Wert. Die Kopie ist nur während der Abarbeitung der Prozedur gültig. Die Kopie kann innerhalb der Prozedur verändert werden. Nach Verlassen der Prozedur wird die Kopie aus dem Speicher entfernt. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 98
4 Parameterübergabe Beispiel: Call by value Gegeben sei eine Prozedur Proc(x:INTEGER); Innerhalb des Hauptprogramms steht ein Aufruf: Proc(b); Im Hauptprogramm wird die Variable b:=100 definiert und an eine Speicherstelle geschrieben. Datenspeicher der Applikation 100 b:integer Beim Prozeduraufruf Proc(b) wird eine Kopie von b an eine (andere) Stelle im Speicher geschrieben. 100 lokal für Proc: x:integer Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 99 Parameterübergabe Call by reference Erforderliche Syntax: Proc(VAR x:integer) Ablaufbeschreibung beim Prozeduraufruf: Es wird ein Verweis (Referenz) auf die übergeben Variable angelegt. Der Wert der übergebenen Variable kann direkt von der Prozedur verändert werden, die übergeben Variable ändert sich mit. Alle Änderungen während der Prozedur bleiben auch nach deren Beendigung erhalten. Vorteil: Es wird kein zusätzlicher Speicherplatz benötigt. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 100
5 Parameterübergabe Beispiel: Call by reference Gegeben sei eine Prozedur Proc(VAR x:integer); Innerhalb des Hauptprogramms steht ein Aufruf: Proc(b); Datenspeicher der Applikation Im Hauptprogramm wird die Variable b:=100 definiert und an in eine Speicherstelle geschrieben. 100 b:integer Beim Prozeduraufruf Proc(b) wird (an einer anderen Stelle im Speicher) ein Verweis auf die Adresse von b erstellt. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 101 Parameterübergabe Beispiel: "Call by value" vs. "Call by reference" MODULE CallByValue; MODULE CallByReference; VAR a,b: INTEGER; VAR a,b:integer; : : PROCEDURE Test1(x:INTEGER):INTEGER; PROCEDURE Test2(VAR x:integer):integer; x:=x+1; x:=x+1; RETURN x; RETURN x; END Test1; END Test2; : : a:=3; a:=3; b:= Test1(a); b:=test2(a); WriteInt(a); (*a=3*) WriteInt(a); (*a=4*) WriteInt(b); (*b=4*) WriteInt(b); (*b=4*) END CallByValue. END CallByReference. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 102
6 Parameterübergabe Hinweise zu Call by value: "Call by value" verhindert die Änderung von Variablen, die an anderer Stelle ebenfalls verwendet werden. Benutze "Call by value" wenn eine Änderung der globalen Parameter durch die Prozedur nicht erwünscht ist. ( Seiteneffekt) Vorsicht: "Call by value" ist für komplexe Strukturen sehr aufwendig. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 103 Prozeduren (Zusammenfassung) Vorteile der Modularisierung durch Prozeduren und Funktionen: 1) Wiederverwendung in anderen Programmteilen möglich. - einmaliger Implementierungsteil - beliebig viele Aufrufe 2) Lesbarkeit der Programme wird besser: - Trennung der Implementierung vom Aufruf 3) Modifikationen werden erleichtert. - Änderung nur im Implementierungsteil der Prozedur/Funktion - Ausnahme: Änderungen der Signatur 4) Fehlersuche wird erleichtert. - Jede Prozedur/Funktion kann lokal verifiziert werden. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 104
7 Prozeduren - Modularität Ein zusammenfassendes Beispiel zu Prozeduren Realisierung des Taschenrechners Zur Veranschaulichung der Einsatzmöglichkeiten von Prozeduren, ist auf den nächsten Seiten nochmals die Implementierung des Taschenrechners zusammengefasst. Dazu wird der Taschenrechner mit den Funktionen +, - und * ohne Prozeduren, mit den Funktionen +, - und * mit Prozeduren und erweitert um die Potenzrechnung angegeben. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 105 Prozeduren - Modularität Beispiel: Programm Taschenrechner (ohne Prozeduren): MODULE Taschenrechner; FROM InOut IMPORT Read, ReadInt, WriteInt, WriteString, WriteLn; VAR x,y,erg :INTEGER; op :CHAR; WriteString('Hallo, ich bin ein Taschenrechner.'); WriteLn; WriteString('Eingabe x: '); ReadInt(x); WriteLn; WriteString('Eingabe y: '); ReadInt(y); WriteLn; WriteString('Welche Operation (+,-,*)? '); Read(op); CASE op OF '+' : erg:= x+y '-' : erg:= x-y '*' : erg:= x*y ELSE WriteString('Falsche Eingabe'); END; WriteString('Ergebnis: '); WriteInt(erg); WriteLn; END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 106
8 Prozeduren - Modularität Beispiel: Programm Taschenrechner (mit Prozeduren): MODULE Taschenrechner; FROM InOut IMPORT Read, ReadInt, WriteInt, WriteString, WriteLn; VAR x,y,erg : INTEGER; op : CHAR; PROCEDURE Add(a,b:INTEGER):INTEGER;(...) PROCEDURE Sub(a,b:INTEGER):INTEGER;(...)(* siehe nächste Seite*) PROCEDURE Mul(a,b:INTEGER):INTEGER;(...) WriteString('Hallo, ich bin ein Taschenrechner.'); WriteLn; WriteString('Eingabe x: '); ReadInt(x); WriteLn; WriteString('Eingabe y: '); ReadInt(y); WriteLn; WriteString('Welche Operation (+,-,*)? '); Read(op); WriteLn; CASE op OF '+' : erg:= Add(x,y) '-' : erg:= Sub(x,y) '*' : erg:= Mul(x,y) ELSE WriteString('Falsche Eingabe'); WriteLn; END; WriteString('Ergebnis: '); WriteInt(erg); WriteLn; END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 107 Prozeduren - Modularität Beispiel: Programm Taschenrechner (Prozeduren): PROCEDURE Add(a,b:INTEGER):INTEGER; VAR res: INTEGER; res:=a+b; RETURN res; END Add. PROCEDURE Sub(a,b:INTEGER):INTEGER; VAR res: INTEGER; res:=a-b; RETURN res; END Sub. PROCEDURE Mul(a,b:INTEGER):INTEGER; VAR res: INTEGER; res:=a*b; RETURN res; END Mul. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 108
9 Prozeduren - Modularität Beispiel: Programm Taschenrechner (Erweiterung um Potenzrechnung): MODULE Taschenrechner; FROM InOut IMPORT Read, ReadInt, WriteString, WriteLn, WriteInt; VAR x,y,erg : INTEGER; op : CHAR; PROCEDURE Add(a,b:INTEGER):INTEGER; (...) PROCEDURE Sub(a,b:INTEGER):INTEGER; (...) PROCEDURE Mul(a,b:INTEGER):INTEGER; (...) PROCEDURE Pot(a,b:INTEGER):INTEGER; (...)... (* Eingabe von x und y *) WriteString('Welche Operation (+,-,*,^)? '); Read(op); CASE op OF '+' : erg:= Add(x,y) '-' : erg:= Sub(x,y) '*' : erg:= Mul(x,y) '^' : erg:= Pot(x,y) ELSE WriteString('Falsche Eingabe'); WriteLn; END; WriteString('Ergebnis: '); WriteInt(erg); WriteLn; END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 109 Prozeduren - Modularität Beispiel: Programm Taschenrechner (Prozedur Pot): PROCEDURE Pot(basis,exp:INTEGER):INTEGER; VAR i,res: INTEGER; res:=1; FOR i:=1 TO exp DO res:=res*basis; END; RETURN res; END Pot. THE CEBIT Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 110
10 Rekursionen In den meisten Programmiersprachen (wie auch MODULA-2) ist es möglich, dass eine Prozedur sich selbst aufruft. Solch eine Selbst-Reaktivierung wird auch Rekursion genannt. Bei jedem Rekursionsschritt wird eine neue Inkarnation (Instanz) der jeweiligen Prozedur erzeugt. Viele Algorithmen in der Informatik und Mathematik sind selbstbezüglich (rekursiv) definiert. In solchen Fällen bietet sich eine rekursive Implementierung/Realisierung an. Beispiel: Berechnung der Fakultät n! einer natürlichen Zahl n Die mathematische Fakultät ist rekursiv definiert durch 0! = 1 1! = 1 n! = n (n-1)! (für alle n mit n>1) Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 111 Rekursionen Jede Rekursion muss irgendwann terminieren. Deswegen muss in jeder rekursiven Prozedur vor dem jeweils nächsten Rekursionsschritt überprüft werden, ob die Terminierungsbedingung erfüllt ist. (z.b. mit einer IF-Anweisung) Ansonsten, kommt es irgendwann zu einem Programmabbruch durch einen Speicherüberlauf (stack overflow), da jeder Rekursionsschritt neuen Speicherplatz benötigt. Zur Übersetzungszeit kann normalerweise nicht überprüft werden, ob alle Rekursionen ordnungsgemäß terminieren. Die maximalerekursionstiefe (depth of recursion) ist also von der Größe des zur Verfügung stehenden Speichers abhängig. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 112
11 Rekursionen Beispiel: Berechnung der Fakultät n! einer natürlichen Zahl n PROCEDURE Fakultaet(n:CARDINAL):CARDINAL; IF n<=1 THEN RETURN 1 ELSE RETURN n * Fakultaet(n-1); END; END Fakultaet. Terminierungsbedingung Beispielaufruf: x:=fakultaet(3); Die Prozedur ruft solange sich selbst auf, bis die Abbruchbedingung n<=1 erreicht ist. Endergebnis: x:=6; Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 113 Rekursionen Jede Rekursion kann auch als Iteration dargestellt werden. Beispiel: Iterative Darstellung der Prozedur Fakultaet. PROCEDURE Fakultaet(n:CARDINAL):CARDINAL; VAR res:cardinal; res := 1; WHILE n >= 1 DO res := n * res; n:= n-1; END; RETURN res; END Fakultaet. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 114
12 Rekursionen Frage: Ist die rekursive oder die iterative Lösung besser? Eine iterative Prozedur wird das Ergebnis normalerweise effizienter berechnen als die entsprechende rekursive Lösung, da Schleifenkonstrukte weniger Speicherplatz und weniger Zeit als Rekursionen benötigen. Allerdings ist es oft sehr schwierig für eine gegebene rekursive Formulierung eine iterative Lösung zu finden. Das iterative Programm selbst ist dann auch meistens viel umfangreicher und sehr unübersichtlich. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 115 Direkte Rekursion Bei der direkten Rekursion ruft die Prozedur sich selbst auf: PROCEDURE Fakultaet(n:INTEGER):INTEGER; (*Inkarnation 1*) PROCEDURE Fakultaet(n:INTEGER):INTEGER; (*Inkarnation 2*) PROCEDURE Fakultaet(n:INTEGER):INTEGER; (*Inkarnation 3*) PROCEDURE Fakultaet(n:INTEGER):INTEGER; (*Inkarnation n*) Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 116
13 Indirekte Rekursion Bei der Indirekten Rekursion wird das ursprüngliche Programm wieder von einer anderen Prozedur (hier B) aufgerufen. PROCEDURE A (...); PROCEDURE B (...); PROCEDURE A (...); PROCEDURE B (...); Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 117 Strukturierte Datentypen Bis jetzt kennen wir nur einfache Datentypen (INTEGER...). Wie stellt man strukturierte Datentypen in Modula-2 dar? Beispiel: Übliche Strukturen aus der Mathematik Vektoren, Felder (array) <a 1,a 2,a 3,...,a n > Mengen (set) {a, b, c,..., z } Point (x,y) etc. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 118
Taschenrechner Version 6.1
Taschenrechner Version 6.1 Wie kann ich ein Programmteil 10 mal wiederholen? Start i := 1 FOR i := 1 TO 10 DO Eingabe Berechnung Ausgabe BLOCK i:= i+1 i
MehrEinleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn
C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung
MehrRekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: n i n! = i=1 für n > 0 1 für
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrRekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: nn ii nn! = ii=1 für nn > 0
Mehr3. Die Konzepte einer Programmiersprache: Modula-2
Inhalt der Vorlesung 0. Organisatorisches 1. Einleitung 2. Grundlagen 3. Die Konzepte einer Programmiersprache: Modula-2 4. Objektorientierte Programmierung Praktische Informatik 1 R.Zicari / JWG-Universität
MehrEigenschaften strukturierter Datentypen
Strukturierte Datentypen Eigenschaften strukturierter Datentypen Strukturierte Datentypen sind auf anderen, einfacheren Datentypen aufgebaut. ermöglichen Aggregation von Einzelelementen. Beispiele für
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
MehrSpeicher und Adressraum
Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode
MehrProgrammieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik
Programmieren I Methoden-Spezial Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe bei primitivem Datentypen (Wertkopie) public class MethodParameters
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
MehrAlgorithmen und Datenstrukturen I. Blatt 2. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Algorithmen und Datenstrukturen I Blatt 2 Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 20:05 Aufgabe 1 struct, Parameterübergabe und const Das Repository für diese
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
Mehr6. Funktionen, Parameterübergabe
6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
MehrInformatik II Übung 05. Benjamin Hepp 3 April 2017
Informatik II Übung 05 Benjamin Hepp benjamin.hepp@inf.ethz.ch 3 April 2017 Java package Hierarchie import.. nur noetig um Klassen aus anderen Packeten zu importieren Es kann auch immer der vollstaendige
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrJava Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
MehrStackmaschine; Speicheradressierung
Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen
MehrSystemnahe Programmierung in C (SPiC)
Systemnahe Programmierung in C (SPiC) 9 Funktionen Jürgen Kleinöder, Daniel Lohmann, Volkmar Sieh Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrHistorische Innovationen von Niklaus Wirth
Historische Innovationen von Niklaus Wirth Romain Schmitz 26. Januar 2006 Biografie 1934 geboren am 15. Februar, Schweiz 1959 Abschluss als Elektroingenieur 1963 Promotion, Berekley 1968 Professor an der
MehrProgrammieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik
Programmieren I Methoden-Special Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe: Wertkopie -By- public class MethodParameters { public
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
Mehr2. Unterprogramme und Methoden
2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrProzeduren und Funktionen
OSZ Handel I - Gymnasiale Oberstufe (Abt. V) In Anlehnung an: Duden Informatik (3.Auflage, Dudenverlag, 2001, S. 477). Prozeduren und Funktionen Fach: Informatik Parameter sind Platzhalter in einer Prozedur
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrTeil VI: Prozeduren Feld-Parameter & Typen. 1. Offene ARRAY-Parameter 2. Prozedurtypen und -variablen
Teil VI: Prozeduren Feld-Parameter & Typen 1. Offene ARRAY-Parameter 2. Prozedurtypen und -variablen Offene ARRAY-Parameter Motivation Problem : geg.: mehrere deklarierte Felder unterschiedlicher Längen,
Mehr6 Speicherorganisation
6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung
MehrPraxis der Programmierung
Funktionen, Header-Dateien, Pointer Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Organisatorische Bemerkungen 2 Modul Programmierung Pflichtmodul für BSc INF
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
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)
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrFunktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen
Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden
Mehr11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!
Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich
MehrProgrammieren 1 C Überblick
Programmieren 1 C Überblick 1. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrInformatik I (D-ITET)
//009 Informatik I (D-ITET) Übungsstunde 8, 6..009 simonmayer@student.ethz.ch ETH Zürich Besprechung/Vertiefung der Vorlesung [..009] ArrayStack Ausgezeichnet Einige haben s etwas kompliziert gemacht clear()
Mehr4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Mehr12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =
Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrEinführung Pointer. C-Kurs 2013, 2. Vorlesung. Nico Andy
Einführung Pointer C-Kurs 2013, 2. Vorlesung Nico nico@freitagsrunde.org Andy andrew@freitagsrunde.org http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Mehr6. Unterprogramme 6-1
6. Unterprogramme 6.1 Prozeduren und Funktionen 6.2 Deklaration und Aufruf 6.3 Call-by-Value / Call-by-Reference 6.4 Standardfunktionen in C 6.5 Gültigkeitsbereich von Namen 6.6 Rekursion 6. Unterprogramme
MehrEINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrKapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Inhalt Rekursion: Technik Prof. Dr. Günter Rudolph Fakultät
MehrVorlesung Objektorientierte Programmierung Klausur
Prof. Dr. Stefan Brass 16. Februar 2007 Dipl.-Inform. Annett Thüring Institut für Informatik MLU Halle-Wittenberg Vorlesung Objektorientierte Programmierung Klausur Name: Matrikelnummer: Studiengang: Aufgabe
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
MehrKlausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth
Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth A Nr Max Bewertung 1 14 2 12 3 14 4 12 5 12 6 12 7 12 8 12 Summe 100 Klausur
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrInformatik II Übung 5
Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013
MehrEWS, WS 2016/17 Pfahler I-1
Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler Funktionen EWS, WS 2016/17 Pfahler I-1 Funktionen Funktion: Rechenvorschrift mit einem Namen und ggf. formalen Parametern,
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben
MehrVordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS Juli 2002 Bearbeitungszeit: 120 Minuten BEISPIELLÖSUNG
Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS 00 30. Juli 00 Bearbeitungszeit: 10 Minuten BEISPIELLÖSUNG Name: Vorname: Matrikelnummer: Aufgabe Punkte Bewertung 1 8 a) b) 6 8 3 8
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
Mehr7 Laufzeit-Speicherverwaltung
7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.
Mehr15. Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen
453 15. Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen Mathematische Rekursion 454 Viele mathematische Funktionen sind sehr natürlich rekursiv
MehrEinführung in Java. Arne Hüffmeier. Angelehnt an Java-Vorkurs der Freitagsrunde. Methoden implementieren. Michelle Liebers, Dennis Hoffmann
Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 44 1 Methoden implementieren Motivation Aufbau einer Methode
MehrOrganisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrCompilerbau für die Common Language Run-Time
Compilerbau für die Common Language Run-Time Syntax und Semantik von Programmiersprachen 2 Compilerbau Sprachbeschreibung vs. Implementierung Beschreibung: formale oder informale (engl.) Lexik, Syntax,
MehrFelder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden
Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Dim arrayname (dim1,dim2, ) As Typ Bei eindimensionalen Feldern
MehrVorkurs Informatik WiSe 17/18
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 10.10.2017 Technische Universität Braunschweig, IPS Überblick Einleitung Türme von Hanoi Rekursion Beispiele 10.10.2017 Dr. Werner Struckmann
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
MehrProgrammiersprachen und ihre Übersetzer
Folien zur Vorlesung Programmiersprachen und ihre Übersetzer Kapitel 5 Übersetzung imperativer Sprachen Faculty of Technology robert@techfak.uni-bielefeld.de June 18, 2013 Prozedurmechanismus Seit ALGOL
MehrDieÜbersetzung funktionaler Programmiersprachen
DieÜbersetzung funktionaler Programmiersprachen 107 11 Die Sprache PuF Wir betrachten hier nur die Mini-Sprache PuF( Pure Functions ). Insbesondere verzichten wir(vorerst) auf: Seiteneffekte; Datenstrukturen;
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld
MehrC++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
MehrÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
MehrEinführung in die Programmierung Wintersemester 2017/18
Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
MehrEinführung in die Programmierung Wintersemester 2010/11
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
MehrWS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
MehrKlausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrPraxis der Programmierung
Liste, Ausnahmefehler, Template-Funktionen und -Klassen Institut für Informatik und Computational Science Henning Bordihn 1 Stack als einfach verkettete Liste 2 Aufgabe 1 1. Kopieren Sie aus /home/rlehre/w13
MehrInhalt. 4.9 Typen, Variable und Konstante
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern
MehrProgrammiertechnik Klassenmethoden
Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner
Mehr(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
Mehrn 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen
n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 -
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Motivation Programm zur Berechnung von public class Eval1 { public static void main(string[] args) { java.util.scanner
MehrJava Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
MehrFHZ. K13 Rekursion. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt
Inhalt 1. Einführung 1. Beispiel: Fakultät 2. Beispiel: Zahlenfolge 3. Beispiel: Formale Sprache 4. Unterschied Iteration/Rekursion 2. Rekursive Methoden 1. Beispiel: Fakultät 2. Beispiel: "Türme
Mehr1.3 Handhabung eines Programmiersystems
1.3 Handhabung eines Programmiersystems Der Turbo-Pascal-Editor Man muss nichts vom Innenleben eines Computers verstehen, um mit ihm umgehen zu können. Wir wollen ihn als "black box" verwenden, also lediglich
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrProgrammieren I. Kapitel 12. Referenzen
Programmieren I Kapitel 12. Referenzen Kapitel 12: Referenzen Ziel: Die Wahrheit über Objekte Lebensdauer Speicherverwaltung Parameterübergabemechanismen in Methoden Gleichheiten, Kopien Arrays Speicherbereinigung
Mehr