Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Informatik 1 Übung 4. NACHBESPRECHUNG Übung 4 Ich gebe nicht auf Code schön formatieren if (x > 0) { a = 1; b = 1; // Kommentar. if (y > 0) { c = 1;

Ähnliche Präsentationen


Präsentation zum Thema: "Informatik 1 Übung 4. NACHBESPRECHUNG Übung 4 Ich gebe nicht auf Code schön formatieren if (x > 0) { a = 1; b = 1; // Kommentar. if (y > 0) { c = 1;"—  Präsentation transkript:

1 Informatik 1 Übung 4

2 NACHBESPRECHUNG Übung 4

3 Ich gebe nicht auf Code schön formatieren if (x > 0) { a = 1; b = 1; // Kommentar. if (y > 0) { c = 1; } else { d = 1; } e = 1; }

4 For-Schleife Zählvariable nicht im Körper ändern Zählvariable nicht ausserhalb deklarieren for(int i=0; i<10; i++) { k += i; } int i; for(i=0; i<10; ) { k += i; i++; } for(int i=0; i<10; i++) { if(...) i--; }

5 For-Schleife Von 0 bis N-1 zählen N mal durchlaufen for(int i=0; i

6 WIEDERHOLUNG Vorlesung 5

7 Arrays Bisher: einfache Datentypen – char, int, float, double, bool Neu: Array – 'Liste' mit fixer Länge – Alle Elemente haben gleichen Typ – Zugriff auf Elemente über Index

8 Arrays Beispiel: Messwertreihe – Temperatur von 7 aufeinanderfolgenden Tagen Tag #Temperatur

9 Arrays - Deklaration Länge muss konstant sein typ variable[länge]; // 500 aufeinanderfolgende Zeichen char text[500]; // ein Vektor mit drei Komponenten float v1[3]; // N aufeinanderfolgende Zeichen const int N = 500; char text[N];

10 Arrays - Deklaration Länge muss konstant sein typ variable[länge]; // 500 aufeinanderfolgende Zeichen char text[500]; // ein Vektor mit drei Komponenten float v1[3]; // N aufeinanderfolgende Zeichen const int N = 500; char text[N]; string text;

11 Arrays - Zugriff Indizierung: [0..N-1] Index konstant oder Ausdruck vom Typ int variable[index]; int i =...; // i-tes Zeichen auf 'A' setzen text[i] = 'A'; // x-Komponente auslesen float x = v1[0];

12 Arrays - Zugriff Indizierung: [0..N-1] Index konstant oder Ausdruck vom Typ int variable[index]; int i =...; // i-tes Zeichen auf 'A' setzen text[i] = 'A'; // x-Komponente auslesen float x = v1[0]; for(int i=0; i

13 Arrays - Zugriff Zugriff ausserhalb vom Bereich – Programm stürzt evtl. ab – Wert von anderen Variablen wird evtl. verändert – Sicherheitslücke! Immer Gültigkeit vom Index prüfen!

14 Arrays - Interne Abbildung Aufeinanderfolgende Zellen im Speicher Jedes Byte im Speicher hat eine 'Adresse' 'Adresse' von Variablen bestimmt Compiler AdresseInhalt 1000??? 1001text[0] 1002text[1] 1003text[2] 1004text[3] 1005text[4] 1006??? char text[5];

15 Bitweise Operationen LogischBitweise Arbeitet aufbooleinzelne Bits eines char/int/... UND&&& true && false == false & == ODER||| true || false == true | == Exkl. ODER (XOR)^ ^ == NICHT/Komplement!~ !true == false~0010 == 1101

16 XOR Exklusives Oder – Beide Argumente verschieden -> wahr – Beide Argumente gleich -> falsch ABA xor B false true falsetrue false

17 ÜBUNG Übung 5

18 Pseudocode Kombination Code/natürliche Sprache – Gleiche Kontrollstrukturen (for, while, if,...) – Beliebige Befehle Prozedur: euklid Zweck: Euklidischer Algorithmus zur Berechnung des größten gemeinsamen Teilers Parameter: natürliche Zahlen m, n 1. Falls m > n, dann m und n miteinander vertauschen. 2. Jetzt gilt m <= n. 3. Solange m > 0 wiederhole 4. Setze n = n m. 5. Falls m > n, dann m und n miteinander vertauschen. 6. Jetzt gilt m <= n. Ergebnis: n.

19 Charakter-Array einlesen cin.getline(text, length) // Liest maximal 500 Zeichen in das Array text ein char text[500]; cin.getline(text, 500); // Liest maximal 'length' Zeichen in das Array text ein const int length = 500; char text[length]; cin.getline(text, length);


Herunterladen ppt "Informatik 1 Übung 4. NACHBESPRECHUNG Übung 4 Ich gebe nicht auf Code schön formatieren if (x > 0) { a = 1; b = 1; // Kommentar. if (y > 0) { c = 1;"

Ähnliche Präsentationen


Google-Anzeigen