Informatik Grundlagen, WS04, Seminar 11

Slides:



Advertisements
Ähnliche Präsentationen
Strukturen in C Spelz, Sievers, Bethke.
Advertisements

Funktionen, Felder und Parameter-übergabe
Funktionen.
Kapitel 4 Datenstrukturen
Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Donnerstag Andreas Döring SS 2004.
der Universität Oldenburg
der Universität Oldenburg
Sequentielle Liste - Array
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
SWITCH - Anweisung.
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
ARRAY oder FELD oder VEKTOR
Dynamischer Speicher. Ein Vergleich aus dem täglichen Leben...
Funktionen.
Dynamisches Array als "verkettete Liste". Ein Vergleich.
Dynamischer Speicher und Struktur
Parameterübergabe von zweidimensionalen Feldern in Funktionen.
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
V AdresseWert public static void main(...){ int[] v; v=new int[2]; } Was veranlasst diese Anweisung im Arbeitsspeicher ? Es wird im Arbeitsspeicher.
Fehler-Management.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 5 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
zum Elternabend der Schulanfänger 2010!
EDV1 - Komplexe Datentypen
Einführung in Visual C++
Arrays,Strings&Pointer in C/C++
Wichtige Fachausdrücke in C
Einführung in die Programmiersprache C 1
Beispiel Heizung/Sanitär
Einführung in die Programmierung
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Herzlich willkommen zum dritten Workshop Lernen lernen! Lernen KURS 3
Zeichnen linearer Funktionen
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 Fakultät.
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 Programmiersprache C 4
Prozeduren und Funktionen
Dynamische Datentypen
Vortrittsregeln: Was weiss ich ? Lies die Frage !
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Informatik II Grundlagen der Programmierung Programmieren in C Benutzerinteraktion / Ein- und Ausgabe Hochschule Fulda – FB ET Sommersemester
Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik.
Informatik Grundlagen, WS04, Seminar 7
Herzlich Willkommen zur zwölften Lektion DBD-KostenKalkül.
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Erweiterte Zuweisungskompatibilität. Wie kann man Objekte verschiedener Klassen einer Klassenhierarchie einander zuweisen ?
Bevölkerung in der 3. Welt
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
X. Übungsblatt – Aufgabe X In Aufgabe 1a) wurde ein sog. 2:1-Multiplexer entworfen, den man vereinfacht mit nebenstehenden Blockschaltbild darstellen kann.
X. Übungsblatt – Aufgabe X Mit Hilfe von NAND-Gattern, kann jede beliebige Boolesche Funktion realisiert werden. (Gleiches gilt für die Verwendung von.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Das neue Konzept Modul 1 – Einführung in den Entscheidungsprozess und 18plus Wegweiser Schuljahr 2015/2016.
Notizentechnik: zuhören + verstehen + mitschreiben developed by Elisabeth Wielander, Aston University.
Tutorium Software-Engineering SS14 Florian Manghofer.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Das neue Konzept Modul 1 Einführung in den Entscheidungsprozess und Standortbestimmung.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Programmieren in C Wie speichert C
 Präsentation transkript:

Informatik Grundlagen, WS04, Seminar 11

Was wir heute besprechen Evaluation Wiederholung aus der Vorlesung: structs Besprechung und Ausarbeitung von Übungsblatt 10 Nachbesprechung Übungsblatt 9 und 10 2

Evaluation Ziel der Evaluation Ablauf Erhalt von Feedback um den Übungsablauf zu verbessern. Macht mit - das ist DIE Chance. Ablauf Jeder bekommt jeweils ein Kärtchen pro Leitfrage. Auf diese Kärtchen schreibt ihr Anmerkungen/Vorschläge zur jeweiligen Frage Danach werden die Karten eingesammelt und die Antworten gemeinsam durch diskutiert. Jede Kritik ist willkommen !!! 3

Evaluation Leitfragen Was hat Ihnen in diesem Kurs wirklich geholfen etwas über Programmieren zu lernen? Bitte nennen Sie ein bis zwei Beispiele. Was/Welches Verhalten des Lehrbeauftragten hat Ihnen das Lernen in diesem Kurs schwer gemacht? Bitte nennen Sie ein bis zwei Beispiele. Machen Sie bitte ein bis zwei konkrete Änderungsvorschläge, die der Lehrbeauftragte umsetzen könnte, um Ihren Lernerfolg in diesem Kurs zu unterstützen. 4

Wiederholung Vorlesung structs Wofür braucht man strukturierte Datentypen? Strukturen in C Schlüsselwort struct struct Point { int x; int y; }; struct gehört mit zum Datentyp (auch bei Funktionsschnittstellen): struct Point p1; 5

Wiederholung Vorlesung structs Verwendung von Strukturen struct Point { int x; int y; }; /* Initialisierung */ struct Point p = {5,10}; /* direkte Zuweisung */ struct Point p2 = p; /* Zugriff auf Komponenten */ printf(”p.x = %d”, p.x); printf(”p.y = %d”, p.y); 6

Wiederholung Vorlesung structs Strukturen als Parameter von Funktionen werden als ganzes kopiert. Daher genau überlegen ob es nicht sinnvoller (oder ohnehin erforderlich) ist, die Parameter mit Call by Reference zu übergeben. Dynamische Speicherallokierung macht bei Strukturen erstmals richtig Sinn (z.B. bei Grafikanwendung steht nicht von vornherein fest, wieviele Punkte/Rechtecke denn gezeichnet werden). Wichtig: jedem malloc muss unbedingt ein free gegenüber stehen. 7

Wiederholung Vorlesung structs Hat man einen Pointer auf eine Struktur gibt es verschiedene Möglichkeiten auf die Komponenten zuzugreifen: Derefenzierung und Punktoperator Pfeiloperator. void PrintPoint(struct Point *pPoint) { /* Dereferenzierung und Punktoperator */ printf(”x: %d”, (*pPoint).x); printf(”y: %d”, (*pPoint).y); /* Pfeiloperator Alternative */ printf(”x: %d”, pPoint->x); printf(”y: %d”, pPoint->y); } 8

Wiederholung Vorlesung structs Übung: Erstellen Sie eine Struktur für eine Adresse mit relevanten Komponenten, initialisieren Sie diese Struktur und schreiben Sie eine Funktion zur Ausgabe dieser Struktur in zwei Varianten: Struktur wird als Wert übergeben und Struktur wird als Pointer übergeben. Verwenden Sie bei der Pointer-Variante auch die unterschiedlichen Möglichkeiten, um an die Komponenten heran zu kommen. 9

struct Address {...} addresses[30] = { {6912,”Hoerbranz”},...} Übungsblatt 10 Tipps... Einträge für Tabellen (Daten der Personen) können Sie hardcoded eingeben, also z.b. struct Address {...} addresses[30] = { {6912,”Hoerbranz”},...} Sie dürfen für Eingabe der PLZ scanf oder Funktion GetInt aus Ü9 verwenden. Achtung: “Verkettung” von Personen und Adressen soll wie in Abbildung geschehen. Keine Pointer von Adr. nach Person (Richtung!) 10