4. Variable, Lebensdauer. Variable in imperativen Sprachen. Vorlesung Grundlagen der Programmiersprachen SS 2014 / Folie 401. Themen dieses Kapitels:

Ähnliche Dokumente
6. Funktionen, Parameterübergabe

x = d größer 0 entschieden. Dieses bleibt nun fest,

Modul 3.4 Geometrie: Kubus, Quader, Zylinder

Aufrufe von Objektmethoden

Wärmestrom. Wärmeleitung. 19.Nov.09. Ende. j u. Dieses wird zweckmäßiger pro Einheitsfläche definiert:

r [0, ), φ [0, 2π), ϑ [0, π]

Quantentheorie auf einer Folie

Excel hat bärenstärke Werkzeuge. So kann man z.b. den Solver nutzen um Optimierungen vorzunehmen. Hier am Beispiel einer Blechdose.

Prof. U. Stephan Studiengang BAU 1. Fachsemester Übung 1 TFH Berlin, FB II LV Mathematik Seite 1 von 5

7 Arbeit, Energie, Leistung

Der Satz von Cavalieri: Zwei Körper gleicher Höhe sind volumengleich, wenn sie in jeweils gleicher Höhe flächengleiche Querschnitte haben.

Übersicht. Einführung Universelles Hashing Perfektes Hashing

Versuchsumdruck. Impulse auf Leitungen Simulation der Messergebnisse mit PSpice

Der Lagrange- Formalismus

Über eine ziemlich allgemeine Zahlenfolge und eine ziemlich allgemeine Funktion

Selbstorganisierende Neuronale Netze. Neuronale Netze 3. Übung

Der Graph der Logarithmusfunktion entsteht aus dem Graphen der Exponentialfunktion durch Spiegelung an der 1. Winkelhalbierenden.

Vorlesung Technische Mechanik 1 Statik, Wintersemester 2007/2008. Technische Mechanik

U y. U z. x U. U x y. dy dz. 3. Gradient, Divergenz & Rotation 3.1 Der Gradient eines Skalarfeldes. r dr

Mathematische Hilfsmittel der Physik Rechen-Test I. Markieren Sie die richtige(n) Lösung(en):

2.3 Bestimmung der Faktorenzahl

Integration von Ortsgrößen zu Bereichsgrößen

Jgst. 11/I 1.Klausur

Einführung in die Finanzmathematik - Grundlagen der Zins- und Rentenrechnung -

Ü b u n g s b l a t t 9. r/2 für 0 r < 1, F X (r) = 3/5 für 1 r < 2, (3 r + 1)/10 für 2 r < 3, 1 für 3 r.

Bestimmung der massebezogenen Aktivität von Radionukliden

Übungsaufgaben zur Kursarbeit

Inhalte der Vorlesung. 2. Lexikalische Analyse. Lexikalische Analyse. 2. Lexikalische Analyse

SS 2017 Torsten Schreiber

Flächenberechnungen 2b

Die Inhalte des Studiums zum Bachelor of Arts bzw. zum Master of Arts ergeben sich gemäß den Anlagen 1 und 2 zu dieser Studienordnung.

( ), und legen deshalb eine Ebene fest. Als Aufpunkt dient ein beliebiger Punkt von g oder h, als Spannvektoren

Weitere Anwendungen von ganzrationalen Funktionen

Abstandsbestimmungen

Grundlagen der Elektrotechnik - Einführung Bachelor Maschinenbau Bachelor Wirtschaftsingenieurwesen Maschinenbau Bachelor Chemieingenieurwesen

Aufgabenblatt 1 6 Prüfungsaufgaben Klassenstufe 10. Alle Lösungen auf CD. Datei Nr Ausdruck nur von der CD aus möglich.

Einführung in die Theoretische Physik

Die Definitionen des Rauminhaltsbegriffs werden immer mehr verfeinert, durch den Messprozess festgelegt.

Mathematik für Ingenieure 2

Rechnen mit Vektoren im RUN- Menü

Titrationskurven in der Chemie

Computer-Graphik II. Kompexität des Ray-Tracings. G. Zachmann Clausthal University, Germany cg.in.tu-clausthal.de

Vektoranalysis Teil 1

Inhalte der Vorlesung. 2. Lexikalische Analyse. 2. Lexikalische Analyse. Lexikalische Analyse

8 Zugriffstypen ( Zeiger )

Funktionale Programmierung

Teilbereich 5: Exponential Funktionen 1. Grundkursniveau. Hier eine Musteraufgabe mit Lösung Auf CD alles komplett. Datei Nr

Übungsaufgaben zum Prüfungsteil 1 Lineare Algebra /Analytische Geometrie

WEKA FACHMEDIEN GmbH. Technische Spezifikationen für die Anlieferung von Online-Werbemitteln

Grundlagen der Programmiersprachen

Mechanik 1.Gleichförmige Bewegung 1

Lösung der Aufgabe 4.2.2

Numerische Simulation von Differential-Gleichungen der Himmelsmechanik

Komplexe Widerstände

Linear. Halbkreis. Parabel

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

Ökonometrie und empirische Wirtschaftsforschung II

Software Engineering Projekt

Rekursion. 2. die rekursive Anwendung auf alle Teilprobleme und. 3. die Kombination der Teillösungen in eine Lösung für das Gesamtproblem.

3 Grundlagen der Mikrowellenleitung

Abituraufgabe Stochastik: Fliesenproduktion

34. Elektromagnetische Wellen

1 Lineare Bewegung der Körper

Übungen zum Mathematik-Abitur. Geometrie 1

Einführung in die Aussagenlogik

Statische Magnetfelder

Abiturprüfung 2015 Grundkurs Biologie (Hessen) A1: Ökologie und Stoffwechselphysiologie

Zentrale Klausur 2015 Aufbau der Prüfungsaufgaben

L 3. L a 3. P a. L a m 3. P a l. L a m a 3. P a l m. P a l m e. P o 4. P o p 4. L a. P o p o 4. L a m. Agnes Klawatsch

R a i n e r N i e u w e n h u i z e n K a p e l l e n s t r G r e v e n T e l / F a x / e

F r e i t a g, 3. J u n i

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Überholen mit konstanter Beschleunigung

Das zweites Gesetz von Newton in einem rotierenden Bezugssystem Geostropische Bewegung Druckkoordinaten

Klausur 2 Kurs 12PH4 Physik

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51

Einstieg in die Informatik mit Java

Aufgaben zur Bestimmung des Tangentenwinkels von Spiralen

Ebene und räumliche Koordinatentransformationen

Kein Anspruch auf Vollständigkeit und Fehlerfreiheit

Aufgaben zu den Newtonsche Gesetzen

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017

Programmieren I. Kapitel 10. Spezielle Features

Unterlagen zu endlichen Körpern. Erhard Aichinger

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI

LOOPING. Berechnung der Ablösung für den Übergang in den Schiefen Wurf. r F N

Einführung in die Informatik I

WCOM2-Praktikum 4 Antenna Matching mit NWA

ZUKUNFT BILDEN. Die Bildungsinitiative der Region. Februar Journalistische Darstellungsformen. Teil 3

Diplomarbeit DIPLOMINFORMATIKER

6 Die Gesetze von Kepler

Potentielle PARETO-Verbesserung: Rechtsposition des PARETO-Kriteriums nur noch fiktiv

[ M ] = 1 Nm Kraft und Drehmoment

3 Ebene elektromagnetische Wellen

3. Sprachkonzepte und ihre Übersetzungen

Inhaltsverzeichnis (Ausschnitt)

Vektorrechnung 1. l P= x y = z. Polarkoordinaten eines Vektors Im Polarkoordinatensystem weist der Ortsvektor vom Koordinatenursprung zum Punkt

Grundlagen von CUDA, Sprachtypische Elemente

Inhalt der Vorlesung A1

Übungen zur Kursvorlesung Physik II (Elektrodynamik) Sommersemester 2008

Transkript:

4. Vaiable, Lebensdaue Temen dieses Kapitels: Vaiablenbegiff und Zuweisung untesciedlice Lebensdaue von Vaiablen Laufzeitkelle als Speicestuktu fü Vaiablen in Aufufen GPS-4-1 Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 401 Übesict zu diesem Kapitel Eläuteungen dazu 2005 bei Pof. D. Uwe Kastens Vaiable in impeativen Spacen Vaiable: wid im Pogamm bescieben, z. B. duc Deklaation (statisc), wid bei de Ausfüung im Speice ezeugt und vewendet (dynamisc), wid caakteisiet duc das Tipel (Name, Speicestelle, Wet). Einem Namen im Pogamm weden (bei de Ausfüung) eine ode meee Stellen im Speice zugeodnet. GPS-4-2 Das Ausfüen von Zuweisungen ändet den Wet de Vaiablen (Inalt de Speicestelle). Bei de Ausfüung eines impeativen Pogamms wid so de Pogammzustand veändet. Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 402 Vaiablenbegiff vesteen Eläuteungen zu Namen, Stelle, Wet De Deklaation eine globalen (static) Vaiable ist genau eine Stelle zugeodnet. De Deklaation eine lokalen Vaiablen eine Funktion wid bei jede Ausfüung eines Aufufes eine neue Stelle zugeodnet. im Pogamm: int betag = 0;... betag = 50; im Speice bei de Ausfüung: β 50 0 Speicestelle β

Veändelice und unveändelice Vaiable In impeativen Spacen kann de Wet eine Vaiablen gundsätzlic duc Ausfüen von Zuweisungen veändet weden. int betag = 0;... betag = 50; GPS-4-2a Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 402a Vaiablenbegiff vesteen Eläuteung de untesciedlicen Vaiablenbegiffe. In mancen impeativen Spacen, wie Java, kann fü bestimmte Vaiable veboten weden, nac ie Initialisieung an sie zuzuweisen. In funktionalen Spacen wid bei de Ezeugung eine Vaiablen i Wet unveändelic festgelegt. final int ekto = 100; val seczen = (s 4); Veständnisfagen: Vegleicen Sie: In Java ist de Wet eine "Vaiable" mit de Eigenscaft final nict veändeba. In Ada kann man einen Zugiffsweg auf eine Vaiable auf lesenden Zugiff bescänken. In Pascal definiet "const ekto = 100;" einen Namen fü einen Wet - nict eine Vaiable! In matematiscen Fomeln wid ein Wet unveändelic an den Namen eine Vaiablen gebunden. (Die Fomel kann mit vesciedenen solcen Name-Wet-Bindungen ausgewetet weden.) x, y R: y = 2 * x - 1 definiet eine Geade im R 2 Zuweisung: Zuweisung LinkeSeite = RecteSeite; Beispiel GPS-4-3 Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 403 Zuweisungen vesteen Ausfüen eine Zuweisung: 1. Ausweten de linken Seite; muss die Stelle eine Vaiablen liefen. 2. Ausweten de ecten Seite liefet einen Wet. In Ausdücken steen Namen von Vaiablen fü ien Wet, d.. es wid implizit eine Inaltsopeation ausgefüt. 3. De Wet de Vaiablen aus (1) wid duc den Wet aus (2) esetzt. im Pogamm: im Speice: b = 42; c = b + 1; i = 3; a[i] = c; Speicestelle zu b c i a 42 43 3 Eläuteung de Begiffe und de Ausfüung. a[3] 43

Stellen als Wete von Vaiablen In objektoientieten Spacen, wie Java ode C++, liefet die Ausfüung von new C(...) die Stelle (Refeenz) eines im Speice ezeugten Objektes. Sie kann in Vaiablen gespeicet weden. GPS-4-3a Java: Cicles ci = new Cicles(0, 1.0); x = ci.getradius(); C++: Cicles *ci = new Cicles(0, 1.0); x = ci->getradius(); Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 403a Stellen als Wete von Vaiablen vesteen Eläuteung de Opeationen In C können Pointe-Vaiable Stellen als Wete aben (wie in C++). Die Ausfüung von malloc (sizeof(cicles)) liefet die Stelle (Refeenz) eines im Speice ezeugten Objektes. C: Cicles *ci = malloc(sizeof(cicle)); ci->adius = 1.0; 2014 bei Pof. D. Uwe Kastens De Ausduck &i liefet die Stelle de deklaieten Vaiable i, d.. de &-Opeato untedückt die implizite Inaltsopeation. De Ausduck *i bewikt eine Inaltsopeation - zusätzlic zu de impliziten. int i = 5, j = 0; int *p = &i; j = *p + 1; p = &i; Lebensdaue von Vaiablen im Speice Lebensdaue: Zeit von de Bildung (Allokation) bis zu Venictung (Deallokation) des Speices eine Vaiablen. Begiff de dynamiscen Semantik! At de Vaiablen Lebensdaue ist die Ausfüung... Untebingung im Speice globale Vaiable... des gesamten Pogamms globale Speice Klassenvaiable Paametevaiable,... eines Aufufes Laufzeitkelle lokale Vaiable Objektvaiable... des Pogamms von de Ezeugung Halde, ggf. mit bis zu Venictung des Objekts Speicebeeinigung GPS-4-4 Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 404 Untesciedlice Lebensdauen Eläuteungen dazu, siee SWE-40 Vaiable mit gleice Lebensdaue weden zu Speiceblöcken zusammengefasst. (Bei Spacen mit gescactelten Funktionen kommen auc Funktionsepäsentanten dazu.) Speiceblock fü Klassenvaiable eine Klasse einen Aufuf mit den Paametevaiablen und lokalen Vaiablen ein Objekt eine Klasse mit seinen Objektvaiablen

Laufzeitkelle De Laufzeitkelle entält fü jeden noc nict beendeten Aufuf einen Speiceblock (Scactel, activation ecod) mit Speice fü Paametevaiable und lokale Vaiable. Bei Aufuf wid eine Scactel gekellet, bei Beenden des Aufufes entkellet. Pogamm mit Funktionen (Metoden) float a; (); int i; if (..) (); (); a: GPS-4-5 Laufzeitkelle bei de Aufuffolge,,,, Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 405 Das Speicemodell "Laufzeitkelle" vesteen Eläuteung des Pinzips, des Beispiels. Bei ekusiven Aufufen liegen meee Scacteln zu selben Funktion zugleic auf dem Laufzeitkelle. Die folgende PDF-Datei zeigt die Entwicklung des Laufzeitkelles Übungsaufgaben: Geben Sie Pogamme an, deen Ausfüung vogegebene Laufzeitkelle ezeugt. int b; b=...; b: b=... kellen, entkellen 2014 bei Pof. D. Uwe Kastens Laufzeitkelle bei gescactelten Funktionen Bei de Auswetung von Ausdücken kann auf Vaiablen aus de Umgebung zugegiffen weden. Das sind die Speiceblöcke zu den Pogammstuktuen, die den Ausduck umfassen. in Pascal, Modula-2, in funktionalen Spacen: gescactelte Funktionen in Java: Metoden in Klassen, gescactelte Klassen GPS-4-6 Im Laufzeitkelle wid die aktuelle Umgebung epäsentiet duc die aktuelle Scactel und die Scacteln entlang de Kette de statiscen Vogänge. De statisce Vogänge zeigt auf die Scactel, die die Definition de aufgeufenen Funktion entält. float a; Pogamm mit gescactelten int i; Funktionen int b; b=i+1; (); if(..) (); (); Laufzeitkelle bei Aufuf von kellen, entkellen a: : : : : b: b=i+1; statisce Vogänge Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 406 Laufzeitkelle fü gescactelte Funktionen vesteen Eläuteung des Umgebungsbegiffs de Bedeutung de statiscen Vogänge des Beispiels. Jede Scactel zu Funktion ist eine Definition von zugeodnet. Sie sind zu Vedeutlicung in den Scacteln des Laufzeitkellebildes eingezeicnet (:), obwol sie dot nict wie Vaiable gespeicet sind. Ebenso ist die Zuweisung in de Scactel zu nu angegeben, um zu vedeutlicen, in welce Umgebung sie ausgefüt wid. Die folgende PDF-Datei zeigt die Entwicklung des Laufzeitkelles Übungsaufgaben: Geben Sie Pogamme mit gescactelten Funktionen an, deen Ausfüung vogegebene Laufzeitkelle ezeugt. Veständnisfagen: Tüftele Änden Sie in dem abgebildeten Laufzeitkelle, den statiscen Vogänge de Scactel zum Aufuf von auf die este Scactel von. Wie müssen Sie das Pogamm modifizieen, damit es solc einen Kelle ezeugt? Sie müssen die Funktion als Paamete übegeben.

Zusammenfassung zum Kapitel 4 Mit den Volesungen und Übungen zu Kapitel 4 sollen Sie nun Folgendes vestanden aben: GPS-4-7 Volesung Gundlagen de Pogammiespacen SS 2014 / Folie 407 Ziele des Kapitels ekennen Eläuteungen dazu Vaiablenbegiff und Zuweisung Zusammenang zwiscen Lebensdaue von Vaiablen und ie Speiceung Pinzip des Laufzeitkelles Besondeeiten des Laufzeitkelles bei gescactelten Funktionen 2005 bei Pof. D. Uwe Kastens