Von Assembler zu Java

Größe: px
Ab Seite anzeigen:

Download "Von Assembler zu Java"

Transkript

1 Von Assembler zu Java Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Die erste imperativen Programme wurden in den Urzeiten der IT tatsächlich direkt auf der Hardware der Maschinen geschrieben. Die verfügbaren Befehle der jeweiligen Prozessoren wurden direkt angesprochen. Die Prozessoren hatten (und haben) unterschiedliche Befehlssätze. Sie gibt es einen grundsätzlichen Unterschied zwischen RISC (reduced instruction set computer) und CISC (complex..) Prozessoren. RISC Prozessoren verfügen über einen möglichst kleinen Satz an Befehlen. Das macht die Prozessoren billiger und schneller. CISC Prozessoren bieten deutlich mehr Befehle an als RISC. Sie sind teurer Die einzelnen Befehle mögen zwar teilweise deutlich länger dauern aber dafür lösen sie komplexere Probleme. Fakt ist aber auch: Jedes Programm was man auf einem CISC Rechner schreiben kann, kann man auch auf einem RISC Rechner implementieren macht braucht nur mehr Befehle. Wir wollen das Thema CISC/RISC hier nicht vertiefen. In den Urzeiten der IT, d.h. bis in die 1960er hinein hat man eher daran gedacht, die Hardware für ein Problem zu bauen, d.h. spezielle Prozessoren für spezielle Aufgaben zu bauen. Ab den 1970er änderte sich das grundsätzlich. Rechner fanden eine stark wachsende Verbreitung und es eine rasant wachsende Zahl von Problemen wurden durch IT bearbeitet. Gesucht waren Prozessoren, die möglichst viele Probleme lösen können. Gesucht waren aber auch Entwickler/innen, die in der Lage waren möglichst schnell Programme zu schreiben. Schnell stellt man fest: Es ist enorm ineffektiv, wenn das gleiche Programm für jeden Prozessor neu geschrieben wird. Besser wäre es, wenn ein Programm einmal geschrieben wird und dann läuft es auf verschiedenen (möglichst allen) Prozessoren die am Markt verfügbar sind. 2 Maschinen- und Hochsprache Eine Maschinensprache ist die Menge aller möglichen Befehle, die ein Prozessor ausführen kann. Alle Prozessoren können Speicher schreiben und lesen und addieren. Manche können komplexere Funktionen direkt auf der Hardware durchführen. 1

2 Programme in Maschinensprache funktionieren nur auf dem jeweils passenden Prozessor. Die Idee einer Hochsprache besteht darin: Es wird eine Sprache entwickelt, die für Menschen 1 lesbarer sein soll. C war die erste Sprache, die weite Verbreitung fand (und noch heute hat), die nicht für einen konkreten Prozessor entwickelt worden war. Das folgende ist ein C Programm: int main(char** args) { int x, y, z; x = 1; y = 2; z = x + y; Es wird eine Funktion definiert. Dann werden drei Variablen definiert(a,b,c). Den Variablen a und b wird ein Wert zugewiesen. Am Ende wird der Variablen c die Summe der beiden Werte zugewiesen. Nettes kleines Programm. Das Problem ist nur: Dieses Programm läuft auf keinem Prozessor. Wie auch? Es ist nicht in der Maschinensprache des Prozessors geschrieben. Für jede Hochsprache werden Compiler benötigt. Compiler sind Programme. Diese Programm nehmen das Programm der Hochsprache als Eingabe und produzieren ein Programm in Maschinensprache. Und wenn der Compiler keinen Fehler hat, dann macht das Maschinenprogramm das, was sich die Entwickler in der Hochsprache beschrieben haben. Abbildung 1 stellt die Situation dar. Das obige Programm wird in ein Maschinenprogramm übersetzt 2. Und wenn Sie sich fragen, in welcher Sprache der erste Compiler geschrieben wurden, dann liegt die Antwort auf der Hand: In Maschinensprache natürlich. Aber bereits der zweite Compiler kann in C geschrieben werden. Das muss man mal durchdenken: Wenn man einen Compiler hat, dann kann man mit einer Hochsprache einen neuen Compiler programmieren, den man mit dem alten übersetzt. Ja, das bereitet etwas Kopfschmerzen und wir vertiefen das auch nicht weiter. Der Compiler muss die Konzepte der Hochsprache in die Maschinenbefehle übersetzen. Es gibt keine Variablen in einem Rechner. Der Compiler schreibt also die Werte 1 und 2, die eigentlich x und y zugewiesen werden sollen in den Speicher. Der Compiler hat sich offenbar entschieden, dass die Werte von x im Speicher auf der Adresse 1 stehen und der Wert von y in der Zelle 2. Was in 1 konkret ITler, die auch Menschen sind, auch wenn sie manchmal scheinbar wirr reden! 2 Das ist nicht ganz exakt, was die Grafik darstellt. Maschinenbefehle sind immer als Zahlen gespeichert. Ein Maschinenprogramm ist daher immer eine Abfolge von Zahlen, die die CPU als Befehl interpretieren kann. Das ist leider denkbar schlecht lesbar für Menschen. Daher hat man sich Assember ausgedacht und genau das ist, was in der Grafik symbolisiert ist. Für jeden Maschinenbefehl definiert man einen Assemblerbefehl, der etwas besser für Menschen lesbar ist. Da wir aber (leider) keine Rechnerorganisation oder Compilerbau machen, ignorieren wir diese wichtigen Unterschied und behandeln Assembler und Maschinencode gleich. 2

3 Abbildung 1: Compiler: Hochsprache zu Maschinensprache der Hochsprache x heißt, ist im Maschinenprogramm Speicherzelle Nummer 1. Kann man so machen. Dann soll addiert werden. Es werden als erst einmal die beiden Werte aus dem Speicher in die CPU geladen. Dann werden sie addiert und das Ergebnis wird in den Speicher zurück geschrieben. Konkret wird das Ergebnis auf die Adresse 3 im Speicher geschrieben. Die Kunst der Entwicklung einer Hochsprache besteht darin: Man braucht eine Sprache, die leichter zu programmieren ist als Maschinencode. Diese Sprache muss aber auch ohne Probleme durch ein Programm in Maschinencode übersetzt werden können. Das geht. C ist der Beweis. 3 Betriebssysteme und Compiler Schauen wir uns aber das Programm an: int main(char** args) { printf("hallo Welt"); Dieses C Programm wird die Zeichenkette Hallo Welt auf dem Bildschirm ausgeben.wie machtderprozessordas?dieantwortist:machternicht -macht das Betriebssystem. Wir wollen hier dem Modul Betriebssysteme nur ganz wenig vorgreifen: Ein Betriebssystem bietet u.a. eine Fülle von Funktionen an, die die viele Programm benötigen. Die Ausgabe auf den Bildschirm gehört dazu. Anstatt dass sich alle Entwickler damit herumschlagen, welche elektrischen Signale man auf ein Röhrengerät 3

4 Abbildung 2: Compiler Abhängigkeit vom Betriebssystem schickt, hat das einmal jemand gemacht und es zum Teil eines Betriebssystems gemacht. Was macht nun aber der Compiler? Der Compiler übersetzt den Befehl printf("hallo Welt") in einen Aufruf einer Betriebssystem-Funktion. Wir werden das hier nicht vertiefen - spitzen Sie die Ohren in dem anderen Modul! Entscheidend ist aber: Ein Compiler übersetzt ein Programm für einen Prozessor und ein Betriebssystem. Der Maschinencode des gleichen Programms auf dem gleichen Prozessor unterscheidet sich vom genutzten Betriebssystem. Das ist an sich nicht weiter schlimm, man muss es nur wissen. Die Welt sieht also eigentlich so aus, siehe Abbildung 2. Für jede Prozessor/Betriebssystem-Kombination muss es einen Compiler geben. Das war lange Jahre auch kein Problem. Das Problem ist etwas anderes. 4 Virtuelle Maschine Wenn man eine IT-Firma ist, dann verkauft man Software. Software sind Programme. Die konnte man auch im Jahre 1970 schon klauen und oft will man auch nicht, dass die liebe Konkurrenz den Code zu Gesicht bekommt. Daher liefert man gern compilierte Programm aus und nicht den Quellcode. Was aber, wenn das Unternehmen das Programm nicht in alle denkbaren Kombinationen von Maschinencode übersetzt hat? Was wenn es neue Prozessoren gibt, aber das Unternehmen nicht mehr existiert? Und überhaupt ist es schon anstrengend sich einen Zoo von unterschiedlichen Compilern zu halten. Ende der 1990er Jahre kamen Leute die bei der Firma SUN gearbeitet haben auf folgende Idee: Wie wäre es, wenn man eine Sprache baut und dafür nur einen einzigen Compiler bereit stellt. Der erzeugt Maschinencode. Dieser Maschinencode soll aber gar nicht auf einer existierenden Hardware laufen. Dieser Code soll auf einer virtuellen Hardware, einer virtuellen Maschine laufen. 4

5 Abbildung 3: Virtuelle Maschine Hä? Auf die Idee konnte man auch erst in den 1990ern kommen als die Prozessoren sehr schnell waren. Die Idee ist in vielen Systemen umgesetzt; sie ist das Konzept der virtuellen Maschine: Man beschreibt eine solche virtuelle Maschine. Diese ist vergleichbar mit einem realen Prozessor. Wie ein Prozessor bietet sie eine Satz von Befehlen an und sie kann Programme abarbeiten. Man schreibt Compiler, die die Hochsprache (es ist Java!) in die Sprache dieser Java Virtual Machine (JVM) übersetzt. Das kennen wir an sich schon. Die JVM wiederum ist ein Programm! Für jede Betriebssystemversion muss eine eigene JVM gebaut werden und das Ganze sieht dann so aus wie in Abbildung 3. Das Java Programm wird übersetzt in den Java Bytecode (so nennt sich die Java Maschinensprache). Dieser Bytecode wird einem Programm übergeben, das auf einem Betriebssystem läuft und diesen Bytecode abarbeitet. Das ist die Java Virtual Machine (JVM). Anfangs wurde das Konzepte sehr skeptisch gesehen aber das Konzept write once run everywhere mit der VM hat sich durchgesetzt. C# nutzt das gleiche Konzept. Und es gibt nun auch andere Sprachen (Scala z.b.) die Bytecode generieren und damit auf einer JVM laufen. Androidprogramme sind ebenfalls Java. Allerdings wird nicht die JVM genutzt, sondern eine eigene Entwicklung. Das hat wiederum mit rechtlichen Streitigkeiten zu tun zwischen Google und Oracle. Oracle hat SUN vor Jahren gekauft und Google war nicht bereit die geforderten Lizenzkosten zu zahlen. Android-Programme und andere Java-Programme sind aber dort wo man in den 1970 auch einmal war: Die Hochsprache ist Java, aber die Compiler erzeugen unterschiedlichen Bytecode für die unterschiedlichen Virtuellen Maschinen. 5

6 5 Ein Java Programm Und hier ist endlich auch mal ein Java-Programm. class X { public static void int main(string[] args) { int x, y, z; x = 1; y = 2; z = x + y; System.out.println("Hallo Welt"); Die Elternschaft von C ist in Java nicht zu übersehen! Die Details dieses Programm diskutieren wir im SU und in den Übungen. Lesen Sie unbedingt in Ihrem bevorzugten Java-Buch nach. 5.1 Variable Jede imperative Hochsprache benutzt Variablen. Eine Variable ist ein Speicherplatz. Es ist ein Ort an dem Daten abgelegt werden. Wir können beliebig viele Variable definieren. Wir können aus dem Vollen schöpfen. Das ist gut. In obigem Beispiel wurden die Variable x, y und z definiert. Wir haben auch gesehen, was der Compiler daraus gemacht hat. Jeder Variablen wird ein Speicherplatz zugewiesen. Was in der Hochsprache x heißt ist im Maschinenprogramm die Speicherzelle mit der Nummer 1. Das schöne an einer Hochsprache ist, dass wir uns nicht damit beschäftigen müssen an welche Adresse denn irgendwelche Daten liegen. Wir sagen einfach nur: Ich brauche Platz. Und diesem Platz gebe ich einen Namen. Fertig ist das. Gut! In Java muss jede Variable vor ihrer Benutzung deklariert werden. Das geschieht in der Zeile int x, y, z; Damit wird dem Compiler klar gemacht, dass er in folgenden drei Speicherzellen suchen muss, in denen er Werte ablegt. Und der Compiler muss sich auch merken, welcher Variablen welcher Speicherplatz zugewiesen wurde. Das ist nicht schwer. Das ist eine einfache Tabelle, die der Compiler hält: Variable Speicherplatz x #1 y #2 z #3 6

7 Mit dieser Tabelle ist es dann auch nicht schwer die weiteren Befehle zu übersetzen. x = 1; y = 2; Diese Java-Befehle sind Zuweisungen. Es bedeutet, dass einer Variablen ein Wert zugewiesen wird. Nachdem diese Befehle ausgeführt wurden, soll die Variable x den Wert 1 beinhalten und die Variable y den Wert 2. Das ist nicht schwer. Dem Compiler fällt es auch nicht schwer, Maschinencode zu produzieren: Jede Variable entspricht einem Speicherplatz. Es gibt einen Maschinenbefehl der den Speicherplatz füllt. Dank der obigen Tabell kennt der Compiler auch die Adresse, die er jeder Variablen zugewiesen hat. Also kann er die beiden Java-Befehle übersetzen: MOV 1 #1 MOV 2 #2 Merken wir uns: Variable sind Speicherzellen. Variable müssen vor Nutzung deklariert werden. Variablen können Werte zugeweisen werden. Es gibt unterschiedliche Variablentypen. Darauf gehen wir bald ein. Das Programm nutzt int. Das ist eine vorzeichenbehaftete 32 Bit Zahl. Passen Sie in TGI schön auf. Dort erfahren Sie viel über die internen Darstellung von Binärzahlen. 7

Programme erstellen in Java

Programme 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.......

Mehr

Eindimensionale Arrays und Heap

Eindimensionale Arrays und Heap Eindimensionale Arrays und Heap Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Wir haben bisher mit einfachen Datentypen gearbeitet, d.h. Datentypen, die in einer Speicherzelle abgelegt werden können. Praktisch

Mehr

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

Mehr

Sichtbarkeiten, Klassenmember und -methoden

Sichtbarkeiten, Klassenmember und -methoden Sichtbarkeiten, Klassenmember und -methoden Prof. Dr.-Ing. Thomas Schwotzer 11. November 2017 1 Einführung Wir haben uns mit Klassen und Objekten beschäftigt. Wir wissen nun, dass Objekte anhand von Klassen

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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,

Mehr

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Institut 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

Mehr

Polymorphie und UML Klassendiagramme

Polymorphie und UML Klassendiagramme Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2

Mehr

Programmieren was ist das genau?

Programmieren 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

Mehr

Mehrdimensionale Arrays

Mehrdimensionale Arrays Mehrdimensionale Arrays Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Eindimensionale Arrays haben wir bereits kennen gelernt. Es gibt aber auch mehrdimensionale Arrays. Die sind auch sehr notwendig, denken

Mehr

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

Mehr

Java: 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 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

Mehr

Praktische Informatik 1

Praktische 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

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 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

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Testen nebenläufiger Objekte

Testen nebenläufiger Objekte Testen nebenläufiger Objekte Threads in Java Julian Lambertz Seminar Tests in Informatik und Statistik im SS 2004 Universität Ulm J.L., Juni 2004 1 Themenüberblick Einleitung Begriff der Nebenläufigkeit

Mehr

Einführung in die Programmierung 1

Einfü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

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs 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

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen 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

Mehr

Informatik I - Einstiegskurs

Informatik 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

Mehr

Einführung in die Programmierung mit Java

Einfü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

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Programmiersprache. Emily & rica

Programmiersprache. Emily & rica Programmiersprache Emily & rica inhaltsangabe Programmiersprache Def inition/funktion Arten Gängige Algorithmus/Syntax Compiler, Interpreter Def inition Unterscheidung Vor- und Nachteile Compiler/ Interpreter

Mehr

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren 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

Mehr

Einstieg imperative Programmierung auf Von-Neumann-Rechnern

Einstieg imperative Programmierung auf Von-Neumann-Rechnern Einstieg imperative Programmierung auf Von-Neumann-Rechnern Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung In diesem Kurs werden Sie die Grundlagen der Programmierung mit Java erlernen. Java ist eine imperative

Mehr

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von 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

Mehr

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Rechnerarchitektur. Einführung Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs 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

Mehr

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.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

Mehr

Ausgabe:

Ausgabe: 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

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Compilerbau + Virtuelle Maschinen

Compilerbau + Virtuelle Maschinen Helmut Seidl Compilerbau + Virtuelle Maschinen München Sommersemester 2009 1 Organisatorisches Der erste Abschnitt Die Übersetzung von C ist den Vorlesungen Compilerbau und Virtuelle Maschinen gemeinsam

Mehr

Programmiertechnik. 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 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

Mehr

II.1.1. Erste Schritte - 1 -

II.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.

Mehr

Kapitel 1: Die ersten Schritte 1

Kapitel 1: Die ersten Schritte 1 Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1 Kapitel 1: Die ersten Schritte 1 Starten Sie Eclipse. Importieren Sie das Eclipse-Projekt scenarios-chapter-1. Gehen Sie in den Unterordner

Mehr

Java Einführung Programmcode

Java 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:

Mehr

Grundlagen der Programmierung UE

Grundlagen 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

Mehr

Einführung in Java. Ausgewählte Quellen zu Java

Einfü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

Mehr

Organisatorisches (1)

Organisatorisches (1) Organisatorisches (1) Abteilung Echtzeitsysteme und Kommunikation Prof. Dr. Nett nett@ivs.cs.uni-magdeburg.de Sekretariat: Frau Duckstein, Tel. 67-18345 pduckste@ivs.cs.uni-magdeburg.de Gebäude 29/ Etage

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin 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

Mehr

II.1.1. Erste Schritte - 1 -

II.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.

Mehr

II.1.1. Erste Schritte - 1 -

II.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.

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java 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

Mehr

Unterprogramme. AnPr. Wiederholungen im Code werden vermieden. Programme werden leichter lesbar. Die Entwicklung und der Test werden vereinfacht.

Unterprogramme. AnPr. Wiederholungen im Code werden vermieden. Programme werden leichter lesbar. Die Entwicklung und der Test werden vereinfacht. Name Klasse Datum 1 Allgemeines Programme werden üblicherweise nicht als ein einziger, fortlaufender Programmcode verfasst, sondern mit geeigneten Mitteln unterteilt und somit strukturiert. Die Methodik

Mehr

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16

Mehr

Grundlagen der Programmierung UE

Grundlagen 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

Mehr

Algorithmen versus Programmiersprachen

Algorithmen versus Programmiersprachen Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung 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

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 1: Einführung Folie 1 : Rückblick Entwicklung von Java begann etwa 1990 Erste öffentliche Version 1994 Erste große Anwendung:

Mehr

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen? Kapitel 3 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Anweisungen, Variablen Arten von Anweisungen Variablen Konstanten Höchste Zeit für ein Programm Gültigkeitsbereich von Variablen

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivü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

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

Klausur Informatik II

Klausur Informatik II Klausur Informatik II Sommersemester 23 Bearbeitungszeit 2 Minuten Name: Vorname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten, Taschenrechner, etc.) erlaubt. Schreiben Sie bitte mit

Mehr

Institut 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 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,

Mehr

Wiederholung JAVA. 1. (Vorbereitung)

Wiederholung JAVA. 1. (Vorbereitung) Softwaretechnik für IM, WS2018/2019 http://knopper.net/bw/swt/ Übung 1 Wiederholung JAVA Hinweise: Das JAVA Development Kit (JDK) zum Entwickeln von JAVA-Programmen und das JAVA Runtime Environment (JRE)

Mehr

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten) Institut für Angewandte Informatik und Formale Beschreibungsverfahren 15.02.2010 Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten) Name: Vorname: Matr.-Nr.: Semester: (WS 2009/10)

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

Übung 1 - Betriebssysteme I

Ü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

Mehr

Einstieg in Java und OOP

Einstieg in Java und OOP examen.press Einstieg in Java und OOP Bearbeitet von Christian Silberbauer 1. Auflage 2009. Taschenbuch. x, 170 S. Paperback ISBN 978 3 540 78615 3 Format (B x L): 15,5 x 23,5 cm Gewicht: 314 g Weitere

Mehr

Vorlesung Informatik 1

Vorlesung Informatik 1 Vorlesung Informatik 1 Fachhochschule für Technik Esslingen Studiengang Wirtschaftsinformatik Programmiertipps Dr. rer. nat. Andreas Rau http://www.fht-esslingen.de/~rau andreas.rau@fht-esslingen.de Struktur

Mehr

1.3 Handhabung eines Programmiersystems

1.3 Handhabung eines Programmiersystems 1.3 Handhabung eines Programmiersystems Der Turbo-Pascal-Editor Man muss nichts vom Innenleben eines Computers verstehen, um mit ihm umgehen zu können. Wir wollen ihn als "black box" verwenden, also lediglich

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 0 Allgemeines Inhalt dieser Vorlesung: Einführung in Grundkonzepte der Informatik; Einführung in Denkweisen der Informatik;

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. 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

Mehr

Übung 7 Rechnerstrukturen

Übung 7 Rechnerstrukturen Übung 7 Rechnerstrukturen Aufgabe 7.: X X2 X3 X4 F F2 F3 F4 X-X4 sind alle möglichen Binär-Werte. F-F2 ist das Ergebnis der Multiplikation von (XX2) und (X3X4). Dabei funktioniert die Multimpliation folgendermaßen:

Mehr

Zeiger in C und C++ Zeiger in Java und C/C++

Zeiger in C und C++ Zeiger in Java und C/C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für Referenztypen (Klassen und Arrays) verwendet,

Mehr

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Übungen zum Bioinformatik-Tutorium. Blatt 3

Übungen zum Bioinformatik-Tutorium. Blatt 3 Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World

Mehr

Einführung in die Informatik. Jumping into Java

Einführung in die Informatik. Jumping into Java Einführung in die Informatik Jumping into Java Programme, Modelle, Objekte, Klassen, Methoden Wolfram Burgard 1 Java, eine moderne, objektorientierte Sprache Beispielprogramm: import java.io.*; class Program1

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Programme Erstellen und Ausführen Seite 1 Th Letschert Programme Erstellen Lebenszyklus der Software Software werden in mehreren

Mehr

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Algorithmen, Maschinen- und Programmiersprachen Algorithmen

Mehr

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an

Mehr

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 4 Prof. R. Westermann, A. Lehmann,

Mehr

Einführung in die Informatik Jumping into Java

Einführung in die Informatik Jumping into Java Einführung in die Informatik Jumping into Java Programme, Modelle, Objekte, Klassen, Methoden Wolfram Burgard Cyrill Stachniss 2.1 Java, eine moderne, objektorientierte Sprache Beispielprogramm: import

Mehr

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

41.2 LUA Grundlagen - Funktionen

41.2 LUA Grundlagen - Funktionen 41.2 LUA Grundlagen - Funktionen Autor: Goetz Quelle: Mein EEP-Forum Im Grunde genommen sind Funktionen - Programmierer schauen jetzt bitte mal weg! - auch Variablen. Jedenfalls gibt es da einige Gemeinsamkeiten.

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. 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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. 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

Mehr

Assembler - Einleitung

Assembler - 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

2 Programmieren in Java I noch ohne Nachbearbeitung

2 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

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die 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,

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100

Mehr