Listen. Arrays. Deklaration. Einfach verkettete Listen
|
|
- Marta Martha Brinkerhoff
- vor 6 Jahren
- Abrufe
Transkript
1 Arrays Bisher Listen von Daten in Arrays gespeichert type* array = malloc(n*sizeof(type)); dyn. Verlängern und Kürzen am Ende möglich array = realloc(array,nnew); Zugriff auf j-ten Eintrag (Lesen/Schreiben) array[j] Listen einfach verkettete Listen doppelt verkettete Listen Nachteile: Ggf. Speicher kopieren beim Verlängern Worst case: N N +1, aber O(N) Operat. Effizientes Verlängern (Einfügen) nur am Ende sonst Umkopieren nötig Beispiel: Vektor x R N Füge an k-ter Stelle einen neuen Wert ein d.h. Vektor auf Länge N +1 verlängern und umkopieren der Werte x k,...,x N d.h. N +1 k Werte werden umkopiert Mittlerer Aufwand für Umkopieren 1 N (N +1 k) = O(N) N +1 k=1 analog beim Streichen von Einträgen wieder Umkopieren im Mittel O(N) Deklaration Einfach verkettete Listen Mittels struct kann man Datentyp für Listen bauen Idee dahinter: Jedes Listenelt. hat Inhalt (entspricht array[j]) und kennt seinen Nachfolger (mittels Pointer) Vorteil: Kann Liste am ersten Elt. mit Aufwand O(1) verlängern/kürzen Kann nach einem Elt. ein neues in Aufwand O(1) einfügen Nachteil: Kann auf j-tes Element nicht direkt zugreifen muss Liste ablaufen, d.h. O(j) für j-tes Elt. Kann kein mittleres Elt. effizient streichen müßte dazu Vorgänger abändern also Liste ablaufen, d.h. O(j) für j-tes Elt. Anwendung: Datenstapel (engl. stack) LIFO = last in, first out 1 struct _Node_ { 3 struct _Node_* next; 4 }; 5 typedef struct _Node_ Node; 6 7 typedef struct _List_ { 8 int length; 9 Node* first; 10 } List; Inhalt content kann beliebiger Datentyp sein hier nur als Beispiel int Beachte: struct Node * Pointer auf struct Node keine Klammern setzen, weil sonst Type Cast! keine bessere Schreibweise möglich! Member length is Luxus und eigentlich unnötig! 1 typedef struct _Node_ { 3 Node* next; 4 } Node; 5 6 typedef struct _List_ { 7 int length; 8 Node* first; 9 } List; Fehler, da Datentyp Node in Zeile 3 noch nicht def!
2 Anlegen & Freigeben 1 struct _Node_ { 3 struct _Node_* next; 4 }; 5 typedef struct _Node_ Node; 6 7 typedef struct _List_ { 8 int length; 9 Node* first; 10 } List; List* newlist() { 13 List* list = malloc(sizeof(list)); 14 list->length = 0; 15 list->first = NULL; 16 return list; 17 } List* dellist (List* list) { 20 Node* node = list->first; 21 Node* next = NULL; 22 while (node!= NULL) { 23 next = node->next; 24 free(node); 25 node = next; 26 } 27 free(list); 28 return NULL; 29 } Einfügen/Löschen eines Elements 1 // insert new element after existing one 2 insertafter(node* node, int content){ 3 Node* new_node = malloc(sizeof(node)); 4 new_node->content = content; 5 new_node->next = node->next; 6 node->next = new_node; 7 } 8 9 // add new first element to list 10 void pushlist(list* list, int content) { 11 Node* new_node = malloc(sizeof(node)); 12 new_node->content = content; 13 new_node->next = list->first; 14 list->first = new_node; 15 ++(list->length); 16 } // del first elt from list and return its content 19 int poplist(list* list) { 20 Node* old_first = list->first; 21 int content = old_first->content; 22 list->first = old_first->next; 23 free(old_first); 24 --(list->length); 25 return content; 26 } Verlängern einer Liste durch Einfügen eines neuen Elt. mit Aufwand O(1), wenn Vorgänger bekannt Kürzen einer Liste durch Löschen des ersten Elt. mit Aufwand O(1) Ausgeben einer Liste Sortiertes Einfügen 1 void insertsorted(list* list, int new_content) { 2 Node* node = list->first; 3 Node* next = NULL; 4 if (node!= NULL) { 5 while (node->next!= NULL) { 6 next = node->next; 7 if (node->content < new_content) { 8 if (next!= NULL) { 9 if (next->content >= new_content) { 10 break; 11 } 12 } 13 } 14 node = next; 16 insertafter(node,new_content); 17 ++(list->length); 18 } 19 else { 20 pushlist(list,new_content); 21 } 22 } generischer Aufwand O(N) für Liste der Länge N 1 void printlist(list* list) { 2 int j = 0; 3 Node* node = list->first; 4 5 printf("length = %d\n",list->length); 6 while (node!= NULL) { 7 printf("%d: %d\n",j,node->content); 8 node = node->next; 9 j++; 10 } 11 } main() { 14 List* list = newlist(); 15 int tmp = 0; pushlist(list,0); 18 pushlist(list,1); 19 pushlist(list,2); 20 pushlist(list,3); 21 pushlist(list,4); tmp = poplist(list); printlist(list); 26 printf("tmp = %d\n",tmp); dellist(list); 29 } Inhalt der Liste: 3,2,1,0 tmp hat den Wert
3 Doppelt verkettete Listen bisher nur Bewegung durch Liste in eine Richtung kann z.b. einfach verkettete Listen mit Bubble-Sort sortieren MinSort schon schwerer wegen Vertauschen (dennoch möglich mit Hilfsvariablen) Vorwärtsausgabe hat Aufwand O(N) Rückwärtsausgabe hat Aufwand O(N 2 ) Wenn Bewegungen in beiden Richtungen nötig, kann man doppelt verkettete Liste machen Jedes Listenelt. hat Inhalt (entspricht array[j]) kennt seinen Nachfolger (mittels Pointer) kennt seinen Vorgänger (mittels Pointer) Vorteil: Kann Liste bei jedem Elt. vorher und nachher mit Aufwand O(1) verlängern/kürzen Nachteil: Kein direkter Zugriff auf j-tes Element wie bei einfach verketteter Liste Deklaration 1 struct _Node_ { 3 struct _Node_* prev; 4 struct _Node_* next; 5 }; 6 typedef struct _Node_ Node; 7 8 typedef struct _List_ { 9 int length; 10 Node* first; 11 Node* last; 12 } List; Jedes Element kennt Vorgänger und Nachfolger Datentyp für content kann beliebig sein Liste hat zwei ausgezeichnete Elte (erstes, letztes) Member length ist Luxus und eigentlich unnötig! Anlegen & Löschen einer Liste 1 struct _Node_ { 3 struct _Node_* prev; 4 struct _Node_* next; 5 }; 6 typedef struct _Node_ Node; 7 8 typedef struct _List_ { 9 int length; 10 Node* first; 11 Node* last; 12 } List; List* newlist() { 15 List* list = malloc(sizeof(list)); 16 list->length = 0; 17 list->first = NULL; 18 list->last = NULL; 19 return list; 20 } List* dellist(list* list) { 23 Node* node = list->first; 24 Node* next = node; while (node!= NULL) { 27 next = node->next; 28 free(node); 29 node = next; 30 } 31 free(list); 32 } Push & Pop am Listenanfang 1 // add new first element to list 2 void pushfront(list* list, int content) { 3 Node* new_node = malloc(sizeof(node)); 4 new_node->content = content; 5 new_node->prev = NULL; 6 new_node->next = list->first; 7 if (list->first!= NULL) { 8 list->first->prev = new_node; 9 } 10 else { 11 list->last = new_node; 12 } 13 list->first = new_node; 14 ++(list->length); // del first elt from list and return its content 18 int popfront(list* list) { 19 Node* old_first = list->first; 20 int content = old_first->content; 21 list->first = old_first->next; 22 list->first->prev = NULL; 23 free(old_first); 24 if (list->first == NULL) { 25 list->last == NULL; 26 } 27 --(list->length); 28 return content; 29 }
4 Push & Pop am Listenende 1 // add new last element to list 2 void pushback(list* list, int content) { 3 Node* new_node = malloc(sizeof(node)); 4 new_node->content = content; 5 new_node->prev = list->last; 6 new_node->next = NULL; 7 if (list->last!= NULL) { 8 list->last->next = new_node; 9 } 10 else { 11 list->first = new_node; 12 } 13 list->last = new_node; 14 ++(list->length); // del last elt from list and return its content 18 int popback(list* list) { 19 Node* old_last = list->last; 20 int content = old_last->content; 21 list->last = old_last->next; 22 list->last->next = NULL; 23 free(old_last); 24 if (list->last == NULL) { 25 list->first == NULL; 26 } 27 --(list->length); 28 return content; 29 } Ausgabe Rückwärts 1 void printlist(list* list) { 2 Node* node = list->last; 3 int j = list->length -1; 4 printf("length = %d\n",list->length); 5 while (node!= NULL) { 6 printf("%d: %d\n",j,node->content); 7 node = node->prev; 8 j--; 9 } 10 } main() { 13 List* list = newlist(); pushfront(list,0); 16 pushfront(list,1); 17 pushfront(list,2); pushback(list,3); 20 pushback(list,4); 21 pushback(list,5); printlist(list); 24 } Inhalt der Liste: 2, 1, 0, 3, 4, 5 O(N 2 ) bei einfach verketteter Liste Was ist C++ C++ Was ist C++ Datenkapselung Hello World! mit C++ string Eine Weiterentwicklung von C Verwendung neuer Programmierparadigmen (siehe auch nächste VO) Objektorientierte Programmiersprache (OOP) Objekte stehen im Vordergrund bei OOP Reale Objekte als Software Objekte abgebildet Zusammenfassung von Daten und Funktionen zu Objekten Realisierung mittels Klassen in C++ Datenkapselung! Kein direkter Zugriff auf Daten Erfolgt über Schnittstellen
5 Good to know C++ ist eine höhere Programmiersprache Entwicklung ab 1979 bei AT&T Entwickler: Bjarne Stroustrup Erweiterung von C Einführung eines Klassenkonzeptes (C with classes) Abwärtskompatibel (zu C) keine Syntaxkorrektur Heute: voll objektorientiert ISO genormt Inspiration für andere Sprachen C#, Java Compiler: g++, gpp frei verfügbar Microsoft Visual C++ Compiler Borland C++ Compiler Was kann mir helfen? Endlose Anzahl an Büchern Die C++ Programmiersprache Jetzt lerne ich C++ C++ in 21 Tagen C++ für C Programmierer Online Tutorien einfach googeln C++ API C++ Befehlsreferenz Entwicklungsumgebungen engl. Integrated Development Environment (IDE) Hello World 1 #include <iostream> 2 3 int main() { 4 std::cout << "Hello World!\n"; 5 return 0; 6 } Speichern unter helloworld.cpp Compilieren mittels g++ helloworld.cpp Ausgabe: Hello World! Standardbibliothek für Ein- und Ausgabe in C++ heißt iostream cout ist der Standard-Ausgabestream kann unterschiedliche Datentypen übernehmen Scope-Operator :: deklariert den Namensbereich Operator übergibt sein zweites Argument an den Ausgabestream main hat Rückgabewert int 1 #include <iostream> 2 using namespace std; 3 4 int main() { 5 cout << "Hello World!\n"; 6 return 0; 7 } Zeile 2: Bereich std wird durchgehend benutzt Mehr zu namespace später Datentyp string 1/2 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 int main() { 6 string str1 = "Hallo"; 7 string str2 = "Welt"; 8 string str3 = str1 + " " + str2; 9 10 cout << str3 << "!\n"; 11 str3.replace(6,4, "Peter"); 12 cout << str3 << "!\n"; return 0; Ausgabe: Hallo Welt! Hallo Peter! Strings sind mächtiger als char* liefert eine Reihe nützlicher Operationen + zur Konkatenation replace zum ersetzen von Teilstrings substr zum auslesen von Teilstrings length zum auslesen der Länge u.v.m. Datentypen können Methoden haben Prinzip der Datenkapselung Sie enthalten mehr als nur die Zeichen (Unterschied zu C)
6 Datentyp string 2/2 1 #include <iostream> 2 #include <string> 3 #include <stdio.h> 4 using namespace std; 5 6 int main() { 7 string str1 = "Hallo"; 8 string str2 = "Welt"; 9 string str3 = str1 + " " + str2; printf("%s\n", str3.c_str()); 12 cout << str3 << endl; return 0; Ausgabe: Hallo Welt Hallo Welt Inhalt mittels c str() erreichbar Das sind die bekannten char-arrays aus C Zugriff über name.c str() können mittels printf ausgegeben werden Klassen Was sind Klassen Objekte Klassen und Strukturen Wichtig: string char-array Zeile 3: Kann auch #include <cstdio> verwenden um C-Standardbibiliotheken einzubinden Zeile 12: Zeilenumbruch mit endl Beispiel Was sind Klassen Klassen sind benutzerdefinierte Datentypen Verwendung völlig analog zu int, string Klassen erweitern struct aus C erlauben Methoden (Funktionen) Klassen erlauben das Prinzip der Datenkapselung Code wird besser wiederverwendbar black-box-implementierung möglich Klassen sind Schablonen für Objekte Klassen sind der Grundbaustein zur OO Beschreiben Attribute und Methoden, also Verhaltensweisen, der Objekte 1 #include <string> 2 using namespace std; 3 4 class Student { 5 string name; 6 string studiengang; 7 int matrikelnummer; 8 9 void lernen(); 10 void testschreiben(); 11 }; Deklaration mit Schlüsselwort class enthält Daten (members) analog zu struct aus C enthält Funktionen (Methoden) erlaubt es komplette Objekte abzubilden Strichpunkt nach Deklaration zu Namenskonvention: C++ ist case sensitive Groß- und Kleinschreibung beachten Klassen (Coding Standard) AlleWorteCapitalizedOhneUnderlines Methoden, Funktionen und Variablen ersteswortkleinrestcapitalizedohneunderlines
7 Objekte Zugriffskontrolle Objekte sind Instanzen einer Klasse Sie sind die tatsächlichen Variablen werden angelegt wie bei primitiven Typen entsprechen Variablen vom struct Datentyp Student Marcus; int x; Zugriff auf Klassenelemente mit Punktoperator (.) Marcus.name = "Marcus Page"; Marcus.lernen(); Achtung: Zugriff muss erlaubt sein sonst Fehlermeldung von Compiler Achtung: An Objekte zuweisen, nicht an Klassen int = 5; Student = "Marcus Page"; // Fehler // Fehler Klassen und Objekte dienen der Abstraktion genaue Implementierung nicht wichtig zum Beispiel durch Bibliotheken Benutzer soll so wenig wissen wie möglich black-box Programmierung nur Ein- und Ausgabe müssen bekannt sein Richtiger Zugriff muss sichergestellt werden Schlüsselwörter private, public, und protected private (Standard) Zugriff nur von Methoden der gleichen Klasse public erlaubt Zugriff von überall protected teilweiser Zugriff von außen (später) class Dreieck { 2 private: 3 double x[2]; 4 double y[2]; 5 double z[2]; 6 7 public: 8 double flaeche(); 9 }; Beispiel Dreieck in R 2 mit Eckpunkten x,y,z Benutzer kann Funktion flaeche aufrufen Benutzer kann Daten x,y,z nicht direkt verändern get/set Funktionen in public-bereich einbauen Benutzer muss nicht wissen wie Daten intern verwaltet werden Kann interne Datenstruktur später verändern Dreieck kann auch durch einen Punkt und zwei Vektoren abgespeichert werden Beispiel 2 1 #include <string> 2 using namespace std; 3 4 class Student { 5 private: // Kann auch weggelassen werden 6 string studiengang; 7 8 public: // Ab hier alle Members public! 9 string name; 10 int matrikelnummer; 11 void lernen(); 12 void testschreiben(); 13 }; int main() { 16 Student Marcus; 17 Marcus.name = "Marcus Page"; 18 Marcus.matrikelnummer = ; 19 Marcus.studiengang = "Mathematik"; 20 } Fehler in Zeile 19: std::string Student::studiengang is private
8 Klassenmethoden implementieren 1 class Student { 2 public: 3 string name; 4 int matrikelnummer; 5 void lernen(); 6 void testschreiben(); 7 }; 8 9 void Student::lernen() { 10 cout << "oh mann..." << endl; 11 } void Student::testSchreiben() { 14 cout << "geschafft!" << endl; int main() { 18 Student Marcus; 19 Marcus.lernen(); 20 Marcus.testSchreiben(); 21 } Ausgabe: oh mann... geschafft! Implementierung wie bei anderen Funktionen Zugehörigkeit zur Klasse durch (::) Student :: testschreiben() Deklaration auch in Header-Datei möglich (nächste VO) Klassen und Strukturen Struktur: Zusammenfassung elementarer Datentypen (wie int,double) zu einem Gesamtdatentyp Können von Funktionen manipuliert werden Klasse: Enthält neben den Daten auch noch Methoden, welche diese manipulieren Realisierung von Strukturen in C mit struct Keine Funktionen in Struktur erlaubt Realisierung von Klassen in C++ mit class ACHTUNG: struct in C struct in C++ struct in C++ wie class, nur sind alle Members standardmäßig public!
Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrEinführung in das Programmieren für Technische Mathematiker
Einführung in das Programmieren für Technische Mathematiker Einführung in C++ C++ Marcus Page, MSc. Prof. Dr. Dirk Praetorius I Was ist C++ I Programmierparadigmen I C++ im Vergleich mit C Fr. :15-11:5,
MehrEinführung in C ++ und die Objektorientierte Programierung
1/38 Einführung in C ++ und die Objektorientierte Programierung Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/38 Outline
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrSchwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen
Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrNachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
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: ( / 25 Pkt.) Gegeben ist das folgende
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrZeiger, Arrays und Strings in C und C++
Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrEinfü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
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
MehrAssoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
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
MehrEinleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++
Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11
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).
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
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
MehrEinfü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
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrProgrammieren in C. Rekursive Strukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Strukturen Prof. Dr. Nikolaus Wulff Rekursive Strukturen Häufig müssen effizient Mengen von Daten oder Objekten im Speicher verwaltet werden. Meist werden für diese Mengen
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrEinführung in die Programmierung Konstanten, dynamische Datenstrukturen. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Konstanten 2 Motivation Unveränderliche, wichtige Werte mathematische Konstanten z.b. PI String-Konstanten wie z.b. häufige statische Meldungen mögliche
MehrObjektorientierung Grundlagen
Prof. Dr.-Ing. Andreas Simon Telefon +49 (0)5331 939 42630 Telefax +49 (0)5331 939 43634 E-Mail a.simon@ostfalia.de Objektorientierung Grundlagen Probeklausur 18. Mai 2015 Name: Mat.-Nr.: Vorname: Login:
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
Mehr3D Programmierpraktikum: Einführung in C++ - Teil 1
3D Programmierpraktikum: Einführung in C++ - Teil 1 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 27. April 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum
MehrData Structures. Christian Schumacher, Info1 D-MAVT Linked Lists Queues Stacks Exercise
Data Structures Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Linked Lists Queues Stacks Exercise Slides: http://graphics.ethz.ch/~chschuma/info1_13/ Motivation Want to represent lists of
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrC allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.
C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von
MehrBeispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)
Beispiel Beispiel: Namensliste konvertieren (Karl Egon Meier Meier, Karl Egon). s/(.*) (.*)/$2, $1/; Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) s/(.*) (.*)/$2, $1/; s/(.*) ([a-z]+
MehrEinfü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
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
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
Mehr0. Einführung & Motivation
0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrGrundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme
Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrEinführung in die STL
1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
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
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
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
Mehr1. Übung zu "Numerik partieller Differentialgleichungen"
1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:
MehrZusammenfassung. Mit bjam und ein paar Zeilen in einem Jamroot oder Jamfile lässt sich das Kompilieren und Linken einfach automatisieren
Zusammenfassung Deklaration einer Klasse im Header-File /.h-file Header-Files mit #pragma once vor double inclusion schützen möglichst Vorwärts-Deklarationen verwenden statt include-files einzubinden mindestens
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
MehrZusammengesetzte Datentypen -- Arrays und Strukturen
Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14
MehrEinführung in die STL anhand eines ausgewählten Beispiels
Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
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
MehrAuswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
MehrÜ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
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrCodingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008
I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium
MehrALP II Dynamische Datenmengen Datenabstraktion (Teil 2)
ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 49 Einfach verkettete Listen O1 O2 O3 50 Einführung Einfach verkettete Listen sind die einfachsten
MehrEinstieg 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
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
MehrZeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
MehrFH Ravensburg-Weingarten Schriftlich Prüfung Programmieren
FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)
MehrAufbau von Klassen. class punkt {...
Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im
MehrC++ - Eine Ubersicht fur Java-Programmierer
C++ - Eine Ubersicht fur Java-Programmierer Daniel Wasserrab Lehrstuhl fur Programmierparadigmen Universitat Karlsruhe 23. April 2008 C++ I Entwickelt Anfang der 80er von Bjarne Stroustrup I Beeinut von
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 1)
DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester
MehrInformatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen
Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung
MehrGrundlagen von C# - 1
Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften
MehrDer C++ Crashkurs v1.0
Der C++ Crashkurs v1.0 Daniel Stöckel, M. Sc. October 14, 2013 1 Grundlegendes 1.1 Das erste Programm Wir beginnen mit einem einfachen Hello world Programm. Listing 1: hello world.cpp // Einbinden der
MehrWelche 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
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
MehrJava 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
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
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
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.:
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)
MehrC++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19
C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 13. Klassenbibliotheken Klassenbibliotheken Seite 2 Sammlung von Algorithmen und Klassen in Klassenbibliotheken: Konzept:
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
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
Mehr10 Die Programmiersprache C99: Zusammenfassung
10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrC++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen
C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,
MehrNachname:... Vorname:... MatrNr.:... Klausur PR2. Erstellen Sie eine Struktur für eine Komplexe Zahl mit den Elementen real und imag vom Typ double.
Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 4.7.2008 Bearbeitungsdauer: 90 min Hilfsmittel:
MehrDAP2 Praktikum Blatt 1
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1
MehrName: Klausur Informatik III WS 2003/04
1 : Methodenimplementierung ca. 42 Punkte Gegeben ist die Klasse Mitarbeiter. Listing 1: (./Code1/Mitarbeiter.h) using namespace std; // globale Variable fuer Ausgabedatei // kann entsprechend
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
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
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
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
MehrDer Datentyp String. Stringvariable und -vergleiche
Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da
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
Mehr