Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik.

Slides:



Advertisements
Ähnliche Präsentationen
Hochschule Fulda – FB ET Sommersemester 2010
Advertisements

Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Hochschule Fulda – FB ET Sommersemester 2010
Einführung in die Programmierung Zusammenfassung
Agenda Sitzung 2 für den Programmaufbau
Puck eine visuelle Programmiersprache für die Schule
der Universität Oldenburg
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
Themen: Neue Funktionen Dynamische Bildgalerie Seminar: Macromedia Flash.
ARRAY oder FELD oder VEKTOR
FOR Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 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 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 4 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
Informatik I for D-MAVT
Informatik 1 Übung 2.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Informatik Grundlagen, WS04, Seminar 11
1. Die rekursive Datenstruktur Liste 1.1 Warteschlange (Queue)
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
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 (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 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 Fachbereich.
Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y >
Die Zählschleife int s = 0 for (int k=1; k
Parallel Programming Parallel Matrix Multiplication
Informatik 1 Übung 4.
Technische Informatik Reihungen – Felder - Arrays.
Style Guidelines für Java und .NET
Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren.
Informatik I for D-MAVT
Purga - Scriptengine Ein Einblick.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.
Informatik Grundlagen, WS04, Seminar 7
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Schutzvermerk nach DIN 34 beachten CANopen 16-Apr-15, Seite 1 Kopplung XC100-XC100.
Informatik Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholugnsanweisungen 3. Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholungsanweisungen.
MAYA K. Canvas-Projekt. In HTML- body: Canvas tag öffnen seamntsiches HTML) Canvas bekommt eine id (1mal verwenden, mit # angesprochen) Höhe und breite.
X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem.
X. Übungsblatt – Aufgabe X Bestimmen Sie jeweils die disjunktive Normalform (DNF) der Folgenden Funktionen: a)f 1 = b)f 2 = c)Bestimmen Sie die primären.
X. Übungsblatt – Aufgabe X a)Beschreiben Sie den allgemeinen Aufbau einer Zahl N in einem polyadischen Zahlensystem. Übung zu Grundlagen der Technischen.
X. Übungsblatt – Aufgabe X a)Entwerfen Sie eine digitale Schaltung, die bei einer logischen 0 des Steuereinganges S den logischen Wert des Eingangs x 0.
X. Übungsblatt – Aufgabe X Mit Hilfe von NAND-Gattern, kann jede beliebige Boolesche Funktion realisiert werden. (Gleiches gilt für die Verwendung von.
X. Übungsblatt – Aufgabe X Die gegebene Schaltfunktion y = f(d, c, b, a) soll mit Hilfe des Entwicklungssatzes entwickelt werden: a)Entwickeln Sie die.
X. Übungsblatt – Aufgabe X Für die Bevölkerung Deutschlands wird für das Jahr 2050 folgende Altersstruktur vorausgesagt: a)Die Bevölkerung soll in 2 Gruppen.
X. Übungsblatt – Aufgabe X Es soll eine synchrone Schaltung mit den Zuständen A, B, C und D entworfen werden. Sie soll abhängig von den Eingangssignalen.
Übung zu Grundlagen der Technischen Informatik
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Pointer. Precompiled Header  Vorübersetzung eingebundener Dateien häufig genutzt, selten geändert  Projekttyp „Win32 Console Application“
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Offener Unterricht – DIE Lösung für hochbegabte Sch? Chancen und Risiken.
ADM Seminar Juni 2008 Referent: Jan Neumann Accantum GmbH © BGDataADM in Verbindung mit dem [accantum] Document Manager Referent: Ingo Klug
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Parametrisierte Prozeduren und Funktionen
Seminar Programmierstil: Codierungsstandards
 Präsentation transkript:

Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik

Informatik Grundlagen, Seminar 8 WS04 2 Was machen wir heute? Nachbesprechen von Übungsblatt 6 Statische Variablen Modularisierung Übungsblatt 8 - worauf es ankommt.

Informatik Grundlagen, Seminar 8 WS04 3 Nachbesprechung Übungsblatt 6 Gute Lösungen, aber Lösungsidee nicht vergessen (für jede Funktion) Bei Funktionen: was macht sie? Zweck der Funktion Parameter Programmierstil beachten! Variablennamen Funktionsnamen Klammersetzung Einrückung

Informatik Grundlagen, Seminar 8 WS04 Nachbesprechung Übungsblatt 6 Keine globalen Vars Symbolische Konstanten für Feldlänge verwenden. Diese Konstanten überall verwenden, wo Feldlänge notwendig! Bei Feldern Grenzen abprüfen.

Informatik Grundlagen, Seminar 8 WS04 Nachbesprechung Übungsblatt 6 #define ROW 3 #define COLUMN 3 int Matrix[ROW][COLUMN] Nicht: For (r=0; r<3; r++) … Besser: For (r=0; r<ROW; r++) … Algorithmus soll allgemein sein; im Bssp. durch einfache Änderung von ROW wird überall Grösse geändert.

Informatik Grundlagen, Seminar 8 WS04 Nachbesprechung Übungsblatt 6 Array Grenzen immer überprüfen! Auch bei strings. Nicht nur auf `\0´ überprüfen, sondern while (string[i]!= `\0´ && i < MAX) Auch bei Kommandozeilenparams argv!

Informatik Grundlagen, Seminar 8 WS04 Vorstellung Übungsblatt 6 Aufgabe 2: Hämmerle Aufgabe 3: Sturn oder Masser

Informatik Grundlagen, Seminar 8 WS04 8 Nachbesprechung Übungsblatt Programmierstil Beispiele Klammerung if (someCondition) { printf(condition true\n); } if (someCondition) { printf(condition true\n); } else { printf(condition false\n); } while (someCondition) { printf(looping\n); } int StrLen(char string[]) { return 0; } /* Einfache Bedingung */ /* Verzweigte Bedingung */ /* Schleifen */ /* Funktionen */

Informatik Grundlagen, Seminar 8 WS04 9 Nachbesprechung Übungsblatt Programmierstil Beispiele Klammerung - so nicht: if (someCondition) printf(condition true\n); if (someCondition) printf(condition true\n); else printf(condition false\n); while (someCondition) printf(looping\n); int StrLen(char string[]) { return 0; }

Informatik Grundlagen, Seminar 8 WS04 10 Nachbesprechung Übungsblatt Programmierstil Beispiele Klammerung - nicht so: if (someCondition) printf(condition true\n); if (someCondition) printf(condition true\n); else printf(condition false\n); while (someCondition ) printf(looping\n); int StrLen(char string[]) { return 0; }

Informatik Grundlagen, Seminar 8 WS04 11 Nachbesprechung Übungsblatt Programmierstil Beispiele Variablen-Namen int i = 0; int j = 0; int calcResult = 0; char text[MAX_LENGTH] = {0}; const double cPi = 3.14; static int sIntermediateSum = 0; int gSwitch = 1; int main(int argc, char* argv[]) {... } z.B. Zählvariablen aussagegkräftige Namen Prefix c für Konstanten Prefix s für statische Variablen Prefix g für globale Variablen Beginnen immer mit Kleinbuchstaben!

Informatik Grundlagen, Seminar 8 WS04 12 Nachbesprechung Übungsblatt Programmierstil Beispiele Variablen-Namen: so nicht int K = 0; int L = 0; int iResult = 0; char szText[MAX_LENGTH] = {0}; const double cpi = 3.14; static int intermediatesum = 0; int Switch = 1; int main(int argc, char* argv[]) {... }

Informatik Grundlagen, Seminar 8 WS04 13 Nachbesprechung Übungsblatt Programmierstil Beispiele Variablen-Namen: so nicht int K = 0; int L = 0; int iResult = 0; char szText[MAX_LENGTH] = {0}; const double cpi = 3.14; static int intermediatesum = 0; int Switch = 1; int main(int argc, char* argv[]) {... }

Informatik Grundlagen, Seminar 8 WS04 14 Nachbesprechung Übungsblatt Programmierstil Beispiele Funktions-Namen void PrintString(char str[]) {.... } int IsValidDate(int year, int month, int day) {... /* return 1 if valid, 0 if not valid */... } double SquareRoot(double value) {... } Beginnen immer mit Großbuchstaben! Aussagekräftige Namen verwenden.

Informatik Grundlagen, Seminar 8 WS04 15 Nachbesprechung Übungsblatt Programmierstil Beispiele Funktions-Namen: so nicht int Leapyear(int year) { /* return number of days for february */ } int isvaliddate(int Year, int month, int day) {... /* return 0 if valid, 1 if not valid */... } double dSquareRoot(double value) {... } PrintString(char string[]) {... }

Informatik Grundlagen, Seminar 8 WS04 16 Nachbesprechung Übungsblatt Programmierstil Beispiele Funktions-Namen: so nicht int Leapyear(int year) { /* return number of days for february */ } int isvaliddate(int Year, int month, int day) {... /* return 0 if valid, 1 if not valid */... } double dSquareRoot(double value) {... } PrintString(char string[]) {... }

Informatik Grundlagen, Seminar 8 WS04 17 Nachbesprechung Übungsblatt Programmierstil Beispiele Einrückungen int DoSomeStuff(char str[]) { int i = 0;.... if (someCondition) { printf(%s; str); while (someOtherCondition) { int j = 0;... } }else { printf(wrong value); } return 0; } Leerzeilen sind immer erwünscht wenn Übersichtlichkeit erhöht wird.

Informatik Grundlagen, Seminar 8 WS04 18 Nachbesprechung Übungsblatt Programmierstil Beispiele Einrückungen: so nicht int DoSomeStuff(char str[]) { int i = 0;.... if (someCondition) { printf(%s; str); while (someOtherCondition) { int j = 0;... } }else { printf(wrong value); } return 0; }

Informatik Grundlagen, Seminar 8 WS04 19 Nachbesprechung Übungsblatt Programmierstil Beispiele Einrückungen: so nicht int DoSomeStuff(char str[]) { int i = 0;.... if (someCondition) { printf(%s; str); while (someOtherCondition) { int j = 0;... } }else { printf(wrong value); } return 0; }

Informatik Grundlagen, Seminar 8 WS04 20 Statische Variablen Statische Variablen - was ist das? Wofür werden sie eingesetzt? Wann werden sie initialisiert? Details auf Vorlesungsfolien Beispiel LaufendeSumme Funktion bekommt über Parameter int Wert. Diese Params werden laufend aufsummiert. int CalculateSomething(int value) { static int sum = 0;... }

Informatik Grundlagen, Seminar 8 WS04 21 Modularisierung Was versteht man unter Modularisierung? Was sind die Vorteile? Unterschiede Deklaration/Definition? Wann nimmt man: #include und wann #include name.h Details siehe Vorlesungsfolien.

Informatik Grundlagen, Seminar 8 WS04 Module: Beispiel zum Üben Ändern Sie Ihr Progr. Ü7 Ascii2Int so um, dass sie eine eigene Bibliothek mit der Funktion Ascii2Int implementieren. Wie sieht das header file aus? Wie sieht die Implementierung aus? Wie sieht main aus? (für die ganz schnellen und gwieften: Int2Ascii zusätzlich) Int2Ascii (int zahl; char *string[]);

Informatik Grundlagen, Seminar 8 WS04 Zeiger Was ist Zeiger; Initialisierung (NULL); Adressen & *

Informatik Grundlagen, Seminar 8 WS04 Fragestunde zur Klausur Angaben genau durchlesen Beginne mit der Aufgabe die du glaubst, zu können Niemals zu lange an einer Aufgabe herumdoktern = (sich aufhalten) Kurze Aufgaben: ca. max. 10 min

Informatik Grundlagen, Seminar 8 WS04 25 Übungsblatt 8 Worum geht es? Modularisierung kennen lernen und anwenden Mit Pointern vertraut werden. Worauf sollte geachtet werden: Angaben genau lesen. Testprogramm für Aufgabe 1 nicht vergessen. Programmierrichtlinien einhalten In Zukunft rigoroser Punkteabzug!!!