Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Informatik 1 Übung 4.

Ähnliche Präsentationen


Präsentation zum Thema: "Informatik 1 Übung 4."—  Präsentation transkript:

1 Informatik 1 Übung 4

2 Übung 4 Nachbesprechung

3 Ich gebe nicht auf Code schön formatieren if (x > 0) { a = 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<N; i++) { }

6 Vorlesung 5 wiederholung

7 Arrays Bisher: einfache Datentypen Neu: Array
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 1 16.1 2 17.2 3 21.7 4 21.5 5 21.6 6 18.1 7 17.9

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

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

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'; for(int i=0; i<N; i++) { text[i] = 'A' + i; } // x-Komponente auslesen float x = v1[0];

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 char text[5]; Adresse Inhalt 1000 ??? 1001 text[0] 1002 text[1] 1003 text[2] 1004 text[3] 1005 text[4] 1006

15 Bitweise Operationen Logisch Bitweise Arbeitet auf bool
einzelne 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 A B A xor B false true

17 Übung 5 Übung

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 Setze n = n − m. Falls m > n, dann m und n miteinander vertauschen. 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."

Ähnliche Präsentationen


Google-Anzeigen