CS1005 Objektorientierte Programmierung
|
|
- Guido Glöckner
- vor 6 Jahren
- Abrufe
Transkript
1 CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Programme Erstellen und Ausführen Seite 1 Th Letschert
2 Programme Erstellen Lebenszyklus der Software Software werden in mehreren voneinander abgegrenzte Phasen erstellt. Man erhält einen Softwarelebenszyklus, einen so genannten Software Life Cycle. Es gibt keinen allgemein akzeptierten Ablauf des Softwarelebenszyklus Einigkeit herrscht nur über die prinzipiellen Tätigkeitsklassen Analyse: Was ist überhaupt zu tun Entwurf: Wie wollen wir es machen Implementierung: Programm(e) schreiben Test: Prüfen Wartung: Verbesserungen, WeiterEntwicklungen Das klassische Wasserfall-Modell: Zeitliche Abfolge der Phasen das Spiral-Modell: In einander verschränkte Phasen Seite 2
3 Programme Erstellen Phasen in der SW-Entwicklung Wie wird der Text (Quellcode) der Programme erstellt und gepflegt Problemanalyse (Anforderungs- / Systemanalyse) Analyse des Problemfeldes und der Aufgabenstellung Ergebnis: Anforderungsbeschreibung (= Pflichtenheft) Systementwurf Aufteilung der Aufgabe/Lösung in so genannte Module aufgeteilt Ergebnis: Systemspezifikation Programmentwurf Module werden zu Programmstrukturen ausgearbeitet Ergebnis: mehrere Spezifikationen Implementierung und Test Module werden programmiert und getestet (verifiziert) Ergebnis: aus getesteten Modulen zusammengesetztes Programm Betrieb und Wartung Pflege der Software: Fehlerbeseitigung, Erweiterungen und Änderungen Seite 3
4 Programme Übersetzen und Ausführen Programm-Ausführung Wie wird der Text (Quellcode) der Programme zu Aktionen eines Computers Programm Festlegung von Aktionen in einer exakt festgelegten Notation Interpreter liest das Programm und befolgt dessen Anweisungen Varianten Hardware (CPU, Prozessor) Programm wird durch Hardware ausgeführt die Basis aller Programmausführung Software (Programm) Programmausführung durch ein Programm Seite 4
5 Programmausführung durch Hardware Rechner Aufbau und Arbeitsweise externer Speicher Rechner Prinzipieller Aufbau Externer Speicher (Festplatte): Enthält Daten und Programme Arbeitsspeicher / RAM: Enthält Daten und Programme mit denen Prozessor: führt Anweisungen (Befehle) aus Prozessor (CPU) Lädt Befehle (Sequenzen von Bits) aus Arbeitsspeicher in Register Lädt Operanden (Sequenzen von Bits) in Register Führt Befehle aus: ändert Bit-Sequenzen in Registern Speichert Werte in Registern im Hauptspeicher Arbeitsspeicher CPU Hauptspeicher CPU 3 Befehl 1 Daten Daten 2 Befehl Befehl Befehl Daten Dasten Daten Seite 5 1. Befehl laden 2. Daten laden 3. Befehl ausführen 4. Daten speichern
6 Programmausführung durch Hardware Steuerwerk ALU Register Prozessor Aufbau ALU (Arithmetic Logical Unit) Rechenwerk für mathematische / logische Operationen (Arbeits-) Register Speicherplätze für Daten innerhalb des Prozessors. Die ALU rechnet mit den Werten, die sich in den (Arbeits-) Registern befinden. Steuerwerk Kontrolle der Ausführung, nutzt dabei spezielle Register Befehlszählerregister Befehlsregister Bus / Datenleitung Busse (= Leitungen ) verbinden die CPU mit anderen Komponenten Datenbus: Austausch von Daten mit dem Arbeitsspeicher (RAM) Adressbus: Übertragen der Speicheradressen. Steuerbus: Ansteuerung der Peripherie-Anschlüsse Seite 6 Bus RAM E/A-System
7 Programmausführung durch Hardware Prozessor-Register Prozessor-interne Speicherplätze für binäres Datum bestimmter Länge (z. B. 32-Bit) Arbeitsregister werden vom Speicher geladen mit arithm. / logischen Operationen manipuliert in den Speicher geschrieben Steuerregister Befehlszähler: Adresse des nächsten Befehls Befehlsregister: Befehl der gerade ausgeführt wird Registergröße (z.b. 32, 64 Bit) beeinflusst Leistungsfähigkeit des Prozessors Pro Befehl manipulierbare Datenmenge Größe des adressierbaren Speichers Seite 7
8 Programmausführung durch Hardware Funktionsweise Prozessor 1. Das Befehlszählerregister des Steuerwerks enthält die Adresse des nächsten Maschinenbefehls. Die Adresse des Befehls wird über den Adressbus an den Arbeitsspeicher übermittelt. 2. Der Befehl wird aus dem Arbeitsspeicher über den Datenbus in das Befehlsregister geladen. Mittels Dekodierlogik wird der Befehl analysiert und die Ausführung angestoßen. 3. Der Befehl wird ausgeführt; abhängig vom jeweiligen Befehl wird dabei zusätzlich das Lesen von Daten aus dem Arbeitsspeicher, die Ansteuerung von Peripherieschnittstellen, das Rechnen in der ALU oder die Durchführung eines Sprungs im Programm erforderlich. Der Status der jeweiligen Operation wird im Statusregister (Flagregister) angezeigt. 4. Falls ein Sprung stattfand, wird das Befehlszählerregister auf die entsprechende neue Adresse gesetzt, ansonsten wird das Befehlszählerregister um 1 erhöht. 5. Der Prozessor fährt wieder mit dem 1. Schritt fort. Seite 8 Befehl holen Operand holen Befehl dekodieren Operation ausführen Befehlszähler ändern
9 Programmausführung durch Hardware Arbeitsspeicher / RAM Enthält alle Daten und Befehle eines Programms in Ausführung Direkter Zugriff auf Byte-Adressen CPU greift direkt auf einzelne Speicherstellen zu Byte-, Wort-/ Doppelwort lesen / schreiben (Von Platte kann nur in großen Blöcken gelesen werden) RAM Der Arbeitsspeicher besteht im Wesentlichen aus Speicherbausteinen, die man als RAM (Random Access Memory = Speicher mit wahlfreiem Zugriff ) bezeichnet. Bei allen RAM-Bausteinen gilt, dass ihr Inhalt flüchtig ist, d.h. dass sie nur so lange den gespeicherten Wert behalten, wie sie mit Strom versorgt werden. Nach Abschalten des Rechners sind Daten im Arbeitsspeicher verloren. Zwei Arten von RAM: DRAM (Dynamic RAM) langsam, kostengünstig SRAM (Static RAM) schnell, teurer (meist für Register und Cache-Speicher) Seite 9
10 Programmausführung durch Hardware Peripherie alle Geräte, die an den Rechner angeschlossen sind. Für den Prozessor i.a. nicht direkt zugreifbar. Eingabe Maus, Tastatur, Scanner, Ausgabe Drucker, Graphikkarte / Bildschirm, Ein- und Ausgabegeräte: Netzkarte, Massespeicher Gerät, das zur Speicherung von Daten dient Magnetische Speicher Festplatten, floppy-disc Optische Speicher CD, DVD Halbleiter-Speicher USB-Stick SSD (solid state drive) Platte Festplatte in Halbleiterbausteinen Seite 10
11 Programme Übersetzen und Ausführen Maschinencode / Assemblercode Maschinenbefehle Bit-Folgen mit festgelegter Bedeutung (für Menschen unles- / unschreibbar) Spezifisch für jeden Prozessortyp Assembler (symbolischer Maschinencode) Für Menschen les- / schreibbare Darstellung der Maschinen-Befehle. Urform der Programmiersprachen. Nutzung: In Speziellen Situationen / als Zwischenstadium Beispiel (Intel 80x86) Maschinenbefehl : addiere 0F zu Register EDX 83C20F Maschinenbefehl in Hex add edx,0fh entsprechender Assemblerbefehl add edx,0fh Assembler Seite
12 Programme Übersetzen und Ausführen Höhere Programmiersprache Strukturierte Anweisungen, Datentypen,... Bedingungen, Schleifen, Funktionen, Datentypen, Ausdrücke... haben keine direkte Entsprechung in Maschinencode Werden durch Compiler in Sprünge und einfache Operationen umgesetzt Compiler Übersetzt höhere Programmiersprache in Assemblercode oder direkt in Maschinencode Beispiel a = a+1 Anweisung in höherer Programmiersprache load edx,0fh add edx,0x01 store edx,0fh Maschinenbefehl in Assembler-Notation a = a+1 Quell-Programm Compiler add edx,0fh Assembler Assembler-Programm Maschinenrogramm Seite 12
13 Programme Übersetzen und Ausführen Compilierte Höhere Programmiersprache Ausführung Eingeben: Der Programmtext wird mit Hilfe eines Editor-Programms vom Entwickler eingetippt und in einer Datei abgespeichert Übersetzen: Der Compiler (ein Programm) übersetzt den Text in Maschinencode und speichert ihn in einer Datei Binden: Der Binder (engl. Linker, ein Programm) kombiniert (verbindet) das Maschinenprogramm mit dem Maschinencode aus Bibliotheken für Standardkomponenten zu einem ausführbaren Programm (eine Datei). Laden: Das Betriebssystem lädt das Maschinenprogramm aus der Datei (Festplatte) in den Hauptspeicher. Starten: Die erste Adresse des Programms wird vom Betriebssystem in das Programmregister (= Befehlszähler) der CPU geladen Ausführen: Die CPU lädt einen Befehl des Maschinen-Programms nach dem anderen und führt ihn aus. Seite 13
14 Programme Übersetzen und Ausführen Interpreter (Interpretierer) Der Programmtext wird nicht in ein Maschinenprogramm übersetzt damit dann die CPU das Maschinenprogramm ausführen (interpretieren) kann sondern: Der Programmtext wird direkt (ohne Übersetzung) von einem anderen Programm ausgeführt dem Interpreter (-Programm) a = a+1 Quell-Programm Interpreter-Programm (Maschinencode) Seite 14 Daten Befehle
15 Programme Übersetzen und Ausführen Interpreter ist ein Programm, das in Maschinencode übersetzt wurde (oder selbst interpretiert wird) a = a+1 Quell-Programm Daten AnwendungsProgrammierer Befehle Interpreter-Programm (Maschinencode) Assembler a = a+1 Quell-Programm Compiler add edx,0fh Assembler-Programm SystemProgrammierer Seite 15 Compiler und Assembler sind natürlich auch Maschinenprogramme, die...
16 Programme Übersetzen und Ausführen Interpretierte Höhere Programmiersprache Ausführung Eingeben: Der Programmtext wird mit Hilfe eines Editor-Programms vom Entwickler eingetippt und in einer Datei abgespeichert Ausführen: Die CPU lädt einen Befehl des Interpreter-Programms nach dem anderen und führt ihn aus. Dabei werden die Anweisungen des Quellprogramm als Daten gelesen und ausgeführt. Seite 16
17 Programme Übersetzen und Ausführen Virtuelle Maschine Maschine die sich aus der realen Maschine (CPU) plus Interpreter-Programm ergibt Das Interpreter-Programm allein wird oft als virtuelle Maschine bezeichnet Interpreter-Programm (Maschinencode) a = a+1 Quell-Programm Ausführung Programmierer virtuelle Maschine Seite 17
18 Programme Übersetzen und Ausführen Virtualisierung Ein Grundprinzip der Informatik Eingabedaten Hardware + Software Software Programm spezielle Maschine virtuelle Maschine Ausgabedaten Seite 18
19 Programme Übersetzen und Ausführen Virtualisierung Ein Grundprinzip der Informatik wird mehrfach geschachtelt angewendet Eingabedaten Hardware + Software Programm: Interpreter in Maschinensprache Software spezielle Maschine: virtueller (gedachter) Computer der eine höhere Sprache versteht + Software Programm virtuelle Maschine Software spezielle Maschine virtuelle Maschine Ausgabedaten Seite 19
20 Java-Programme Übersetzen und Ausführen Übersetzen und Ausführen Java kombiniert Compiler und Interpreter Java-code Schritt 1: Übersetzen Das Quell-Programm (Java) wird übersetzt Aber nicht in Machinecode Sondern in Bytecode = Code für die virtuelle Maschine JVM Schritt 2: Interpertieren Ein Interpreter-Programm (Die JVM) wird von der realen Maschine ausgeführt und führt dabei selbst die übersetzten Anweisungen des Quellpropgramms aus Compiler virtuelle Maschine Bytecode JVM Betriebssystem CPU / HW reale Maschine Bildquelle: Seite 20
21 Java-Programme Übersetzen und Ausführen Java : Compilieren + Interpretieren Vorteil: Keine Anpassung des Compilers notwendig Übersetzte Programme überall lauffähig Nachteil: Ausführung langsamer Direkte Ausführung von Maschinencode ist schneller als die indirekte Ausführung mit einem Interpreter-Programm Motivation für Compilation + Interpretation Compiliert: Compiler / Bibliotheken müssen an Plattform angepasst werden, Nur Quellcode kann transferiert werden Compiliert + Interpretiert: Ablaufumgebung (JVM) muss an Plattform angepasst werden, Bytecode kann transferiert werden Java-Programme können während ihres Laufs von beliebigen Quellen (Internet!) weitere Programmteile ( Klassen ) laden und sofort ausführen ohne selbst übersetzen zu müssen (zu langsam) und ohne dass die Quelle eine übersetzte Version bereithalten muss (geht nicht, da ladende Maschine unbekannt). Bildquelle: Seite 21
22 Java-Programme im Dateisystem Datei Java-Code in Quelltext-Datei Dateiname: KlassenName.java Datei kann mehrere Klassen enthalten, davon darf nur eine public sein Verzeichnis enthält die Bestandteile eines Pakets: Klassen des Pakets: Java- / Class-Dateien Sub-Pakete Paket Klasse1 Sub-Paket Klasse2 logische Struktur Verzeichnis ~ Paket Paket-Zugehörigkeit einer Klasse durch Package-Deklaration: package <Paket-Name>; in der Datei eines Pakets (Relation Paket/Sub-Paket): Hierarchische Paketnamen: <Paket>.<Sub-Paket>.<Sub-Sub-Paket> Programm keine direkte Repräsentation ergibt sich aus den geladenen Klassen Seite 22 Klasse1.java Java-Datei Klasse1.class Class-Datei Unter-Verz. ~ Sub-Paket Klasse2.java Java-Datei Klasse2.class Class-Datei Verzeichnis-Struktur
23 Java-Programme Übersetzen und Ausführen Programm erstellen Verzeichnis erstellen: mypackage Datei erstellen (beliebiger Text-Editor): MyClass und in diesem Verzeichnis in der Datei MyClass.java speichern Programm übersetzen Kommando z.b.: javac mypackage/myclass.java erzeugt die Datei mypackage/myclass.class Programm ausführen Kommando z.b.: java mypackage.myclass Editor Editor package mypackage; package mypackage; public final class MyClass { public final { public staticclass void MyClass main(final String[] args) { public static void main(final String[] args) { System.out.println("Hallo Java"); System.out.println("Hallo Java"); } } } } Hallo Java Hallo Java Seite 23 Compiler Compiler (javac) (javac) JVM JVM (java) (java)
24 Java-Programme Übersetzen und Ausführen Pfad und Klassenpfad Pfad, engl. Path ein Ausdruck der dem System hilft Programme zu finden C:\Programme\Java\jdk1.6.0_01\bin könnte der Pfad zu den Programmen javac und java sein. Klassenpfad, engl. Classpath ein Ausdruck der java (also der JVM) hilft die Klassendateien zu finden als Kommando- (Programm-) Argument: java -cp /pfad/zum/verzeichnis mypackage.myclass z.b.: java -cp /home/thomas/classes mypackage.myclass default: aktuelles Verzeichnis der Klassenpfad endet immer vor den Paket-Verzeichnissen bla Klassenpfad blubber classes mypackage MyClass. class Seite 24 siehe auch:
25 Java-Programme Übersetzen und Ausführen Jar-Archiv Sammlung von Java-Dateien Class-Dateien und eventuell Quell-Dateien (zip-codierte Archiv-Datei) Verwendung: Transport und Installation von java-code ~ ausführbare Datei oder Bibliothek Erzeugung mit Kommando (Programm) jar. Beispiel: jar -cvf myjararchive.jar mypackage erzeugt ein Archiv des Verzeichnisses mypackage Nutzung als Klassen-Bibliothek, Beispiel: jar -cvf myjararchive.jar mypackage java -cp myjararchive.jar mypackage.myclass als ausführbare Datei, Beispiel: jar -cvfe myjararchive.jar mypackage.myclass mypackage java -jar myjararchive.jar Manifestdatei: enthält Infos zum Archiv. z.b.: Angabe Haupt-Klasse Seite 25
26 Java-Programme Übersetzen und Ausführen Getrennte Verzeichnisse für Quell- und Binärdateien javac -d <Zielverzeichnis> <Quelldatei> z.b.: javac -d bin src/hallo/hallowelt.java Jar-Datei erzeugen: Archiv Klasse Verzeichnis eventuell mehrere Verzeichnisse cd bin jar -cvfe HalloWelt.jar hallo.hallowelt hallo Jar-Datei aus einem anderen als dem aktuellen Verzeichnis bin heraus erstellen jar -cvfe HalloWelt.jar hallo.hallowelt -C bin hallo Jar-Datei ausführen: Gibt Verzeichnis des nachfolgenden Kommando-Arguments an java -jar HalloWelt.jar HalloWeltProject + src + hallo + HalloWelt.java + bin + hallo + HalloWelt.class Seite 26
27 Java-Programme Übersetzen und Ausführen Ausführbare Jar-Datei mit Eclipse erstellen Rechts-Klick auf auf das zu exportierende Projekt: Export Runnable JAR file auszuführende Klasse angeben (Launch configuratution) Zielverzeichnis und Datei angeben Finish Ausführbare Java-Datei ist erstellt und kann (z.b. mit Doppelklick) ausgeführt werden. Zu Jar-Dateien siehe auch: Seite 27
CS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Allgemeines Java-Programme erstellen und ausführen Seite 1 Allgemeines Dozenten Dr. Th. Letschert Dr. Andreas Dominik Tutoren Lernziel
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrFachbereich Medienproduktion
Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen
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
MehrInformatik Computer-Hardware
Informatik Computer-Hardware Seite 1 Aufbau von Computersystemen Zentraleinheit und Peripherie Zentraleinheit Zur Zentraleinheit zählen der Prozessor, der Arbeitsspeicher (RAM), die verschiedenen Bus-
MehrPrinzipieller Aufbau und Funktionsweise eines Prozessors
Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg
MehrZENTRALEINHEITEN GRUPPE
31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte
MehrINFORMATIK Oberstufe. Funktionsweise eines Rechners
INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den
MehrInformatik 12 Kapitel 3 - Funktionsweise eines Rechners
Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37
Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von
MehrMikrocomputertechnik
Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel
MehrPhilipp Grasl PROZESSOREN
1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION
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
MehrC. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner
Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate
MehrTutorium Rechnerorganisation
Woche 3 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
MehrIm Original veränderbare Word-Dateien
Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den
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
MehrCPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse
Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit
Mehr1 EINFÜHRUNG PROGRAMMIERSPRACHEN
1 EINFÜHRUNG PROGRAMMIERSPRACHEN Leitidee: Von der Maschinensprache zur höheren Programmiersprache und zurück Von-Neumann-Maschine als abstraktes Computermodell Maschinensprache des hypothetischen Rechners
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
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
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,
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.......
Mehr2.2 Rechnerorganisation: Aufbau und Funktionsweise
2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrMicrocomputertechnik
Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g
MehrÜbung 1 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits
Mehr1. Übung - Einführung/Rechnerarchitektur
1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser
MehrTeil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
Mehr3.0 8051 Assembler und Hochsprachen
3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrMikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
MehrLösung von Übungsblatt 3
Lösung von Übungsblatt 3 Aufgabe 1 (Rechnerarchitektur) 1. Welche drei Komponenten enthält der Hauptprozessor? Rechenwerk, Steuerwerk und Speicher. 2. Welche drei digitalen Busse enthalten Rechnersysteme
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
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
MehrRechner Architektur. Martin Gülck
Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
MehrBetriebssysteme Vorstellung
Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen
Mehr3. Rechnerarchitektur
ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste 3. Rechnerarchitektur
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
MehrProgrammiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1
Programmiertechnik Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00
MehrRechnergrundlagen. Vom Rechenwerk zum Universalrechner
Rechnergrundlagen. Vom Rechenwerk zum Universalrechner von Rainer Kelch 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22113 0 Zu Leseprobe schnell und portofrei
Mehr2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise
Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel
MehrVorlesung 3: Verschiedenes
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 3: Verschiedenes Peter B. Ladkin Vorlesung 3 - Inhalt Busarchitektur Virtuelle Maschine 2 Busarchitektur - das
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:
MehrEclipse Tutorial.doc
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse
Mehr4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen
4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 4 AM 21.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrJava: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder
Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform
MehrKapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?
Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?
MehrA ProgrAmmer s Guide to KIM Programming
A ProgrAmmer s Guide to KIM Programming by Erik Bartmann - Vers. 0.1 2 - Erste Befehle Erste Befehle Nun wird es aber Zeit, dass wir unser erstes Programm schreiben und wir werden hier einiges über die
MehrVorlesung Rechnerarchitektur. Einführung
Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher
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
MehrEin- Ausgabeeinheiten
Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-
MehrGrundlagen der Informatik Übungen 1.Termin
Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
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
MehrII.1.1. Erste Schritte - 1 -
! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1
MehrGrundlagen der Informatik für Ingenieure I
2 Java: Java-Einführung 2 Java: Java-Einführung 2.1 Java-Entwicklungsgeschichte 2.2 Java Eigenschaften 2.3 Java-Entwicklungsumgebung 2.4 Application vs. Applet 2.5 Ein erstes Programm 2.1 2.1 Java - Entwicklungsgeschichte
MehrAufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)
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
MehrEin kleines Computer-Lexikon
Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte
MehrAlgorithmen versus Programmiersprachen
Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen
MehrWie rechnet ein Rechner?
0 Motivation Jörg Roth 2 Wir gehen in dieser Vorlesung der Frage nach Wie rechnet ein Rechner? Als Softwareentwickler könnten wir in einem Programm z.b. folgende Anweisung schreiben: a = a+2*b; Wie wird
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,
MehrInformatik I - Einstiegskurs
Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13
MehrEinführung in die Objektorientierte Programmierung. Thomas Letschert
Einführung in die Objektorientierte Programmierung Thomas Letschert Einführung in die Objektorientierte Programmierung Thomas Letschert Version vom 4. Mai 2012 Der Autor dankt allen die mit Hinweisen und
MehrInformatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik
MehrJava Programmierung auf der Konsole / unter Eclipse
Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java
MehrEINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL
EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL 1. Aufbau eines Computer-Systems Ein Computersystem besteht aus Hardware (dem eigentlichen Rechner) und Software (den Programmen). Zur Hardware zählen der Prozessor
MehrEinführung in Java. Ausgewählte Quellen zu Java
Einführung in Java Wesentliche Eigenschaften und Merkmale der Programmiersprache Java Prof. Dr. Stefan Böttcher Universität Paderborn im Rahmen der Vorlesung: Webbasierte Informationssysteme SS 2004 Einführung
MehrGrundlagen der Informatik
Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme
MehrGrundlegendes zum PC
Grundlegendes zum PC Grundsätzlicher Aufbau eines PC Bild eines PC Beschreibung Eingabegeräte Ausgabegeräte Speicher Sonstige Bild eines PC Beschreibung Sind alle gleich die PC Sind in 3 bereiche eingeteilt:
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
MehrRechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
MehrLeseprobe. Norbert Heiderich, Wolfgang Meyer. Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation ISBN:
Leseprobe Norbert Heiderich, Wolfgang Meyer Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation ISBN: 978-3-446-42382-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42382-4
MehrKurzanleitung zur Verwendung der Java-IDE NetBeans (1)
FG TECHNISCHE INFORMATIK U JV 055 01 TH 01 Kurzanleitung zur Verwendung der Java-IDE NetBeans (1) Erzeugung eines neuen Projekts Start der NetBeans-IDE Menü "Datei" Auswahl "Neues Projekt" (CTRL-Shift-N)
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software
MehrAufbau eines Taschenrechners
siehe Skizze Aufbau einer Waage siehe Skizze Speichermöglichkeit Aufbau eines Taschenrechners Speichermöglichkeit Adressbus 65536 (2 16 ) (2 wegen der Zustände =aus und 1=an) => 65536 Möglichkeiten =>
MehrDie Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
Mehr1 Aufgabe: Computer-Aufbau
Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe: Jahr: WS 2016/17 Übungsleiter: Alexander Syndikus Unterschrift: 1 Aufgabe: Computer-Aufbau
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Algorithmen und Programme Seite 1 Th Letschert I want You for Java! Seite 2 Allgemeines Lernziel / Inhalt Einführung in die objektorientierte
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
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software
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
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Programmieren und Programmiersprachen SoSe 2012 Stand der Folien: 26. März 2012 Übersicht Programme und Programmiersprachen Haskell 1 Programme und Programmiersprachen 2 Haskell
MehrKap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
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
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
Mehr