1 / 20

Informatik II Grundlagen der Programmierung Programmieren in C Probeklausur

Informatik II Grundlagen der Programmierung Programmieren in C Probeklausur. Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ. Aufgabe 1a - 1.

iona-abbott
Download Presentation

Informatik II Grundlagen der Programmierung Programmieren in C Probeklausur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatik IIGrundlagen der ProgrammierungProgrammieren in CProbeklausur Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ

  2. Aufgabe 1a - 1 • In einem Programm finden Sie die folgende Schleifefor(i = start; i < ende; i++) { ... machwas(i); ... } • Formulieren Sie die for-Schleife als while-Schleife. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  3. Aufgabe 1a - 2 for-Schleife als while-Schleife Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  4. Aufgabe 1b - 1 • In einem Programm finden Sie die folgende Berechnungint i; double d;for(i = 10; i < 100; i += 10) { d = i / 100.0; printf("%3d %.2lf\n", i, d); } • Geben Sie die Ausgaben an und kommentieren Sie die Ergebnisse. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  5. Aufgabe 1b - 2 • Ausgabe der Berechnung / Gründe Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  6. Aufgabe 1b - 3 • Was kommt hier raus?int i;double d;for(i = 10; i < 100; i += 10) { d = 1.0 + i / 100; printf("%3d %.2lf\n", i, d);} • Warum? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  7. Aufgabe 1b - 4 • Und hier?int i;double d;for(i = 10; i < 100; i += 10) { d = (1.0 + i) / 100; printf("%3d %.2lf\n", i, d);} • Warum? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  8. Aufgabe 1c - 1 • Gegeben: unsortiertes Feld von 65000 Strings • Wie gehen Sie vor, wenn Sie in diesem Feld nach einem String suchen? • Wieviele Suchoperationen sind im ungünstigsten Fall notwendig? • Welches Verfahren gibt es, um die Suchzeit deutlich zu beschleunigen? • Geben Sie auch für dieses Verfahren an, wieviele Suchschritte im ungünstigsten Fall notwendig sind. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  9. Aufgabe 1c - 2 Suche? Schritte? Verfahren? Schritte? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  10. Aufgabe 1d - 1 • Welche Lebensdauer haben in einer Funktion automatische und statische Variablen? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  11. Aufgabe 1d - 2 Lebensdauer automatische/statische Variablen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  12. Aufgabe 2 - 1 • Schreiben Sie eine Funktion, die ein Feld von N double-Variablen umkehrt: • 1. Element <-> letztes Element • 2. Element <-> vorletztes Element • usw. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  13. Aufgabe 2 - 2 void dblreverse() Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  14. Aufgabe 3 1 • In einem Programm finden Sie die folgende Funktion, die einen String dynamisch duplizieren soll char *stringdup(char *str) { char *new; int len, i; len = strlen(str); new = (char *) malloc(len); for(i = 0; i < len; i++) new[i] = str[i]; return(new);} Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  15. Aufgabe 3 - 2 • Ist die Funktion korrekt implementiert? • Wenn nein, wo ist der Fehler? • Welche Konsequenzen hätte der Fehler? • Welche Korrektur ist ggfs. notwendig? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  16. Aufgabe 3 3 Korrekt? Fehler? Folgen? Korrektur? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  17. Aufgabe 3 - 4 strdup() korrekt Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  18. Aufgabe 4 - 1 • Ein "intelligenter" Stromzähler (Smartmeter) misst an einem Stromkreis jede Sekunde die aktuelle Leistung und speichert diese in einem Structstruct _sms { unsigned num; /* Lfd. Nummer */ time_t tim; /* Messzeit */ unsigned val; /* Messwert in W */ struct _sms *nxt; /* Nächstes El. */ } *smsroot; Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  19. Aufgabe 4 - 2 • Die Messdaten werden in einer einfach verketteten Liste dynamisch gespeichert. Nach 15 Minuten werden alle Messdaten an einen Server verschickt. Schreiben Sie eine C-Funktion, die vor dem Versenden der Daten den Stromverbrauch in Ws und KWh sowie das Minimum und das Maximum des Messzyklus ermittelt und auf stdout ausgibt. • Die Schnittstelle der C-Funktion: void ausgabe(struct _sms *s) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  20. Aufgabe 4 3 void ausgabe(struct _sms *s) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

More Related