|
|
Beispiele
aus Seminar und Praktikum: P01
Fotowiderstand mit Servo nachführen P02
Reaktionszeit messen P03
Ein-Knopf-Taschenrechner P04
Klangausgabe P05
Infrarot-Fernbedienung S03
Temperatursensor des MSP430 Praktikumsaufgaben
WS 2011/2012 P1B
Zahlenschloss mit Display und Joystick programmieren P2B
Tic tac toe mit Microcontroller als Gegner P3B
Quicksort, Selection Sort, Bubble Sort; Laufzeitkomplexität P1
Küchentimer mit Embedded Controller 12:11 P2
Mini-Routenplaner mit Embedded Controller 8:41 P3
Datumsdifferenz in Tagen mit Embedded Controller
6:38 Informatik-Praktikum,
Aufgaben WS 2014-2015 3:40
|
Mo, 29. Sep 14
|
1
|
Was ist ein
Computer? Erste Schritte. Skript
Grundlagen: S01
TI LaunchPad, erstes Programm 10:45 (Achtung: ältere
Version der Workbench) 01.01
Was ist ein Computer? 7:04 01.02
Binärsystem, Bit 5:17 01.03.1
Byte, Kilobyte 5:50 01.03.2
weiter Byte, Kilobyte 7:55 01.04
PC versus Embedded 10:04 01.05.1
C, Variablen, Typen 10:45 01.05.2
weiter C, Variablen, Typen 4:34 01.06.1
if-Verzweigung 10:22 01.06.2
weiter if-Verzweigung 1:47 01.07.1
while-Schleife 8:21 01.07.2
weiter while-Schleife, Endlosschleife 4:09
Ergänzungen: 01A.1
Terabyte und Tebibyte 9:18 01A.2
ein Zeichen gleich ein Byte, oder auch nicht 11:31 01A.3
Simulator, Debugger, Einzelschritt 14:56 01A.4
if-else-Verzweigung 17:55 Material 01B.1
Erste C-Programme, Zuweisung, Einzelschritt-Debugger, while, if
44:24 Material S01B
Wurzelberechnung in ganzen Zahlen; int, if, while
35:52 Material 01C.1
erste Schritte in C; Beispiele mit while-Schleifen
44:00 01C.1_Material.zip 01C.2
Geltungsbereich von Variablen; Blöcke 6:08 01C.3
verschachtelte if-Verzweigungen; ist Wert zwischen Grenzen
20:22 01C.4
verschachtelte if-Verzweigungen; kleinsten Wert finden
6:40 01C.5
prüfen, ob Zweierpotenz
8:21 01C.2,3,4,5_Material.zip 01D.1
Bit, Byte, Kilobyte, Beispielrechnungen 3:12 01D.2
Variable auf 0 bis 100 eingrenzen 8:03 01D.3
von drei Variablen den größen Wert 5:21 01D.4
Tarifberechnung mit Rabatt und Limit 6:21 01D.5
Summe 1 bis 100; Summe 1²-2²+3²-+...; Fakultät
11:53 01D.1_5_Material.zip
|
M0, 6. Okt 14
|
2
|
Operatoren,
Programmiersprachen, Ablaufdiagramme Skript
Grundlagen: 02.01
Zahlensysteme in C 8:51 02.02.1
Operatoren in C 10:13 02.02.2
Operatoren in C, Short Circuit, Präzedenz 10:12 02.03
Inkrement, Dekrement, Compound Assignment 4:57 02.04.1
Zoo der Programmiersprachen 8:42 02.04.2
JavaScript, PHP, BASIC, Assembler, MATLAB(R) 9:50 02.04.3
grafische Programmierung, Simulink, Datenflussdiagramm 3:33
02.04.4
Pseudocode 1:48 02.05
imperative Programmiersprachen, Skriptsprachen, dynamische
Typisierung 9:26 02.06_7
Flussdiagramm, Struktogramm 9:56
Ergänzungen: 02A.1
Programmablaufplan, Flussdiagramm, Activity Diagram, Maximum
bestimmen 27:44 02A.2
Flussdiagramm, Primzahltest 24:28 Material 02B.1
Operatoren, Präzedenz, Short-Circuit-Auswertung
22:08 02B.2
Flussdiagramm, Struktogramm, Eingabe in Schleife 24:04 02C.1
Reihenfolge von plus, mal, geteilt usw. in C 9:34 02C.2
Reihenfolge von und, oder, mal, geteilt usw. in C 8:30 02C.3
Hexadezimalzahlen; bitweise Operationen
13:05 02C.1,2,3_Material.zip 02C.4
stückweise lineare Formel programmieren 8:29 02C.5
Teiler zählen; Flussdiagramm; Struktogramm
16:05 02C.4,5_Material.zip 02C.6
nochmal Hexadezimalzahlen; bitweise Operationen 12:46 02C.7
Anwendung von bitweisen Operationen 10:02 02C.8
nochmal Reihenfolge von und, oder, mal, geteilt usw. in C
6:38 02C.9
drei Bereiche mit if else bilden
3:27 02C.6,7,8,9_Material.zip 02C.10
bitweise Operationen; testen, ob ungerade
9:37 02C.10_Material.zip 02D.1
fünf Arten, eine Variable um 2 zu verringern 2:27 02D.2
Beispiel für Präzedenzregeln 8:47 02D.3
weiteres Beispiel für Präzedenzregeln
6:42 02D.1_3_Material.zip 02D.4
Hexadezimalzahlen, bitweise Operationen 9:28 02D.5
ein einzelnes Bit setzen oder löschen mit bitweisen
Operationen 8:32 02D.6
Bereich eingrenzen; Flussdiagramm und Struktogramm 4:19 02D.7
Fakultät berechnen; Flussdiagramm und Struktogramm
4:10 02D.8
auf Zweierpotenz prüfen; Flussdiagramm 3:42 02D.9
Präzedenz von Subtraktion und Vorzeichen-Minus, Negation
10:17 02D.9_K07_Material.zip
|
Mo, 13. Okt 14
|
3
|
for-Schleife,
Unterprogramme, Funktionen Skript Material
Grundlagen: 03.01.1
while-, do...while-, for-Schleifen 12:11 03.01.2
Schleifen, Sichtbarkeit, break, continue 3:41 03.02
Unterprogramme, prozedurale Programmierung 12:32 03.03
Code Recycling, API 10:11 03.04.1
Funktionen in C, return 11:37 03.04.2
Funktionen, void, main 12:23 03.04.3
mehrere Parameter, return als GOTO 7:05 03.05
Call by Value, statische Variablen 6:01 03.06
Deklaration, Definition 3:18
Ergänzungen: 03.06a.1
nochmal Funktion, Deklaration, Definition 14:04 03.06a.2
nochmal Funktion 3:29 03A.1
Programmierbeispiel Teil 1, Top-Down-Entwicklung, MSP430-Projekt
einrichten, C-Funktionen 33:10 03A.2
Programmierbeispiel Teil 2, Funktionsdefinition,
Funktionsdeklaration, Header-Datei 40:40 03A.3
Programmierbeispiel Teil 3, Include-Guards, Präprozessor.avi
13:28 03A.4
break,
continue, return in Schleifen
12:44 Material S02B
nächste Zweierpotenz, Schleifen, while, do, for
49:59 Material 03B.1
Funktionen in C, Deklaration, Definition; while, do, for
48:03 Material S03B.1
Fibonacci-Folge, Rekursion, statische Variablen 28:08 S03B.2
C-Funktionen entrümpeln 14:31 Material 03C.1
Quersumme bestimmen; Funktionen in C; for-Schleife
33:10 03C.1,2_Material.zip 03D.1
Fakultät mit while-, for- und do...while-Schleife
7:57 03D.2
Schleife mit break und continue verändern 9:24 03D.3
Primzahlen bis 100 zählen; verschachtelte Schleifen
9:49 03D.4
Funktion, die bestimmt, ob eine Zahl zwischen 0 und 100 liegt
11:44 03D.5
Funktion, die andere Funktion aufruft; Binomialkoeffizienten
ausrechnen 13:43 03D.6
Pseudozufallszahlengenerator mit Werten von 1 bis 6
5:20 03D.1_6_Material.zip 03D.7
eigener Pseudozufallszahlengenerator; statische Variable
20:41 03D.7_04D.2_Material.zip
|
Mo, 20. Okt 14
|
4
|
Präprozessor,
Compiler, Linker Skript Material
Grundlagen: 04.01
Übersetzung, Compiler, Interpreter 9:29 04.02.1
Übersetzung von C und C++ 14:03 04.02.2
weiter Übersetzung von C und C++ 4:01 04.03.1
Präprozessor, #include, #define 14:50 04.03.2
weiter Präprozessor, #include-Guards 14:41 04.04
C-Compiler, Fehler, Warnungen 11:24 04.05
Linker, Funktionsnamen 8:07 04.06
Sichtbarkeit static, extern 14:23
Ergänzungen: 04A.1
Compiler, Linker; Funktionsweise, Fehler9:14 04A.2
static-Variablen in Funktionen 26:39 Material 04B.1
mehrere C-Dateien, Header-Dateien, #include, Include-Guards
55:26 Material 04B.2
extern; zwei Verwendungen von static; Linker-Fehlermeldungen
25:36 Material 04C.1
Quersumme in beliebigem Zahlensystem; eigene C-Datei mit Header
24:22 04C.1
kleine C-Funktionsbibliothek schreiben; ganze Zahlen potenzieren
22:11 04C.2
Funktionsbibliothek, die sich Zustand merkt; static
12:39 04C.1,2_Material.zip 04D.1
Funktion und Variable in eigene Datei auslagern; Header-Datei
27:51 04D.2
prüfen, ob Bit gesetzt; Funktion in eigener Datei
13:18 03D.7_04D.2_Material.zip 04D.3
Fehler in statischer Variable mitzählen
20:44 04D.3_05D.4_Material.zip
|
Mo, 27. Okt 14
|
5
|
Zahlentypen,
mathematische Funktionen Skript Material
Grundlagen: 05.01.1
Ganzzahlige Typen, Zweierkomplement 14:10 05.01.2
weiter Zweierkomplement 6:11 05.02
signed und unsigned char, short, int, long, long long 13:39
05.03.1
Überlauf, Teilen durch Null 5:05 05.03.2
automatische Umwandlungen bei Ganzzahlen 11:50 05.03.3
weiter automatische Umwandlungen bei Ganzzahlen 4:42 05.04.1
Festkomma und Gleitkomma 13:59 05.04.2
float und double 13:01 05.04.3
keine FPU 4:09 05.05.1
eingebaute mathematische Funktionen 11:07 05.05.2
Division Gleitkomma und Integer, Casting 7:40 05.06
Rundungsfehler, Infinity (INF), Not a Number (NaN) 7:53
Ergänzungen: 05A.1
Beispiele Zweierkomplement, Überlauf, signed und unsigned
27:50 05A.2
Gleitkommazahlen, float, double, Rundungsfehler,
INF, NaN
23:28 05B.1
bitweise logische Operationen; hexadezimal 11:23 05B.2
Beispiele Zweierkomplement; negative Binärzahlen
11:44 05C.1
Zweierkomplement und Überlauf 25:33 05C.2
Formel mit mathematischen Funktionen in C schreiben 7:23 05C.3
Gleitkommazahlen, Beispiel mit INF und NaN
5:10 05C.1,2,3_Material.zip 05C.4
Beispielrechnungen mit Zweierkomplement 13:30 05C.5
mathematische Formel in C schreiben
5:39 05C.5_Material.zip 05D.1
Rechnen mit Vorzeichen im Zweierkomplement 13:09 05D.2
kleinste und größte Zahl mit 64-Bit-Zweierkomplement
4:46 05D.3
Überlauf beim Rechnen mit int-Zahlen 9:40 05D.4
Gleitkommazahlen, Lösung einer quadratischen Gleichung
6:13 04D.3_05D.4_Material.zip 05D.5
Gleitkommzahlen, Zahl der Lösungen einer quadratischen
Gleichung 9:48 05D.6
Sinus eines in Grad statt Radiant angegeben Winkels 3:53 05D.7
komische Effekte durch Rundungsfehler bei Gleitkommazahlen
9:28 05D.5_06D.3_Material.zip
|
Mo, 3. Nov 14
|
6
|
Arrays Skript Material
Grundlagen 06.01.1
Arrays 1D, 2D, 3D 10:34 06.01.2
weiter Arrays 12:07 06.02.1
Arrays initialisieren 10:34 06.02.2
Arrays kopieren, memcpy 9:46 06.03
Übergabe und Rückgabe von Arrays 12:27 06.03a
Arrays in Aktion 6:11
Ergänzungen: 06A.1
größten Wert in Array bestimmen 9:43 06A.2
zweidimensionales Array, stückweise lineare Funktion, lineare
Interpolation 23:41 Material S04B
Array; summieren; Maximum bestimmen 41:31 Material S05B.1
Ist Eintrag zweimal in Array 12:12 Material 06C.1
Zahl aufeinanderfolgender großer Werte in Array
34:13 06C.1_Material.zip 06C.2
zentrierter gleitender Mittelwert in Array
28:39 06C.2_Material.zip 06D.1
Array mit E6-Reihe füllen 8:46 06D.2
Funktion, die den Mittelwert eines Arrays bestimmt 6:33 06D.3
Funktion, die mehrfache Einträge aus Array entfernt
10:08 05D.5_06D.3_Material.zip 06D.4
Sieb des Eratosthenes programmieren
18:31 06D.4_07D.1_Material.zip
|
Mo, 10. Nov 14
|
7
|
Zeichenketten Skript Material
Grundlagen: 07.01
Zeichenketten (Strings) 14:55 07.02.1
Strings verarbeiten: strlen, strcmp, strcpy 15:25 07.02.2
strcat, Strings anhängen 6:18 07.03.1
puts, printf, Zeichenketten ausgeben 10:54 07.03.2
atoi, sprintf, Umwandlung Zeichenketten, Zahlen 13:02
Ergänzungen: 07A.1
Suchen und Ersetzen in Zeichenketten in C, Teil 1
65:42 Material 07A.2
Suchen und Ersetzen in Zeichenketten in C, Teil 2, genaue Grenzen,
Off-by-one-Fehler
32:42 Material 07B.1
Arrays und Zeichenketten; strlen 47:17 Material S05B.2
Suche in Zeichenkette; UND mit short circuit Material 07C.1
Zeichenkette füllen; Caesar-Verschlüsselung
18:39 07C.1_Material.zip 07C.2
Array von Zeichenketten durchsuchen 21:29 07C.3
Inhalt zwischen Tags in Zeichenkette kopieren
10:21 07C.2,3_Material.zip 07D.1
häufigster Buchstabe in Zeichenkette
17:51 06D.4_07D.1_Material.zip 07D.2
Buchstaben verwürfeln (Buabhtcbsen vrelüwrefn)
30:46 07D.2_Material.zip 07D.3
Zahlen zu ausgeschriebenen Wörtern machen
37:10 07D.3_Material.zip
|
Mo, 17. Nov 14
|
8
|
Strukturen,
Aufzählungen Skript Material
Grundlagen: 08.01.1
struct, Initialisierung 13:39 08.01.2
struct zuweisen, übergeben, vergleichen 11:53 08.01.3
Array aus struct 4:53 08.02.1
enum, Aufzählungen 13:08 08.02.2
switch, weiter enum, Aufzählungen 12:55
Ergänzungen: 08A.1
struct und enum am Beispiel Katalog und Warenkorb 38:23
Material 08A.2
Kästchenroboter, Teil 1, 2D-Array, struct, enum
57:22 Material 08A.3
Kästchenroboter, Teil 2, switch, putchar
49:23 Material 08A.4
Kästchenroboter, Teil 3, Schleifen, struct verwenden
38:16 Material 08B.1
struct für Buch; ISBN-Nummer prüfen
50:24 Material S06B
struct für Massenpunkte; Schwerpunktsberechnung; Header
36:47 Material 08C.1
struct und enum für Telefonbuch
33:38 08C.1_Material.zip 08C.2
struct und enum für Baumdatenbank
36:57 08C.2_Material.zip 08D.1
maximaler Abstand vom Ursprung eines Arrays von Punkten
13:24 08D.2
Rechteck als struct; Fläche berechnen 6:54 08D.3
Schwerpunkt eines Rechtecks mit structs 6:16 08D.4
Rechteck aus Material; struct und enum
10:34 08D.1_4_Material.zip
|
Mo, 24. Nov 14
|
9
|
Zeiger,
dynamischer Speicher Skript Material
Grundlagen: 09.01.1
Zeiger, Pointer 14:43 09.01.2
NULL, ungültige Zeiger 2:49 09.02.1
Zeigerarithmetik 10:50 09.02.2
weiter Zeigerarithmetik 10:13 09.03.1
Dynamischer Speicher, Variable Length Arrays 4:04 09.03.2
weiter dynamischer Speicher, malloc, free 14:23 09.03.3
weiter dynamischer Speicher, malloc, free 14:28 09.03.4
dynamischer Speicher für struct 11:25
Ergänzungen: 09A.1
Kästchenroboter, Teil 4, malloc, Zeiger wie
Arrays24:59 Material 09B.1
Fingerübungen zu Zeigern und Arrays 19:28 Material 09B.2
Zeiger verwenden, Speicher reservieren 51:20 Material 09C.1
Beispiele für Adressen, Zeiger, Zeigerarithmetik
21:24 09C.2
Arbeit mit Zeigern, Speicherreservierung, malloc
24:06 09C.1,2_Material.zip 09C.3
Ergebnis mit vorher unbekannter Speichergröße; Punkte
innerhalb Rechteck 30:16 09C.3_Material.zip 09D.1
Zeiger auf Strukturen an Funktionen übergeben
19:51 09D.1_Material.zip 09D.2
Beispiele für das Rechnen mit Pointern 15:08 09D.3
weitere Beispiele für das Rechnen mit Pointern 6:05 09D.4
gleiche Strings in Strukturen finden; Speicherreservierung für
Rückgabe eines Arrays 33:07 09D.2_4_Material.zip 09D.5
weiter gleiche Strings in Strukturen finden; Zeiger auf Zeiger;
Laufzeit 39:07 09D.5_Material.zip
|
Mo, 1. Dez 14
|
10
|
Zusammenfassung:
die Sprache C Skript Material
Grundlagen: 10.01.1
Präprozessor, Compiler, Linker, include 10:43 10.01.2
weiter include, Header 7:00 10.01.3
static, extern 11:04 10.02.1
grundlegende Typen, char, short, int, long, bool, float, double
7:36 10.02.2
Operatoren, Präzedenz 20:34 10.02.3
enum, Arrays 10:48 10.02.4
Zeichenketten, struct 8:46 10.03
if, switch, while, for, Verzweigungen, Schleifen 15:05 10.04.1
Funktionen, Deklaration, Definition, return, mathematische
Funktionen 15:32 10.04.2
Funktionen für Ausgabe, Strings, main 9:45 10.05
Zeiger, NULL, malloc, free 37:26
Ergänzungen: S07B
Binärzahl aus Zeichenkette in Integer wandeln
19:42 Material 10B.1
Morse-Code per Programm; Array von struct 38:48 Material S08B
Festkommazahlen; Wurzel selbstprogrammiert
41:50 Material 10C.1
Kreiszahl pi durch Zufallszahlen bestimmen 22:50 10C.2
Array am Platz umdrehen 10:47 10C.1,2_Material.zip 10D.1
Schleifen, Verzweigungen, Variablen, Zeiger in C
46:45 10D.1_Material.zip
|
Mo, 8. Dez 14
|
11
|
Was ist
Informatik? Skript
Grundlagen: 11.01
Theoretische, technische, praktische, angewandte Informatik
11:14 11.02
Computer Science, Software Engineering, Information Technology
10:09
|
Mo, 15. Dez 14
|
12
|
Datenstrukturen
und Algorithmen Skript
Grundlagen: 12.01.1
Datenstrukturen, Array, Queue, Stack 15:46 12.01.2
Baum als Datenstruktur 12:47 12.02
Algorithmen 12:27 12.02.1
Bubblesort, Quicksort, Laufzeit 29:23 12.02.2
Iteration und Rekursion 6:27 12.02.3
Komplexität, P und NP 6:45 12.02.4
Optimierung, Profiler 5:02
Ergänzungen: 12A.1
Informatik, Datenstrukturen, Array, struct, Warteschlange, Stack,
Baum 15:02 12A.2
Datenstruktur Sparse Matrix, dünn besetzte Matrix;
Implementierung in C; malloc 50:15 Material 12A.3
Algorithmen, Suchen und Sortieren, Bubble Sort, Quicksort,
Laufzeit, O(n log(n)) 76:17 Material 12B.1
Warteschlange mit Array programmieren 36:29 Material S09B
Warteschlange mittels struct als Bibliotheksfunktion; Zeiger;
malloc 45:12 Material S10B
Datumsberechnungen selbstprogrammiert 29:28 Material S11B
Weg aus Labyrinth programmieren 52:24 Material S12B
binäre Suche programmieren; Laufzeitkomplexität
38:51 Material 12C.1
eigenen Datentyp Menge implementieren
37:08 12C.1_Material.zip 12C.2
binäre Suche programmieren 32:49 12C.2_Material.zip 12C.3
Zeitkomplexität; Beispiele für Groß-O-Notation
35:02 12C.4
ähnliche klingende Wörter finden; Soundex-Algorithmus
26:58 12C.4_Material.zip 12C.5
Soundex-Algorithmus mit Speicherreservierung und Header-Datei
54:24 12C.5_Material.zip 12C.6
zweidimensionales Array mit dynamischem Speicher; Spalte einfügen
20:39 12C.6_Material.zip 12C.7
Laufzeitkomplexität O(n), O(log n) usw. 29:29 12D.1
einfach verkettete Liste programmieren, Teil 1
41:53 12D.1_Material.zip 12D.2
einfach verkette Liste programmieren, Teil 2
62:55 12D.2_Material.zip
|
Mo, 22. Dez 14
|
13
|
Automaten und
formale Sprachen Skript Material
Grundlagen: 13.01
Endliche Automaten 35:16 13.02.1
Formale Sprachen, Syntaxdiagramm, akzeptierende Automaten
33:41 13.02.2
HTML, XML, JSON 14:31
Ergänzungen: 13A.1
Formale Sprachen, reguläre Ausdrücke, endliche
Automaten, Pumping-Lemma 66:51 Material 13A.2
kontextfreie Sprachen, Syntaxdiagramme für C,
Nichtterminalsymbole, Pumping-Lemma 37:25 13A.3
Parsen und Auswerten von arithmetischen Ausdrücken,
Implementierung 31:36 Material 13B.1
Aufzugtür als endlicher Automat in C 35:31 Material 13C.1
Beispiel Syntaxdiagramm, Zustandsdiagramm, endlicher Automat
40:05 13C.1_Material.zip 13C.2
Zahlenlisten parsen mittels endlichem Automaten, Teil 1
18:49 13C.2_Material.zip 13C.3
Zahlenlisten parsen mittels endlichem Automaten, Teil 2
26:06 13C.3_Material.zip 13D.1
Simulation mit wandernden endlichen Automaten, Teil 1
27:07 13D.2
Simulation mit wandernden endlichen Automaten, Teil 2
37:35 13D.1_2_Material.zip 13D.3
Simulation mit wandernden endlichen Automaten, Teil 3 switch,
Zeiger 46:17 13D.3_Material.zip
|
Mo, 5. Jan 15
|
14
|
Fehler
vermeiden, Fehler finden Skript Material
Grundlagen: 14.01
Turings Halteproblem 29:29 14.02
Code Conventions, Styleguides, ungarische Notation, MISRA
29:02 14.03
defensive Programmierung, assert 18:09
Ergänzungen: 14B.1
Programmierfehler finden; Maximum bestimmen 2:56 14B.2
Programmierfehler finden; auf Quadratzahl prüfen
6:47 14B.3
Programmierfehler finden; auf Zehnerpotenz prüfen
9:30 14B.4
Programmierfehler finden; Binomialkoeffizienten berechnen
6:51 Material 14C.1
Beispiele zum Finden von logischen Programmierfehlern
10:35 14C.1_Material.zip
|
Mo, 12. Jan 15 Mo,
19. Jan 15
|
|
Klausurvorbereitung
Ergänzungen: K01
Überlauf bei Multiplikation 6:18 K02
if zu switch umwandeln 8:31 K03
struct und Array verschachtelt 27:15 K04
Gleichzeichen in Flussdiagramm und Struktogramm 1:10 K05
Zeiger und Arrays 24:08 K06
statische Variable, Rekursion 2:53 K07
Binärzahl aus Zeichenkette in Integer wandeln
6:01 02D.9_K07_Material.zip
|