Nino Simunic M.A. Computerlinguistik, Campus DU
|
|
- Uwe Pohl
- vor 8 Jahren
- Abrufe
Transkript
1 Vorlesung 2. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU
2 Grundlegende Programmiertechniken, WS 2007/2008 Programm, Algorithmus Syntax, Semantik Realisierungsebenen von Programmen Binärcode, Assembler, Höhere Programmiersprachen Compiler, Interpreter Code-Struktur (in Java) Variablen und Datentypen (in Java)
3 Grundlegende Programmiertechniken, WS 2007/2008 Programm, Algorithmus Syntax, Semantik
4 Woraus bestehen Programme im Wesentlichen? Programm = Daten + Befehle Daten Elemente, die das Programm verarbeitet Zahlen, Texte, Bilder, Videos, etc. Befehle Operationen, die mit den Daten ausgeführt werden Math. Operationen, Texte (vor-/ein-)lesen/schreiben, Anordnung/Abarbeitung der Befehle strukturiert ist endlich: Algorithmus -4-
5 Algorithmen (1) Präzise definierte Handlungsvorschrift zur Lösung eines Problems in endlicher Zeit/endlichen Schritten. Alltagsalgorithmen Bedienungsanleitungen, Kochrezepte, Routen, Waschmaschinenprogramm Computerprogramme können aus mehreren Algorithmen bestehen Analogie Kochrezept: Neben Hauptalgorithmus weitere Algorithmen für's Herstellen von Sahne, Blätterteig, etc. Bestehen aber aus einer begrenzten Anzahl von Code- Zeilen. -5-
6 Algorithmen (2) Abstrakter Algorithums: Gegenstück zum konkret auf eine Maschine zugeschnittenen Programm Ist im Optimalfall Grundlage für die Implementierung. Abstraktion erfolgt im Weglassen der spezifischen Details der Maschine/Programmiersprache. 1. drucke "Hello World" Oft auch in natürlicher Sprache semi-formal: Bsp.»Kaffeekoch«-Programm als»pseudo- Algorithmus«: take Filter -> place Filter -> take coffeepowder -> measure coffeepowder -> -6-
7 Hello World: Daten, Befehle, Algorithmus Das Hello World Programm enthält sowohl Daten, Befehle, und einen (zugegeben sehr simplen) Algorithmus: "Hello World" System.out.println( DATEN ) -7-
8 Weitere Aspekte einer Programmiersprache: Syntax, Semantik Syntax Grammatik, Syntaxregeln, Symbole,»Vokabeln«Syntaxfehler werden vom Compiler/Interpreter anhand der Grammatik und einem Parser erkannt und zurückgewiesen Zuweisungsregel: Variable = Ausdruck (3+1) = einevariable einevariable = (3+1) Auch clas (class) ist ein syntaktischer Fehler Semantik Was "bedeutet" die Regel Variable = Ausdruck? Werte den Ausdruck rechts vom = aus und weise ihn der Variablen links vom = zu Online Spezifikation der»java-sprache«: -8-
9 Grundlegende Programmiertechniken, WS 2007/2008 Realisierungsebenen von Programmen Binärcode, Assembler, Höhere Programmiersprachen
10 Realisierungsebenen von Programmen: Binärcode, Assembler Rechner sind»abspielgeräte«für Programme und verstehen nur eine bestimmte Menge an elementaren Befehlen, die in Machinencode kodiert sind. Z.B.: ADDI ACC, 6 ACC = ACC SUBI ACC, 6 ACC = ACC - 6 Programmierung in Assembler bzw. Maschinencod/Binärcode: Vorteil: Sehr performante Ausführung (kaum»umwege«) Für den Programmierer unpraktikabel: Schwer zu programmieren, lesen, warten Anpassung für verschiedene Rechnersysteme/Prozessoren nötig. Kompromiss gesucht: Formale (»maschinell nutzbare«) Sprache mit höherem Anteil»Menschenlesbarkeit«
11 Realisierungsebenen von Programmen: Höhere Programmiersprachen (1) Kompromiss bereits von Ihnen mit Hello World verwendet: Java als höhere Programmiersprache (PS)»Vokabular«und Konstrukte/Syntax oft in Anlehnung an die engl. Sprache: this, for, if, do, while, etc. IF thisistrue THEN this ELSE that WHILE (thisistrue) DO { thisandthat}
12 Realisierungsebenen von Programmen: Höhere Programmiersprachen (2) Höheren Programmiersprachen Sind formale Sprachen und Mindestvoraussetzung für die Programmierung von Maschinen im Allgemeinen Besitzen demnach auch eine spezifische Grammatik Perl, JScript, Turbo Pascal, C#, C, C++ sind auch höhere Programmiersprachen. HTML, XML, etc. sind keine Programmiersprachen. Höhere Programmiersprachen müssen übersetzt bzw. kompiliert werden By the way: Assembler muss auch kompiliert werden
13 Grundlegende Programmiertechniken, WS 2007/2008 Compiler, Interpreter
14 Übersetzung höherer Programmiersprachen Interpreter Beispiele: Perl, PHP, Javascript, Übersetzt bei Ausführung Zeile für Zeile eines Programms in Maschinencode: Syntaxfehler in Zeile 1000 wird es beim Erreichen dieser Stelle zur Laufzeit erkannt. Compiler C(++), Pascal, Java, Übersetzt Quelltext vor der Laufzeit gänzlich in CPUverarbeitbaren Maschinencode Nur bedingt gültig für Java (Bytecode) Syntaxfehler nicht erst zur Laufzeit des Programms
15 Java ist plattformunabhängig (Kompilierte) Java-Programme sind plattformunabhängig C, C++, : Code muss für jede Plattform neu kompiliert werden Mindestvoraussetzung: JRE (enthält JVM) auf dem ausführenden Rechner Java-Version von Entwicklungs- und ausführendem Rechner sollten im Idealfall identisch sein
16 Unterstützte OS, obligatorische Softwarekomponenten Solaris x64, Solaris OS SPARC, Solaris OS x86 Windows Intel IA32, Windows AMD64/EM64T 32-bit mode, Windows AMD64/EM64T 64-bit mode Linux Intel IA32, Linux AMD64/EM64T 32-bit mode, Linux AMD64/EM64T 64-bit mode Überblick:
17 Skizze: Interpreter-Sprachen und Übersetzung Spezifikation, Lösungsidee, Algorithmus Programmierer If (x==1) goto 10; Programmiersprache Ausführung via Interpreter CPU
18 Skizze: Compiler-Sprachen und Übersetzung Programmierer If (x==1) goto 10; Compiler Spezifikation, Lösungsidee, Algorithmus Programmiersprache Ausführbares Programm in Binärcode Direkte Ausführung CPU
19 Skizze: Java Übersetzungsprozess, und Bytecode Spezifikation, Lösungsidee, Algorithmus Programmierer Quelltext in Java Compiler: javac.exe?6??7??8?9?:??;?<?=?>?? Programm in Bytecode Ausführung: java.exe Interpretation Laufzeitumgebung, Virtuelle Maschine JIT-Compiler CPU
20 Plattformabhängigkeit (C, C++, ) Compiler (SPARC) (Kompilierte) Binärdatei SPARC- Plattform //Quelltext Compiler (Pentium) (Kompilierte) Binärdatei Pentium- Plattform Compiler (AMD64) (Kompilierte) Binärdatei AMD64- Plattform
21 Plattformunabhängigkeit (Java) JVM (SPARC- Plattform) //Quelltext Java Compiler (javac.exe) Java Bytecode Datei Plattformunbhängig JVM (Pentium- Plattform) JVM (AMD64- Plattform)
22 Implementierungsprozess: Abstrakte/Generische Perspektive Aufgabe Modellierung Implementierung Einsatz Modellierung Konzeptioneller, abstrakter, algorithmisierter Entwurf der Problemlösung Implementierung Quelltext (Code, Quellcode) in einer ausgewählten Programmiersprache wie Java Einsatz Evaluation des Programms Je besser die Modellierung, desto effizienter die Programmierung
23 Grundlegende Programmiertechniken, WS 2007/2008 Code-Struktur (in Java)
24 Quelltext-Struktur in Java Import-Anweisungen, Paketdefinitiaonen Quelltext-Datei Anweisung Anweisung Klassendefinition Variablen mit Sichtbarkeitsmodifizierer Methode 1 Methode 2 Anweisung Anweisung Anweisung Weitere Klassen möglich später mehr dazu
25 Programm bzw. Klassen-Struktur Ein Programm besteht aus mindestens einer Klasse Eine der Klassen enthält die main()-methode Eine Klasse besteht (mindestens) aus dem Schlüsselwort class, gefolgt von einem Bezeichner und { einer Auflistung von Attributen, die Auflistung darf leer sein einer Auflistung von Methoden, die ebenfalls leer sein darf der schließenden geschweiften Klammer } Eine Methode besteht (mindestens) aus einem Schlüsselwort für den Rückgabewert (für jetzt: void) einem Bezeichner,gefolgt von einer Parameterliste in Klammern und { Null bis beliebig vielen Anweisungen der schließenden geschweiften Klammer }
26 Veranschaulichung einiger Grundbegriffe Sichtbarkeitsmodifikator Methodenkopf Methodenrumpf Schlüsselwort public class HelloWorld { Klassenbezeichner public static void main ( String[] args ) { // Jetzt kommt eine Anweisung Methodenbezeichner Parameterliste (Formaler) Parameter Kommentar } } System.out.println( "Hello World!" ); Argument (hier Literal) Methode (-naufruf) static-modifikator Anweisung Rückgabewert(-Typ) Elemente in dieser Farbe: Schlüsselwörter
27 Schlüsselwörter, Symbole Schlüsselwörter Durch Java reservierte Wörter, die nicht als Bezeichner verwendet werden dürfen class ist bspw. kein gültiger Bezeichner für den Klassennamen oder anderes Symbole Besondere Bedeutung, u.a. die syntaktische Organisation und Strukturierung des Quellcodes Klammern: { }, ( ), [ ] ; Semikola/Semikolons am Ende jeder Anweisung, Kommata zum Trennen von Listenelementen
28 Auflistung d. Schlüsselwörter
29 Grundlegende Programmiertechniken, WS 2007/2008 Variablen, Datentypen
30 Variablen: Einleitung und Definitionen (1) Variablen Speichern veränderliche Werte Der Wertebereich von Variablen wird durch den Datentyp festgelegt Festlegung wird Deklaration einer Variablen genannt Deklaration Der (Daten-)Typ der Variablen muss vor der Verwendung festgelegt werden, d.h. welche Werte sie annehmen kann
31 Variablen: Deklarationseigenschaften Deklaration innerhalb einer Methode: Variable existiert sie nur innerhalb und während der Ausführung der Methode Eine weitere Methode in der Klasse hat (ohne Weiteres) keinen Zugriff! Eine Variable darf innerhalb einer (main-)methode nur einmal deklariert werden! Innerhalb einer Methode haben Variablen keine Sichtbarkeitsmodifikatoren! (Mehr dazu später)
32 Variablen: Datentypen Alle primitiven Datentypen und Referendatenztypen möglich Zuweisung eines nicht kompatiblen Werts (»passt nicht zum deklarierten Typ«), führt zu Fehlermeldungen (u. ggfs. zum Absturz des Programms)! Welche primtiven Datentypen gibt es in Java?
33 Variablen: Einfache/Primitive Datentypen Ganzzahlen Schlüsselwort Bit Wertebereich Klasse byte bis 127 Byte short bis Short int bis Int long bis Long Gleitkommazahlen (Wertebeich: ±m*2e (IEEE-754 Spez.)) Schlüsselwort Bit m e float 32 0 bis bis 104 double 64 0 bis bis 970 Klasse Float Double Character, Boolean Schlüsselwort Bit char 16 boolean 1 Wertebereich \u0000 bis \uffff true oder false Klasse Character Boolean
34 Variablen: (Syntax der) Deklaration Deklarationssyntax <Datentyp> <Variablenname>; oder <Datentyp> <Variablenname> = <Initialwert> ; Anwendung Fehler int a; int a=8; int a; a=8; a=2; a=251; int a=8; a=1; a=2; a=251; int a=8; a=1; int a=2; int a=8; a=1; String a="0";
35 Referenzdatentyp: String Zeichenketten werden in Objekten der Klasse String gespeichert Explizite Instanzierung nicht notwendig Zuweisung von Literalen direkt möglich String city = "44225 Dortmund"; String country = "NRW, Germany"; Konkatenation: Verknüpfung bzw. Verkettung von Zeichenketten Via + Operator String nachname = "Uwenknecht"; String vorname = "Ochse"; String name = vorname + " " + vorname;
36 Primitive vs. Referenzdatentypen (mehr dazu später) Primitive Datentypen sind nicht komplex! Besitzen keine Attribute und Methoden Komplexe Datentypen (z.b. String) können beides besitzen! Aufruf nur nach Erzeugung eines Objekts möglich Ausnahmen: Statische Klassen-Elemente Aufruf von Methoden oder Attribut via Punktnotation System.out.println( "Hallo" ); String a = "Hi"; System.out.println( a.length() ); //
37 Deklarationsbeispiele innerhalb der main-methode: Fehlerfälle public static void main (String[] var) { String text ="Jetzt lerne ich Java."; System.out.println(text); String text ="Jetzt lerne ich etwas anderes."; System.out.println(text); } public static void main (String[] var) { System.out.println(String text="jetzt mache ich etwas falsch..."); text ="Jetzt lerne ich etwas anderes."; System.out.println(text="Och nö doch nicht, anders überlegt."); } public static void main (String[] var) { text ="Jetzt lerne ich etwas anderes."; System.out.println(text); } public static void main (String[] var) { System.out.println(text); text ="Jetzt lerne ich Java."; }
38 Variablen: Zusammenfassung Eine Variable ist ein benanntes Aufbewahrungsfach für einen Wert Eine Variable wird durch ihren Bezeichner (Namen) identifiziert Einer Variablen kann man einen Wert zuweisen (im Fach "hinterlegen") Der Wert einer Variablen kann man auslesen und modifizieren Eine Variable hat einen bestimmten Typ Nur Werte mit kompatiblem Typ können an die Variable zugewiesen werden Eine Variable muss vor ihrer Benutzung deklariert (erklärt) werden Deklaration an beliebiger Stelle innerhalb einer Klasse Doppelte Deklaration im selben Codeblock nicht zulässig
39 (Für) Nächste Woche Lesen Sie aus Sprechen Sie Java? [Mössenböck:2005] die mindestens die Seiten Hauptthemen der nächsten Woche Operationen, Operatoren Kontrollstrukturen Tutorien (3 x Woche) Termine werden bis zum auf unserer Seite bekannt gemacht
Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrVorkurs Informatik WiSe 15/16
Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Mehr1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrProgrammiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013
Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
MehrÜbungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11
Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrJava Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung
Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrTutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
MehrAufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.
»Programmieren«, WS 006/007 Nino Simunic (nino.simunic@uni-due.de) Übungsblatt 4 Aufgabe 1 OOP In dieser Aufgabe sollen Sie Autos als Klasse Car modellieren. Die Eigenschaften auf attributiver Ebene sind:
Mehrschnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrPrinzipien der Softwareentwicklung S. Strahringer
Gliederung 1 Einführung Was ist ein Programm? Vorteile (und Nachteile) von PHP Erste PHP-Programme Ausführung von PHP-Programmen 2 Grundbegriffe der Programmierung Anweisungen, Variablen, Datentypen und
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
Mehr2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1
2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.
MehrAlgorithmen mit Python
Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World
Mehr1. Der Einstieg in Java
1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen
MehrI.1 Die Parrot Assemblersprache
I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrInteraktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014
Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,
MehrLehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup
Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrInformatik I. Übung 01. Olga Diamanti
Informatik I Übung 01 Olga Diamanti 1 Über mich PhD Studentin in D-INFK Aus Griechenland Habe Elektrotechnik studiert Email: olga.diamanti@inf.ethz.ch http://www.inf.ethz.ch/ personal/dolga/ Mein Büro:
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrAlgorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.
Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte
MehrProseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrTestklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
MehrKompilieren und Linken
Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang
MehrÜbung 9 - Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
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.
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrJAVA als erste Programmiersprache Semesterkurs
JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik
MehrÜbersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15
Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrZum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...
Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau
Mehr1. LPC - Lehmanns Programmier Contest - Lehmanns Logo
Aufgabe ist die Entwicklung einer vereinfachten Variante der beliebten Programmiersprache Logo. Die Aufgabe ist in drei Stufen zu erledigen, von der wir zunächst nur die erste Stufe bekannt geben. Die
Mehr