Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften
|
|
- Ilse Peters
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 5: Funktionen, Gültigkeitsbereiche und Rekursion Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom 23. Mai 2016
2 Motivation: Binomialkoeffizienten Gegeben seien Zahlen n, k N mit k n. Der Binomialkoeffizient n über k ( n n! = k) k! (n k)! entspricht der Anzahl der k-elementigen Teilmengen einer Menge mit n Elementen. Um dies direkt zu berechnen, muss die Fakultät 3 mal ausgewertet werden: int fac_n = 1; for(int i = 2; i <= n; i = i+1) fac_n = fac_n * i; Allerdings wollen wir diese Schleife nicht 3 mal schreiben müssen.
3 Motivation: Binomialkoeffizienten Stattdessen schreiben wir eine Funktion für die Fakultät: int fac ( int n ) int fac_n = 1; for(int i = 2; i <= n; i = i+1) fac_n = fac_n * i; return fac_n; Unser Binomialkoeffizient könnte dann wie folgt aussehen: int nk = fac( n ) / (fac( k ) * fac( n - k ));
4 Inhalt Funktionen Die Funktion main Gültigkeitsbereiche Rekursive Funktionen Beispiel: Ein kleiner Taschenrechner
5 Funktionen Funktionen berechnen aus ihren Argumenten ein Ergebnis, den Rückgabewert. Funktionen können mehrfach und überall im Programm aufgerufen. Die Typen von Rückgabewert und Argumenten bilden den Prototyp der Funktion. Syntax: type 0 identifier 0 ( type 1 identifier 1,..., type n identifier n ) type 0 Typ der Rückgabewertes identifier 0 Name der Funktion type i Typ des i-ten Arguments identifier i Name es i-ten Arguments Die Argumentenliste kann auch leer sein.
6 Definition von Funktionen Eine Funktion wird definiert durch ihren Prototypen gefolgt von einem Anweisungsblock. Syntax: type 0 identifier 0 ( type 1 identifier 1,..., type n identifier n ) statement... Beispiel: int fac ( int n ) int fac_n = 1; for( int i = 2; i <= n; i = i + 1 ) fac_n = fac_n * i; return fac_n;
7 Die return-anweisung Syntax: return expression ; expression Ausdruck für den Rückgabewert Semantik: Verlasse die Funktion und gebe den Wert des Ausdrucks zurück. Der Typ des Ausdrucks muss mit dem Typ des Rückgabewertes der Funktion übereinstimmen. Ist Typ des Rückgabewertes void, muss der Ausdruck leer sein. Hinweis: Im Fall der Funktion main wird das Programm beendet.
8 Funktionsaufrufe Funktionsaufrufe sind elementare Ausdrücke. Syntax: identifier ( expression 1,..., expression n ) identifier Name der Funktion expression i Ausdruck für das i-te Funktionsargument Semantik: Rufe die Funktion mit den angegebenen Werten auf. Typ: Rückgabetyp der Funktion identifier. Wert: Rückgabewert der Funktion identifier. Die Typen der Ausdrücke müssen zu den Typen der Argumente im Funktionsprototypen passen. Achtung: Die Auswertungsreihenfolge der Argumente ist implementierungsabhängig.
9 Deklaration von Funktionen Funktionen müssen bekannt sein, bevor sie benutzt werden. Beispiel: 1 #include <stdio.h> 2 3 int print main () 4 5 printf( "The factorial of %d is %d", n, fac( n ) ); int fac ( int n ) 9 10 int fac_n = 1; 11 for( int i = 2; i <= n; i = i + 1 ) 12 fac_n = fac_n * i; 13 printf( "The factorial of %d is %d", n, fac_n ); 14 return fac_n; 15 Falsch: Zum Zeitpunkt des Aufrufes ist der Prototyp der Funktion fac unbekannt.
10 Deklaration von Funktionen Wir können dem Compiler eine Funktion bekannt geben, indem wir sie deklarieren. Dazu schreiben wir den Prototypen der Funktion gefolgt von einem Semikolon. Syntax: type 0 identifier 0 ( type 1 identifier 1,..., type n identifier n ) ; Beispiel: int fac ( int n );
11 Implizite Deklaration von Funktionen Historisch mussten Funktionen nicht vor Benutzung deklariert werden: Sie wurden dann bei der ersten Verwendung implizit deklariert. Die Typen der Argumente kann der Compiler aus dem Aufruf ermitteln. Der Rückgabetyp wurde auf int festgelegt. Sie können zu zu schwer auffindbaren Fehlern führen. Seit C99 sind implizite Funktionsdeklarationen verboten. Warnung: Viele moderne Compiler (z.b. gcc Version 5) akzeptieren sie trotzdem. Sie geben lediglich eine Warnung aus.
12 Seiteneffekte Funktionen können Seiteneffekte haben. Beispiel: int fac ( int n ) int fac_n = 1; for( int i = 2; i <= n; i = i + 1 ) fac_n = fac_n * i; printf( "%d! = %d.\n", n, fac_n ); return fac_n; Hier wird bei jeder Berechnung das Ergebnis zusätzlich ausgegeben. Eine Funktion hat einen Seiteneffekt (engl. side effect), wenn Sie den Zustand des Programms verändert. Eine Funktion ohne Seiteneffekte heißt pur (engl. pure). In C gibt es keine Möglichkeit, Funktionen als pur zu kennzeichnen.
13 Der leere Datentyp void Manche Funktionen, etwa printf haben kein Ergebnis, sondern nur Seiteneffekte. Für diesen Fall gibt es den Datentyp void. Eine void-funktion muss nicht mit einer return-anweisung verlassen werden. Eine return-anweisung in einer void-funktion darf keinen Wert enthalten; sie lautet: return ; Beispiel: void print_fac ( int n ) printf( "%d! = %d.\n", n, fac( n ) );
14 Inhalt Funktionen Die Funktion main Gültigkeitsbereiche Rekursive Funktionen Beispiel: Ein kleiner Taschenrechner
15 Die Funktion main Beim Programmstart wird automatisch die Funktion main aufgerufen. Der Prototyp von main kann folgende Formen haben: int main () int main ( int argc, char *argv[] ) eine implementierungsabhängige Form Die zweite Form bekommt zusätzlich die Arguments, die auf der Kommandozeile angegeben werden. Ansonsten ist die Funktion main nicht besonders ausgezeichnet.
16 Programmargumente In der Form int main ( int argc, char *argv[] ) bekommt main die Arguments des Programms übergeben. argc Anzahl der Argumente (nichtnegativ) argv Feld der Länge argc von nullterminierten Strings Das erste Argument ist der Programmname (falls argc > 0). Er ist Implementierungsabhängig und kann leer sein (""). Das Programm darf die Stings in argv verändern.
17 Programmargumente Beispiel: #include <stdio.h> int main ( int argc, char *argv[] ) for( int i = 0; i < argc; i = i+1 ) printf( "argv[ %d ] = \"%s\"\n", i, argv[ i ] ); return 0; liefert folgende Ausgabe: $./args arg1 "argument 2" arg3 argv[ 0 ] = "./args" argv[ 1 ] = "arg1" argv[ 2 ] = "argument 2" argv[ 3 ] = "arg3"
18 Der Rückgabewert von main Der Rückgabewert von main gibt üblicherweise Auskunft über den Zustand des Programms bei Programmende. Die Datei stdlib.h definiert hierfür zwei Konstanten: EXIT_SUCCESS Das Programm wurde normal (erfolgreich) beendet. Unter Unix ist dieser Wert 0. EXIT_FAILURE Das Programm wurde aufgrund eines Fehlers beendet. Unter Unix kann dies eine beliebige, nichtverschindende Zahl sein. Die genaue Interpretation des Rückgabewertes ist nicht vorgeschrieben.
19 Inhalt Funktionen Die Funktion main Gültigkeitsbereiche Rekursive Funktionen Beispiel: Ein kleiner Taschenrechner
20 Gültigkeitsbereiche Variablen sind nicht global gültig, sondern nur in ihrem Gültigkeitsbereich (engl. scope). Der Gültigkeitsbereich einer (lokalen) Variablen ist der Block, in dem sie deklariert wurde. Außerhalb ihres Gültigkeitsbereiches ist die Variable nicht sichtbar und kann auch nicht verwendet werden. Beispiel: int s = 1; for( int i = 1; i <= 5; i = i + 1 ) int k = i*i; s = s + k; printf( "%d %d\n", s, k ); Fehler: k ist außerhalb des Schleifenrumpfes nicht mehr gültig.
21 Gültigkeitsbereiche Variablennamen können in jedem Block neu verwendet werden. In diesem Fall überdeckt die lokale Variable eine in einem umgebenden Block Gültigkeitsbereich (engl. scope). Beispiel: int s = 0; for( int i = 1; i <= 3; i = i + 1 ) int s = i*i; printf( "inner: %d\n", s ); printf( "outer: %d\n", s ); Ausgabe: inner: 1 inner: 4 inner: 9 outer: 0
22 Gültigkeitsbereich von Schleifenvariablen Beispiel: for( int i = 1; i <= 3; i = i + 1 ) printf( "inner: %d\n", s ); printf( "outer: %d\n", i ); Auch das ist falsch, denn die for-schleife ist äquivalent zu int i = 1; while( i <= 3 ) printf( "inner: %d\n", s ); i = i + 1; Also: Schleifenvariablen sind nur innerhalb der Schleife gültig.
23 Call-by-Value In C werden Argumente als Werte an Funktionen übergeben (call-by-value). Die Funktion kann sie nicht ändern. Beispiel: void initialize ( int a ) a = 0; int main () int a = 1; initialize( a ); printf( "a = %d\n", a ); /* a = 1 */ return 0; Die Funktion initialize besitzt eine Variable a, die mit dem Wert des Ausdrucks a initialisiert wird: 1. Offensichtlicher wird dies, wenn man beachtet, dass folgende Aufruf gültig ist: initialize( 1 ); Es gibt keinen Zusammenhang zwischen der Variablen a in initialize und der Variablen a in main.
24 Übergabe von Referenzen Manchmal möchte man aber Variablen beim Aufrufer verändern. In diesem Fall möchte man Referenzen übergeben (call-by-reference). In C muss man dies simulieren, indem man Zeiger auf die Variablen übergibt. Beispiel: void swap ( int *a, int *b ) int c = *a; *a = *b; *b = c; int main () int a = 1, b = 2; swap( &a, &b ); printf( "a = %d, b = %d\n", a, b ); /* a = 2, b = 1 */ return 0;
25 Übergabe von Feldern Eine Besonderheit stellen Felder als Argumente dar. Erinnerung: Ist a ein Feld vom Typ T, so ist der Ausdruck a vom Typ T. Beispiel: void f1 ( int x[] ); void f2 ( int x[ 5 ] ); void f3 ( int *x ); Alle drei Funktionsprototypen sind quivalent. Konsequenzen: Felder werden immer als Referenz übergeben. Die Anzahl der Feldelemente hat keinen Einfluss auf den Typ. Sie dient lediglich der Dokumentation.
26 Rückgabe von Feldern Funktionen können keine Felder zurückgeben. Lösungsmöglichkeiten: Das Feld für den Rückgabewert wird als Argument erwartet: void squares( int n, int s[] ) for( int i = 0; i < n; i = i + 1 ) s[ i ] = i*i; Man gibt einen Zeiger auf das Feld zurück (dynamische Speicherverwaltung). Man gibt einen benutzerdefinierten Datentyp zurück. Dynamische Speicherverwaltung und benutzerdefinierte Datentypen behandeln wir später.
27 Inhalt Funktionen Die Funktion main Gültigkeitsbereiche Rekursive Funktionen Beispiel: Ein kleiner Taschenrechner
28 Rekursive Funktionen Funktionen dürfen sich auch selber aufrufen. Damit lassen sich rekursive Algorithmen einfach implementieren. Beispiel: 1 double power ( double x, int n ) 2 3 if( n == 0 ) 4 return 1.0; 5 else 6 return x * power( x, n - 1 ); 7 Eine Rekursion braucht eine Abbruchbedingung (Zeile 2 3), sonst terminiert die Funktion nicht (vgl. Endlosschleife).
29 Rekursive Berechnung von Binomialkoeffizienten Die Formel ( ) n n! = k k! (n k)! ist für die Implementierung ungeeignet. Die Zahl n! wird schnell sehr groß: Bereits 13! = benötigt mehr als 32 Bit, um dargestellt zu werden. Hingegen ist ( ) 13 = 1716 relativ klein. 6 Die Binomialkoeffizienten lassen sich aber auch rekursiv berechnen. Für 0 < k < n gilt: ( ) ( ( ) n + 1 n n = +. k + 1 k) k + 1
30 Rekursive Berechnung von Binomialkoeffizienten Für 0 < k < n gilt: ( n = k) ( ) n 1 + k 1 ( ) n 1. k Beispiel: int binomial ( int n, int k ) if( (k == 0) (k == n) ) return 1; else return binomial( n-1, k-1 ) + binomial( n-1, k );
31 Divide and Conquer Klassisches Anwendungsfeld für Rekursion ist das Zerlegen großer Probleme in kleinere ( Teile und Herrsche ). Beispiel: /* let x be a sorted array */ /* find the position of i in the interval [begin,end) */ int binary_search ( int x[], int begin, int end, int i ) if( begin >= end ) /* empty interval */ return -1; const int mid = (end - begin) / 2; if( i == x[ mid ] ) return mid; if( i < x[ mid ] ) return binary_search( x, begin, mid ); else return binary_search( x, mid+1, end );
32 Endrekursion Ist der rekursive Aufruf die letzte (elementare) Instruktion, so sprechen wir von einer Endrekursion (engl. tail-recursion). Beispiel: void power_impl ( double x, int n, double *result ) if( n == 0 ) return; *result = *result * x; power_impl( x, n - 1, result ); double power ( double x, int n ) double result = 1.0; power_impl( x, n, &result ); return result;
33 Endrekursion Bei einer Endrekursion kann der rekursive Aufruf durch einen Sprung an den Funktionsanfang ersetzt werden. Beispiel: void power_impl ( double x, int n, double *result ) start: if( n == 0 ) goto end *result = *result * x; n = n - 1; goto start end: Dies ist äquivalent zu void power_impl ( double x, int n, double *result ) for( ; n!= 0; n = n - 1 ) *result = *result * x;
34 Endrekursion Eine Endrekursion ist damit äquivalent zu einer Schleife. Die Behauptung, Rekursion sei weniger effizient als eine Schleife ist daher i.a. falsch. Das Umwandeln einer Endrekursion in eine Schleife ist ein Beispiel für eine Compiler-Optimierung. Der übersetzte Code wird dadurch effizienter. Achtung: Unser ursprüngliches Beispiel ist nicht endrekursiv. double power ( double x, int n ) if( n == 0 ) return 1.0; else return x * power( x, n - 1 ); Hier muss nach dem Aufruf von power noch das Ergebnis mit x multipliziert werden.
35 Inhalt Funktionen Die Funktion main Gültigkeitsbereiche Rekursive Funktionen Beispiel: Ein kleiner Taschenrechner
36 Beispiel: Ein kleiner Taschenrechner Wir können jetzt bereits sehr mächtige Programme schreiben. Im folgenden soll ein kleiner Taschenrechner vorgestellt werden. Dieser liest einen Ausdrücke vom Benutzer, wertet diese aus und gibt das Ergebnis aus. Eigenschaften: Er beherrscht die Grundrechenarten. Er beachtet Punktrechnung vor Strichrechnung. Er bisitzt 26 Variablen (a z), die jederzeit zugewiesen werden können.
37 Grammatik Grammatik: expression assignexpr assignexpr, expression assignexpr letter = assignexpr addexpr addexpr mulexpr + addexpr mulexpr - addexpr mulexpr preexpr * mulexpr preexpr / mulexpr preexpr - preexpr + preexpr powexpr powexpr powexpr ^ terminal terminal terminal ( expression ) letter float mulexpr preexpr White Space soll ignoriert werden.
38 Eingabebeispiel $./calc 1+2*2^ a=4,b=3,a*b (b-a)*(a+b) ^ i=1,j= k=i,i=j,j=j+k k=i,i=j,j=j+k k=i,i=j,j=j+k k=i,i=j,j=j+k k=i,i=j,j=j+k $
39 Die Funktion main int main () double vars[ 26 ]; for( int i = 0; i < 26; i = i + 1 ) vars[ i ] = 0.0; while( true ) char line[ 256 ]; getline( line, sizeof( line ) ); if( line[ 0 ] == \0 ) return 0; double result; const char *end = evalexpr( line, vars, &result ); if( end[ 0 ]!= \0 ) printf( "Error: Trailing characters \"%s\".\n", end ); abort(); else printf( "%lf\n", result );
40 Die Funktion evalexpr Die Funktion evalexpr wertet einen Ausdruck aus. const char *evalexpr ( const char *s, double *vars, double *result ) s = evalassign( s, vars, result ); while( s[ 0 ] ==, ) s = evalassign( s+1, vars, result ); return s; Argumente: s Zeiger auf Anfang des auszuwertenden Ausdrucks vars Feld für die 26 Variablen result Zeiger auf Variable für das Ergebnis Rückgabewert: Zeiger auf erstes nicht ausgewertetes Zeichen Für jede Regel in der Grammatik gibt es eine solche Funktion.
41 Die Funktion evalterminal const char *evalterminal ( const char *s, double *vars, double *result ) if( s[ 0 ] == ( ) s = evalexpr( s+1, vars, result ); if( s[ 0 ]!= ) ) printf( "Error: \ )\ expected.\n" ); abort(); else return s+1; else if( (s[ 0 ] >= a ) && (s[ 0 ] <= z ) ) *result = vars[ s[ 0 ] - a ]; return s+1; else char *end; *result = strtod( s, &end ); if( end == s ) printf( "Error: Terminal expression expected.\n" ); abort(); return end;
42 Zwei weitere Funktionen als Beispiel const char *evalpowexpr ( const char *s, double *vars, double *result ) s = evalterminal( s, vars, result ); while( s[ 0 ] == ^ ) const double base = *result; s = evalterminal( s+1, vars, result ); *result = pow( base, *result ); return s; const char *evalmulexpr ( const char *s, double *vars, double *result ) s = evalprefixexpr( s, vars, result ); while( (s[ 0 ] == * ) (s[ 0 ] == / ) ) const double v = *result; const char op = s[ 0 ]; s = evalprefixexpr( s+1, vars, result ); if( op == * ) *result = v * (*result); else *result = v / (*result); return s;
43 Autoren Autoren die an diesem Skript mitgewirkt haben: : Christoph Gersbacher : Patrick Schön 2016 : Martin Nolte This work is licensed under a Creative Commons Attribution- ShareAlike 4.0 International (CC BY-SA 4.0) License.
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 7: Matrizen, Vektoren und dynamische Speicherverwaltung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg
MehrVerwendung 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
MehrProgrammiertechnik. 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
MehrProgrammiersprachen 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
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung
MehrProgrammiersprache 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,
Mehr7 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
MehrProgrammierung 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
Mehr2. 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)
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
Mehr2. 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)
MehrC++ 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Ü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
MehrMethoden. 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
Mehr10 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
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
Mehr2. 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
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrWiederholung 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
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrC++ - 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,
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrC-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)
Mehr1.4. Funktionen. Objektorientierte Programmierung mit C++
mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 1 Einführung Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Inhalte der Veranstaltung 1 Einführung das Maschinenmodell
MehrDAP2 Praktikum Blatt 1
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1
MehrVorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrInformatik I - Übung 2 Programmieren in Eclipse
Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen dhentzen@student.ethz.ch 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung
Mehr4.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):
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrC# - 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
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrZeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
MehrMethoden 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)
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
MehrProzeduren vs. Funktionen
Prozeduren vs. Funktionen Mit der Formalisierung wird auch der Unterschied zwischen Prozeduren und Funktionen noch einmal klar. Der Aufruf beider Varianten bewirkt zunächst das Gleiche: die Eingabevariablen
MehrSystempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom Foliensatz 2
Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 29.10. Foliensatz 2 Modularisierung (T) Eigene Headerdateien und Bibliotheken (P) Arten der Parameterübergabe (P) Arrays und Strukturen
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrComputergrundlagen Programmieren in C
Die Compilersprache C Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Geschichte D. M. Ritchie, *1941 1971-73: Entwickelt von
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrGrundlagen der Programmierung in C Funktionen
Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrProbeklausur 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Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()
Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrProgrammieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff
Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben
MehrProgrammieren 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;
MehrInformatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen
Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,
MehrThemen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente
Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden
MehrSpeicherklassen (1) Lokale Variablen
Speicherklassen (1) Lokale Variablen Lokale Variablen beschränken sich auf die Funktionen, in denen sie definiert werden Sind in der Funktion gekapselt können also nur in der Funktion verändert werden
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 2: Variablen, Datentypen und formatierte Ein-/Ausgabe Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden
Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");
MehrGlobale Variablen Diverses. Globale Variablen. Globale Variablen
lokale Variablen Variablen bisher nur am Anfang von Funktionen auch erlaubt: am Anfang innerer Codeblöcke (innerhalb geschweifter Klammern) in C99 und als gcc-erweiterung: an beliebiger Stelle innerhalb
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrOutline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik
Outline 1 Einleitung 2 Einführung in C 3 Fortgeschrittenes in C 4 Einführung in Emacs Lisp 5 Einführung in Prolog 6 Formale Semantik Imperative Programmierung Imperatives Paradigma Ziel: Ablaufbeschreibung
MehrC++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
MehrC/C++-Programmierung
1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrProgrammiertechnik Kontrollstrukturen
Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,
MehrAlgorithmen 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
MehrFelder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden
Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Dim arrayname (dim1,dim2, ) As Typ Bei eindimensionalen Feldern
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrFolien zur AG: Objektorientiertes Programmieren in C++ Einheit 5: Funktionen. Michael Hahsler, Gottfried Rudorfer und Werner J.
Folien zur AG: Objektorientiertes Programmieren in C++ Einheit 5: Funktionen Michael Hahsler, Gottfried Rudorfer und Werner J. Schönfeldinger 4. Dezember 2000 1 Aufbau dieser Einheit Aufbau von Funktionen
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrEinführung in die Programmierung Wintersemester 2010/11
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 : Rekursion Inhalt Rekursion: Technik Rekursion
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.
MehrFH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz
FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:
MehrModul 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
MehrTeil 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
MehrFunktionen 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
MehrC++ - 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
Mehr2. 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)
MehrZeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt
Zeichenketten (1) Literale Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt "Hallo Welt" Mehrere solcher Literale gelten als eine Zeichenkette, wenn sie nur durch Whitespaces (Leerzeichen,
MehrFunktionen, Zeiger und Arrays in C Software Entwicklung 1
Funktionen, Zeiger und Arrays in C Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Funktionen Mit Hilfe von Funktionen kann man (wie mit Prozeduren bzw. Methoden in Java) eine Problemstellung
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrVorlesung Objektorientierte Programmierung Klausur
Prof. Dr. Stefan Brass 16. Februar 2007 Dipl.-Inform. Annett Thüring Institut für Informatik MLU Halle-Wittenberg Vorlesung Objektorientierte Programmierung Klausur Name: Matrikelnummer: Studiengang: Aufgabe
MehrC-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi
1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen
MehrProgrammier-Befehle - Woche 10
Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten
MehrEinführung in Java. Arne Hüffmeier. Angelehnt an Java-Vorkurs der Freitagsrunde. Methoden implementieren. Michelle Liebers, Dennis Hoffmann
Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 44 1 Methoden implementieren Motivation Aufbau einer Methode
Mehr