Programmierung und Angewandte Mathematik
|
|
- Cornelia Huber
- vor 6 Jahren
- Abrufe
Transkript
1 Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012
2 Ablauf Was sind Funktionen/Methoden in C++ Definition und Deklaration von Funktionen/methoden Parameter und Rückgabewerte Lokale, globale, klassen und statische lokale Variablen Rekursive Methoden Inhalt Call by address : Verwendung von Pointern als Funktionsparameter Arrays als Parameter Pointer als Rückgabewerte Konstante Parameter 2-Dimensionale Arrays und Arrays of Pointers als Parameter Methoden als Parameter 2
3 Ziele Sie wissen was Funktionen in C/C++ sind, wozu sie gebraucht werden können und wie sie definiert und deklariert werden. Sie verstehen das Prinzip von Rückgabewerten und Parametern; insbesondere verstehen Sie, wie die Parameterübergabe by value genau funktioniert. Parameter Methode Rückgabewert Sie kennen die Unterschiede zwischen lokalen, globalen, Klassen und statischen lokalen Variablen und können das Konzept der Sichtbarkeit von lokalen Variablen erklären. Sie kennen das Konzept der Parameterübergabe by address ( by reference ) und können es richtig anwenden. Sie wissen, wie Arrays einer Funktion übergeben werden und wie Pointer als Rückgabewert verwendet können. Sie wissen, was konstante Parameter sind und welchen Einfluss sie haben. Sie wissen, wie man einem C/C++-Programm Kommandozeilen Parameter übergibt. 3
4 Funktionen/Methoden in C++ Funktionen sind ganz zentrale Komponenten von C/C++-Programmen: Erlaubt die Strukturierung von Programmen Programmteile, die mehrmals in einem Programm vorkommen, müssen nur einmal implementieren werden In C++ werden die meistens Methoden genannt, und wir werden ab jetzt nur Methoden nennen. Auch main, der Einstiegspunkt eines C++-Programms, ist nichts anderes als eine spezielle Methode Methoden bestehen aus: Methodenname (identifiziert die Methode eindeutig) Parameterliste (mehrere Parameter mit Komma getrennt; leer, wenn keine Parameter übergeben werden). void bei leeren Parameterlisten ist nicht mehr nötig. Der Compiler prüft die übergegeben g Parameter in jedem Fall. void kann aber immer noch verwendet werden, wir lassen es hier weg Datentyp des Rückgabewerts (void, wenn nichts zurückgegeben wird) 4
5 Methoden in C++ Methode Datentyp_des_Rückgabewerts Methodenname(Parameterliste) Ein Parameter besteht aus dem Typ(Datentyp) und einem Namen Beispiel: Mit dem Namen kann der Parameter innerhalb der Methode angesprochen werden int max(int a, int b) Eine Methode mit dem Namen max Die Methode hat zwei Parameter vom Typ int, die Namen sind a und b Die Methode gibt einen int-wert zurück Alle Methoden in einem C++-Programm müssen nicht wie in C verschiedene Namen haben! Methoden könne überladen oder überschrieben werden int max(int a, int b) int max(int a, int b, int c) long max(long a) void max() int max() 5
6 Methoden Deklaration und Definition Deklaration Definition int max(int a, int b); int max(int a, int b) { if(a >= b) { return a; return b; Typischerweise wird die Methodendeklaration in eine Header Datei (.h Datei) gemacht. Wie in der letzten Vorlesungen gesehen, man kann auch bei der Klassendefinition direkt nach der Varaiblen eingefügt werden. 6
7 Aufruf von Methoden Beim Methodenaufruf müssen für sämtliche Parameter Werte übergeben werden Meist mittels Variablen; Übergabe von Literalen ist auch möglich Reihenfolge entspricht der Parameterliste in der Funktionsdefinition Hat die Methode einen Rückgabewert, so kann (muss aber nicht) dieser einer Variablen zugewiesen werden oder gleich in einem Ausdruck wiederverwendet werden Bi Beispiel: il int a = 5, b = 3, c; c = max(a, b); /* c = 5 */ c = max(7, 13); /* c = 13 */ max(15, 4); /* OK, aber hier sinnlos */ c = 5 + max(8, a); /* c = 13 */ c = max(max(5, 9), max (b, 12)); /* c = 12 */ 7
8 Parameter und Rückgabewerte Folgende Typen sind als Parameter zugelassen: Grundlegende Datentypen (int, double ) Strukturen Arrays Pointer Folgende Typen sind als Rückgabewerte zugelassen: Grundlegende Datentypen (int, double ) Strukturen Pointer Es können keine Arrays zurückgegeben werden, aber Pointer auf Datenbereiche, die einen Array enthalten! Mit return wird eine Methode immer sofort verlassen (wie Java) Hat die Methode keinen Rückgabewert (void), so wird einfach return; ohne Rückgabewert geschrieben Hat die Methode einen Rückgabewert, so wird return mit einem entsprechenden Wert geschrieben, z.b. return -1; 8
9 Parameter und Rückgabewerte Wird das Ende einer Methode erreicht, so wird diemethode auch ohne Angabe von return verlassen Hat die Methode einen Rückgabewert, so wird per Default der Wert 0 zurückgegeben (besser: explizit Wert angeben) Die Rückgabe eines Wertes erfolgt by value main: verwendet der Programmierer am Ende der Methode kein return, so fügt der Compiler auch hier ein return 0 ein Rückgabewert von main wird an die aufrufende Umgebung (zb Shell oder irgendein anderes Programm) zurückgegeben Auch aus main kann jederzeit ein beliebiger Wert zurückgegeben und damit das Programm terminiert werden 9
10 Lokale Variablen Neben den Parametern, welche einer Methode übergeben werden, können lokale Variablen definiert werden void printline(int n) { int i; /* Lokale Variable */ for (i = 0; i < n; i++) { cout<<" _"; cout<<endl; Die lokalen Variablen sind nur innerhalb der Methode sichtbar Es entsteht kein Konflikt mit einer Variablen in einer anderen Methode, die den gleichen Namen hat Die Variablen in der main Methode sind auch lokale Variablen Alle innerhalb von Methoden deklarierten Variablen sind lokale Variablen 10
11 Sichtbarkeit von Lokale Variablen Generell sind lokale Variablen nur in dem Block sichtbar (verwendbar), in welchem sie deklariert wurden 11
12 Klassen Variablen Neben lokalen Variablen innerhalb von Methoden gibt es auch globale Variablen, auf die alle Methoden zugreifen können. Globale Variablen werden außerhalb von allen Methoden definiert und müssen in jeder Methode, die auf sie zugreift, mit extern deklariert werden Die Angabe der globalen Variablen mit extern innerhalb von Methoden, wo sie verwendet wird, hat den gleichen Zweck wie eine Methodendeklaration: Der Compiler erhält die Information, dass es die globale Variable gibt (sie könnte ja in einer anderen Datei definiert sein) und kennt ihren Datentyp. Mit globalen Variablen sollte sparsam umgegangen werden! /* checkmax_glob.c */ #include <iostream> using namespace std; int max = 0; /* Definition glob. Variable */ void checkmax(int a); int main(void) { int a; extern int max; /* Deklaration glob. Variable */ while (1) { Cout<<a = ;... checkmax(a); Cout<<max; void checkmax(int a) ){ extern int max; /* Deklaration glob. Variable */ if (a > max) { max = a; 12
13 Klassen Variablen Auf die Klassen Variablen können nur alle Methoden in ein Klasse oder Vererbte Klassen Methoden zugreifen. Hängt sehr eng zusammen mit Zugriffsrechte. Siehe bitte OOP Vorlesung... 13
14 Statische Lokale Variablen Lokale Variablen, die mit static als statische Variablen deklariert werden, behalten ihren Wert auch nach dem Verlassen und Wiedereintritt in eine Funktion Statische Variablen werden nur einmal, gleich nach dem Programmstart initialisiert Statische Variablen erhalten per Default den Wert 0 Oft lassen sich damit globale Variablen ersetzen /* checkmax_stat.c */ #include <iostream> using namepace std; int checkmax(int a); int main(void) { int a; while (1) { Cout<<a = ";... Cout<<checkMax(a); int checkmax(int a) { static int max = 0; /* Deklaration */ if (a > max) { /* statische */ max = a; /* lokale Variable */ return max 14
15 Rekursive Methoden C++ unterstützt rekursive Methoden genau so wie C: Eine methode kann sich selbst wieder aufrufen Bei jedem weiteren rekursiven Aufruf werden Parameter wieder by value übergeben, ebenfalls hat jede Rekursionsstufe eigene lokale Variablen Viele Probleme lassen sich mit Rekursion kompakt und elegant lösen Beispiel: Fakultät einer Zahl (n! = n * n-1 *...* 1, 0! = 1) /* Iterativ */ int fakultaet(int n) { int i = 1; int res = 1; for (i = 2; i <= n; i++) { res = res * i; return res; /* Rekursiv */ int fakultaet(int n) { if (n < 2) { return 1; else { return n * fakultaet(n 1); 15
16 Call by Value Sie haben im 1. Teil über Methoden erfahren, dass Parameter immer by value einer methode übergeben werden Die aktuellen Werte der Variablen werden in die Parameter der Methode kopiert Ein Ändern dieser Werte innerhalb der Methode hat keinen Einfluss auf die Werte der Variablen, die der Methode übergeben worden sind Call by value macht aber nicht in allen Fällen Sinn, z.b.: Kopieren ist bei grossen Datenstrukturen (Arrays, Strukturen) ineffizient Die Methode soll mehr als einen Wert zurückgeben Deshalb kann in C++ als auch in C nicht nur der Wert einer Variablen, sondern auch die Adresse einer Variablen einer Methode übergeben werden dazu übergibt man den Pointer auf diese Variable In diesem Fall spricht man auch von call by address, auch wenn die Adresse (der aktuelle Wert des Pointers) selbst immer noch by value übergeben wird 16
17 Call by Adress Beispiel: Methode vertausche, die die Werte zweier Variablen vertauschen soll 17
18 Arrays als Parameter Wird ein Array in einem Ausdruck verwendet, so wird er implizit in den entsprechenden Pointer konvertiert (siehe Arrays & Pointer) Wird ein Array einer Methode übergeben, wird implizit ein Pointer auf diesen Array übergeben -> Arrays werden immer by address übergeben Weiter spielt es keine Rolle, ob einer Methode vom Programmierer explizit ein Array oder ein Pointer auf einen Array übergeben b wird; für die Methode ist es immer ein Pointer Ebenso kann in der Parameterliste ein Parameter entweder als Array oder als Pointer spezifiziert werden: rückgabewert funcname(int a[]); rückgabewert funcname(int *a); Beachte: wird der Parameter als 1-Dimensionaler Array spezifiziert, dann wird die Dimension des Arrays in der Parameterliste nicht spezifiziert (den mehrdimensionalen Fall betrachten wir später) 18
19 Arrays als Parameter Beispiel: beide Methoden sind äquivalent (sie berechnen das Skalarprodukt zweier Arrays): Die Parameterübergabe beim Methodenaufruf kann ebenfalls mit Arrays oder mit Pointern erfolgen unabhängig davon, welche der beiden Methoden oben implementiert wurde 19
20 Array als Rückgabewert? Der Rückgabewert einer Methode kann kein Array sein, sehr wohl aber ein Pointer auf einen Array Beispiel: Methode, die drei int-parameter erhält, daraus einen int-array der Länge 3 bildet und einen Pointer auf diesen Array zurückgibt: Generell kann eine Methode einen Pointer auf irgendetwas zurückgeben 20
21 Konstante Parameter Ein Array wird immer by address einer Funktion übergeben; der Programmierer kann nicht wählen, den Array by value zu übergeben Es gibt keine lokale Kopie des Arrays innerhalb der Funktion Innerhalb der Funktion wird mit dem gleichen Array gearbeitet, wie ausserhalb (Zugriff auf die gleichen Speicherstellen) Dadurch hat jede Modifikation der Arrayelemente in der Funktion direkten Einfluss auf den Array, welcher der Funktion übergeben wurde Potentielles Problem: wie kann der Programmierer z.b. sicher sein, dass eine Funktion einer Library den Array nicht modifiziert? Mittels Spezifizieren eines Parameters mit const stellt der Compiler sicher, dass der entsprechende Parameter innerhalb der Funktion nicht modifiziert wird! 21
22 Konstante Parameter Beispiel: Methode, die eine Zahl, die als String dargestellt ist, in einen int konvertiert; der String darf in der methode nicht verändert werden! Der Gebrauch von const in der Parameterliste (wenn sinnvoll) ist guter Programmierstil, gewöhnen Sie sich dies an! 22
23 2 Dimensionale Arrays als Parameter Wird ein 2-Dimensionaler Array a[3][4] einer Mthode übergeben, so muss in der Parameterliste die zweite Dimension spezifiziert werden! rückgabewert funcname(int b[][4]); rückgabewert funcname(int b[][]); /* FALSCH, Kompilierfehler! */ Die zweite Dimension ist notwendig, damit in der Methode Anweisungen wie b[2] korrekt ausführt werden können: Die Angabe der zweiten Dimension ermöglicht es herauszufinden, wo die einzelnen Arrays im Array beginnen (wegen der linearen Anordnung im Speicher) Ohne die Angabe dieser zweiten Dimension wüsste der Compiler nicht, wie auf die einzelnen Arrays zugegriffen wird, denn bei der Parameterübergabe wird nur ein Pointer auf b übergeben 23
24 Array of Pointers als Parameter Wird ein Array of Pointers, z.b. int *a[10] einer Methode übergeben, ist dies nichts anderes als die Übergabe eines 1-Dimensionalen Arrays rückgabewert funcname(int *b[]); Bei der Konvertierung in einen Pointer wird der Datentyp zu int **b (Pointer auf einen Pointer auf einen int, siehe Vorlesung über Arrays und Pointer) Deshalb ist diese Funktionsdeklaration kl äquivalent zu der oben stehenden: rückgabewert funcname(int **b); Wiederum können unabhängig davon, welche Methodendeklaration verwendet wird, Variablen der Typen int*[10] und int** übergeben werden 24
25 Methoden als Parameter Man kann einer Methode auch einen Pointer auf eine methode übergeben! Beispiel: Integration mit Trapezregel für beliebige Methoden 25
26 Literatur Marc Rennhard, , CPP_Funktionen1.ppt und CPP_Funktionen2.ppt 26
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Heute Dynamische Speicherverwaltung
Angewandte 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
Programmiertechnik. 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
Tag 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
Verwendung 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
Einstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
2. 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)
C++ - 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
Methoden. 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
Einstieg 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
2. 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
7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
C++ 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,
Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
Java Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
8. 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
7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
Einführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale
Zeiger. 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
Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6
Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
Vorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Arne Nägel, Andreas Vogel, Gabriel Wittum Lehrstuhl Modellierung und Simulation Goethe-Center for Scientific Computing
C++ - 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
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
Arrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
Algorithmen 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
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Lokale und globale Variablen Namensräume Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund
Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden
Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");
Objektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Globale Variablen Diverses. Globale Variablen. Globale Variablen
lokale Variablen Variablen bisher nur am Anfang von Funktionen auch erlaubt: am Anfang innerer Codeblöcke (innerhalb geschweifter Klammern) in C99 und als gcc-erweiterung: an beliebiger Stelle innerhalb
Typ : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
F 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
Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
Objektorientiertes Programmieren für Ingenieure
Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen
Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen
Java programmieren mit JavaKara Eine Zusammenfassung in Beispielen Kleeblätter in einer Zeile zählen @Override public void mymainprogram() { int anzahlkleeblaetter = 0; for (int x = 0; x < world.getsizex();
Grundlagen der Informatik 8. Funktionen I
8. Funktionen I Motivation Grundlagen Parameterübergabe Struktogramme Grundlagen der Informatik (Alex Rempel) 1 Motivation Funktionen sind Mittel der Programmstrukturierung Modularisierung Aufteilung in
C++ - Funktionen und mehr -
C++ - Funktionen und mehr - Friedrich-Schiller-Universität Jena Kerstin Gößner und Ralf Wondratschek Prof. Dr. habil. Wolfram Amme Dipl.-Inf. Thomas Heinze Inhaltsverzeichnis 1 Einleitung 3 2 Deklaration,
C++ - Variablen: Gültigkeit - Sichtbarkeit
C++ - Variablen: Gültigkeit - Sichtbarkeit Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Attribute von Variablen und Funktionen Attribute von Variablen sind Name (name), Typ (type), Wert (value) Attribute von
Klausur "ADP" SS 2015
PD Dr. J. Reischer 20.7.2015 Klausur "ADP" SS 2015 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur
Vorlesung 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
Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
Methoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Deklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
Java Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Welche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
Polymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
1. 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
Grundlagen 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
OOP und Angewandte Mathematik (Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
(Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Klassen in C++ Beispiele, mit Aufzeigen der Trennung von Spezifikation und Implementierung
Einführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
C++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
2 Beispiel Sinusberechnung
2 Beispiel Sinusberechnung #include #include double sinus (double x) { double summe; double x_quadrat; double rest; int k; main() { double wert; D.8 Funktionen printf("berechnung des
Objektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
Prof. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
einlesen 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
6. 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
Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries
INFAS.1 Informatik I Einführung Algorithmus, Programmiersprache, Compiler und Linker Datentypen Attribute, Speicherklassen und Namensbereiche Kontrollstrukturen Präprozessoranweisungen Libraries Funktionen
C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
Teil 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
4.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):
Auswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
6.5 Mehrdimensionale Felder
6.5 Mehrdimensionale Felder Manchmal ist es sinnvoll, ein Feld mit mehr als einem Index zu indizieren. Beispielsweise, wenn man alle Wechselkurse zwischen bestimmten Währungen speichern möchte. In C++
Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1)
Universität Osnabrück 1 3 Objektorientierte Programmierung in Java Klasse Objekt Attribut Operation Botschaft Vererbung Assoziation Vorlesung 01: Objektorientierte Programmierung (Teil 1) SS 2004 Prof.
Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4
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 4 SS 2016
Klassen. Kapitel Klassendeklaration
Kapitel 4 Klassen Wir kommen nun zu einem sehr wichtigen Aspekt der OOT: zu den Klassen. Eine Klasse ist eine vom Benutzer definierte Datenstruktur, eine Sammlung von Variablen (unterschiedlichen Typs)
Standardkonstrukte in Java
Robert Buchholz, Sven Schneider JavaKurs 2006 1. Tag Freitagsrunde / Tutoren 03. April 2006 Was lernen wir heute noch kennen? 1 Methoden Definition einer Methode Aufruf einer Methode 2 Datenstruktur Array
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
Funktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08
Einführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
Einfü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
Programmierkurs C++ Datenstrukturen Seite 1
Programmierkurs C++ Datenstrukturen Seite 1 3 Datenstrukturen 3.1 Arrays Zur Wiederholung als Strukturelement der Programmierung gehört auf der Seite der Datenstrukturen die Liste. Eine Liste kann auf
C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek
C++ - Funktionen und mehr Kerstin Gößner und Ralf Wondratschek Übersicht Deklaration, Definition und Initialisierung Variablen- und Konstantendeklaration Funktionsaufrufe und rückgabewerte Technische Grundlage
Programmierkurs. Manfred Jackel
Java für Anfänger Teil 7: Methoden Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Methoden In der imperativen Programmierung sind Funktionen ein wichtiges Mittel zur Modularisierung. [Oft benötigter]
Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
Zeiger 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
Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
5. Abgeleitete Datentypen
5. Abgeleitete Datentypen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Felder (Arrays)!Zeichenketten (Strings)!Strukturen (Structs) Copyright: M. Gross, ETHZ, 2003 2 Arrays! Ein Array ist
Objektorientierte Programmierung
C++ Objektorientierte Programmierung Erweiterung von selbstdefinierten Datentypen (struct) zu Klasse. Eine Klasse besteht dann aus - Attributen (Untertypen wie struct) und zusätzlich - aus Methoden (Funktionen
Informatik 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
C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
Felder, 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
Einführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
Programmieren 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
Klausur Informatik WS 2012/13
Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen
Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung
Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Einfache Variablen Typen int, long, short, unsigned bool char float,
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen Der Pointer (C/C++): In C/C++ ist der Pointer ein eigener Datentyp, der auf Variablen/Objekte zeigen kann. Indem man den Pointer dereferenziert, gewinnt
Advanced 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
Arrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff