CS1005 Objektorientierte Programmierung
|
|
- Samuel Pohl
- vor 7 Jahren
- Abrufe
Transkript
1 CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Algorithmen und Programme Seite 1 Th Letschert
2 I want You for Java! Seite 2
3 Allgemeines Lernziel / Inhalt Einführung in die objektorientierte Programmierung Java Grundbegriffe der Softwaretechnik Literatur Folien / Skript / Anleitungen [Kurs A, B: Moodle-Kurse, werden eingerichtet ] Jedes beliebige neuere Java Buch Oracle Dokumentation [ ] Software Java SE 7 JDK! [ ] Entwicklungsumgebung Eclipse Eclipse IDE for Java Developers [ Seite 3
4 Organisation Kursaufteilung von OOP 9 Kurse Gleicher Lehrinhalt Gleiche Anforderungen Unterschiedliche Dozenten Kurse A-J Wahlfreiheit bei der Kurswahl außer: Medizin-informatik ~> Kurs H oder I (Dozenten Lidwin / Schwarz) Reserviert für MI Bio-Informatik ~> Kurs K oder J (Dozent Schölzel) BI-Studierende werden bei der Platzvergabe hier bevorzugt bevorzugt, ansonsten benachteiligt. Studierende dieser Studiengänge besuchen die entsprechenden Kurse Alle anderen können einen Kurs frei wählen Das bedeutet aber nicht, dass sie einen Platz in einem Kurs ihrer Wahl garantiert bekommen. Feste Kurseinteilung erfolgt in der zweiten regulären Vorlesungswoche. ~> Weiteres zur Orgsanisation: Herr Schölzel Seite 4
5 OOP Algorithmen und Programme Seite 5
6 Algorithmen und Programme Informatik zentrale Idee Trenne Maschinen auf in Hardware und Software: Hardware: Ausführende Maschinerie Software: Handlungsvorschrift ENIAC: erster elektronischer Computer (1946) mit Programm (Patch-Kabel und ca Schalter in bestimmter Konstellation), Programmierer (damals Computer genannt) und Hardware (27 Tonnen Elektronik) Hardware Programm Seite 6 Programmierer
7 Algorithmen und Programme Algorithmus Definition Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems, d. h. eine Vorschrift zur Lösung einer Aufgabe, die präzise formuliert, in endlicher Form dargestellt und effektiv ausführbar ist. Beispiel: Euklidscher Algorithmus Lies zwei ganze Zahlen in die Variablen x und y ein Solange der Wert von x größer 0 ist wiederhole: Wenn x < y dann vertausche die Inhalte von x und y Setze x auf die Differenz x-y Gib den Wert von y (ist der gesuchte ggt) aus Seite 7 Eingabe Rechenaktionen Ausgabe
8 Algorithmen und Programme Euklidscher Algorithmus zur Berechnung des GGT von 9 und 12 x sei 9 und y und y sei 12 Solange der Wert von x größer 0 ist wiederhole: Wenn x < y dann vertausche die Inhalte von x und y Setze x auf die Differenz x-y y ist der gesuchte ggt Programm Ein Programm ist ein Algorithmus, der in einer exakt festgelegten, maschinell ausführbaren Programmiersprache notiert wurde. Beispiel: Programm zur Berechnung des GGT von 9 und 12: int x int y while if = 9; = 12; (x > 0) { (x<y) { int t = y; y = x; x = t; Programmiersprache C (sehr ähnlich so auch in: C++, C#, Java,... ) x = x-y; Programm und Algorithmus werden heute i.a. nicht mehr streng unterschieden. Seite 8
9 Algorithmen und Programme Programm zur Berechnung des GGT von eingegebenen Zahlen in Java package ggt; import javax.swing.joptionpane; public class Euklid { public static void main(string[] args) { String xs = JOptionPane.showInputDialog("Bitte 1-te Zahl eingeben"); String ys = JOptionPane.showInputDialog("Bitte 2-te Zahl eingeben"); int x = Integer.parseInt(xS); int y = Integer.parseInt(yS); while (x > 0) { if (y > x) { int t = x; x = y; y = t; x = x-y; JOptionPane.showMessageDialog(null, "GGT: " + y); Seite 9
10 Algorithmus und Programm Programm Wesentliche Bestandteile Variable Ablageplatz für Werte realisiert als Speicherstelle im Hauptspeicher Register in der CPU int a int i while if = 9; = 12; (x > 0) { (x<y) { int t = y; y = x; x = t; x = x-y; Zuweisung Transfer von Werten aus Variablen oder Ausdrücken in Variablen Verzweigung Programm-Fortsetzung abhängig von einer Bedingung Verzweigung Schleife Ausdruck Rechenvorschrift zu Bestimmung eines Wertes aus anderen Werten und/oder dem Inhalt von Variablen Variable Schleife Wiederholung (meist) abhängig von einer Bedingung Seite 10 Zuweisung Ausdruck
11 Programmbestandteile Variable x Algorithmus Variable Variablen werden nicht wie in der Mathematik als Namen von Werten verstanden sondern als Namen von Speicherplätzen Variablen enthalten in der Regel eine in der Zeit wechselnde Folge von Werten Die Werte werden oft mit indizierten mathematischen Variablen beschrieben. Die Indizes entsprechen Zeitpunkten im Ablauf (Beginn eines Schleifendurchlaufs sind übliche Zeitpunkte) int x = 12; int y = 18; int t = 0; while (x>0) { if (x<y) { t = x; x = y; y = t; x = x-y; x y t x y t x0 x1 x2 x3 y0 y1 y2 y3 t0 t1 t2 t3 Zeit Variablen und ihre Werte zu unterschiedlichen Zeiten im Programmablauf GGT-Algorithmus als Programm Seite 11 Zeit ~ Index Werte von Programm-Variablen werden oft mit mathematischen Variablen beschrieben. x hat am Anfang den Wert x0 x1 = y0-x0 falls y0 > x0 x1 = x0-y0 falls x0 y0
12 Programmbestandteile Wert Algorithmus Zuweisung und Ausdruck Variable Ausdruck Der Wert eines Ausdrucks wird mit den aktuellen Werten der Variablen berechnet Zuweisung Die Zuweisung überschreibt den Wert einer Variablen: Der Speicher ändert seinen Zustand 3 12 x = 9 x - y; x 12 x 3 y y 9 9 Speicher mit Variablenwerten vorher! Speicher mit Variablenwerten nachher! Seite 12
13 Programmbestandteile Algorithmus Verzweigung Verzweigung Die nächste(n) Aktion(en) wird/werden abhängig von einer Bedingung bestimmt Bedingung Ausdruck dessen Wert ein Wahrheitswert ist (wahr / falsch) Bedingung if (x>y) { t = x; x = y; y = t; Aktionen Nur wenn der aktuelle Wert der Variablen x größer ist als der aktuelle Wert der Variablen y dann führe die folgenden Aktionen aus. Seite 13
14 Programmbestandteile Algorithmus Schleife Schleife Die nächste(n) Aktion(en) wird/werden abhängig von einer Bedingung weiter ausgeführt. Bedingung Ausdruck dessen Wert ein Wahrheitswert ist (wahr / falsch). Er regelt die Fortsetzung der Schleife. Die Bedingung wird vor Eintritt und vor jedem Durchlauf geprüft. Bedingung while (x>0) { if (x<y) { t = x; x = y; y = t; x = x-y; Aktionen Nur wenn der aktuelle Wert der Variablen x größer als 0 ist, dreht sich die Schleife weiter. Seite 14
15 Datentypen Programm Datentyp Datentyp Im Speicher des Rechners werden alle Daten in Form von BitSequenzen (0/1-Folgen) abgelegt. Um die Daten verarbeiten zu können muss bekannt sein welchen Typ sie haben (wie lang / wie viele Bits welche Codierung). Die Information über Länge und Codierung einer Bit-Sequenz bzw. eines Bereichs im Speicher bezeichnet man als Datentyp oder kurz Typ. Seite 15
16 Datentypen Beispiel: Bedeutung des Datentyps Beginn Speicherbereich von Variable a Ohne Wissen über den (Daten-) Typ von a kann die Anweisung nicht ausgeführt werden! Wie viele Bits soll ich verarbeiten. Welche Codierung haben sie? a = a + 1; Anweisung Was ist der Wert der Variable a? - Ganze Zahl in einem Byte ~> Zahl im 2-er Komplement in zwei Byte ~> Zeichen in Windows-1252 Code (ein Byte) ~> Zeichen ' ' - Zeichen in ISO Code (ein Byte) ~> nicht definiert - Zeichen UTF-8 Codierung (zwei Byte) ~> Zeichen 蕉 - Seite 16
17 Datentypen Information über Datentypen Die Information über den Typ von Speicherstellen kann prinzipiell auf zwei Arten verwaltet werden: Explizite Speicherung des Typs Zu allen Daten wird eine Typ-Information in einem bestimmten verabredeten Code gespeichert. Implizite Informationen über den Typ Jeder Verarbeiter muss (irgend-woher) wissen welchen Typ die Bits im Speicher haben. Vorgehen bei (typisierten) Programmiersprachen Das Programm als Verarbeiter der Daten enthält die Informationen über die Typen: aus Informationen des Programmierers / der Programmiererin durch abgeleitetes (berechnetes) Wissen über die Typen Seite 17
18 Datentypen Information über Datentypen / Beispiel Programmierer: die Variable x habe den Typ int int x = 12; int y = 18; int t = 0; while (x>0) { if (x<y) { t = x; x = y; y = t; x = x-y; => Konventionen der verwendeten Programmiersprache: Ganze Zahl im 2er-Komplement in 4 Bytes Aha, x und y sind ints, also ist mit - die Subtraktion von 2 Werten im 2er-Komplement der Länge 4 Bytes gemeint! Programm Seite 18
19 Datentypen Datentypen im Programm Information über den Typ von Speicherstellen werden auf verschiedene Arten in Programmen eingesetzt. Wichtige Beispiele sind: Werte-Bezeichnungen (Literale) Notationen (Bezeichnungen) für Werte, sogenannte Literale, haben einen zugeordneten Typ. ein int-literal ein String-Literal 12 "12" Variablendefinitionen mit Typ Variablen werden mit einem bestimmten Typ im Programm definiert. int x = 12; Explizite Umrechnung Gelegentlich muss das Programm explizite Anweisungen enthalten mit denen von einer Codierung in die andere umgerechnet wird. Seite 19 int x = Integer.parseInt("12");
20 Datentypen Literale Wertebezeichnungen Für Werte verwendet man übliche Bezeichnungen Diesen ist implizit ein bestimmter Typ (Speicherformat, Codierung) zugeordnet. 12 Lieber Computer, ich meine die Zahl 12. Genau gesagt meine ich die Bitsequenz, die einer Ganzzahldarstellung im 2-er Komplement der Zahl 12 zugeordnet ist. Also die folgenden Bits im Speicher (Byte-weise gruppiert): "12" 1100 Lieber Computer, ich meine die Folge bestehend aus den Zeichen 1 und 2. Genau gesagt meine ich die Darstellung des Zeichens 1 in UTF-8 Code gefolgt von der Darstellung des Zeichens 2 in UTF-8 Code. Also ganz genau gesagt meine ich die folgenden Bits im Speicher (Byte-weise gruppiert): Seite 20 Th Letschert
21 Datentypen Variablendefinition Variablen werden mit einem bestimmten Typ im Programm definiert. Damit wird nicht der Speicherplatz markiert, sondern ein Hinweis gegeben für die Speicherung und Verarbeitung der dort abgelegten Daten. int x = 12; Lieber Computer, ich möchte in meinem Programm eine Speicherstelle mit dem Namen x verwenden. Bitte suche dir einen passenden Platz im Speicher dafür. Alle Daten die dort abgelegt werden sollen ganze Zahlen sein die Du in der passenden Form und Codierung dort speichern sollst. Speicher erst einem die Zahl 12 im 2-er Komplement dort. Wenn ich eine Rechenoperation aufschreibe in der x vorkommt, dann nimm die Bits die du an der Speicherstelle findest und und interpretiere sie als ganze Zahl in dieser Codierung. String s = "hugo"; Lieber Computer, ich möchte in meinem Programm eine Speicherstelle mit dem Namen s für Zeichenfolgen verwenden. Bitte veranlasse alles notwendige und speichere dort erst einmal die Zeichen h u g o in UTF-8 Codierung! Seite 21
22 Datentypen Explizite Umrechnung von einer Codierung in eine andere In der Regel wird zwischen verschiedenen Codierungen / Speicherformaten eines Wertes automatisch hin und her gewechselt. Gelegentlich muss der Programmierer / die Programmiererin mit expliziten Anweisungen dafür sorgen, dass von einer Darstellung / Codierung in die andere gewechselt wird. int x = Integer.parseInt("12"); 12 "12" Lieber Computer, ich weiß ja dass "12" keine Zahl sondern eine zwei-einelementige Zeichenfolge ist. Sie in einer int-variablen zu speichern ist Unsinn und das würdest Du auch nicht tun, sondern mir eine Fehlermeldung anzeigen. Wir Menschen können aber aus den beiden Zeichen 1 und 2 eine Zahl berechnen. (1*10 + 2) Ich weiß Du kannst das auch, tue es bitte! Speichere diese Zahl dann (im Format einer ganzen Zahl im 2er-Komplement) an der Stelle die Du Dir als Platz für die Werte der Variablen x ausgedacht hast. Seite 22 Th Letschert
23 Hilfsroutinen Hilfsroutinen Für viele Standard-Aktionen gibt es vorgefertigte Hilfsroutinen mit denen sie ausgeführt werden können. Beispielsweise kann das Einlesen oder die Ausgabe von Daten über ein Fenster mit einfachen Hilfsroutinen veranlasst werden: String xs = JOptionPane.showInputDialog("Bitte 1-te Zahl eingeben"); Lieber Computer. Öffne ein Dialogfenster in dem der Benutzer einen Text eintippen kann. Schreibe den Text Bitte 1-te Zahl eingeben hinein, damit der Benutzer eine Idee hat, was er tippen soll. Den eingegeben Text speichere bitte in der Variablen xs. Ich weiß dass Du die eingegebenen Zeichen dort im UTF-8 Format ablegen wirst und dass damit keine Rechnen möglich ist. Das stört mich aber nicht, denn ich kann Dich ja veranlassen aus den Zeichen die Zahl zu machen, die der Benutzer gemeint hat. JOptionPane.showMessageDialog(null, "GGT: " + y); Lieber Computer. Öffne ein Fenster und schreibe dort den aktuellen Wert der Variablen y hinein. Schreibe vor diesen Wert den Text GGT: hinein, damit der Benutzer eine Idee hat, was er da sieht. Seite 23 Th Letschert
24 Softwaretechnisches Gedöhns Paket-, und Import-Anweisungen sowie anderes Gedöhns Moderne Programmiersprachen enthalten ausgefeilte Konstrukte die der Entwicklung sehr großer Programms-Systeme dienen. Sie wirken unverständlich und sind nicht einfach zu erklären. Für den ersten Einstieg nimmt man sie am Besten erst einmal als vorgegeben Programmrahmen einfach hin. Paket-Anweisung Import-Anweisung package ggt; frei wählbare Namen import javax.swing.joptionpane; public class Euklid { public static void main(string[] args) { Programm-Anweisungen hier! vorgegebener Rahmen für Java-Programme Seite 24
25 Maschinen, real und gedacht Implementierung : Von der hypothetischen zur realen Maschine Hypothetische Maschine Programmierer schreiben Programme für eine hypothetische (gedachte) Maschine, die die Programme versteht und direkt ausführen kann. Um gute Programme schreiben zu können ist es nicht notwendig zu wissen, wie Programme tatsächlich ausgeführt werden. Es ist aber notwendig sehr genau über die hypothetische Maschine Bescheid zu wissen. Eingabedaten Ausgabedaten String xs = JOptionPane.showInputDialog("Bitte 1-te Zahl eingeben"); String ys = JOptionPane.showInputDialog("Bitte 2-te Zahl eingeben"); int x = Integer.parseInt(xS); int y = Integer.parseInt(yS); while (x > 0) { if (y > x) { int t = x; aktuelle Aktion x = y; y = t; x = x-y; JOptionPane.showMessageDialog(null, "GGT: " + y); Seite xs ys 3 5 y x main t
26 Maschinen, real und gedacht Implementierung : Von der hypothetischen zur realen Maschine Hypothetische Maschine Programmierer schreiben Programme für eine hypothetische (gedachte) Maschine, die die Programme versteht und direkt ausführen kann. Um gute Programme schreiben zu können ist es nicht notwendig zu wissen, wie Programme tatsächlich ausgeführt werden. Es ist aber notwendig sehr genau über die hypothetische Maschine Bescheid zu wissen. Ablauf auf einer realen Maschine Um Programme auf einer realen Maschine (Computer) zum Ablauf zu bringen werden viele teilweise sehr komplexe Verfahren eingesetzt. Professionelle Programmierer sollten mit deren Ablauf zumindest grob vertraut sein. Die Realisation der Programmausführung (Compiler, Interpreter, Betriebssysteme,...) ist etwas für Spezialisten in diesem Gebiet: für Informatiker. Seite 26
Informatik Algorithmen und Programme
Informatik Algorithmen und Programme Seite 1 Grundlagen der Programmierung: Spezifikation Phasen der Software-Entwicklung Spezifikation Problem und seine Lösung beschreiben vollständig detailliert unzweideutig
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
Mehrn 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
MehrInformatik Funktionen
Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
MehrProgrammieren lernen mit Groovy Allgemeines Programme und ihre Ausführung
Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen
MehrVorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrGedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrInstitut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke
Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrOrganisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
MehrInstitut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,
MehrOOP Aufgabenblatt 4 2. November 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 4 2. November 2013 Aufgabe 1 1. Wenn eine Funktion f in der Mathematik, Physik oder sonst wo definiert ist als f(x) = 2 x + 5 kann man dann f(5), f(x), f(2 x),
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrProgramme erstellen in Java
Programmieren mit Java Modul 0 Programme erstellen in Java Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Bedingte Anweisungen und Ausdrücke Aufzählungstypen Boolesche Werte Dateneingabe und -Ausgabe Seite 1 Th Letschert Programme Übersetzen
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrKlassen, Vererbung, Benutzereingabe
Klassen, Vererbung, Benutzereingabe Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der letzten Vorlesungen: Objektorientierte
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 01 23.10.2013 Inhalt Übungen und Übungsblätter Uniworx und Abgabeformate Plagiarismus Algorithmen und Pseudocode Variablen und Methoden Boolsche Operatoren
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I
Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrTechnische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 3
Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 3 25. Oktober 2010 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin
MehrZuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte
Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende
Mehr1 Programmiersprachen 1.1 1
1 Programmiersprachen 1.1 1 Meilensteine imperativer Programmiersprachen (teilweise objektorientiert) Fortran 1960 Cobol Algol 60 PL/I Algol W Simula 67 Algol 68 1970 Pascal C Smalltalk Modula 1980 Ada
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrWS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrProgrammieren Vorkurs
Programmieren Vorkurs Input/Output, If, Bedingungen Thole Goesmann, 10.10.2018 Über mich Thole Goesmann Studiere Mathematik und Informatik HiWi am Institut für Anwendungssicherheit gewähltes Mitglied im
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung
MehrEin erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
MehrIII.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
MehrEinführung in die Programmierung
Einführung in die Programmierung Brückenkurs Prof. Dr. Rethmann Fachbereich Elektrotechnik und Informatik Hochschule Niederrhein WS 2009/10 Einführung in die Programmierung Erste Programme 2 / 38 Übersicht
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrLearning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus
Algorithmen Algorithmusbegriff Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmusbegriff Algorithmen sind eine der ältesten (abstrakten) Beschreibungstechniken für Abläufe.
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben
Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Alexander Lochmann, Iman Kamehkhosh, Marcel Preuß, Dominic Siedhoff Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrInformatik Allgemeines Einführung
Informatik Allgemeines Seite 1 Allgemeines Organisation Vorlesungen / Übungen / (Programmier-) Praktikum Leistungsbewertung 2 Klausuren Seite 2 Allgemeines Dozent Dr. Th. Letschert Thema Informatik Historie,
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrProgrammierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.
Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrVon der Programmiersprache WHILE zum ersten Einstieg in Java
Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,
MehrInformatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM
Informatik II Vordefinierte atenstrukturen - Listen List - bbildungen Map - Mengen Set Seite 1 Th Letschert, THM atenstrukturen atenstrukturen Sprachelemente zur strukturierten Speicherung von aten atentyp
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrWS2017/ Oktober 2017
Ronja Düffel WS2017/18 05. Oktober 2017 mit Python Programmieren (vereinfacht) 1 Problem beschreiben und analysieren 2 Enwicklung und Beschreibung einer Lösung 3 Übertragung/Umsetzung in eine Programmiersprache
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while
MehrProgrammierpraktikum
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht
MehrHello World! Eine Einführung in das Programmieren Variablen
Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?
MehrAlgorithmen. Beispiele: Beispiele: Algorithmen zum Test auf Primzahl. Programmieren - Java I WS 2001
Algorithmen Ein Algorithmus ist ein Verfahren zur systematischen, schrittweisen Lösung eines Problems. Er besteht aus einzelnen Anweisungen, die in einer bestimmten Reihenfolge, evtl. mehrmals ausgeführt
Mehr