Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
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;