Einführung in C. Kammerer. Einführung in C. Roland Kammerer. Institut für Technische Informatik Technische Universität Wien. 3. & 4.
|
|
- Eike Falk
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung in C Roland Institut für Technische Informatik Technische Universität Wien 3. & 4. Oktober 2011
2 Einleitung Historisches Warum C? Standards Erste Schritte Teil I Einleitung
3 Historisches Einleitung Historisches Warum C? Standards Erste Schritte 1964: MIT, General Electrics, Bell Labs und AT&T wollten neues Betriebssystem entwickeln (Multics) 1969: Zu teuer eingestellt Gruppe um Ken Thompson sucht Alternativen zu Multics und will das System in Assembler/Assembly entwickeln nicht portabel zeitaufwändig fehleranfällig Alternativen zu Assembler wurden gesucht. C entwickelte sich als Nachfolger der Sprache B
4 Historisches Einleitung Historisches Warum C? Standards Erste Schritte 1964: MIT, General Electrics, Bell Labs und AT&T wollten neues Betriebssystem entwickeln (Multics) 1969: Zu teuer eingestellt Gruppe um Ken Thompson sucht Alternativen zu Multics und will das System in Assembler/Assembly entwickeln nicht portabel zeitaufwändig fehleranfällig Alternativen zu Assembler wurden gesucht. C entwickelte sich als Nachfolger der Sprache B
5 Historisches Einleitung Historisches Warum C? Standards Erste Schritte 1964: MIT, General Electrics, Bell Labs und AT&T wollten neues Betriebssystem entwickeln (Multics) 1969: Zu teuer eingestellt Gruppe um Ken Thompson sucht Alternativen zu Multics und will das System in Assembler/Assembly entwickeln nicht portabel zeitaufwändig fehleranfällig Alternativen zu Assembler wurden gesucht. C entwickelte sich als Nachfolger der Sprache B
6 Warum C? Einleitung Historisches Warum C? Standards Erste Schritte Früher: Heute: Portabilität Erweiterbarkeit durch Libraries Performance (vgl. Betriebssystem-Kernel: Windows, Linux, BSDs,... ) Viele Libraries vorhanden Hardwarenahe Programmierung Computergraphik, Spiele Auch moderne Interpreter in C geschrieben (Python, Perl, Ruby,... ) Viele Generatoren erzeugen C-Code (z.b. Matlab/Simulink)
7 Warum C? Einleitung Historisches Warum C? Standards Erste Schritte Früher: Heute: Portabilität Erweiterbarkeit durch Libraries Performance (vgl. Betriebssystem-Kernel: Windows, Linux, BSDs,... ) Viele Libraries vorhanden Hardwarenahe Programmierung Computergraphik, Spiele Auch moderne Interpreter in C geschrieben (Python, Perl, Ruby,... ) Viele Generatoren erzeugen C-Code (z.b. Matlab/Simulink)
8 Standards Einleitung Historisches Warum C? Standards Erste Schritte 1978: Quasistandard durch Ritchie und Kernighan im Buch C Programming Language 1988: ANSI-C bzw. C : C-99 (nicht von allen Compiliern implementiert) heute: Neuer Quasistandard (zumindest in der Free/OpenSource Welt) durch gcc 1 und gnu extensions Wobei selbst gnu-extionsions teilweise nur informell spezifiziert sind 1
9 Hello, C World Einleitung Historisches Warum C? Standards Erste Schritte #include <stdio.h> int main() { printf("hallo, C World\n"); } return 0;
10 Kompiliervorgang Einleitung Historisches Warum C? Standards Erste Schritte Source Code muss in Maschinensprache übersetzt werden Code Präprozessor Compiler Linker $ gcc -o prog prog.c # alles in einem Schritt $./prog # Programm starten
11 Kommentare Einleitung Historisches Warum C? Standards Erste Schritte /* Ich bin ein Kommentar in ANSI-C */ // Ich einer aus dem C-99-Standard // Ich ende immer am Zeilenende /* ich darf mehrere Zeilen brauchen */
12 Variablen & Definition Initialisierung Typen Scope static & co Operatoren Teil II Variablen &
13 Variablen & Definition Initialisierung Typen Scope static & co Operatoren Variablen haben einen Typ Dieser Typ muss dem Compiler bekannt gemacht werden Bekanntgabe bei der darf mehrmals vorkommen Nicht jede ist eine Definition
14 Definition Variablen & Definition Initialisierung Typen Scope static & co Operatoren Für Variablen muss Speicherplatz reserviert werden Das passiert bei der Definition Definition darf nur einmal im Code vorkommen Oft wird zwischen und Definition nicht unterschieden Es wird für beides der Begriff verwendet Jede Definition ist eine
15 Initialisierung Variablen & Definition Initialisierung Typen Scope static & co Operatoren Nachdem eine Variable einen Speicherplatz hat, ist der anfängliche Inhalt noch undefiniert (oder wurde schon zur Compilezeit in einen vorinitialisierten Speicherbereich gelegt) Initialisierung weist der Variablen einen Wert zu
16 Variablen & Definition Initialisierung Typen Scope static & co Operatoren int i; /* Integer Variable i, + Definition */ extern int j; /*, Definition wo anders */ int k = 23; /* hier mit Initialisierung */
17 Definition//Initialisierung von Variablen Variablen & Definition Initialisierung Typen Scope static & co Operatoren int i; int i, j, k; int i, j = 23, k = 42; /* Korrekt, schlechter Stil */ int i, char b; /* Fehler */ int i; char b; /* Korrekt */ Zuweisung erfolgt mit =
18 Variablen & Definition Initialisierung Typen Scope static & co Operatoren Ganze Zahlen char: 1 Byte (Byte muss laut Standard nicht 8 Bit lang sein). Wird oft zum Speichern von Zeichen und Strings verwendet short int: Mindestens 16 Bit int: natürliche Größe, meist 32 oder 64 Bit long int: Mindestens 32 Bit long long int: Mindestens 64 Bit. Erst ab C-99. Tatsächliche Größe in <limits.h> ersichtlich Mit C-99 wurden standardisierte Typen eingeführt (<stdint.h>) Es gibt vorzeichenlose und vorzeichenbehaftete Varianten (zb. signed int, unsigned int) Literale können hexadezimal (0x als präfix) und oktal (0 als präfix) angegeben werden (zb: 0x8, 024)
19 Fließkommazahlen Variablen & Definition Initialisierung Typen Scope static & co Operatoren float: einfache Genauigkeit double: doppelte Genauigkeit long double: erweiterte Genauigkeit Über die interne Darstellung wird im Standard keine Aussage getroffen Kein Unterschied zwischen vorzeichenbehaftet und vorzeichenlos immer vorzeichenbehaftet
20 Wertebereich Variablen & Definition Initialisierung Typen Scope static & co Operatoren Ob eine Variable vorzeichenbehaftet oder vorzeichenlos verwendet wird, entscheidet über ihren Wertebereich. Die gezeigten Wertebereiche sind nicht im Standard spezifiziert, sie dienen der Veranschaulichung. Type signed unsigned char -128 bis bis 255 short int bis bis long int bis 0 bis
21 sizeof Variablen & Definition Initialisierung Typen Scope static & co Operatoren Der Operator sizeof wird zur Ermittelung des Speicherbedarfs verwendet int i; printf("%i Byte(s)\n", sizeof i); printf("%i Byte(s)\n", sizeof (int));
22 Variablen & Definition Initialisierung Typen Scope static & co Operatoren #define MYCONST (23) /* oder */ const int i = 23; MYCONST wird vom Präprozessor ersetzt. Erklärung des Präprozessors folgt später const definiert eine typisierte Konstante im Code. Darf/Kann nicht geändert werden const gibt dem Compiler im Normalfall bessere Optimierungsmöglichkeiten
23 Variablen & Definition Initialisierung Typen Scope static & co Operatoren Scope Vor C-99 mussten Variablen am Anfang eines Blocks deklariert werden Variablen sind innerhalb ihres Blocks sichtbar #include <stdio.h> int main() { int i = 23, j = 42; { int i; i = 2323; printf("%d, ", i); printf("%d, ", j); } printf("%d\n", i); return 0; } $ 2323, 42, 23
24 Variablen & Definition Initialisierung Typen Scope static & co Operatoren static static weist einer Variablen einen festen Speicherplatz zu. Sie merkt sich dadurch ihren Zustand #include <stdio.h> void foo() { static int i = 23; printf("%d, ", i); i = i + 1; } int main() { foo(); foo(); foo(); printf("\n"); return 0; } $ 23, 24, 25
25 volatile Variablen & Definition Initialisierung Typen Scope static & co Operatoren Variable kann sich außerhalb des Programmkontexts ändern Wichtig für hardwarenahe Programmierung (z.b. Interrupts die Inhalt einer Variablen ändern) volatile char keypressed = ; long count = 0; while (keypressed!= x ) { count++; } Ohne volatile würde der Compiler die while-schleife zu while(1) optimieren, da sich aus seiner Sicht keypressed nicht ändern kann.
26 register Variablen & Definition Initialisierung Typen Scope static & co Operatoren Hinweis für den Compiler dass er den Inhalt in ein Register legen soll Wird in der Praxis kaum verwendet
27 Beispiel Variablen & Definition Initialisierung Typen Scope static & co Operatoren extern const volatile unsigned long int rt_clk; Eine long int Variable ohne Vorzeichen, deren Inhalt man nicht zuweisen kann (von der man aber lesen kann), deren Inhalt sich außerhalb des Programmkontexts ändern kann, die an einer anderen Stelle definiert wird
28 Increment/Decrement Variablen & Definition Initialisierung Typen Scope static & co Operatoren Mit ++ und -- können Variablen um eins erhöht bzw. vermindert werden Präfix (++i) und postfix (i++) sind möglich Nach Möglichkeit präfix verwenden (auch im Hinblick auf C++)
29 Rangfolge/Assoziativität 2 Variablen & Definition Initialisierung Typen Scope static & co Operatoren c = sizeof (x) + ++a / 3; c = (sizeof (x) + ((++a) / 3)); a = ; a = (7-6) + 8; /* links nach rechts */ i = 3; a = i + i++; /* i == 4, a ==? (laut Standard implementierungsabhaengig!) */ man operator 2
30 Logische Operatoren Variablen & Definition Initialisierung Typen Scope static & co Operatoren Operator Bedeutung < kleiner als > größer als <= kleiner oder gleich >= größer oder gleich!= ungleich == gleich && logisches und logisches oder! Negation und && werden short circuit ausgewertet
31 Bitweise Operatoren Variablen & Definition Initialisierung Typen Scope static & co Operatoren Operator Bedeutung & und oder exklusives oder (xor) Einerkomplement >> Rechs-Shift << Links-Shift Für alle Operatoren (bitweise und logisch) existieren die Versionen Op= (z.b. i += 5) Bei obigem Beispiel gilt: i = i + 5; hat den gleichen Effekt wie i += 5;
32 Shift Variablen & Definition Initialisierung Typen Scope static & co Operatoren << und >> zum bitweisen shiften unsigned char i = 7; /* */ i <<= 1; /* */ printf("%d\n", i); /* 14 */ printf("%d\n", 1 << 7); /* 128 == 2 hoch 7 */ Bei vorzeichenbehafteten Variablen bleibt das Vorzeichen erhalten int i = -7; i <<= 1; printf("%d\n", i); /* -14 */
33 Variablen & Definition Initialisierung Typen Scope static & co Operatoren unsigned char a, b, c; a = 4; b = 2; /* binär: a = 100, b = 010 */ c = a b; /* c == 6 */ b = a & c; /* b == 4 */ a += 3; /* a = a + 3 */ b %= 3; /* b = b % 3 (% == modulo div) */ b = 0; if ( (b > 0) && ( (a / b) > 5) ) /*... */
34 Strukturen zur Kontrolle if switch for while/do-while continue/break Teil III Strukturen zur Kontrolle
35 if Strukturen zur Kontrolle if switch for while/do-while continue/break if (expression) statement else if (expression) statement else if (expression) statement /*... */ else statement In C gilt: 0 ist false, alles andere ist true (z.b. auch -1) Ratschlag: Nie auf die Klammerung von statement-blöcken vergessen/verzichten. Am besten auch einzeilige Statements in {} einschließen
36 switch Strukturen zur Kontrolle if switch for while/do-while continue/break switch (expression) { case const-expr: statements case const-expr: statements /*... */ default: statements } Es dürfen nur als Vergleichswert verwendet werden Man sollte einen case immer mit break abschließen, sonst rutscht man in den nächsten case (siehe am Ende) Es sollte immer ein default case vorhanden sein
37 for Strukturen zur Kontrolle if switch for while/do-while continue/break for (expression1; expression2; expression3) statement Alle drei Expressions sind optional. Normalfall: expression1: Initialisierung des Zählers expression2: Überprüfung ob die Schleife fortgesetzt werden soll expression3: Den Zähler erhöhen
38 while/do-while Strukturen zur Kontrolle if switch for while/do-while continue/break while (expression) statement do statement while (expression); Bei do-while wird statement zumindest einmal ausgeführt
39 continue/break Strukturen zur Kontrolle if switch for while/do-while continue/break continue setzt beim nächsten Schleifendurchlauf der innersten Schleife fort. expression3 wird ausgeführt, expression2 wird überprüft (siehe for-schleife) break verläßt die innerste Schleife und setzt nach ihr fort. expression3 wird nicht mehr ausgeführt
40 Strukturen zur Kontrolle if switch for while/do-while continue/break int i; for (i = 0; i < 10; ++i) { printf("hallo\n"); } switch (input) { case a : case A : printf("a oder A\n"); break; default: printf("fehler"); break; } i = 23; if (i == 42) { printf("i ist 42\n"); }
41 Arrays Eindimensional Mehrdimensional Initialisierung Strings Teil IV Arrays
42 Eindimensional Arrays Eindimensional Mehrdimensional Initialisierung Strings Arrays werden zum Zusammenfassen von verwandten Werten gleichen Typs verwendet Typ Name[Größe]; int myarray[8]; myarray bietet Platz für 8 Integer Variablen Index von 0 bis 7 myarray[8] out-of-bounds
43 Mehrdimensional Arrays Eindimensional Mehrdimensional Initialisierung Strings Arrays können mehrere Dimensionen haben In C eigentlich syntactic sugar int myarray[2][3]; int myarray2[2][3][4];
44 Initialisierung Arrays Eindimensional Mehrdimensional Initialisierung Strings int myarr[2][3]= { {1,2,3}, {4,5,6}, }; int myarr2[2][3] = {1,2,3,4,5,6}; /* erste Version ist vorzuziehen */ int myarr3[] = {1, 2, 3, 4}; /* bei vollständiger Initialisierung kann die Größe weggelassen werden */
45 Strings Arrays Eindimensional Mehrdimensional Initialisierung Strings Strings sind in C Arrays von Zeichen (chars) Strings sind per Definition immer \0 terminiert. Essentiell für Funktionen die mit Strings arbeiten. Sie erkennen so das Ende eines Strings char string[] = "hallo, welt"; /* string is auto \0 terminated */ char s[6]; s[0] = h ; s[1] = a ; s[2] = l ; s[3] = l ; s[4] = o ; s[5] = \0 ; char str[] = { f, o, o, b, a, r, \0 }; printf("%s\n", s); /* prints "hallo" */ s[3] = \0 ; printf("%s\n", s); /* prints "hal" */
46 Funktionen Definition Globale und lokale Variablen Teil V Funktionen
47 Funktionen Definition Globale und lokale Variablen Definition von Funktionen Rückgabetyp Funktionsname(Parameterliste) { Anweisungen } Dienen der Lesbarkeit, Wiederverwendbarkeit und Wartbarkeit Müssen vor ihrer Verwendung bekannt gemacht werden int add(int a, int b) { return a + b; } int main() { int i; i = add(2, 3); /* i == 5 */ return 0; }
48 Funktionen Definition Globale und lokale Variablen Prototypen Wie bei Variablen wird zwischen Definition und unterschieden Ein Prototyp stellt eine dar und wird mit ; abgeschlossen /* Prototyp */ int add(int a, int b); /* int add(int x, int v); genau so gültig */ /* int add(int, int); ebenfalls OK */ /* int add(double, int); Falsch, später anderer Typ */ int main() { int i; i = add(2, 3); /* i == 5 */ return 0; } /* jetzt darf add nach dem Aufruf definiert werden */ int add(int a, int b) { return a + b; }
49 Global vs. lokal Funktionen Definition Globale und lokale Variablen Lokale Variablen sind nach dem Verlassen ihrer Funktion/ihres Blocks nicht mehr sichtbar Globale Variablen (außerhalb von Funktionen deklariert, meist am Anfang des Sourcecodes) behalten ihre Gültigkeit bis zum Ende des Programms Lokale Variablen überdecken globale Variablen Lokale Variablen beinhalten beim Deklarieren einen zufälligen Wert Globale Variablen werden in einen Speicherbereich abgelegt der mit 0 initialisiert ist
50 Funktionen Definition Globale und lokale Variablen int i; int j = 23; void foo() { int j = 42; printf("%d\n", j); /* 42 */ } int main() { int k; printf("%d\n", j); /* 23 */ foo(); printf("%d\n", i); /* 0 */ printf("%d\n", k); /* 1863 (zufällig) */ return 0; }
51 Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren Teil VI Pointer
52 Allgemeines Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren In C müssen Variableninhalte nicht über ihren Namen angesprochen werden Dies kann auch mit Pointern geschehen Pointer sind keine black magic, sie sind Variablen wie andere Variablen auch Unterschied: In ihnen ist eine Adresse gespeichert Wichtig für hardwarenahe Programmierung (Geschwindigkeitsvorteil) Leider auch extrem fehleranfällig Aber die coolen neuen Sprachen haben gar keine Pointer!!11 : Falsch, sie verstecken sie nur vor dem Programmierer/der Programmiererin
53 Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren Pointer werden mit Typ *name deklariert Es wird nicht Speicher für eine Variable des Typs Typ alloziert, sondern ein Speicherbereich für den Typ Typ *, in dem eine Adresse gespeichert werden kann. Auf den Inhalt auf den ein Pointer zeigt, greift man mit dem Dereferenzierungsoperator * zu Auf die Adresse einer Variable greift man mit dem Adressoperator & zu int *p; /* ich bin ein pointer */ int* q; /* ich auch */ int* a, b; /* a ist ein pointer b aber _nicht_ */ int *a, b; /* a ja, b nein, aber besserer Stil */ int *a, *b; /* a und b sind Pointer */
54 Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren Speicherlayout int *a; int b = 17; a = &b; printf("inhalt b: %d\n", b); /* 17 */ printf("adresse b: %p\n", &b); /* 1462 */ printf("inhalt a: %p\n", a); /* 1462 */ printf("inhalt auf den a zeigt: %d\n", *a); /* 17 */ printf("adresse von a: %p\n", &a); /* 874 */
55 Einfache Pointerarithmetik Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren int ar[5] = {1, 2, 3, 4, 5}; int *p; p = &ar[0]; /* auch p = ar; wäre möglich, aber IMHO schlechter Stil */ printf("%d\n", *p); /* 1 */ *p += 22; printf("%d\n", ar[0]); /* 23 */ p += 1; /* Pointer zeigt auf das naechste Element */ printf("%d\n", *p); /* 2 */
56 Pointer und man Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren $ man strcpy /* Ausgabe von "man strcpy" */ char *strcpy(char *dest, const char *src); /* mein C Code */ char *mysrc = "mystring"; char *mydest = /* momentan egal. Annahme: es ist genug Speicher vorhanden*/ strcpy(mydest, mysrc); /*? */ /* oder doch eher */ strcpy(*mydest, *mysrc); /*? */ man-page liest man so: strcpy will Variablen in denen Adressen stehen (*dest, *src). Wo seht die Adresse? In den Pointern, also muss man sie nicht dereferenzieren. strcpy(mydest, mysrc)
57 Gefahren von Pointern Pointer Allgemeines Speicherlayout Arithmetik man-pages Gefahren Pointerarithmetik kann gefährlich werden wenn man nicht mit der nötigen Sorgfalt arbeitet Achtung: Null-Pointer-Dereferencing war 2009 das häufigste Sicherheitsproblem bei Red Hat 3 int ar[5] = {1, 2, 3, 4, 5}; int *p = &ar[0]; /* so sicher nicht! */ p += 23; /* möglicherweise ein Problem */ printf("%d\n", *p); /* FAIL */ p = NULL; printf("%d\n", *p); /* FAIL */ 3
58 Material Teil VII Material
59 Material Material C Programming Language - Kernighan & Ritchie Ausblick Präprozessor, Makros typedefs, structs, unions, casts, inline, void Speicherlayout, Alignment modulare Programmierung (extern, Header Dateien,... ) Funktionen und Pointer (als Argumente und return-wert), Funktionspointer
OSUE Einführung in C. Denise Ratasich. März /60. basierend auf Slides von Roland Kammerer, Bernhard Frömel
1/60 Denise Ratasich basierend auf Slides von Roland Kammerer, Bernhard Frömel Institut für Technische Informatik Technische Universität Wien - 182.709 Betriebssysteme UE SS16 März 2016 2/60 Einleitung
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
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).
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrÜbung 9 - Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
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
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrPropä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
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
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)
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
Mehr1.4.12 Sin-Funktion vgl. Cos-Funktion
.4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten
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
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
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
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
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;
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrEinführung in die Programmierung
: Inhalt 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 Wiederholungen - while - do-while - for
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen
Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrProseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
MehrC-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die
MehrFelder, Rückblick Mehrdimensionale Felder. Programmieren in C
Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrNumerische Datentypen. Simon Weidmann
Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die
MehrDLLs (dynamic loaded libraries) mit MingW erstellen
DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrDatentypen: Enum, Array, Struct, Union
Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
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
MehrEinfü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
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrFallunterscheidung: if-statement
Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrHandbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern
Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Dateiname: ecdl_p2_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 2 Tabellenkalkulation
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrGrundlagen der Informatik
Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrC++-Zusammenfassung. H. Schaudt. August 18, 2005
C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:
MehrTutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrProgrammierung mit NQC: Kommunikation zwischen zwei RCX
Programmierung mit NQC: Kommunikation zwischen zwei RCX Teil : Grundlagen Martin Schmidt 7. Februar 24 Teil : Grundlagen Zahlensysteme : Binärsystem Ziffern: und Bit = binary digit (Binärziffer) Einfach
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrUnterprogramme. 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
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrIngenieurinformatik Diplom-FA (Teil 2, C-Programmierung)
Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrWirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrDas Leitbild vom Verein WIR
Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich
MehrDr. Monika Meiler. Inhalt
Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrI.1 Die Parrot Assemblersprache
I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen
MehrEva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines
MehrWie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
MehrKlausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten
Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis
Mehr