Zusammengesetzte Datentypen -- Arrays und Strukturen
|
|
- Nadine Schumacher
- vor 8 Jahren
- Abrufe
Transkript
1 Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: , 12:55 Uhr
2 Überblick 1 Mehrdimensionale 2 Strukturen 2 / 22
3 Motivation Bis jetzt hatten wir Variablen so kennengelernt, dass diese nur einen Wert speichern können. Sobald ein neuer Wert zugewiesen wird, überschreibt dieser den vorherigen Wert. Für viele Anwendungsfälle genügt es, einen Wert pro Variable zu speichern. Was aber tun, wenn mehrere Werte des gleichen Typs eingelesen werden sollen? Beispielsweise sollen Messwerte (von einem Sensor) eingelesen und berechnet werden. int messwert1, int messwert2, int messwert3,... Es muss eine bessere Lösung geben als vorsorglich eine grosse Menge von einzelnen Variablen zu initialisieren, von denen evtl. gar nicht alle gebraucht werden (Verschwendung von Speicherressourcen). 3 / 22
4 deklarieren Um mehrere Elemente des gleichen Datentyps (z.b. int, void ist nicht erlaubt) zusammenzufassen gibt es in C++ (Felder). Der Zugriff auf die Elemente des erfolgt über einen Index (0, 1, 2,... ). sind statische Objekte, was bedeutet, dass die Anzahl der abzuspeichernden Elemente vorher vom Programmierer festgelegt sein muss. Allgemein werden folgendermassen deklariert: datentyp name[anzahlelemente]; Beispiel: double meinarray[5]; Graphische Darstellung: Wert1 Wert2 Wert3 Wert4 Wert5 4 / 22
5 Index des festlegen Der Index und die Grösse des müssen konstante, ganzzahlige Werte sein. Deshalb funktionieren die folgenden Initialisierungen nicht. Falsch: int i = 5; int testarray[i]; // i ist keine Konstante const double d = 12; double doublearray[d]; // Keine Fliesskommawerte als Array-Index Stattdessen stellen die folgenden Zeilen eine korrekte Initialisierung dar: Richtig: int intarray[100]; const int groesse = 12; double doublearray[groesse]; // Verwendung einer const-variable char chararray[groesse*2]; // Ergebnis ist ein konstanter Wert 5 / 22
6 initialisieren Werte lassen sich an auf unterschiedliche Arten zuweisen. Die gängigste Methode ist, dahinter in geschweiften Klammern eine mit Komma getrennte Liste von Werten anzugeben. int lottotip[6] = {3, 5, 12, 23, 30, 42} // ohne Gewähr Die nächste Möglichkeit ist, nicht alle Werte zu belegen. Dann wird der Default-Wert des jeweiligen Datentyps benutzt. Bei Zahlen ist dies die 0. int meinewerte[3] = {1, 2}; // letzter Wert wird mit 0 belegt int arraymitnullen[5] = {0}; // Initialisierung aller Werte mit 0 Eine weitere Möglichkeit besteht darin, das Array die Grösse anhand der zugewiesenen Werte ermitteln zu lassen. Dazu lässt man den Wert in eckigen Klammern einfach weg. double messwerte[] = {12.3, 17.8, 5.5}; // ein Array der Groesse 3 6 / 22
7 Array-Werte auslesen über den Index Um auf die Werte des zuzugreifen, muss eine genaue Angabe dazu gemacht werden, welches das gewünschte Element sein soll. Dies passiert über die Angabe des Index, wobei die Indizierung bei 0 und nicht bei 1 beginnt. Ein Array der Grösse N lässt sich bis zu einem maximalen Index von N-1 ansprechen. float notenwerte[] = {1, 1.3, 1.7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 5}; cout << "Beste Note: " << notenwerte[0]; // erstes Element ausgeben int punkte[5] = {23, 8, 15, 20, 17}; cout << punkte[3]; // gibt 20 aus Um alle Werte auszugeben, eignet sich eine for-schleife mit Verwendung des Index als Abbruchbedingung: 1 const int GROESSE =6; 2 int lottotip [ GROESSE ] = {3, 5, 12, 23, 30, 42} // ohne Gewaehr 3 for ( int i = 0; i < GROESSE ; i++) 4 cout << i + 1 << ". Tippzahl : " << lottotip [i] << endl ; 7 / 22
8 Einzelne Werte des ändern Einzelne Werte lassen sich über die Angabe des Index ändern. 1 const int GROESSE = 5; 2 int messwerte [ GROESSE ] = {3, 2, 1000, 7, 5}; 3 for ( int i = 0; i < GROESSE ; i++) 4 cout << i + 1 << ". Messwert : " << messwerte [i] << ", "; 5 cout << endl ; 6 messwerte [2] = 8; 7 8 for ( int i = 0; i < GROESSE ; i++) 9 cout << i + 1 << ". Messwert : " << messwerte [i] << ", "; Andere Arraywerte lassen sich ebenfalls verwenden: 1 int myarray [3] = {13, 28, 32}; 2 myarray [1] = myarray [2] - myarray [0]; 8 / 22
9 Mögliche Fehlerquelle bei unerlaubtem Zugriff bei findet keine Überprüfung daraufhin statt, ob auf einen erlaubten Bereich zugegriffen wird oder nicht. Der Programmierer muss selbst dafür sorgen, dass kein ungültiger Zugriff wie dieser entstehen: 1 # include <iostream > 2 using namespace std; 3 4 int testarray [4] = {17, 4, 21, 39}; 5 6 int main () { 7 cout << testarray [4] << endl ; 8 return 0; 9 } Ein anderer unerlaubter Zugriff ist der folgende: 1 int testarray2 [3] = {5, 6, 7}; 2 cout << testarray2 [ -3]; 9 / 22
10 Mehrdimensionale Überblick 1 Mehrdimensionale 2 Strukturen 10 / 22
11 Mehrdimensionale Mehrdimensionale definieren Bisher haben wir nur eindimensional betrachtet. Beispielsweise für Messwerte, die ein Sensor 6x am Tag liefert. double sensor[6]; Wert 1 Wert 2 Wert 3 Wert 4 Wert 5 Wert 6 Wie speichert am aber Messwerte von 4 dieser Sensoren, welche z.b. an anderen Positionen angebracht sind oder zu anderen Zeiten messen? Lösung: Mehrdimensionale, die einer Matrix oder Tabelle gleichen. double sensoren[4][6]; Jede Zeile stellt die Messwerte eines eigenen Sensors dar. Sensor 1 Wert 1 Wert 2 Wert 3 Wert 4 Wert 5 Wert 6 Sensor 2 Wert 1 Wert 2 Wert 3 Wert 4 Wert 5 Wert 6 Sensor 3 Wert 1 Wert 2 Wert 3 Wert 4 Wert 5 Wert 6 Sensor 4 Wert 1 Wert 2 Wert 3 Wert 4 Wert 5 Wert 6 11 / 22
12 Mehrdimensionale Mehrdimensionale -- Initialisierung und Zugriff bool platzreservierung_privatkino[5][3] = { false }; Reihe 1 false false false Reihe 2 false false false Reihe 3 false false false Reihe 4 false false false Reihe 5 false false false platzreservierung_privatkino[1][2] = true; // Reservierung erfolgt Reihe 1 false false false Reihe 2 false false true Reihe 3 false false false Reihe 4 false false false Reihe 5 false false false 12 / 22
13 Mehrdimensionale Mehrdimensionale durchlaufen Genauso wie eindimensionale mit einer for-schleife durchlaufen werden, so lassen sich mehrdimensionale mit zwei verschachtelten for-schleifen ausgeben. 1 const int AUSSEN_MAX = 5; 2 const int INNEN_MAX = 3; 3 int myarray [ AUSSEN_MAX ][ INNEN_MAX ] = { false }; 4 myarray [2][1] = true ; 5 for ( int lauf_aussen =0; lauf_aussen <AUSSEN_MAX ; lauf_aussen ++) { 6 for ( int lauf_innen =0; lauf_innen <INNEN_MAX ; lauf_innen ++) { 7 cout << "[" << lauf_aussen << "][" << lauf_innen << "]: " << myarray [ lauf_aussen ][ lauf_innen ] << " "; 8 } 9 cout << endl ; // Zeilenumbruch 10 } 13 / 22
14 Strukturen Überblick 1 Mehrdimensionale 2 Strukturen 14 / 22
15 Strukturen Motivation Bisher haben wir einzelne Datentypen eines Typs verwendet, z.b. int x. Durch können wir eine Menge des gleichen Datentyps gesammelt ablegen, z.b. int temperaturen[24]. Die einzige Einschränkung, die uns noch verbleibt ist diejenige, dass es sich dabei immer um den gleichen Datentyp handeln muss. Unterschiedliche Datentypen lassen sich nicht so ohne weiteres gemeinsam verwenden, da der Compiler vorher nicht wissen kann, welche Datentypen wie mit einander kombiniert werden sollen. Da dies vom Programmierer von einer Problemstellung zur anderen jedesmal neu festgelegt wird, würde es auch keinen Sinn ergeben, alle möglichen Kombinationen in der Programmiersprache vorzuhalten. Stattdessen ermöglicht es C++ dem Programmierer, eigene Datentypen flexibel zu definieren und Daten unterschiedlichen Typs strukturiert abzuspeichern. Daher kommt auch der Name struct (engl. für Struktur). 15 / 22
16 Strukturen Eigene Strukturen definieren Die allgemeine Form, um eine Struktur in C++-Programmen zu definieren, ist die folgende: struct strukturname { memberdatentyp1 membername1; memberdatentyp2 membername2;... memberdatentypn membernamen; } name(n); struct strukturname { memberdatentyp1 membername1; memberdatentyp2 membername2;... memberdatentypn membernamen; }; Eine Datenstruktur ist eine Gruppe von Datenelementen (members), die unter dem gleichen Objektnamen (strukturname) zusammengefasst sind. Ein konkretes Element dieser Zusammenfassung wird unter seinem Namen (objektname) angesprochen. Sobald eine Datenstruktur definiert ist, kann diese nicht mehr um weitere Member erweitert werden. Es lassen sich aber weitere Strukturelemente erzeugen. Dadurch wird klar, dass die Angabe name nicht gleich bei der Deklaration erfolgen muss, sondern optional ist. 16 / 22
17 Strukturen Erstes Beispiel zu struct Wir wollen einen Datentyp erstellen, um Produkte in unserem Programm abzuspeichern. Ein Produkt besitzt eine Bezeichnung (string) und einen Preis (float). 1 # include <string > 2 struct produkt { 3 string bezeichnung ; 4 float preis ; 5 }; // Achten Sie auf das abschliessende Semikolon! Ein neues Produkt kann im Programm nach der Deklaration der Struktur so angelegt werden: produkt mobiltelefon ; Eine zweite Möglichkeit ist dies direkt bei der Deklaration zu tun: 1 # include <string > 2 struct produkt { 3 string bezeichnung ; 4 float preis ; 5 } mobiltelefon ; Mehrere solcher Objekte lassen sich durch Komma getrennt erzeugen. 17 / 22
18 Strukturen Zugriff auf Memberdatentypen von struct Um Zugriff auf die Memberdatentypen zu erhalten, wird der Punkt-Operator (.) verwendet. Er trennt dabei das konkret angelegte Objekt auf der linken Seite vom Memberdatentyp rechts davon. 1 # include <iostream > 2 # include <string > 3 using namespace std; 4 5 int main () { 6 struct produkt { 7 string bezeichnung ; 8 float preis ; 9 } handy ; produkt stuhl ; // ein weiteres Objekt anlegen handy. bezeichnung = " Klingeling 2000 "; 14 handy. preis = 100; stuhl. bezeichnung = " Bequemsitzer 900"; 17 // Preis steht noch nicht fest 18 cout << handy. bezeichnung << " kostet " << handy. preis << endl ; 19 cout << stuhl. bezeichnung << " kostet " << stuhl. preis << endl ; 20 return 0; 21 } 18 / 22
19 Strukturen Einlesen von Struktur-Membervariablen Das Einlesen von Strukturvariablen geschieht ebenfalls durch den Punktoperatorzugriff. 1 # include <iostream > 2 # include <string > 3 using namespace std; 4 5 int main () { 6 struct Auto { 7 string name ; 8 int tueren ; 9 } userauto ; cout << " Bitte Bezeichnung fuer das Auto eingeben : "; 12 cin >> userauto. name ; cout << " Bitte die Anzahl der Tueren eingeben : "; 15 cin >> userauto. tueren ; cout << " Name des Autos : " << userauto. name << endl ; 18 cout << " Anzahl Tueren : " << userauto. tueren << endl ; 19 return 0; 20 } 19 / 22
20 Strukturen Strukturen verschachteln Strukturen können nicht nur primitive Datentypen wie char, int, float, usw. aufnehmen. Sie sind auch in der Lage, andere Strukturen als Membervariablen zu akzeptieren, wodurch verschachtelte Strukturen entstehen. 1 # include <string > 2 struct person { 3 string vorname ; 4 string nachname ; 5 }; 6 7 struct buch { 8 person autor ; // verwendet struct person als Membervariable 9 string titel ; 10 }; buch thriller ; 13 thriller. autor. vorname = " Susi "; // Zugriff auf struct person 14 thriller. autor. nachname = " Sonnenschein "; 15 thriller. titel = " Schockierende Programme in C++"; Der Zugriff erfolgt also durch eine Aneinanderreihung von Punktoperatoren, bis zur gewünschten, darunterliegenden Struktur. 20 / 22
21 Strukturen von Strukturen anlegen Strukturen lassen sich auch als anlegen, so dass jedes Element des Feldes ein struct beinhaltet. 1 const int MAX = 11; // soviel Freunde sollt ihr sein struct spieler { 4 int trikotnummer ; 5 string name ; 6 } mannschaft [ MAX ]; 7 8 for ( int i=0;i<max;i++) { 9 cout << " Name des Spielers Nr." << i+1 << ": "; 10 cin >> spieler [i]. name ; 11 mannschaft [i]. trikotnummer = i+1; 12 } Beim Zugriff muss zuerst die Array-Indexposition angegeben werden und anschliessend kann wie gewohnt mit dem Punktoperator auf die Membervariablen zugegriffen werden. 21 / 22
22 Strukturen Nachteile von structs Ein Nachteil von Strukturen ist, dass man separate Prüfungen durchführen muss, um diese mit korrektem Inhalt zu füllen. Die Struktur kümmert sich nicht von selbst darum, um diese Logik sich muss der Programmierer selbst kümmern. Ein weiterer Nachteil ist, dass Objekte zwar Eigenschaften in Form ihrer Membervariablen besitzen, aber mit diesen keine Aktionen direkt zu verknüpfen sind. So können beispielsweise Autos eine Farbe, eine Motordrehzahl und eine Menge an Rändern besitzen. Aber Aktionen wie fahren, tanken oder parken, die nur dieses Objekt durchführen kann, sind damit nicht möglich. Um diese Probleme zu lösen, wurden in C++ sogenannte Klassen und Objekte eingeführt. Diese können sowohl Eigenschaften besitzen, als auch Verhalten (Aktionen) durchführen. Da struct ein Sprachmittel ist, das von C übernommen wurde, stellen Klassen und Objekte von ihrer Funktionalität her mächtigere Sprachmittel dar. Trotzdem gibt es durchaus viele Anwendungsbereiche für structs. 22 / 22
Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
Einfü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
2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
Einfü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
1 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
Einfü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.
Klausur 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)
II. 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
Modellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
Objektorientierte 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
Klausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
Unterprogramme. 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
Wintersemester 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.
M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
Einfü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
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
Zählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
Datentypen: Enum, Array, Struct, Union
Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
Felder, Rückblick Mehrdimensionale Felder. Programmieren in C
Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte
Informatik 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
Ü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
Proseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
Vorkurs 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:
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)
Wir arbeiten mit Zufallszahlen
Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
Hochschule 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
Software Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
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
Erstellen der Barcode-Etiketten:
Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst
Informationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Erstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
Programmierung 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/
Studentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Diana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
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
Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:
Prozentrechnung Wir beginnen mit einem Beisiel: Nehmen wir mal an, ein Handy kostet 200 und es gibt 5% Rabatt (Preisnachlass), wie groß ist dann der Rabatt in Euro und wie viel kostet dann das Handy? Wenn
Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
Lehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
Word. Serienbrief erstellen
Serienbrief erstellen Es müssen nicht gleich hundert Empfänger sein: Ein Serienbrief lohnt sich schon bei wenigen Adressen. Denn es geht einfach und ist deutlich schneller, als alle Briefe per Hand anzupassen.
Graphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
Einführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
Ziel, 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
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
WPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
Professionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.
Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten
Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik
Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen
Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i
Der neue persönliche Bereich/die CommSy-Leiste
Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein
MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.
Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank
Barcodedatei importieren
Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1
Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten
Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis
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.
Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.
Personenverzeichnis Ab dem Wintersemester 2009/2010 wird das Personenverzeichnis für jeden Mitarbeiter / jede Mitarbeiterin mit einer Kennung zur Nutzung zentraler Dienste über das LSF-Portal druckbar
teamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA
Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten
Datenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
Gruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
Objektorientierte Programmierung mit C++ Vector und List
Vector und List Ziel, Inhalt Wir lernen die Klassen vector und list aus der Standard-C++ Library kennen und anwenden. In einer Übung wenden wir diese Klassen an um einen Medienshop (CD s und Bücher) zu
Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)
Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung
7.3 Einrichtung 13. Monatslohn. Auszahlung Ende Jahr / Ende der Beschäftigung
7.3 Einrichtung 13. Monatslohn Die Lohnart "13. Monatslohn" ist zwar immer in den Lohnblättern aufgeführt, wird jedoch meist entweder nur am Ende des Jahres (Ende der Beschäftigung) oder in zwei Teilen
P&P Software - Adressexport an Outlook 05/29/16 14:44:26
Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können
Beispiel(unten ist der Spielfeldrand):
Anleitung Side by Side ist ein Puzzle mit einfachen Regeln, das in einem 6x6 (oder größerem) Gitter gespielt wird. Ziel des Spieles ist es, die leeren Kästchen mit den Zahlen 1, 2, 3, 4 oder einem X zu
1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6
Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten
Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book
Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Wir wollen wissen wieviel Umsatz Vertreter Müller im Juni gemacht hat? Dazu klicken wir irgendwo in ein Feld und geben ein: =SVERWEIS
Konzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
So gelingt Ihre Online-Bewerbung!
So gelingt Ihre Online-Bewerbung! Erstmalige Bewerbung: Wenn Sie sich zum ersten Mal dazu entschieden haben, sich auf ein Stellenangebot des waff-personalfinder zu bewerben, wird im Zuge Ihrer Bewerbung
Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40
CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News
VisualBasic - Variablen
Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt
Anbindung des eibport an das Internet
Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt
Wir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser
Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...
COMPUTERIA VOM 25.2.15 SERIENBRIEFE UND ETIKETTENDRUCK
COMPUTERIA VOM 25.2.15 SERIENBRIEFE UND ETIKETTENDRUCK WAS SIND SERIENBRIEFE? Bei einem Serienbrief handelt es sich um eine Art Word Vorlage, bei der das gleiche Dokument mehrmals gedruckt werden muss,
DAS HALLENBUCHUNGSPROGRAMM EBUSY
DAS HALLENBUCHUNGSPROGRAMM EBUSY Das Buchungssystem kann von jedem Ort, jedem Computer mit Internet Anschluss und sogar vom Smartphone erreicht werden. Entweder rufen Sie die Seite direkt über die Internet
Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung
Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 5 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Datenbanken Microsoft Access 2010
Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren
So funktioniert das online-bestellsystem GIMA-direkt
So funktioniert das online-bestellsystem GIMA-direkt Loggen Sie sich mit Ihren Anmeldedaten, die Sie von GIMA erhalten haben, in das Bestellsystem ein. Sollten Sie noch keine Anmeldedaten haben und Für
Computeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
Aufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie