2.1 Top-Down Entwurf mit Funktionen
|
|
- Otto Krause
- vor 7 Jahren
- Abrufe
Transkript
1 Kapitel 2 Entwurfstechniken Seite 1 2 Entwurfstechniken 2.1 Top-Down Entwurf mit Funktionen Fallbeispiel: Fläche und Umfang eines Kreises Problem: Gegeben ist der Radius eines Kreises. Berechne Fläche und Umfang des Kreises und zeige die Ergebnisse an. Analyse: Eingangsgröße: Radius (double) Ausgangsgrößen: Fläche (double) Umfang (double) Datenteil Konstante PI Eingang radius //Radius eines Kreises Ausgang flaeche //Fläche eines Kreises umfang //Umfang eines Kreises wichtige Formeln Fläche eines Kreises = π x Radius 2 Umfang eines Kreises = 2π x Radius Design 1. Lese den Radius des Kreises 2. Berechne die Fläche 3. Berechne den Umfang 4. Zeige Fläche und Umfang an Verfeinerung zu 2: 2.1 Weise PI * radius * radius flaeche zu. Verfeinerung zu 3: 3.1 Weise 2 * PI * radius umfang zu.
2 Kapitel 2 Entwurfstechniken Seite 2 Implementierung Erster Entwurfstand des Programms Kreis //kreis-bt.cpp * * Berechnet Fläche und Umfang eines Kreises #include <iostream.h> #define PI int main(void) { double radius; double flaeche; double umfang; // input - Radius eines Kreises // output - Fläche eines Kreises // output - Umfang // Lese den Radius // Berechne die Fläche // Berechne den Umfang // Zeige die Flaeche und den Umfang an. Programm Kreis zur Bereichnung von Fläche und Umfang //kreis.cpp * * Berechnet Fläche und Umfang eines Kreises #include <iostream.h>
3 Kapitel 2 Entwurfstechniken Seite 3 #define PI int main(void) { double radius; double flaeche; double umfang; // input - Radius eines Kreises // output - Fläche eines Kreises // output - Umfang // Lese den Radius cout << "Geben Sie den Radius an> "; cin >> radius; // Berechne die Fläche flaeche = PI * radius * radius; // Berechne den Umfang umfang = 2 * PI * radius; // Zeige die Flaeche und den Umfang an. cout << "Die Fläche ist "<< flaeche << ".\n"; cout << "Der Umfang ist " << umfang << ".\n"; return (0); // Geben Sie den Radius an> 5.0 Die Fläche ist Der Umfang ist Top-Down Entwurf und Strukturpläne Top-Down Entwurf: Problemlösung ausgehend vom Problem als der höchsten Stufe. Definition von Teillösungen, danach Lösung der Teile. Strukturplan: Aufzeigen der Beziehungen der Teillösungen untereinander.
4 Kapitel 2 Entwurfstechniken Seite Fallbeispiel: Zeichnen eines einfachen Diagramms Problem: Es soll ein Strichmännchen auf den Bildschirm gezeichnet werden. Analyse: Das Strichmännchen wird aus einem Kreis, aus einem Dreieck und einem Dreieck ohne Basislinie erstellt. Beide Figuren können daher mit folgenden Komponenten konstruiert werden: ein Kreis eine Basislinie parallele Linien sich schneidende Linien (als Dreieck ohne Basislinie) Design: Um ein Strichmännchen zu zeichnen, löst man des Problem in drei Teilprobleme auf. 1. Zeichne einen Kreis 2. Zeichne ein Dreieck 3. Zeichne sich schneidende Linien Schritt 2 wird verfeinert 2.1 Zeichne sich schneidende Linien 2.2 Zeichne eine Basislinie
5 Kapitel 2 Entwurfstechniken Seite 5 Strukturplan Orginalproblem Zeichne ein Strichmännchen Teil- Zeichne einen Zeichne ein Zeichne sich probleme Kreis Dreieck schneidende Linien Detailierte Zeichne sich Zeichne eine Teilprobleme schneidende Basislinie Linien // strichm.cpp //Zeichnet ein Strichmännchen #include <stdio.h> // Funktionsprototypen void zeichne_kreis(void); void zeichne_schneidend(void); void zeichne_basis(void); void zeichne_dreieck(void); // Zeichnet einen Kreis // Zeichnet sich //schneidende Linien // Zeichnet eine Basislinie // Zeichnet ein Dreieck int main(void){ // Zeichne einen Kreis. zeichne_kreis();
6 Kapitel 2 Entwurfstechniken Seite 6 // Zeichne ein Dreieck zeichne_dreieck(); // Zeichne sich schneidende Linien zeichne_schneidend(); return (0); Funktionsprototypen Setzten den Übersetzer in die Lage, den korrekten Funktionsnamen und eine korrekte Argumentliste zu erkennen. Die Funktionen können aus Bibliotheken stammen. Sie können auch direkt im Programm definiert werden, wie das folgende, jetzt komlette Beispiel zeigt. Das Programm zeichnet ein Strichmännchen. // strichm.cpp // Zeichnet ein Strichmännchen #include <iostream.h> // Funktionsprototypen void zeichne_kreis(void); void zeichne_schneidend(void); void zeichne_basis(void); void zeichne_dreieck(void); // Zeichnet einen Kreis // Zeichnet sich schneidende Linien // Zeichnet eine Basislinie // Zeichnet ein Dreieck int main(void){ // Zeichne einen Kreis. zeichne_kreis(); // Zeichne ein Dreieck zeichne_dreieck(); // Zeichne sich schneidende Linien zeichne_schneidend(); return (0);
7 Kapitel 2 Entwurfstechniken Seite 7 // Zeichnet einen Kreis void zeichne_kreis(void) { cout << " * \n"; cout << " * * \n"; cout << " * * \n"; // Zeichnet sich schneidende Linien void zeichne_schneidend(void) { cout << " / \\ \n"; // Nehme 2 '\', um 1 '\' zu drucken. cout << " / \\ \n"; cout << "/ \\\n"; // Zeichnet eine Basislinie. void zeichne_basis(void) { cout << " \n"; // Zeichnet ein Dreieck. void zeichne_dreieck(void) { zeichne_schneidend(); zeichne_basis(); Vorteile bei der Strukturierung mit Funktionen: Prozedurale Abstraktion - nach außen tritt nur der Funktionsname und seine Bedeutung auf. Details der Implementierung brauchen nicht beachtet zu werden. Wiederverwendung von Programmtexten
8 Kapitel 2 Entwurfstechniken Seite Funktionen mit Argumenten Definition: Aufruf: Liste der formalen Argumente Liste der aktuellen Argumente Zuordnung formal <--> aktuell über die Stellung in den Listen 1. form. Argument <-> 1. akt. Argument 2. form. Argument <-> 2. akt. Argument Wichtig: 1. Anzahl der aktuellen Argumente == Anzahl der formalen Argumente 2. Reihenfolge der aktuellen Argumente == Reihenfolge der formalen Argumente 3. Typ der aktuellen Argumente == Typ der formalen Argumente Punkt 1 und Punkt 3 sind keine Pflichtposten. Wird 1 nicht eingehalten, so werde Argumente u.u. nicht berücksichtigt oder haben nicht definierte Werte. Der Ablauf der Funktion kann unsinnige Ergebnisse bringen. Wird 3 nicht eingehalten, so gibt es ähnlich der Wertzuweisung implizite Typumwandlungen, z.b. double nach int. Beispiel: Funktion scale Prototyp: double scale (double x, int n); //scale.cpp Function scale // Multipliziert ihr erstes Argument mit der //Zehnerpotenz ihres zweiten Arguments // Pre : x and n sind definiert und math.h ist eingefügt. double scale(double x, int n) { double scale_faktor; // lokale Variable scale_faktor = pow(10, n); return (x * scale_faktor);
9 Kapitel 2 Entwurfstechniken Seite Testen einer Funktion Dazu schreibt man ein Programm, das die Ablaufumgebung herstellt, die Funktion aufruft und die Ergebnisse der Funktion anzeigt. Treiber: eine kurze Funktion, die zum Test einer anderen Funktion geschrieben wurde, die Argumente definiert, die Funktion aufruft und das Resultat anzeigt. // scale-t.cpp // Testet die Funktion scale(). #include <iostream.h> #include <math.h> // Funktionprototyp double scale(double x, int n); int main(void) { double num_1; int num_2; // Lese die Werte für num_1 and num_2 cout << "Geben Sie eine reelle Zahl ein> "; cin >> num_1; cout << "Geben Sie eine ganze Zahl ein> "; cin >> num_2); // Rufe scale auf und zeige das Ergebnis an. cout << "Resultat des Aufrufs der Funktion scale ist " << scale(num_1, num_2); return 0;
10 Kapitel 2 Entwurfstechniken Seite 10 // Funktion scale * * Multipliziert ihr erstes Argument mit der Zehnerpotenz * ihres zweiten Arguments double scale(double x, int n) { double scale_faktor; // lokale Variable scale_faktor = pow(10, n); return (x * scale_faktor); 2.5 Bibliotheksfunktionen In Bibliotheken (Dateien *.lib) gibt es eine umfassende Sammlungen von bereits vorhandenen Funktionen. Typisch für das Programmieren in C++ ist daher das Aufsuchen und die Benutzung solcher Funktionen. Insbesondere der objektorientierte Ansatz unterstützt dieses Verfahren, man bezeichnet dann die Bibliotheken als Klassenbibiliotheken. Der Bezug auf die Funktionen geschieht über den Funktionsaufruf. y = sqrt ( x ) ; Funktionsaufruf Funktionsname Argument Ein Funktionsaufruf steht als Operand in einem Ausdruck. Der Wert des Operanden ist der berechnete Funktionswert. Die Funktionsprototypen stehen in "Header"-Dateien. Sie werden mit #include in das Programm kopiert.
11 Kapitel 2 Entwurfstechniken Seite Beispiel mathematische Funktionen Header-Datei dafür ist math.h. #include <math.h> einige Funktionsprototypen aus math.h Funktionswert Funktionsname und Typ des Argumentes int abs(int); double acos(double); double asin(double); double atan(double); double atan2(double, double); double cos(double); double cosh(double); double exp(double); double fabs(double); double fmod(double, double); long labs(long); double log(double); double log10(double); double pow(double, double); double sin(double); double sinh(double); double tan(double); double tanh(double); double sqrt(double); Details: siehe Punkt Hilfe des Programmiertools
12 Kapitel 2 Entwurfstechniken Seite 12 Beispiel: Gegeben seien von einem Dreieck die Länge der Seiten b und c und der Winkel zwischen ihnen. b a α c Über die Formel a 2 = b 2 + c 2-2 b c cos α kann man die Länge der dritten Seite a berechnen. Beim Einsatz der Funktion cos muß die Winkelangabe im Bogenmaß erfolgen. Damit erhält man in C den folgenden Ausdruck für die Formel: a = sqrt (pow (b,2) + pow(c,2) 2 * b * c * cos (alpha * PI / 180.0)); 2.6 Objektorientierter Entwurf Eine weitere Strukturierung kann über den objektorientierten Entwurf erreicht werden. C++ unterstützt diese Methodik. Gegenstand! im Programm abgebildet als Objekt Das Objekt wird im Programm als Klasse beschrieben. Ein Gegenstand (reales Objekt) besitzt Eigenschaften und es gibt für das Objekt bestimmte Prozesse, die diese Eigenschaften manipulieren. Im Objekt werden die Eigenschaften " durch Daten (hier Attribute genannt) beschrieben, die Prozesse " durch Funktionen (hier als Methoden bezeichnet).
13 Kapitel 2 Entwurfstechniken Seite 13 Das Sprachelement "class" erlaubt die kompakte Darstellung dieser Attribute und Methoden unter einem gemeinsamen Namen. Beispiel: Wir wollen eine Hallobox entwickeln, die N-mal den Gruß "Hallo Welt!" ausgibt. Hallobox int wiederholzahl; void gruesse( void ); void setze_wert (int n); // Hallobox ist eine Klasse, die wiederholt einen // Gruß ausgibt. class Hallobox { private: int wiederholzahl; public: Hallobox(int so_oft); void setze_wert (int n); void gruesse( void ); ; //Definition der Methoden der Klasse Hallobox //Konstruktor Hallobox::Hallobox(int so_oft) { wiederholzahl = so_oft; //Die Anzahl der Wiederholungen wird gesetzt. void Hallobox::setze_wert( int n ) {
14 Kapitel 2 Entwurfstechniken Seite 14 wiederholzahl = n; //Die Grüsse werden ausgegeben. void Hallobox::gruesse( void ) { int i; for (i=0; i < wiederholzahl; i=i+1) cout << "Hallo Welt!" << endl; //Ende der Klassendefinition Der Einsatz dieser Klasse ist recht einfach. #include "hallobox.h" //Enthält die Klassendef. int main (void) { Hallobox hallo(2); Hier wird ein Objekt hallo deklariert. Die Eigenschaft wiederholzahl wird auf 2 gesetzt. hallo.gruesse(); Diese Anweisung ruft den Prozess gruesse des Objektes hallo auf: Der Gruß wird zweimal ausgegeben. return 0;
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrZum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...
Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau
MehrDefinition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer
Programmierkurs C++ 1. Überblick über C++ Seite 1 1 Überblick über C++ Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt 1.1 Elemente der Sprache C++ // mile2km.cpp:
MehrObjektorientierte Programmierung
Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with
MehrAnwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe
Angewandte Informatik I Anwendung höherer Programmiersprachen C / C++ Vorlesung der FH Münster Prof. Dr.-Ing. H. Bösche // Programm b0301208 #include { int i = 1, j = 2; cout
MehrÜbungspaket 19 Programmieren eigener Funktionen
Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame
MehrProgrammieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.
Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter
MehrFunktionen 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
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrMethoden. 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
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrPraktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration
Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist
MehrC-Propädeutikum Funktionen
C-Propädeutikum Funktionen Dipl.-Inf. Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Wiederholung
MehrProgrammiersprache 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,
MehrObjektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11
Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen
MehrObjektorientiertes 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
MehrANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2
ANSI C Ricardo Hernández García 3. Ausgabe, 2. Aktualisierung, Dezember 2013 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende
MehrJAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
Mehr01. Grundprinzipien der Vererbung
01. Grundprinzipien der Vererbung 1.1 Grundidee der Vererbung Bei der Analyse eines Problems (z.b. Baukasten) stellt man beispielsweise fest, dass 67 % an Daten/Funktionen immer vorkommen 25 % an Daten/Funktionen
MehrInformatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692
Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b
MehrAnweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen.
Programmierung in C++ Seite: 1 Beispielprogramm 1: Programmierung in C++ int main() int hoehe = 3; int grundseite = 5; double flaeche = hoehe*grundseite*0.5; cout
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
Mehr5. Unterprogrammtechnik/Module
5. Unterprogrammtechnik/Module Unterprogramm/Modul: separate Programmeinheit, mit Anweisungen, die eine bestimmte Aufgabe erfüllen bekommt i.a. Argumente (Werte, Informationen) vom aufrufenden Programm
MehrKurzeinführung in C++
Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
Mehr10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)
10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private
MehrEinführung in die Programmierung Hello World, Typen & Variablen, Arithmetik. Arvid Terzibaschian
Hello World, Typen & Variablen, Arithmetik Arvid Terzibaschian Ablaufplan wöchentliche Vorlesung + Übung Prüfung am Ende des Semester (siehe Abstimmung) http://www.doodle.com/vtcqm9k8b7q57bx8 Achtung:
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrObjektorientierte Programmierung Teil 1: Einführung
Objektorientierte Programmierung Teil 1: Einführung Prof. Dr. Schoop FHT Esslingen, Sommersemester 2005 Agenda Beispielszenario Eigenschaften des objektorientierten Ansatzes Konzepte des objektorientierten
MehrLetztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);
Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement
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
MehrKontrollstrukturen und Funktionen in C
Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren
MehrProgrammierkurs C++ Kapitel 9, Überladen Seite 1
Programmierkurs C++ Kapitel 9, Überladen Seite 1 Funktionen überladen int datum (int jahr); int datum (char person[]); sind in C++ zwei verschiedene Funktionen, die beide denselben Funktionsnamen haben.
MehrModul 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
MehrEs gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:
3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert
MehrInformationsverarbeitung im Bauwesen
1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8
Mehr11.3 Virtuelle Methoden
11.3 Virtuelle Methoden Überdeckte Methoden: Betrachten wir noch einmal unsere Klassen Employee und Manager. class Employee void print() const cout
MehrObjektorientierung: Klassen und Objekte
Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen
MehrDeklarationen 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.
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrRepetitorium 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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
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
Mehr1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrEine Einführung in die Programmiersprache C ++
Eine Einführung in die Programmiersprache C ++ Thomas Kastl 5. April 2004 Die folgenden Ausführungen zu C ++ stellen keine vollständige Beschreibung dieser Programmiersprache dar. Es sind hauptsächlich
MehrIngenieurinformatik Diplom-FA (Teil 2, C-Programmierung)
Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung
MehrIn der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch
Kapitel Matrizen in C++ In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch 1 const int n=10; 3 double a[n][n]; gegeben. Allerdings gibt es bei dieser Methode eine Reihe
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrKap 09. Funktionen/Ergänzungen
Kap 09. Funktionen/Ergänzungen 9.1 Inline-Funktionen Der Mechanismus der Parameterübergabe hat einen "hohen" organisatorischen Aufwand z.b. durch kopieren der Parameteretc. Ist die Funktion vergleichsweise
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrFB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
MehrWiederholung 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
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrC vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg
C vs. C++ Sebastian Meyer Universität Hamburg Proseminar C - Grundlagen und Konzepte 2013 1 / 31 Gliederung 1 Einführung 2 Vergleich der Spracheigenschaften 3 Neue Sprachelemente in C++ 4 Fazit 5 Zusammenfassung
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrGrundlagen der Informatik - 6. Praktikum
Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt
MehrPrüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrEinführung in die. objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie
MehrPass 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
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrC++ - 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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrInformationsverarbeitung im Bauwesen
4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte
MehrTeil IV. Grundlagen der Programmierung
Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien
MehrGrundlagen 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");
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral
MehrZiel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind
Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt
MehrCompiler und Präprozessor (1) Erstellen eines Projektes
Compiler und Präprozessor (1) Erstellen eines Projektes Projekte bestehen meist aus mehreren Dateien, z.b. Quelldateien, Funktionssammlungen in Bibliotheken Zur Definition eines Projektes sind folgende
MehrC++ - Lernen und professionell anwenden
mitp Professional C++ - Lernen und professionell anwenden von Prof. Dr. Ulla Kirch, Dr. Peter Prinz 6., überarbeitete Auflage 2012 C++ - Lernen und professionell anwenden Kirch / Prinz schnell und portofrei
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
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
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrBearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.
Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte
MehrLiebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.
Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.
MehrAlltagsnotizen eines Softwareentwicklers
Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrC++ - Operatoren. Eigene Klassen mit neuen Funktionen
C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrProgrammiervorkurs WS 2013/2014. Instanzmethoden. Termin 6
Programmiervorkurs WS 2013/2014 Instanzmethoden Termin 6 double f = flaeche(p); public static double flaeche(polygon p) { Punkt[] pkt = p.punkte; double f = Polygon.flaeche(p); Besser: Methode in der Klasse
Mehr