07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 43<br />

(4.51)<br />

(a) C/C++ Bei der 60 if-Anweisung und bei allen drei 56 Wiederholungsanweisungen ist für Bedingung<br />

bzw. Ausdruck als Einstiegsbedingung ein BoolescherAusdruck oder ein logisch zu<br />

bewertender NumerischerAusdruck (4.23) einsetzbar.<br />

(b) C++(neu) Bei den Anweisungen<br />

• 60 if-Anweisung,<br />

• 61 switch-Anweisung,<br />

• 70 while-Anweisung,<br />

• 72 for-Anweisung,<br />

d. h. bei allen Kontrollstrukuren außer bei der 71 do-while-Anweisung gibt es eine weitere<br />

Möglichkeit, die 99 Bedingung:<br />

TypSpezifizierer1..n Deklarator = Ausdruck<br />

– mit anderen Worten eine Definition einer Variablen mit Initialisierung.<br />

Der Gültigkeitsbereich dieser Variable ist der Bereich nur innerhalb der Kontrollstruktur.<br />

Diese Variablendefinition ist bei der 71 do-while-Anweisung nicht erlaubt; eine solche Möglichkeit<br />

wäre auch sinnlos, da die Definition nach der Benutzung erfolgen müsste.<br />

(c) C++ Zusätzlich ist als Initialisierungsteil einer for-Anweisung eine 11 EinfacheDeklaration<br />

erlaubt.<br />

4.6 Beispiel<br />

△! Der Gültigkeitsbereich dieser Variablen ist je nach C++(alt) oder C++(neu) verschieden:<br />

• C++(alt) normale Einführung einer Variablen, Gültigkeitsbereich auch hinter der Kontrollstruktur,<br />

• C++(neu) Gültigkeitsbereich nur innerhalb der Kontrollstruktur, vgl. (Str3/Kap. 6.3.3.1).<br />

△! Der Compiler Microsoft Visual C ++ 6.0 gilt in diesem Fall – wohl ausnahmsweise – als<br />

C++(alt) .<br />

Bei C++(alt) ist eine Nachahmung des neuen Verhaltens einfach möglich durch Eingrenzen<br />

der gesamten Kontrollstruktur in einen Block.<br />

(4.60) Übb Es lohnt sich, das Beispielprogramm genauer anzusehen und den Algorithmus Zeile<br />

für Zeile mit dem Pseudocode zu vergleichen (s. Aufg. 1 in den Übungen zu Kap. 2,<br />

auch im Internet verfügbar). Wenn Sie das Programm ausprobieren wollen: wie alle Skript-<br />

Beispielprogramme ist auch dieses im Internet verfügbar.<br />

(4.61) // Gregorianischer Kalender (Beispieldatei D04-61.CPP)<br />

// s. Übungen zu Kap. 2 (Algorithmen), Aufg. 1<br />

// Eingabe als Ganz-Zahlen: Tag Monat Jahr<br />

#include <br />

using namespace std;<br />

int main()<br />

{<br />

int tag, monat, jahr,<br />

jahrH, jahrR, hilf, woTagZahl;<br />

cin >> tag >> monat >> jahr;<br />

if (monat < 3) {<br />

monat += 10;<br />

--jahr;<br />

}<br />

else monat -= 2;<br />

jahrH = jahr/100;<br />

jahrR = jahr%100;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!