Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Größe: px
Ab Seite anzeigen:

Download "Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer"

Transkript

1 Propädeutikum 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

2 Vorbereitungskurs Informatikstudium Programmieren (C-Kurs) Erfolgreich Studieren Dipl.-Inf. Frank Güttler / M. Sc. Stephan Fischer quapona technologies GmbH An der Kirschallee Leipzig 2

3 Überblick Kapitel 7 (Fortsetzung) Steuerung des Programmflusses Kapitel 8 Funktionen Kapitel 9 Bibliotheken (Funktionssammlungen) 3

4 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen if() Beispiel int hatgeklappt; [Anweisung] if(hatgeklappt == 1) printf( Alles in Ordnung!\n"); else printf( Leider schiefgegangen!\n"); Syntax if( Bedingung ) [Anweisung1] [ else [Anweisung2] ]; 4

5 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen if() Semantik Bedingung auswerten Wenn wahr, Anweisung1 ausführen Wenn falsch, Anweisung2 ausführen (wenn vorhanden) 5

6 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen if()-äquivalenz if( Bedingung ) x = Ausdruck1; else x = Ausdruck2; ist äquivalent zu x = Bedingung? Ausdruck1 : Ausdruck2; Beispiel: (betragvonx = x ) betragvonx = x >= 0? x : -x; ist äquivalent zu if(x >= 0) betragvonx = x; else betragvonx = -x; betragvonx = abs(x); 6

7 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen switch case() Beispiel int anzahl; [Anweisung] switch(anzahl) case 0 : printf( Anzahl ist Null!\n ); break; case 1 : printf( Anzahl ist Eins!\n ); break; default : printf( Anzahl ist Zwei oder Mehr!\n ); 7

8 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen switch case() Syntax switch ( int_ausdruck ) case int_konstante1 : [Anweisung]; [break;] case int_konstante2 : [Anweisung]; [break;] [ default : [Anweisung];] Default kann an beliebiger Stelle in Auswahlliste stehen 8

9 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen switch case() Semantik Case-Fälle definieren Sprungziele 1. Berechne int_ausdruck 2. Wert mit int_konstante vergleichen 3. Wenn gleich, Arbeit dort fortsetzen 4. Wenn keine int_konstante passend, bei default fortsetzen (falls vorhanden) 9

10 Kapitel 7 Steuerung des Programmflusses 4. Auswahlanweisungen switch case() Semantische Falle switch() ist keine Fallunterscheidung (in C) Sprung zu Anweisung der Konstanten Sukzessive Abarbeitung aller folgenden Anweisungen Expliziter Abbruch mit break; Ausnutzung z.b. bei Parsern, Fehlerbehandlung etc. 10

11 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen Implizite Sprünge Verlassen einer Schleife durch Auswertung einer Bedingung Bei Prüfbedingung == falsch Sprung hinter die Schleife Auswahlanweisung Bei Prüfbedingung == falsch Sprung zu Anweisung2 11

12 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen Explizite Sprunganweisung im Programm möglich break; continue; return; 12

13 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen break Beispiel int zahl = 0; do zahl++; if(zahl == 2) break; while(1); // Formale Endlosschleife Semantik Generell : Anweisung abbrechen Schleifen: Schleifenablauf abbrechen (beenden) 13

14 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen continue Beispiel int zahl, summe = 0; do zahl++; if(zahl == 2) continue; summe += zahl; while(zahl<3); printf( Summe = %d\n, summe); Durchlauf zahl summe =1 0+1= =2 1+0= =3 1+3=4 3 4 Semantik Schleifendurchlauf für aktuelle Runde abbrechen 14

15 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen break, continue Beispiel Summenbildung durch Eingaben Eingabe Beliebig viele Zahlen durch Benutzer eingeben lassen Abbrechen wenn: CTRL-D (Linux) o. CTRL-Z (Windows) Verarbeitung Jede Zahl wird auf eine Summenvariable addiert Addition findet nicht statt, wenn Zahl = 0 Anzahl der Additionen zählen Ausgabe Summe Anzahl der Additionen 15

16 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen break, continue // summeeingabe.c Summenbildung durch Eingaben #include <stdio.h> int main() int zahl, summe = 0, anzahladditionen = 0; do if(scanf("%d", &zahl) == EOF) // EOF: CTRL-D (unix), CTRL-Z (Windows) break; if(zahl == 0) continue; summe += zahl; ++anzahladditionen; while(1); // Formale Endlosschleife printf("summe: %d\n", summe); printf("additionen: %d\n", anzahladditionen); return 0; 16

17 Kapitel 7 Steuerung des Programmflusses 5. Sprunganweisungen return Syntax return Ausdruck; Semantik 1. Bewertung des Ausdrucks 2. Rückgabe des Werts an aufrufende Stelle Beispiele return; return 0; return a*2; return &c; return meinefunktion(a,2); 17

18 Kapitel 7 Steuerung des Programmflusses Beispielprogramm Aufgabe: String invertieren char text[] = "beispiel"; char* invertedtext = invertstring(text); printf("%s\n", invertedtext); // leipsieb b e i s p i e l b l e i p s i e b Beim Austausch wird temporäre Variable benötigt Austauschen der jeweiligen Buchstaben miteinander Schleife zählt von außen nach innen 18

19 Kapitel 7 Steuerung des Programmflusses Beispielprogramm // Programm zum Stringinvertieren #include <stdio.h> #include <string.h> char* invertstring(char* text) char temp; int begin, end; // Schleife von außen nach innen for (begin = 0, end = strlen(text) - 1; begin < end; begin++, end--) temp = text[begin]; text[begin] = text[end]; text[end] = temp; return text; int main() char text[] = "beispiel"; char* invertedtext = invertstring(text); printf("%s\n", invertedtext); // leipsieb return 0; 19

20 Kapitel 8 Funktionen 20

21 Kapitel 8 - Funktionen Wiederholung C-Programm #include Präprozessor-Direktiven #define char c; Globale Deklarationen int i; Typ Funktion(...)... int [lokale Deklarationen] [Anweisungsfolge] main(...) [lokale Deklarationen] [Anweisungsfolge] 21

22 Kapitel 8 - Funktionen Funktionen - Verwendung Beispiel Berechnung des Kreisumfangs Eingabe Kreisradius Verarbeitung Kreisradius wird mit 2*Pi multipliziert Ausgabe Kreisumfang 22

23 Kapitel 8 - Funktionen Funktionen - Verwendung // kreisumfang.c Berechnung des Kreisumfangs mittels Radius #include <stdio.h> #define M_PI float umfang(float radius); int main() float radius, ergebnis; printf("kreisradius? "); scanf("%f", &radius); ergebnis = umfang(radius); printf("kreisumfang: %f\n", ergebnis); return 0; float umfang(float radius) return 2 * radius * M_PI; 23

24 Kapitel 8 - Funktionen Funktionen - Überblick Funktionen Bilden Unterprogramme Dienen der Strukturierung des Programmcodes Erlauben Wiederverwendung von Codeteilen Inhalt 1. Prototyp float umfang(float radius); 2. Definition float umfang(float radius) Rücksprung return 2 * radius * M_PI; 3. Aufruf umfang(3); 4. Verschachtelung umfang( umfang(3) ); Funktion wird zweimal hintereinander aufgerufen 24

25 Kapitel 8 - Funktionen Funktionsprototyp (-deklaration) Syntax Rückgabetyp Funktionsname (Parametertyp Parametername,... ); float umfang (float radius ); Beschreibung Rückgabetyp Gibt an, welchen Typ die Funktion zurückliefert (char, int, ) Gibt die Funktion nichts zurück? => void Parametertyp Falls Parameter, dann Typ angeben C-Funktionen benötigen stets eine Parameterliste Parameterliste darf auch leer sein Parametername Im Funktionsprototyp optional Für Verständnis hilfreich 25

26 Kapitel 8 - Funktionen Funktionsprototyp (-deklaration) Wo? Im globalen Deklarationsteil In einer Headerdatei (.h) Zusammenfassung mehrerer Deklarationen Wiederverwendung in unterschiedlichen Modulen (C-Dateien) 26 Beispiele void halt(); // leere Parameterliste void halt(void); // leere Parameterliste int pow(int a); // int-parameter, // gibt int zurück double exp(double); // double-parameter // gibt double zurück // anonymer Paramter long mul(int a, int b); // gibt long zurück // zwei int-paramter

27 Kapitel 8 - Funktionen Funktionsdefinition Syntax Rückgabetyp Funktionsname (Parametertyp Parametername,...) Anweisungen float umfang (float radius ) return 2 * radius * M_PI; 27 Hinweis Parameternamen obligatorisch, da Platzhalter für Argumente Semantik 1. Call-by-Value Werte werden als Kopie der Argumente übergeben Ursprüngliche Argumente bleiben durch Funktion unverändert 2. Propädeutikum Ausführung 2016 der Funktion

28 Kapitel 8 - Funktionen Funktionsaufruf Syntax Funktionsname (Parametername,...); umfang (radius ); Beschreibung Funktionsname ist symbolischer Bezeichner der Speicheradresse Argument Argumentliste wird für Aufruf benötigt: umfang( ) Ohne Liste wird Speicheradresse ermittelt: umfang Anzahl und Typen durch Deklaration festgelegt Beliebiger, in Argumenttyp konvertierbarer Ausdruck verwendbar Verschachtelte Funktionsaufrufe erlaubt Aufruf kann als Operand verwendet werden 28

29 Kapitel 8 - Funktionen Funktionsaufruf ergebnis = umfang(radius); Semantik 1. Werte aus Argumenten berechnen, ggf. Typ konvertieren 2. Werte als Kopie (call-by-value) übergeben Andere Moeglichkeit: call-by-reference (später) 3. Funktion ausführen 4. Aufrufstelle wird mit Rückgabewert ersetzen 5. Programmausführung fortsetzen 29

30 Kapitel 8 - Funktionen Hauptfunktion int main() Muss existieren Darf nicht manuell aufgerufen werden Deklaration und Definition fallen zusammen Typ int return Wert; muss angegeben werden Vereinbarung: Rückgabewert 0 = korrekter Programmablauf Beispiel int main() return 0; 30

31 Kapitel 8 - Funktionen Funktionsrücksprung Rücksprung Implizit: Nach Abarbeitung der letzten Anweisung Kein Rückgabewert Explizit (return) An beliebiger Stelle in Funktion Meist Rückgabewert Syntax return [ Ausdruck ]; Semantik 1. Ausdruckswert in Rückgabetyp konvertieren 2. Wert zurückgeben 3. Programm an Aufrufstelle fortsetzen 4. I.d.R Auswertung des Rückgabewerts 31

32 Kapitel 8 - Funktionen Funktionsrücksprung Beispiel int highfive(void) return 5; int highfive2() return 2+3; void ; donothing() void donothing2(void) return; 32

33 Viel Erfolg! Propädeutikum Bis morgen! 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

C- Kurs 04 Anweisungen

C- Kurs 04 Anweisungen C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm

Mehr

C-Propädeutikum Anweisungen

C-Propädeutikum Anweisungen C-Propädeutikum Anweisungen Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Ausdrücke Institut

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

C- Kurs 05 Funk-onen. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins-tut für Informa-k Technische Informa-k

C- Kurs 05 Funk-onen. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins-tut für Informa-k Technische Informa-k C- Kurs 05 Funk-onen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa-k.uni- leipzig.de Universität Leipzig Ins-tut für Informa-k Technische Informa-k Wiederholung Institut für Informatik C-Programm Präprozessor

Mehr

C-Propädeutikum Funktionen

C-Propädeutikum Funktionen C-Propädeutikum Funktionen Dipl.-Inf. Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Wiederholung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 C-Anweisungen...4-2 4.1 Ausdrucksanweisungen...4-3 4.2 Zusammengesetzte Anweisungen (Anweisungsblöcke)...4-3 4.3 Schleifenanweisungen...4-4 4.3.1 while - Schleife...4-4 4.3.2 do - Schleife...4-5

Mehr

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Propädeutikum 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Vorbereitungskurs Informatikstudium Programmieren (C-Kurs) Erfolgreich Studieren Dipl.-Inf. Frank Güttler f.guettler@quapona.com / guettler@informatik.uni-leipzig.de

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Propädeutikum 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Vorbereitungskurs Informatikstudium Programmieren (C-Kurs) Erfolgreich Studieren Dipl.-Inf. Frank Güttler f.guettler@quapona.com / guettler@informatik.uni-leipzig.de

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Programmieren in C / C++ Grundlagen C 4

Programmieren in C / C++ Grundlagen C 4 Programmieren in C / C++ Grundlagen C 4 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisungen Anweisung im allgemeinsten Sinn: Programmieren

Mehr

C- Kurs 03 Ausdrücke und Operatoren

C- Kurs 03 Ausdrücke und Operatoren C- Kurs 03 Ausdrücke und Operatoren Dipl.- Inf. Jörn Hoffmann jhoffmann@informadk.uni- leipzig.de Universität Leipzig InsDtut für InformaDk Technische InformaDk Ausdrücke Institut für Informatik Ausdrücke

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden

Mehr

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

2. Programmierung in C

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)

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Systemnahe Programmierung in C (SPiC)

Systemnahe Programmierung in C (SPiC) Systemnahe Programmierung in C (SPiC) 9 Funktionen Jürgen Kleinöder, Daniel Lohmann, Volkmar Sieh Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Kontrollstrukturen (1)

Kontrollstrukturen (1) Kontrollstrukturen (1) Selektionen, if ermöglicht das alternative Ausführen von Programteilen in Abhängigkeit einer Bedingung if (Bedingung) Block 1 else Block 2 Ist die Bedingung wahr, also ungleich 0,

Mehr

Teil II. Literatur zur C-Programmierung:

Teil II. Literatur zur C-Programmierung: Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 4 SS 2016

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

Systemprogrammierung

Systemprogrammierung IEinführung I in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: Software Engineering pproach. Springer 1991 Kernighan, Ritchie. The C Programming Language. Prentice-Hall

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden

Mehr

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Praxis der Programmierung

Praxis der Programmierung Funktionen, Header-Dateien, Pointer Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Organisatorische Bemerkungen 2 Modul Programmierung Pflichtmodul für BSc INF

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr

EWS, WS 2016/17 Pfahler I-1

EWS, WS 2016/17 Pfahler I-1 Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler Funktionen EWS, WS 2016/17 Pfahler I-1 Funktionen Funktion: Rechenvorschrift mit einem Namen und ggf. formalen Parametern,

Mehr

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Methoden / Funktionen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick 2 Zweck von Methoden 3 Methodendefinition

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

4 Formelsammlung C/C++

4 Formelsammlung C/C++ 4 Formelsammlung C/C++ 4.1 Datentypen Datentyp stdint.h type Bits Sign Wertebereich (unsigned) char uint8_t 8 Unsigned 0.. 255 signed char int8_t 8 Signed -128.. 127 unsigned short uint16_t 16 Unsigned

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

BKTM - Programmieren leicht gemacht.

BKTM - Programmieren leicht gemacht. BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi

Mehr

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

Praxisorientierte Einführung in C++ (Variadische Funktionen)

Praxisorientierte Einführung in C++ (Variadische Funktionen) Praxisorientierte Einführung in C++ (Variadische Funktionen) Christoph Elbrechter, Florian Paul Schmidt Universität Bielefeld April 12, 2012 Christoph Elbrechter, Florian Paul Schmidt Praxisorientierte

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung

Mehr

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

C-Crashkurs. Praktikum Systemmanagement und Sicherheit

C-Crashkurs. Praktikum Systemmanagement und Sicherheit C-Crashkurs Praktikum Systemmanagement und Sicherheit ZIELE DIESES KURSES 15.04.2014 Dipl.-Inf. M. Bohr C_Crashkurs 2 Compiler gcc verwenden geläufigste Datentypen in C kennen Fehlerbehandlung (ohne Ausnahmeklassen)

Mehr

Tagesprogramm

Tagesprogramm 1 2015-10-22 Tagesprogramm Syntax und Semantik Varianten von Schleifen Varianten von Programmverzweigungen 2 2015-10-22 Syntax und Semantik Darstellung der Syntax Syntax: Aufbau der Sätze bzw. Programme

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung

Mehr

Funktionen: Rückgabewert

Funktionen: Rückgabewert Funktionen: Rückgabewert Jede Funktion in C++ (außer Konstruktoren und Destruktoren siehe später) MUSS einen Rückgabewert-Typ vereinbaren. Gibt sie nichts zurück, muss der Rückgabetyp void sein. Jede return-anweisung

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

10 Die Programmiersprache C99: Zusammenfassung

10 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

Mehr

Hochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme

Hochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme Ziel ist die Aufteilung eines Programms in Funktionen und Dateien Aufgabe 3: Diese Aufgabe ist die Weiterentwicklung von Aufgabe 2. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

C++ - Funktionen und mehr -

C++ - Funktionen und mehr - C++ - Funktionen und mehr - Friedrich-Schiller-Universität Jena Kerstin Gößner und Ralf Wondratschek Prof. Dr. habil. Wolfram Amme Dipl.-Inf. Thomas Heinze Inhaltsverzeichnis 1 Einleitung 3 2 Deklaration,

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

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

Mehr

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

C Kurzeinführung in die Programmiersprache C

C Kurzeinführung in die Programmiersprache C C Kurzeinführung in die Programmiersprache C C Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan,

Mehr

C Kurzeinführung in die Programmiersprache C. C-3 Datentypen und Variablen. C-2 Struktur eines C-Programms. C-1 Überblick. 1 Standardtypen in C

C Kurzeinführung in die Programmiersprache C. C-3 Datentypen und Variablen. C-2 Struktur eines C-Programms. C-1 Überblick. 1 Standardtypen in C C Kurzeinführung in die Programmiersprache C C Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Datentypen legen fest: Darnell, Margolis. C: A Software Engineering Approach. Springer

Mehr

6. Unterprogramme 6-1

6. Unterprogramme 6-1 6. Unterprogramme 6.1 Prozeduren und Funktionen 6.2 Deklaration und Aufruf 6.3 Call-by-Value / Call-by-Reference 6.4 Standardfunktionen in C 6.5 Gültigkeitsbereich von Namen 6.6 Rekursion 6. Unterprogramme

Mehr

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante

Mehr