Computer und Programmierung
|
|
|
- Silke Boer
- vor 8 Jahren
- Abrufe
Transkript
1 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-1/60 Teil II Computer und Programmierung
2 Inhalt Kurze Historie Von-Neumann-Architektur Algorithmus Programmiersprachen Betriebssysteme Hamster-Simulator Am Beispiel Hamster-Befehle Variablen Bedingte Anweisung Schleifen Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-2/60
3 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-3/60 Einführung in die Informatik Historie Vorläufer der Computer Rechenhilfen Mechanische Rechenhilfen wie Abakus und Rechenschieber unterstützen Menschen bei den Grundrechenarten. Rechenmaschinen Mechanische Rechenmaschinen sind vergleichbar in Funktion mit heutigen Taschenrechnern. Ein Benutzer gibt eine Anzahl Zahlen sowie die gewünschte Rechenoperation ein, und die Maschine liefert das Ergebnis.
4 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-4/60 Einführung in die Informatik Rechenmaschinen und Taschenrechner bestehen aus einer Einheit zur Eingabe von Zahlen und Operationen sowie einer Einheit zur Ausgabe des Ergebnisses Eingabe meist über Tasten Ausgabe meist über ein LCD-Display Der Anwender eines Taschenrechners ist auf die Funktionen beschränkt, die die Eingabeeinheit zur Verfügung stellt Diese Einheit ist in aller Regel nicht erweiterbar oder änderbar
5 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-5/60 Einführung in die Informatik Programmierbare Rechenmaschinen Der Begriff programmierbar bedeutet, dass die Funktion einer Maschine nicht beim Bau festgelegt wird Der Anwender eines programmierbaren Systems entwickelt ein Programm, welches aus kleineren Anweisungen besteht Die Kombination dieser Anweisungen bestimmt die Funktionsweise der Maschine
6 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-6/60 Einführung in die Informatik Entwicklung der Computer 1837 Analytical Engine von Charles Babbage Konzept einer programmierbaren Rechenmaschine (nicht gebaut) Konzept der Programmierung, erste Prorammiererin: Ada Lovelace 1890 Zählmaschine von Herman Hollerith - Volkszählung USA 1936 Theoretisches Rechnermodell von Alan Turing (Turingmaschine) 1941 Konrad Zuse Z3 erster Rechner mit Befehls und Datenspeicher 1945 John von Neumann - Konzept eines frei programmierbaren Computers
7 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-7/60 Einführung in die Informatik Von-Neumann-Architektur Die Architektur beschreibt ein Konzept für einen universellen Rechner. Ein Von-Neumann-Rechner realisiert alle Konzepte einer Turingmaschine. Die wesentlichen Bestandteile sind: Recheneinheit (Arithmetic Logic Unit, ALU ) Steuerwerk oder Leitwerk (Control Unit) Speicherwerk (Memory) Eingabe- bzw. Ausgabewerk (I/O Unit) Ein System, welches die Komponenten verbindet (Bus)
8 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-8/60 Einführung in die Informatik Von-Neumann-Architektur
9 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-9/60 Einführung in die Informatik Was also kennzeichnet einen Computer / die Von- Neumann-Architektur?
10 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-10/60 Einführung in die Informatik Was also kennzeichnet einen Computer / die Von- Neumann-Architektur? Befehle und Daten liegen gemeinsam im Speicher Der Speicher ist eingeteilt in kleine Einheiten (Wörter) Jedes Speicherwort hat eine eindeutige Adresse (Man kann sich den Speicher als fortlaufend durchnummeriertes Band vorstellen) Ein Befehlszähler enthält die Adresse des Befehls, der als nächstes ausgeführt werden soll Befehle werden in Zyklen abgehandelt
11 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-11/60 Einführung in die Informatik Von-Neumann-Architektur Folgender Ablauf wird kontinuierlich wiederholt: Der Inhalt des Speicherwortes, auf das der Befehlszähler zeigt, wird in das Steuerwerk geladen Das Steuerwerk dekodiert den Befehl und führt ihn aus Nach Abarbeitung des Befehls wird der Befehlszähler um 1 erhöht Anschließend wird wieder von vorne begonnen Es gibt weiterhin: Sprung-Befehle, die den Befehlszähler auf einen bestimmten Wert setzen Verzweigungs-Befehle, die aufgrund einer Abhängigkeit einen Sprung ausführen oder auch nicht
12 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-12/60 Einführung in die Informatik Beispiel einer Addition zweier Zahlen: Zwei Werte, Welche sich bereits im Speicher befinden, sollen addiert werden. Das Ergebnis soll in den Speicher zurück geschrieben werden: 1. Laden des ersten Wertes in ein Register der ALU 2. Laden des zweiten Wertes in ein anderes Register 3. Die ALU anweisen, die beiden Register zu addieren 4. Den Inhalt des Ergebnisregisters in den Speicher schreiben Befinden sich die beiden Werte nicht bereits im Speicher, so können sie beispielsweise über die I/O Unit von der Tastatur eingelesen werden.
13 Einführung in die Informatik Der moderne Computer Ein heutiger PC besteht im Grunde noch aus den gleichen Komponenten wie ein Von-Neumann-Rechner: Speicher I/O Unit RAM + Cache Anschlüsse für Festplatten, USB, Firewire, interne Erweiterungskarten Steuerwerk und ALU Sind in der CPU (Central Processing Unit) vereint Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-13/60
14 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-14/60 Einführung in die Informatik Jede CPU verfügt über eine Reihe von Befehlen, die sie ausführen kann. Zum Beispiel: Kopieren von Daten vom Speicher in Register und umgekehrt Ausführen von arithmetischen Operationen Absolute und relative Sprünge Verzweigungen Vergleich von Registern auf Gleichheit Größer / Kleiner enthält ein Register den Wert 0
15 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-15/60 Algorithmus Algorithmus im Kontext Informatik
16 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-16/60 Algorithmus Ein Algorithmus bezeichnet eine Arbeitsanleitung für einen Computer Dieser ist noch völlig losgelöst von der tatsächlichen Umsetzung, der Implementierung Algorithmen können auf vielfältige Arten formuliert werden: Pseudocode Programmablaufpläne Struktogramme Textform Quellcode Algorithmen besitzen darüber hinaus verschiedene Eigenschaften
17 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-17/60 Algorithmus Beispiel Kochrezept Bei Algorithmen und Kochrezepten ist die Einhaltung der Reihenfolge wichtig: (1) Brötchen einweichen; (2) Zwiebeln feinhacken; (3) aus Mett, gemischtem Hack, Eiern, den Zwiebeln und den Brötchen eine Masse zubereiten; (4) mit Salz und Pfeffer würzen;
18 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-18/60 Algorithmus sequentiell Bei Algorithmen und Kochrezepten ist die Einhaltung der Reihenfolge wichtig: (1) Brötchen einweichen; (2) Zwiebeln feinhacken; (3) aus Mett, gemischtem Hack, Eiern, den Zwiebeln und den Brötchen eine Masse zubereiten; (4) mit Salz und Pfeffer würzen; Merke: Die Anweisungen werden sequentiell von oben nach unten abgearbeitet. Keine Anweisung wird ausgelassen.
19 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-19/60 Algorithmus - Bedingungen Gewisse Anweisungen werden nur ausgeführt, wenn eine bestimmte Bedingung gegeben ist: (1) Ein Spieler aus Mannschaft A wird von einem Mitspieler aus Mannschaft B gefoult; (2) Wenn das Foul im Strafraum passiert: dann: pfeife Strafstoß ansonsten: pfeife Freistoß
20 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-20/60 Algorithmus - Bedingungen Gewisse Anweisungen werden nur ausgeführt, wenn eine bestimmte Bedingung gegeben ist: (1) Ein Spieler aus Mannschaft A wird von einem Mitspieler aus Mannschaft B gefoult; (2) Wenn das Foul im Strafraum passiert: dann: pfeife Strafstoß ansonsten: pfeife Freistoß Merke: Anweisungen können auch bedingt ausgeführt werden.
21 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-21/60 Algorithmus - Wiederholungen Neben Verzweigungen gibt es noch Ereignisse, die eine Wiederholung ( Schleifen ) von Anweisungen nach sich ziehen: (1) Solange ein Spieler eine 6 würfelt, darf er erneut würfeln
22 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-22/60 Algorithmus - Wiederholungen Neben Verzweigungen gibt es noch Ereignisse, die eine Wiederholung ( Schleifen ) von Anweisungen nach sich ziehen: (1) Solange ein Spieler eine 6 würfelt, darf er erneut würfeln Anzahl von Schritten in Abhängigkeit der gewürfelten Zahl (1) Wiederhole mit der gewürfelten Zahl: Gehe 1 Schritt vor
23 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-23/60 Algorithmus - Wiederholungen Neben Verzweigungen gibt es noch Ereignisse, die eine Wiederholung ( Schleifen ) von Anweisungen nach sich ziehen: (1) Solange ein Spieler eine 6 würfelt, darf er erneut würfeln Anzahl von Schritten in Abhängigkeit der gewürfelten Zahl (1) Wiederhole mit der gewürfelten Zahl: Gehe 1 Schritt vor Merke: Anweisungen können durch Schleifen wiederholt werden.
24 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-24/60 Algorithmus Als richtiger Algorithmus wird eine Sammlung von Anweisungen bezeichnet, die so exakt definiert ist, dass ein Computer sie ausführen kann. Welche Vorteile haben Computer gegenüber Menschen?
25 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-25/60 Algorithmus Als richtiger Algorithmus wird eine Sammlung von Anweisungen bezeichnet, die so exakt definiert ist, dass ein Computer sie ausführen kann. Welche Vorteile haben Computer gegenüber Menschen? Zuverlässigkeit: Computer machen keine Flüchtigkeitsfehler, und sie ermüden nie Geschwindigkeit: Eine heutige CPU kann mehr als drei Milliarden Operationen pro Sekunde ausführen (je Prozessorkern) Speicher: Computer haben heutzutage üblicherweise mindestens 2GByte Hauptspeicher und 1TByte Festplattenkapazität (1Tbyte sind etwa 730 Milliarden A4 Seiten Text, ein ca. 73km hoher Papierstapel)
26 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-26/60 Algorithmus - Eigenschaften Eigenschaften von Algorithmen: Endlichkeit: Die Beschreibung hat eine endliche Länge Eindeutigkeit: Die Anweisungen lösen das gegebene Problem und enthält dabei keine Widersprüche Ausführbarkeit: Der Algorithmus darf keine Anweisungen enthalten, die nicht ausführbar sind Jeder Algorithmus muss diese Kriterien erfüllen
27 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-27/60 Algorithmus - Eigenschaften Terminierung: Das Ziel bzw. Ergebnis kann in endlicher Zeit erreicht werden Parametrisierbarkeit: Das Verfahren löst nicht nur ein bestimmtes Problem, sondern eine Klasse von Problemen mit ähnlichem Schema Determiniertheit: Der Algorithmus liefert unter den gleichen Startbedingungen stets die gleichen Ergebnisse Es gibt Verfahren, die diese Kriterien nicht erfüllen, dies kann in Spezialfällen gewünscht sein
28 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-28/60 Algorithmus - Eigenschaften Bei der Implementierung von Algorithmen ergeben sich eine Reihe weiterer Eigenschaften: Effizienz: Das Verfahren sollte so schnell wie möglich zu einer korrekten Lösung kommen Ressourcenbedarf: Zur Lösung sollte so wenig Rechenleistung und Speicher wie möglich verwendet werden Erweiterbarkeit: Der Algorithmus sollte so einfach wie möglich auf eine geänderte Problemstellung angepasst werden können Wiederverwendbarkeit: Teile des Algorithmus sollen so formuliert sein, dass sie in anderen Problemen wiederverwendet werden können: Sie sollen also so allgemein wie möglich verfasst werden
29 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-29/60 Programmiersprachen Programmiersprachen
30 Programmiersprachen Ein Computer ist in der Lage verschiedene Befehle direkt auszuführen. Das bedeutet, dass man aus diesen Befehlen ein Programm erstellen kann Heutige Computer arbeiten mit dem Binärsystem Das bedeutet, dass sie eigentlich keine Zahlen oder Buchstaben speichern, sondern lediglich Folgen aus den Zuständen geladen / nicht geladen bzw. magnetisiert / nicht magnetisiert Würde man auf dieser Ebene programmieren wollen, so müsste man die gewünschten Befehle direkt in den Speicher des Computers laden (so funktionierten die ersten Computer) Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-30/60
31 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-31/60 Programmiersprachen Programme direkt auf der Maschine zu entwickeln (Maschinencode) ist umständlich Die Befehle des Prozessors sind sehr einfach und wenig flexibel Bestimmte Vorgänge wie beispielsweise das Lesen von Eingaben über die Tastatur oder die Ausgabe auf einem Bildschirm oder Drucker erfordern viel Vorarbeit Programmiersprachen sind Werkzeuge für Entwickler, um Algorithmen auszudrücken Die Art der Ausdrucksweise ist dabei näher an der natürlichen Sprache Für bestimmte Prozesse (Tastatureingabe, Bildschirmausgabe, Netzwerkkommunikation,...) stellen Programmiersprachen (in Kombination mit Betriebssystemen) vorgefertigte Methoden zur Verfügung
32 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-32/60 Programmiersprachen Daraus haben sich verschiedene Programmiersprachen entwickelt, mittels denen Algorithmen in neue Programme umformuliert werden können. Es gibt für verschiedene Einsatzgebiete verschiedene Sprachen: Maschinennahe Sprachen Didaktische Sprachen Sprachen für spezielle Einsatzgebiete...
33 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-33/60 Programmiersprachen Diese Vereinfachungen werden Abstraktion genannt. In heutiger Hard- und Software existieren mehrere Schichten von Abstraktionen, die das Arbeiten an und mit dem Computer vereinfachen. Prinzipiell bedeutet jede weitere Abstraktionsebene eine Vereinfachung... allerdings auch ein Verlust an Kontrolle über die Hardware
34 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-34/60 Programmiersprachen - Compiler Ein Computer ist nicht in der Lage, eine Programmiersprache direkt zu verstehen Daher müssen selbst verfasste Programme mittels eines zur Sprache passenden Programmes in Maschinensprache übersetzt werden. Diese speziellen Programme werden Compiler genannt. Zu einer Programmiersprache existieren manchmal verschiedene Compiler, beispielsweise von verschiedenen Herstellern. Bsp.: C, C++, Fortran, Pascal,...
35 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-35/60 Programmiersprachen - Interpreter Neben Compilern existieren auf vielen Computern Interpreter Dies sind Programme, die ähnlich wie Compiler Programme in einer Programmiersprache übersetzen - allerdings werden diese Programme nicht erst in Maschinensprache übersetzt. Die Anweisungen werden einzeln erkannt und ausgeführt ( interpretiert ). Bsp.: Perl, Commandline-Sprachen: DOS, Shell
36 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-36/60 Programmiersprachen - Compiler Oftmals gibt es Compiler für die gleiche Programmiersprache auf unterschiedlichen Plattformen. Plattform Eine Plattform bezeichnet (grob) eine bestimmte Kombination aus Hardware und Betriebssystem. Programme für eine Plattform sind in der Regel nicht auf einer anderen Plattform lauffähig. Beispiele für Plattformen sind: Windows auf x86 Prozessoren, MacOS auf x86, MacOS auf PowerPC, UNIX auf x86.
37 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-37/60 Programmiersprachen - Compiler Oftmals gibt es Compiler für die gleiche Programmiersprache auf unterschiedlichen Plattformen. Plattform Eine Plattform bezeichnet (grob) eine bestimmte Kombination aus Hardware und Betriebssystem. Programme für eine Plattform sind in der Regel nicht auf einer anderen Plattform lauffähig. Beispiele für Plattformen sind: Windows auf x86 Prozessoren, MacOS auf x86, MacOS auf PowerPC, UNIX auf x86. Ein Compiler auf der Plattform A übersetzt ein Programm in eine andere Maschinensprache als ein Compiler auf Plattform B. So kann ein und das selbe Programm auf mehreren Plattformen eingesetzt werden.
38 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-38/60 Programmiersprachen - Zusammenfassung Programmiersprachen vereinfachen die Erstellung von Programmen bzw. die Implementierung von Algorithmen Aus Sichtweise der Abstraktionsebenen befinden sich Programmiersprachen zwischen den natürlichen Sprachen, mit denen Menschen Algorithmen verfassen und den Maschinensprachen, welche die Befehle des jeweiligen Prozessors darstellen Programme in Programmiersprachen werden von einem Compiler genannten Programm in Maschinensprache übersetzt
39 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-39/60 Programmiersprachen - Zusammenfassung Programmiersprachen vereinfachen die Erstellung von Programmen bzw. die Implementierung von Algorithmen Aus Sichtweise der Abstraktionsebenen befinden sich Programmiersprachen zwischen den natürlichen Sprachen, mit denen Menschen Algorithmen verfassen und den Maschinensprachen, welche die Befehle des jeweiligen Prozessors darstellen Programme in Programmiersprachen werden von einem Compiler genannten Programm in Maschinensprache übersetzt In dieser Veranstaltung erlernen Sie die Programmiersprache Java
40 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-40/60 Programmiersprachen Betrachtung mehrerer Programmiersprachen um auf einem Ausgabegerät in der Regel ein Monitor (Bildschirm) oder Drucker den Text Hallo Welt! auszugeben.
41 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-41/60 Programmiersprachen Die so genannten Assemblersprachen bieten für Menschen lesbare Befehle, die direkt die Befehle in Maschinensprache der jeweiligen CPU abbilden: 1.MODEL Small 2.STACK 100h 3.DATA 4 HW DB 'Hallo Welt!' 5.CODE 6 start: 7 MOV AX,@data 8 MOV DS,AX 9 MOV DX, OFFSET HW 10 MOV AH, 09H 11 INT 21H 12 MOV AH, 4Ch 13 INT 21H 14 end start
42 Programmiersprachen C ist eine (relativ alte) Sprache, die den Ruf hat sehr effizient zu arbeiten, und gleichzeitig noch relativ leicht zu schreiben ist: 1 #include <iostream> 2 using std::cout; 3 using std::endl; 4 5 int main() 6 { 7 cout << "Hallo, Welt!" << endl; 8 return 0; 9 } Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-42/60
43 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-43/60 Programmiersprachen Perl: 1 print "Hallo Welt!\n"; JAVA: 1 class Hallo { 2 public static void main( String[] args ) { 3 System.out.println("Hallo Welt!"); 4 } 5 }
44 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-44/60 Programmiersprachen Programmiersprachen erweitern nicht den eigentlichen Befehlsumfang des Computers Sie dienen lediglich dazu Menschen einen besseren Zugang zu verschaffen, indem Anweisungen auf eine andere Art und Weise verfasst werden können Programmiersprachen versuchen sich dabei immer mehr der natürlichen Sprache anzunähern Es werden bei allen Programmiersprachen spezielle Programme (Compiler bzw. Interpreter) benötigt! Diese Programme übersetzen die jeweilige Sprache in die Maschinensprache des Computers
45 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-45/60 Zusammenfassung Computer sind universelle Rechenmaschinen, die Programme ausführen können Diese Programme bestimmen die Funktionsweise der Maschinen Durch die Beherrschung (mindestens) einer Programmiersprache können Sie selbst Programme entwerfen Diese Programme können Ihnen rechenintensive Arbeit abnehmen
46 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-46/60 Betriebssysteme Betriebssysteme
47 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-47/60 Betriebssysteme Computer Ein Computer ist, nach der heutigen Definition, eine Erweiterung der klassischen Rechenmaschine. Anstatt nur vorgegebene Operationen auszuführen, können Benutzer des Systems eigene Programme verfassen, die die Operation eines Computers bestimmen.
48 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-48/60 Betriebssysteme Computer Ein Computer ist, nach der heutigen Definition, eine Erweiterung der klassischen Rechenmaschine. Anstatt nur vorgegebene Operationen auszuführen, können Benutzer des Systems eigene Programme verfassen, die die Operation eines Computers bestimmen. Befehle Ein Prozessor versteht eine Reihe von Basisbefehlen. Diese werden in Programmen so kombiniert, dass komplexe Probleme gelöst werden können.
49 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-49/60 Betriebssysteme Bislang: Programme werden auf Hardwareebene entwickelt Diese arbeiten direkt mit dem Prozessor Ein- und Ausgabe, Speicherverwaltung, etc. müssen für jedes Programm selbst entwickelt werden
50 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-50/60 Ein Betriebssystem ist ebenfalls ein Programm Dieses läuft im Hintergrund ab und stellt einen einfachen Zugriff auf die Hardware zur Verfügung Man sagt: Die Hardware wird abstrahiert Die Entwicklung von neuen Programmen findet heutzutage (fast) ausschließlich auf Betriebssystemen statt
51 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-51/60 Hamster-Simulator Hamster-Simulator
52 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-52/60 Programmierung : Variablen Variablen sind das Gedächtnis Sie dienen dazu Werte zu speichern Arithmetische / Logische Operationen mit diesen durchzuführen und deren Ergebnisse zu speichern
53 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-53/60 Hamster-Simulator Grundlagen Der Hamster-Simulator kennt Variablen: boolean variablenname [ = initialwert] logische Variable mit Inhalt true / false int variablenname [= initialwert] integer Variable
54 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-54/60 Hamster-Simulator Grundlagen Die Möglichkeit eine Bedingung zu prüfen und entsprechend Anweisungen auszuführen bietet auch die Programmiersprache im Hamster-Simulator: if ( bedingung ) { anweisung ; } else { anweisung ; } Der else -Zweig kann auch entfallen.
55 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-55/60 Hamster-Simulator Grundlagen Der Hamster-Simulator kennt Wiederholungen Schleifen : Zählschleife (mit: solange bedingung wahr ist) for ( initial, bedingung, wiederholanweisung ) anweisung Bsp.: for ( i=0 ; i < 5 ; i++ ) Schleife solange Bedingung wahr ist while ( bedingung ) anweisung do anweisung while ( bedingung )
56 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-56/60 Hamster-Simulator Grundlagen Beispielprogramm cub_ws1617_praktikum_02_2 void main() { int anzahl_koerner = 0; // Speicher für Anzahl der Körner im Maul int eingabe_schrittanzahl = 0; // Speicher für Eingabe Anz. Schritte // Lies die Anzahl der zu gehenden Schritte ein eingabe_schrittanzahl = lieszahl("wie weit soll ich gehen?"); } // Schleife sooft wie eingegebene Schrittzahl durchlaufen for (int i=0; i < eingabe_schrittanzahl; i++) { vor (); // 1 Schritt vorwärts gehen if (kornda()) // Test ob Korn auf dem aktuellen Feld liegt { nimm(); // nimm 1 Korn auf anzahl_koerner++; // erhöhe Zähler für gefundene Körner } } // Ausgabe der Information wieviele Körner gefunden wurden schreib ("Anzahl Körner = " + anzahl_koerner);
57 Hamster-Simulator Wiederholung einige Befehle Der Hamster-Simulator kennt die folgenden vier Grundbefehle: vor(); Um 1 Feld nach vorne bewegen linksum(); Den Hamster um 90º nach links drehen nimm(); Ein Korn von der aktuellen Kachel in das Maul aufnehmen gib(); Ein Korn aus dem Maul des Hamsters auf der aktuellen Kachel ablegen Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-57/60
58 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-58/60 Programmierung Wiederholung : Funktionen Funktionen sind Befehle mit Rückgabewerten Die Funktion hat somit einen Datentyp Beim Verwenden der Funktion muss dies berücksichtigt werden Funktionen können Parameter übergeben werden (sofern sie so definiert sind) Bsp. Hamster-Simulator: int lieszahl ( text ) // gib text aus und lese Zahl boolean vornfrei () // Teste ob in Blickrichtung Mauer / Ende des Territoriums => false Ein Schritt möglich ist => true
59 Alexander Syndikus (h_da) Informatik für CuB WS 2016/17-59/60 Hamster-Simulator Wiederholung Der Hamster-Simulator kennt Befehle (Funktionen) zum Testen der Umgebung: (boolean) vornfrei() Test ob in Blickrichtung keine Mauer/Ende des Territoriums ist (boolean) kornda() Test ob auf dem aktuellen Feld noch Korn liegt
60 Fragen?
Im 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
2. 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
1. Ü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
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch
Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer
Programmieren mit dem Java-Hamster-Modell VP Orientierung Informatik WS 2008/09 H.Hagenauer Idee didaktisches Modell zur Einführung in die Programmierung leichter und intuitiver Zugang ( spielerisches
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
JAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München
Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung
Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. [email protected]. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth [email protected] Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
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
Brückenkurs / Computer
Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte
Abstrakte Algorithmen und Sprachkonzepte
Abstrakte Algorithmen und Sprachkonzepte Thomas Röfer Begriff des Algorithmus Algorithmenaufbau Programmiersprachliche Grundkonzepte Interative und rekursive Algorithmen Rückblick Aufbau und Funktionsweise
Einführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München
Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für
Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.
Folge 6 WHILE-Schleife JAVA 6.1 Schleifen Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Zu einer Schleife gehören die Schleifenbedingung und der Rumpf. Die Schleifenbedingung
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens [email protected] Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
C. 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
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,
Grundlagen der Programmentwicklung
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie
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
System.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
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
Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.
Informatik Studiengang Chemische Technologie Michael Roth [email protected] Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik
Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
Aufbau 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)
Übungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
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
Die Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
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
6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
Ein- und Ausgabe (I/O)
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten
Computergrundlagen Geschichte des Computers
Computergrundlagen Geschichte des Computers Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 1641: Rechenmaschine von B. Pascal B. Pascal, 1632-1662 mechanische Rechenmaschine
Programmieren. Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda, DVZ Zur Vorlesung Wer bin ich? Peter Klingebiel Dipl.-Ing.
5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
Programmierkurs 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
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Geben
Einführung in die Informatik Algorithms
Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren
a) Wandeln Sie folgende Dualzahlen durch Gruppenbildung in das Oktal- und Hexdezimalsystem um
WI Zahlenumwandlungen Informatik I Aufgabentyp 1: a) Wandeln Sie folgende Dualzahlen durch Gruppenbildung in das Oktal- und Hexdezimalsystem um 000100010101 2 = Okt:., Hex:.. Wandeln Sie folgende Zahlen
C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
Javakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise
Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen
Infovorkurs, Teil II: Theoretische Informatik. Motivation. Turing-Maschine. Programmiersprachen
Infovorkurs, Teil 08.10.2015 Webseite Mittlerweile gibt es die Folien und die Übungen online. Außerdem die Ergebnisse der Umfrage! Ich empfehle auch die Links. www.geile-hirnbude.de/vorkurs Rückblick Haben
Greenfoot: Verzweigungen
Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein
Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem
Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung
Gliederung. 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 [email protected] Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
1 Vom Problem zum Programm
1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist
Programmieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
Kurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
Sprachen und Automaten. Tino Hempel
Sprachen und Automaten 4 Tino Hempel Computer und Sprache Wie werden Informationen zu Daten kodiert? Welche Datenträger gibt es? Wie erfolgt die Verarbeitung der Daten? o o o Informationen werden im Computer
Modellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,
HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981
HW- und SW-Komponenten eines PC IBM 5150 aus dem Jahre 1981 Anfänge des Computers 1941: Zuse Z3 in Deutschland entwickelt erster programmierbarer Rechner mit mechanischen Relais 1944: ENIAC In den USA
Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende
Kapitel 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
Einstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
Motivation 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
Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011
Übungen mit Anleitung Hamster-Simulator Nicola Ramagnano 23. Oktober 2011 Dieses Dokument steht unter einer Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.5 Schweiz
Einstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
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
Einführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
Kapitel 3. Mein erstes C-Programm
Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL
Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm ([email protected]) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
TECHNISCHE 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
Philipp Grasl PROZESSOREN
1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION
Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
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
Grundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
Wie funktionieren Computer?
Ideen und Konzepte der Informatik Wie funktionieren Computer? Kurt Mehlhorn Übersicht Wie funktionieren Computer? Der Von-Neumann-Rechner Universalität von Rechnern: Basis für Siegeszug der Informatik
Algorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
Schleifenanweisungen
Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung
Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung [email protected] 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
L3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
Unterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
BKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. 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
Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
Grundlagen 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
Um dies zu vermeiden, werden nun drei so genannte Testbefehle eingeführt:
Folge 4 IF-ELSE-Anweisung - Testbefehle JAVA 4.1 Testbefehle (Boolesche Ausdrücke) Wenn Sie den Hamster in eine unlösbare Situation bringen (z.b. obwohl vor ihm eine Mauer steht), dann ist der Hamster
Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
Einfü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
Visuelle Programmierung mit dem Hamstersimulator
Visuelle Programmierung mit dem Hamstersimulator Erstellt von Fachbezug Maja Plavsic, [email protected], JKU Linz Informatik Schulstufe 8 Handlungsdimensi on Relevante(r) Deskriptor(en) Zeitbedarf
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:
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache
Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell
1 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
Flussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
2.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
Das Java-Hamster-Modell
Das Java-Hamster-Modell Programmieren lernen mit dem Hamster Informatikunterricht in der Jahrgansstufe 11 der Ursulaschule Osnabrück Das Java-Hamster-Modell Übersicht 1. Was ist ein Programm? 2. Wodurch
Ü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
Tutorium 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
Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik
Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Für eine
2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
Einführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
Dipl. Ing. (FH) Ehrenfried Stuhlpfarrer
Dipl. Ing. (FH) Ehrenfried Stuhlpfarrer Die Geschichte der Rechenmaschinen 1100 v. Chr. Abakus Ein Abakus ist ein mehr als 3000 Jahre altes einfaches mechanisches Rechenhilfsmittel. Der Abakus enthält
Computer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
