Fachbereich Elektrotechnik Prof. Dr. Pollakowski Grundlagen der Informatik Sommersemester 2017 - Aufgabenblatt 5 (Praktikum) Teil 1: Vorbereitungsfragen zum Praktikum 1.) In einem Programm soll eine Operation 10 mal ausgeführt werden. Ist hier eine for oder eine while-Schleife sinnvoller? (Bitte begründen). 2.) In einem Programm soll eine Operation so lange ausgeführt werden, bis eine Bedingung erfüllt ist. Ist hier eine for oder eine while-Schleife sinnvoller? (Bitte begründen). 3.) Geben Sie den Quellcode für eine Schleife an, die 10 mal ausgeführt wird. 4.) Geben Sie den Quellcode für eine Schleife an, die so lange ausgeführt wird, solange der Inhalt der Variablen zahl ungleich 0 ist. 5.) Geben Sie die Anweisung zum Einlesen eines Zeichens von der Tastatur an. Der eingelesene Zeichen-Code soll in einer char-Variablen gespeichert werden. 6.) Geben Sie die Anweisung zum Einlesen eines Zeichens von der Tastatur an. Der eingelesene Zeichen-Code soll in einer int-Variablen gespeichert werden. Warum ist es sinnvoll, die int-Variable vor dem Lesen auf 0 zu setzen? 7.) Geben Sie die Anweisung zum Einlesen einer ganzen Zahl von der Tastatur an. Die Zahl soll in einer char-Variablen gespeichert werden. 8.) Geben Sie die Anweisung an, die den Inhalt einer char-Variablen als ganze Zahl im Dezimalformat auf dem Bildschirm ausgibt. 9.) Geben Sie die Anweisung an, die den Inhalt einer char-Variablen als ganze Zahl im Hexadezimalformat auf dem Bildschirm ausgibt. 10.) Geben Sie die Anweisung an, die den Inhalt einer char-Variablen als Zeichen ausgibt. 11.) Geben Sie die Anweisung an, die der Variablen zahl die Hexadezimalzahl 40 zuweist. 12.) Entnehmen Sie der ASCII-Tabelle den Zeichencode des Zeichens 'A' im Hexadezimalformat. 13.) Entnehmen Sie der ASCII-Tabelle das Zeichen, das den Zeichencode 132 (dezimal) hat. 14.) Entnehmen Sie der ASCII-Tabelle die Zeichencodes der folgenden Steuerzeichen im Dezimalformat: neue Zeile ( '\n' ) Anfang der Zeile ( '\r' ) Leerzeichen ( ' ' ) (in der Tabelle als LF = line feed eingetragen) (in der Tabelle als CR = carriage return eingetragen) (in der Tabelle als SPC = space eingetragen) Hinweis: verwenden Sie für Frage 14 die ASCII-Tabelle für Windows ASCII-Codes werden nicht abgefragt und müssen nicht auswendig gelernt werden ! Seite 1 von 2 Gi_Aufgabenblatt_05_2017_P2.doc Fachbereich Elektrotechnik Prof. Dr. Pollakowski Teil 2: Programmieraufgaben des Praktikums Themen: for- und while-Schleifen In dieser Übung sollen Sie sich mit der Verwendung von for- und while Schleifen zur wiederholten Ausführung von Anweisungen vertraut machen. Beispielprogramm: #include <stdio.h> main() { int zahl, quadrat; for(zahl = 10; zahl < 20; zahl++) { quadrat = zahl * zahl; printf("%d zum quadrat = %d\n",zahl,quadrat); } while(1); } Aufgabe 1: Geben Sie das Beispielprogramm ein und testen Sie es. Ersetzen Sie danach die vierte Programmzeile mit: for(zahl = 10; zahl < 20; zahl++); d.h. ergänzen Sie ein Semikolon. Erklären Sie das Ergebnis dieses Programms ! Aufgabe 2: Schreiben Sie ein Programm, das zehnmal hintereinander einen Piepton erzeugt. Einen Piepton erhalten Sie, wenn Sie das Steuerzeichen \a ausgeben (Hinweis: der gcc-Compiler benötigt die Steuerzeichen \a\n). Hinweis: Eine Wartezeit von 1 Sekunde zwischen den Tönen können Sie unter Linux mit Hilfe der Systemfunktion erreichen: system("sleep 1"); Für den DevCpp-Compiler unter Windows lautet ein entsprechender Funktionsaufruf sleep(1000) ( oder Sleep(1000), Groß/Kleinschreibung beachten), Sie müssen dazu die Bibliothek windows.h einbinden. Aufgabe 3: Schreiben Sie ein Programm, das eine Integer-Zahl von der Tastatur einliest und das zugehörigen ASCII-Zeichen und den Zahlenwert als Dezimalzahl auf dem Bildschirm ausgibt. Das Einlesen soll solange wiederholt werden, bis die Zahl „0“ eingegeben wird. Ist hier eine while- oder eine do-while-Schleife sinnvoller? Aufgabe 4: Schreiben Sie ein Programm, das alle Zahlen von 0 bis 200 auf dem Bildschirm ausgibt und jeweils den zugehörigen ASCII-Code. Seite 2 von 2 Gi_Aufgabenblatt_05_2017_P2.doc