![]() |
C - Entwicklung Lehreinheit Nr. 1 Homepage von PS-Trainer - C-Entwicklung - Bibliotheken - an PS-Trainer |
![]() |
Start mit C-Programmierung: Diese Programme setzen keine C-Kenntnisse voraus und führen schrittweise zu den elementaren Techniken der Programmierung. Dabei werden zunächst nur wenige Themen oberflächlich berührt. Ziel dieser Unterrichtseinheit ist es, einige grundlegende "Werkzeug"-Kenntnisse zu vermitteln. Alle Themen werden zu späteren Zeitpunkten nochmals genauer behandelt. |
Die einzelnen Programme werden besprochen und je nach Geschwindigkeit
des Arbeits-Fortschritts in Arbeit genommen. Damit den unterschiedlichen
praktischen Kenntnissen der StudentInnen entsprochen werden kann, sind
zu jedem Programm einige Varianten vorgesehen - programmieren sie
diese, solange und sobald Zeit dazu ist. Ein wichtiger Neben-Effekt ist es, daß sie lernen, sich Hilfe zu organisieren: Versuchen sie zuerst, geeignete Stichworte zum gesuchten Thema zu definieren, verwenden sie dann integrierte Hilfe und Internet, um rasch und zielgerichtet Informationen zu finden. ![]() ![]() ![]() ![]() Viel Erfolg &
viel Spaß !
|
||||||||||||||||||||
|
![]() Programm "Hallo" |
Das Programm gibt einen kurzen Text aus (z.B. "Hallo
Welt!") Ziel: Nachweis eines funktionierenden Programms. Sie erstellen ein Programm, das sein Funktionieren überhaupt bekanntgeben kann. Hilfe: StreamIO (formatiert).
|
![]() Programm "ZeichenEcho" |
Das Programm verlangt die Eingabe von Zeichenketten und
gibt diese anschließend wieder aus. Ziel: Einfache Eingabe und Ausgabe; EOF. Das benötigen sie als minimale Voraussetzung, um die "eigentlichen" Programme zwischen Eingabe und Ausgabe auszubauen. Hilfe: StreamIO
|
![]() Programm "Textanalyse" |
Das Programm verlangt die Eingabe von Texten und gibt die
Anzahl der Zeichen als einfache Analyse der Texte aus. Ziel: Einfacher Umgang mit Zeichen und Texten, einfache logische Verzweigungen. Varianten: ![]() (woran erkennen sie ein "Wort" ?) ![]() ![]() |
![]() Programm "Zeichencode" |
Das Programm erzeugt eine 2-spaltige Tabelle (Zahl, Zeichen) aller
Zeichen des verwendeten Zeichencodes. Hilfe: Flusskontrolle
(Schleifen), |
![]() Programm "Umbruch" |
Das Programm verlangt die Eingabe eines (langen) Textes
und gibt diesen wieder aus, umgebrochen auf 5 Zeichen breite Spalten. Ziel: Schleife, Verzweigung. |
![]() Programm "Textkontrolle" |
Das Programm simuliert die Überwachung und Verbesserung
eines Datenbank-Textfeldes. Eingabe: Text, normalerweise 1 Wort, gelegentlich auch 2...3 Worte (z.B. Vornamen) Ausgabe: Das geprüfte und bei Bedarf verbesserte Wort, Anzahl der Worte Prüfungen: ![]() ![]() ![]() ![]() ![]() > Überlegen sie, ob die Reihenfolge der Prüfungen gleichgültig oder sinnvoll ist, bzw. ob in manchen Fällen weitere Prüfungen sinnvoll wären. |
![]() Programm "Zufallszahl" |
Das Programm erzeugt eine gleichmäßig verteilte Zufallszahl
in einem Intervall.
Varianten: ![]() ![]() ![]() Algorithmus:
![]() Legen sie die "Spitze" zunächst genau in die Mitte des Intervalls. Algorithmus:
![]() ![]() ![]() Diese Funktionen können sie später zum Test ihrer eigenen Programme verwenden. Testen sie damit nicht nur zulässige Zahlenwerte ! |
|||
Beispiel Zufallszahl: | Beispiel: Das Hauptprogramm liefert das bescheidene "user
unterface", der Rest wird in (wiederverwendbaren) Unterprogrammen
bearbeitet.:
|
![]() Programm "Zufallstext" |
Das Programm erzeugt in einer Funktion Zufallstexte. Ziel: Testprogramm für den eigenen Bedarf. > Überlegen sie sinnvolle Eingabe-Parameter. Das Programm soll - je nach Eingabe - Zufallstexte zum Test entsprechender Programme erzeugen. > Überlegen sie z.B.: Anzahl und Länge der Worte, Sonderzeichen, leere Texte... Verwenden sie das Unterprogramm dazu, alle oben angeführten Text-orientierten Programme automatisch zu testen. |
![]() Programm "Zahlen-Kategorie" |
Das Programm analysiert Zahlen und ordnet sie einer von
mehreren vorgegebenen Kategorien zu. Ziel: Test-Strategie Das Programm erwartet die Eingabe beliebig vieler Zahlen, analysiert diese nach Kategorie und gibt eine Statistik aus. Kategorie: Schulnoten (1...5). ![]() Testen sie das Programm mit der Funktion "Zufallszahl", z.B. mit 10.000 Eingabezahlen > Überlegen sie die Erweiterung auf exotische Eingabewerte. |
Einige hilfreiche Beispiele (nach Brian Kernighan und Dennis Ritchie) | |
Funktion strlen(s) |
int strlen
(char s[]) /* berechnet Laenge von s */ |
Funktion getline(s,lim) |
int getline
(char s[],int lim) |
Funktion index(s.t) |
int index
(char s[], char t[]) |
Funktion atof(s) |
main() { |
Funktion atoi(s) | int atoi
(char s[]) /* Zeichenkette s in int umwandeln */ { ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() } |
Funktion itoa(n,s) |
void
itoa (int n, char s[]) /* int n in string
s umwandeln */ |
Funktion lower(c) |
char lower
(int c) /* c in Kleinbuchstaben umwandeln - ASCII */ |
Umwandlung von Variablen-Typen (casting) | int i; char c; char s[80]; c = 'A'; i = int(c); /* wandelt char -> int */ printf("%d \n",i); c = char(i); /* wandelt int -> char */ s[0]=c; s[1]='\0'; printf("%s\n",s); |
Zeichenecho | #include "stdio.h" void main () { ![]() ![]() ![]() ![]() ![]() ![]() } |
Aktuelle Daten dieser Seite | Letzte Änderung: |
![]() ![]() ![]() ![]() |