EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
der Universität Oldenburg
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Objektorientierung
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
Claudio Moraga; Gisbert Dittrich
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 5 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 3 Claudio Moraga, Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 4 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 2 Gisbert Dittrich; Claudio Moraga FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 12 Claudio Moraga, Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 1 Gisbert Dittrich; Claudio Moraga FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 11 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 10 Claudio Moraga; Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Wir müssen also überlegen: Implementierung der Knoten, Implementierung der Kanten, daraus: Implementierung des Graphen insgesamt. Annahme: die Knoteninhalte.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Informatik Grundlagen, WS04, Seminar 11
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.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
1 // 6_1_KKarte als Struct // // demonstriert structs // Bei Behandlung von "Randfällen" nicht robust. // Fehlerhaft !? #include const char ZeilenEnde.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
 Präsentation transkript:

EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich Gliederung Kapitel 6: Strukturen Zusammengesetzte Strukturen: struct Beispiel Buchdaten (einfach) Vereinbarung Zugriff u.a. unter Verwendung von Zeigern Verwendung Beispiel Buchdaten (komplexer) Karteikarte KarteLesen Aufruf Namensraum

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 3 Zusammengesetzte Strukturen Möchte die Daten von Büchern verwalten (Daten eines Buchs sollen logisch zusammengefügt werden). Buch- Daten jahr (int) seiten (int) preis (float)

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 4 Name der Komponenten Typ der Komponentenstructs Name der struct Vereinbarung durch –Angabe der einzelnen Komponenten –mit Namen und Typ: struct BuchDaten { int jahr, seiten; float preis; };

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 5 Anmerkungen zu struct Name der Struktur ist zugleich Typname. –damit können Variable und Konstanten deklariert werden: BuchDaten meineDaten ; Danach hat die Variable meineDaten den Typ BuchDaten Zugriff auf die Komponenten ( jahr, seiten, preis ) durch Qualifikation: meineDaten.jahr

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 6 Anmerkungen zu struct Beispiel (Zuweisung über Komponenten) meineDaten.jahr = GanzeZahlLesen("Jahr: "); meineDaten.seiten = GanzeZahlLesen ("Seiten: "); meineDaten.preis = ReelleZahlLesen("Preis: "); Andere Möglichkeit durch Zuweisung einer vollständigen struct (vom Typ BuchDaten ) meineDaten = dieseDaten Über Verwendung von Zeigern (analog)

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 7 Zuweisung unter Verwendung von Zeigern: Z.B.: Gib die Adresse eines Elements von Buchdaten an, schreibe die eingelesenen Daten "an die entsprechende Adresse": BuchDaten meineDaten LiesBuchDaten (&meineDaten); Die Funktion LiesBuchDaten ist so definiert: Anmerkungen zu struct

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 8 Anmerkungen struct int GanzeZahlLesen (char *); float ReelleZahlLesen (char *); void LiesBuchDaten (BuchDaten *bd) { bd->jahr = GanzeZahlLesen ("Jahr: "); bd->seiten = GanzeZahlLesen ("Seiten: "); bd->preis = ReelleZahlLesen ("Preis: "); } Zeiger auf Typ BuchDaten Zuweisung an Komponenten bd->jahr steht für (*bd).jahr Signatur benutzter Funktionen

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 9 Anmerkungen struct Also: –in der Funktionsdefinition wird als formaler Parameter verwendet Zeiger auf Element vom Typ BuchDaten. –im Rumpf der Definition Zugriff durch Dereferen- zieren Beispiel: Die Komponente jahr wird angesprochen als (*bd).jahr, abgekürzt als bd->jahr –Aufruf : Im Beispiel: mit konkreter Adresse &meineDaten

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 10 Anmerkungen struct Vereinbarung konstanter structs durch Angabe der Werte: const BuchDaten dieseDaten = {1997,234,14.70};

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 11 Anmerkungen zu {..} Allgemein: –Wertangaben bei der Definition zur gleichzeitigen Initialisierung mehrerer Werte können in geschweiften Klammern {..} angegeben werden. Weiteres Beispiel: char s[4] = {'a', 'b', 'c', \0'}; (wirkt wie die Zeichenkette s="abc")

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 12 Beispiel Karteikarte für ein Buch soll enthalten:

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 13 Beispiel const int autorMax = 75, titelMax = 100, verlagMax = 128; struct karteikarte { char autor [autorMax]; char titel [titelMax]; char verlag [verlagMax]; BuchDaten dieDaten; }; Direkte Umsetzung der angegebenen Spezifi- kation für die Daten. Strukturen können selbst Strukturen enthalten

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 14 Buchdatei void AngabeLesen (char *, char *, int); void KarteLesen(int i, karteikarte * k){ cout << "Buch Nr. :" << (i + 1) << endl; AngabeLesen("Autor: ", k->autor, autorMax); AngabeLesen("Titel: ", k->titel, titelMax); AngabeLesen("Verlag : ", k->verlag, verlagMax); LiesBuchDaten (&(k->dieDaten)); }

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 15 KarteLesen/Buchdatei Der Aufruf KarteLesen (17, &ka) liest die Karte Nr. 17 ein und speichert sie unter der Adresse &ka (wobei vereinbart ist Karteikarte ka) Programm: KKarte als struct

Kap 6: StrukturenVorl EINI-I"Prof. Dr. G. Dittrich 16 KarteLesen/Buchdatei Jedes struct hat seinen eigenen Namensraum struct eins { int x; char *t; } struct zwei { float x; int t; } unabhängig voneinander