5.2.20
12/07/19
Last Modified 06/30/19 by Walter Tasin
AlgoDat_U11 Reload Page

Algorithmen und Datenstrukturen

Übung zum Kapitel "Kontrollstrukturen"

W. Tasin, M.Sc.


Theoretische Fragen

  • Folgendes Codefragment liest Zeichen von der Tastatur ein und gibt diese (sobald <Enter> gedrückt wurde) wieder aus.
    Dies wird so lange wiederholt bis die Eingabe mit Ctrl-D (Linux/Mac) bzw. Ctrl-Z (Windows) beendet wird.
    Alle eingegebenen Grossbuchstaben (ohne Umlaute) sollen vor der Ausgabe in Kleinbuchstaben umgewandelt werden.
    Ergänzen Sie das folgende Codefragment entsprechend.

int ch;
while ((ch=getchar())!=-1)
{
 
 
 
   putchar(ch);
}

  • Folgendes Codefragment ermittelt die Länge eines Strings. Für welchen konstanten String arbeitet dieser Code nicht richtig?
    Wie kann dieses Problem gelöst werden?
const char *meldung="Dies ist ein Test!";
unsigned laenge=0;
do
{
  laenge++;
}
while (*(meldung+laenge)!='\0'); /* Vergleiche das Zeichen mit dem NUL-Character */
 
printf("String: \"%s\" hat die Laenge: %u\n", meldung, laenge);


Für Ingenieurinformatik nicht prüfungsrelevant
  • Folgende Codefragmente sollen - falls sinnvoll und möglich - mithilfe des bedingte Auswerteoperators realisiert werden.
if ((wert % divisor) != 0)
  puts("Division geht nicht auf.");
else
  puts("Division geht auf.");

if (divisor == 0)
  puts("Division darf nicht ausgefuehrt werden!");
else
  printf("Ergebnis ist: %d\n", wert/divisor);
 

if (zeichen != ' ')
  putchar(zeichen);

if (zahl>=0)
  zahl%=10;
else
  zahl=-zahl % 10;

binaerWert=-1;
if (asciiWert >= '0' && asciiWert<='9')
  binaerWert=asciiWert-'0';


Links

Uebungen Algorithmen und Datenstrukturen
Unterlagen Algorithmen und Datenstrukturen
Praktikum Algorithmen und Datenstrukturen
Zur Hauptseite