Informatik 1 Übung 2.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Forschungszentrum caesar
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Hochschule Fulda – FB ET Sommersemester 2010
Variablen und Datentypen
Zusammenfassung der Vorwoche
Einführung in JavaScript II
10. Grundlagen imperativer Programmiersprachen
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
der Universität Oldenburg
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
SWITCH - Anweisung.
SWITCH - Anweisung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Robotik mit LEGO Mindstorms
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Das erste Programm (Folie 16)
Einführung in C++ und das objektorientierte Programmieren (OOP)
DVG Ablaufsteuerung
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Einführung in die Programmierung Anweisungen und Datentypen
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktogramme IF-ELSE FOR – Schleife
Grundkonzepte Java - Klassendefinition
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Informatik 1 Letzte Übung.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
2. Zustandsorientiertes Modellieren 2.1 Einfachauswahl
Informatik I for D-MAVT
Primär(x)f(x)a[x]new typeof sizeof checked unchecked Unär+-~!++x--x x++ x-- (T)x Multip./Divis.*/% Addition/Subtr.+- shift > kleiner/größer = is gleich/ungleich==!=
Purga - Scriptengine Ein Einblick.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Einführung in PHP.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Datentypen: integer, char, string, boolean
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Wozu Maple? Symbolische Algebra Manche Sachen soll man besser nicht von Hand machen –kleine Rechnungs Fehler können mehrere Millionen werden – am besten.
Einführung in die Programmiersprache C 2
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Variablen und Datentypen
Fallunterscheidung und Iteration Programmierung I Prof. Dr. Michael Löwe.
Hello World! Javakurs 2013 Arne Kappen
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Informatik 1 Übung 2

Abgabe Übung bis Mittwoch, 13:15 Zu zweit abgeben ist ok Korrektur bis nächste Woche

Übung 2 Nachbesprechung

Variablennamen Unterstrich erlaubt _x ist gültig Doppelter Unterstrich am Anfang reserviert __x besser nicht verwenden

Wert von Variablen Undefiniert vor erster Zuweisung Typischerweise zufällig int main() { int a, b; a = 1; b = 2; }

Komma-Operator Komma am besten nie verwenden Ausser mehrere Variablen deklarieren int main() { int a, b, c; } int main() { int a, b, c = 10; } int main() { int a, b; int c = 10; }

Main Methode Eine main()-Funktion pro Projekt Programm startet mit main() Rückgabewert im System sichtbar int main() { return 0; }

Main Methode Eine main()-Funktion pro Projekt Vorübergehend Später Programm startet mit main() Rückgabewert im System sichtbar Vorübergehend Nur eine .cpp-Datei pro Projekt Später Mehrere .cpp-Dateien Eigene Funktionen int aufgabe1() { return 1; } int main() { return aufgabe1();

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int)

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int) 6 (int)

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int) 6 (int) 3 (float)

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int) 6 (int) 3 (float) 9 (float)

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int) 6 (int) 3 (float) 9 (float) x = 9.0 Zuweisung am Schluss

Auswertung von Ausdrücken Priorität: Klammern Multiplikation Addition x = 1.0 + 2 + (4 - 2) * 3 2 (int) 6 (int) 3 (float) 9 (float) x = 9.0 Zuweisung am Schluss

Übung 3 wiederholung

Vergleichsoperatoren Vergleichen zwei Ausdrücke Resultat ist ein Wert vom Typ bool (true/false) Mathematische Bedeutung Schreibweise Bedeutung == Gleich != Ungleich < Kleiner als <= Kleiner gleich

Logische Operatoren Verbinden zwei logische Werte Logische Bedeutung Operanden müssen vom Typ bool sein Logische Bedeutung Schreibweise Bedeutung && UND || ODER ! NICHT

Logischer Ausdruck Priorität: x > 10 && y < 20 || z == 1 Vergleichsoperatoren Logisches UND Logisches ODER x > 10 && y < 20 || z == 1

Logischer Ausdruck Priorität: Logisches NICHT Vergleichsoperatoren Logisches UND Logisches ODER x > 10 && y < 20 || z == 1 bool bool bool

Logischer Ausdruck Priorität: Logisches NICHT Vergleichsoperatoren Logisches UND Logisches ODER x > 10 && y < 20 || z == 1 bool bool bool bool

Logischer Ausdruck Priorität: Logisches NICHT Vergleichsoperatoren Logisches UND Logisches ODER x > 10 && y < 20 || z == 1 bool bool bool bool bool

Fallunterscheidungen Anweisungen nur unter bestimmten Bedingungen ausführen

Fallunterscheidungen If-then-else Ternary operator Switch-case Beispiel if (x>0) { y = sqrt(x); } else { y = sqrt(-x); } y = x>0 ? x : -x; switch(x) { case 0: y = 2; break; case 1: y = 5; break; case 2: y = 8; break; case 3: y = 11; break; default: y = 0; Verwendung Komplexe Bedingung Bedingte Zuweisung Unterscheidung nach Wert Wenige Fälle Viele Fälle

If-then-else Bedingte Ausführung einer Anweisung Bedingung muss logischer Ausdruck sein Ausdruck vom Typ bool if (bedingung) anweisung1;

If-then-else Bedingte Ausführung einer Anweisung Bedingung muss logischer Ausdruck sein Ausdruck vom Typ bool if (bedingung) anweisung1; if (bedingung) anweisung1; else anweisung2;

If-then-else Bedingte Ausführung einer Anweisung Bedingung muss logischer Ausdruck sein Ausdruck vom Typ bool if (bedingung) anweisung1; if (bedingung) { anweisung1; anweisung2; } else { anweisung3; anweisung4; } if (bedingung) anweisung1; else anweisung2;

If-then-else Bedingte Ausführung einer Anweisung Bedingung muss logischer Ausdruck sein Ausdruck vom Typ bool if (bedingung) { anweisung1; anweisung2; } else if (bedingung) { anweisung3; anweisung4; } else { anweisung 5; } if (bedingung) anweisung1; if (bedingung) { anweisung1; anweisung2; } else { anweisung3; anweisung4; } if (bedingung) anweisung1; else anweisung2;

Ternary operator Bedingte Zuweisung Bedingung ist true -> x = wert1; Bedingung ist false -> x = wert1; x = bedingung ? wert1 : wert2; if (bedingung) x = wert1; else x = wert2;

Switch-case Grosse Fallunterscheidung Variable muss eine Zahl sein Break nicht vergessen! switch(ausdruck) { case wert1: anweisung1; break; case wert2: anweisung2; break; case wert3: anweisung3; break; default: anweisung4; break; } if (zahl==wert1) anweisung1; else if (zahl==wert2) anweisung2; else if (zahl==wert3) anweisung3; else anweisung4;

Übung 3 Übung

Fallunterscheidungen If-then-else Ternary operator Switch-case Beispiel if (x>0) { y = sqrt(x); } else { y = sqrt(-x); } y = x>0 ? x : -x; switch(x) { case 0: y = 2; break; case 1: y = 5; break; case 2: y = 8; break; case 3: y = 11; break; default: y = 0; Verwendung Komplexe Bedingung Bedingte Zuweisung Unterscheidung nach Wert Wenige Fälle Viele Fälle