Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V0
|
|
- Hansi Lang
- vor 7 Jahren
- Abrufe
Transkript
1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V0 Computer Algorithmen - Programme Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik (12) Rückblick Wir hatten einige zentrale Grundbegriffe der Informatik kennen gelernt: Daten und Information und die zugehörigen Einheiten (Bit/bit) Kodierung Syntax Semantik Pragmatik Digitalisierung: Abtastung und Quantisierung Grundzüge der Shannonschen Informationstheorie 2 Programmieren 1 Teil 1 V2 1
2 Wo sind wir? V V 1 V 2 V V 4 V V 6 V V 8 V 9 V10 V11 Begrüßung und Einführung Daten Information Wissen Computer Algorithmus Programm Variablen Datentypen Objekte Elementare numerische Datentypen Zeichenketten Verzweigungen und Schleifen Prozeduren Aggregierte Datentypen Klassen Graphen und Bäume Bibliotheken 3 Programmieren 1 Teil 1 V2 Unser heutiges Lernziel Drei weitere zentrale Grundbegriffe kennen lernen: Computer und ihre Leistungsfähigkeit; etwas Geschichte Algorithmen und erste Beschreibungsmöglichkeiten und schließlich der Unterschied zum Programm. Hierzu gehören natürlich Programmiersprachen, die grundsätzlichen Unterschiede und ihre Genealogie 4 Programmieren 1 Teil 1 V2 2
3 Übersicht Was ist ein Computer? Die Ausführungsvarianten: PDA -Arbeitsplatzrechner Server Host Supercomputer Eine ganz kurze Historie Modellbildungen (Turingmaschine) Registermaschinen (Minimalmaschinen) im Skript nachlesen Algorithmen und Programme Der Begriff Algorithmus Formulierung von Algorithmen Programme Die Entwicklung von Programmiersprachen Die Generationen Compiler versus Interpreter 5 Programmieren 1 Teil 1 V2 Was ist ein Computer? Eine Maschine (heute i.d.r. eine digitalelektronische) zur Speicherung und automatischen Verarbeitung von Daten resp. Informationen (z.b. für mathematische Berechnungen oder allgemeiner Zeichenersetzungen) durch Angabe einer programmierbaren (Rechen-)vorschrift. Die programmierbare, d.h. veränderbare (Rechen-)vorschrift nennen wir Programm Ł Hardware (die Elektronik), das unveränderbare Ł Software (das Programm), das veränderbare Aus der Begriffsbestimmung ergibt sich u.a.: was war der erste Computer? 6 Programmieren 1 Teil 1 V2 3
4 Der Begriff Computer Computer = Rechner oder Rechenanlage lässt sich aus dem lateinischen computare (zählen, rechnen) herleiten. entstammt im modernen Deutsch dem Englischen computer. abgeleitet vom Verb to compute (rechnen), ursprünglich: computer bezeichnete Menschen, die im Mittelalter für Astronomen die quälend langwierigen Berechnungen vornahmen. Zunächst wurden Arbeiter, die entsprechende Maschinen bedienten, als Computer bezeichnet, später ging der Begriff auf diese Maschinen über. 7 Programmieren 1 Teil 1 V2 Digitalcomputer - Analogcomputer Unsere Definition ist eingeschränkt auf Digitalrechner, also solche Rechner, die mit diskreten, endlichen Zahlenmengen oder Zeichenmengen arbeiten (Informationstragenden Größen = Daten) Historisch gibt es eine andere Art: die Analogcomputer oder Analogrechner: Sie repräsentieren ihre Daten nicht als diskrete Werte, sondern als kontinuierliche eben analoge Größen, zum Beispiel in Form von geometrischen Längen oder Winkeln (mechanisch, z.b. Rechenschieber, Planimeter) oder elektrischen Spannungen oder Strömen. 8 Programmieren 1 Teil 1 V2 4
5 Digitalrechner Elementare Operatoren: Bausteine des Programmierens Addition, Subtraktion, Konkatenation, etc. Zuweisung (A = B, A:=B, A B) Verzweigung if <Bedingung> then... elementares Rechnen, Vergleichen, Ersetzen Analogrechner Elementare Operatoren: Summierer, Multiplizierer, Integratoren, Differentiatoren Funktionsgeber (Sinus, Sprung, Impuls, etc.), Koeffizienteneinsteller Löst gewöhnliche Differentialgleichungen 9 Programmieren 1 Teil 1 V2 Programm und Ausgabe eines Analogrechners 10 Programmieren 1 Teil 1 V2 5
6 Nachteile des Analogcomputers Entscheidendes Problem analoger Rechner ist die Genauigkeit, bedingt durch unvermeidliches Rauschen (Störsignale) Wir können (auch z. Zt.) nur Meßgeräte bauen, die einen maximalen Meßbereich von 6 7 Zehnerpotenzen aufweisen. Ł das Gewicht eines Lkws ist aufs Milligramm genau messen, aber z.b. nicht der Umsatz eines Großunternehmens in Cent genau oder die Berechnung einer Flugbahn zum Mars Ł Nur bis in die 70er Jahre gebräuchlich, die digitale Mikroelektronik war so leistungsfähig, dass man sie auch zur Integration, Differentiation, usw. nutzen konnte ohne die genannten Nachteile 11 Programmieren 1 Teil 1 V2 Vielgestalt des heutigen Computers (1) die meisten Computer sind als solche kaum erkennbar: ubiquitous (allgegenwärtig) als embedded System im Handy, im Auto, in der Waschmaschine PDA: Personal Digital Assistant ist ein handflächengroßer tragbarer Computer (Handcomputer; Palmtop); seit 1993: Newton Message Pad Laptop (= "Auf dem Schoß"), oder Notebook (notebook = Notizbuch ein Handelsname) ist ein tragbarer Personal-Computer (Arbeitsplatzrechner) in der Größe eines Buches 12 Programmieren 1 Teil 1 V2 6
7 Vielgestalt des heutigen Computers (2) Arbeitsplatzrechner (Desktop Computer, Personalcomputer, PC): "persönlicher Rechner", auch ein Handelsname heute aber Gattungsbezeichnung. Rechnertypen die einer einzelnen Person zur Verfügung stehen und auf deren Bedürfnisse anpasst sind seit Anfang der 80er Jahre Verfügbar (Apple Lisa, PERQ, etc.) Ein Server ist ein Rechner, "auf dem ein Serverprogramm läuft", das für Clients, z.b. auf Arbeitsplatzsystemen spezifische Dienstleistungen anbietet: Print-Server (Zugriff auf Drucker), Mailserver ( -Server), Datenbankserver; Webserver; Dateiserver, etc. 13 Programmieren 1 Teil 1 V2 Vielgestalt des heutigen Computers (3) Die Hardware, auf der ein oder mehrere Server laufen, bezeichnet man als Host, deutet auf vernetzte Strukturen hin. Mainframe (Großrechner, ggf. Host) ist ein großes und umfangreiches Computersystem, das weit über die Kapazitäten eines Personal Computers und oft sogar über die typischer Serversysteme hinausgeht meist im kommerziellen und kaufmännischen Bereich eingesetzt (z.b. für Flug-Buchungssysteme, im Bankenbereich, etc.). Im Gegensatz zu Supercomputern (für maximale Rechenleistung ausgelegt) ist ein Großrechner für Zuverlässigkeit und hohen Datendurchsatz, für tausende parallel zu bearbeitende Transaktionen optimiert. 14 Programmieren 1 Teil 1 V2 7
8 Supercomputer sind Hoch-(Höchst-)leistungsrechner, die zum Zeitpunkt ihrer Einführung im obersten realisierbaren Leistungsbereich operieren, siehe (Vierteljährlich wird die Liste der 500 schnellsten Supercomputer veröffentlicht). Typisches Merkmale eines heutigen Supercomputers sind seine große Anzahl an Prozessoren (einige Hundert bis einige Tausend), i.d.r. sehr großer Hauptspeicher. Zum Vergleich: Sämtliche Berechnungen aller Computer weltweit, im Zeitraum on 1960 bis 1970 (in 10 Jahren) könnte ein heutiger Supercomputer in etwa 30 Minuten durchführen. 15 Programmieren 1 Teil 1 V2 Leistungsfähigkeit (Performance) anfangs gemessen in MIPS (Millionen Instruktionen pro Sekunde) und/oder MFLOPS (Millionen Floating Point Operationen pro Sekunde) = Gleitkommaoperationen (approximieren rationale Zahlen) sehr weinig Aussagekraft über Laufzeit einer Anwendung Frühe 80er-Jahre: Messung durch Dhrystones und Whetstones durch sogenannte Benchmarks (fest vereinbarte künstliche Programme (zu keinem anderen Zweck), die typische Anweisungsfolgen aufweisen) = typischer Mix von Anweisungen, gibt Anzahl Operationen dieser Mischung an 16 Programmieren 1 Teil 1 V2 8
9 Performance (2) Dhrystone (von Reinhold Weicker 1984 entwickelt) enthält nur Integer-Operationen (Ganze Zahlen) sein Name ist ein Wortspiel auf den damals sehr populären Gleitkomma-Benchmark Whetstone. Whetstone (dt. Wetzstein) schon 1976 in den National Physical Laboratories in Großbritannien entwickelt Er verwendet dazu Fließkomma-Operationen, aber auch Integer- Arithmetik und Zugriffe auf Array-Elemente: [KWIPS oder MWIPS] 17 Programmieren 1 Teil 1 V2 Performance (3) heute meist SPEC (seit 1989): Es handelt sich um eine Serie von Anwendungen (z.b. neuronale Netze, finite Elemente, Videoencodierung usw.), die in Integer-bezogene (SpecInt) und Floatingpoint-bezogene (SpecFp)-Programme eingeteilt werden. Entsprechend bilden das Endergebnis der Tests immer zwei Zahlen, die die Leistung bezogen auf eine Referenzmaschine (benchmark) angeben. Bei Spec2000 ist dies z.b. eine Sun UltraSparcIIi/256MB. 18 Programmieren 1 Teil 1 V2 9
10 Ans Eingemachte... nur PC... alles weitere dann in Hardware - Architekturen von Rechenanlagen (Technische Informatik) 19 Programmieren 1 Teil 1 V2 Ein Blockschaltbild (erste Abstraktion) reicht uns nicht... weiter abstrahieren, d.h. Details weglassen, nur zielorientiert die Essentials erhalten Maschinenunabhängig Programmieren 20 Programmieren 1 Teil 1 V2 10
11 von Neumann Architekur benannt nach John von Neumann ist ein Schaltungskonzept zur Realisierung universeller Rechner (Von-Neumann-Rechner) welches folgende Komponenten enthält: Rechenwerk (führt Rechenoperationen und logische Verknüpfungen aus) Speicher (speichert sowohl Programme als auch Daten Steuerwerk (interpretiert die Anweisungen eines Programms und steuert die Ausführung dieser Befehle) Eingabe-/Ausgabewerke (steuert die Ein- und Ausgabe von Daten) (Verbindungssystem) Das Rechen- und das Steuerwerk (manchmal auch Leitwerk genannt) bilden die so genannte Zentraleinheit, den Prozessor (CPU) 21 Programmieren 1 Teil 1 V2 von Neumann Architekur (2) Dieses Konzept wurde 1945 in dem Papier First Draft of a Report on the EDVAC im Rahmen des Baus der EDVAC beschrieben war zur Zeit seiner Entwicklung revolutionär. (oder auch nicht: Konrad Zuse hatte schon 1938 seine Z3 (Relaisrechner) realisiert) Anderer Rechner jener Zeit hatten ein festes Programm, das z.b. durch Schaltdrähte programmiert wurde oder waren nicht programmierbar In einer Von-Neumann-Architektur war es nun möglich, Änderungen an Programmen sehr schnell durchzuführen oder in kurzer Folge ganz verschiedene Programme ablaufen zu lassen, ohne Veränderungen an der Hardware vornehmen zu müssen Diese Architektur setzte sich sehr schnell durch. 22 Programmieren 1 Teil 1 V2 11
12 von Neumann Architekur (3) Daten Befehle Bedingungen Events 23 Programmieren 1 Teil 1 V2 Die Original von Neumann-Architektur. Extrahiert aus dem Text First Draft of Report on the EDVAC mit Datum R outside recording medium... a stack of punch-cards, a teletype tape, etc.: information can be produced directly by human action and sensed directly by human organs I input: organs to transfer numerical (or other) information from R to M O output: organs to transfer numerical information from M to R CC proper sequencing of the machines operations... a general / central organ functions: (1) receive orders from M (2) interpret them (3) carry them out or stimulate other organs to carry them out A very high speed automatic digital computing system M conciderable memory for at least the four following phases a) intermediate (partial) results must be remembered b) the instructions which govern the complicated problems c) specific functions, usually in form of a table d)... h) diverse other data... tempting to treat the entire memory as one organ instructions I CA J CA (numerical) data CA perform the elementary operations of aritmetic: + x +,, x, O CA C 24 Programmieren 1 Teil 1 V2 12
13 Die Kernideen der von Neumann Architektur 1. Ein Computer besteht aus 5 Funktionseinheiten: Speicher, Steuerwerk oder Leitwerk, Rechenwerk, Eingabe, Ausgabe (Steuerwerk und Rechenwerk bilden den Prozessor) 2. Im Speicher sind sowohl die zu bearbeitenden Daten als auch das Programm abgelegt. 3. Ein Befehls-Ausführungszyklus besteht aus der Folge: 1. Befehl aus dem Speicher holen FETCH 2. Befehl im Steuerwerk interpretieren DECODE 3. Operanden holen FETCH OPERANDS 4. Befehl ausführen EXECUTE 5. (Erhöhen des Befehlszählers UPDATE INSTRUCTION POINTER) 25 Programmieren 1 Teil 1 V2 Wie war es davor bis etwa 1950 (1) Name Fertigstellung Hauptentwickler Technologie Turingvollständig Programmierbar? Analytical Engine (nicht realisiert) Charles Babbage ( ) Mechanik Lochstreifen Ja ABC Computer John V. Atanasoff Clifford Berry 1941 Elektronenröhren Nein Nein Z 3 Konrad Zuse 1941 Relais Lochstreifen (Ja) Colossus M.H.Newman I.J. Good 1944 Elektronenröhren Datenband und Verkabelung Nein 26 Programmieren 1 Teil 1 V2 13
14 Architektur der Analytical Engine ( ) Store from store 2 1 Primed Ingress Axis 1 Ingress Axis 2 Ingress Axis x Run-Up Lever Mill Exgress Axis Primed Exgress Axis Number Cards Variable Cards Operations Cards 27 Programmieren 1 Teil 1 V2 Wie war es davor bis etwa 1950 (1) Name Fertigstellung Hauptentwickler Technologie Turingvollständig Programmierbar? Analytical Engine (nicht realisiert) Charles Babbage ( ) Mechanik Lochstreifen Ja ABC Computer John V. Atanasoff Clifford Berry 1941 Elektronenröhren Nein Nein Z 3 Konrad Zuse 1941 Relais Lochstreifen (Ja) Colossus M.H. Newman I.J. Good 1944 Elektronenröhren Datenband und Verkabelung Nein 28 Programmieren 1 Teil 1 V2 14
15 Wie war es davor bis etwa 1950 (2) Name Fertigstellung Hauptentwickler Technologie Turingvollständig Programmierbar? Harvard Mark I (ASCC) Howard H. Aiken Ł IBM 1944 Mechanik (und Relais) Lochstreifen Ja ENIAC Mauchley und Eckert 1946 Elektronenröhren Verkabelung Ja von Neumann Architektur (First Draft... EDVAC Electronic Discreet Variable Computer 1945 datiert, veröffentlicht 1946 Manchester Mark I Prototyp Baby F. Williams U Man 1948 Elektronenröhren und alle weiteren! stored program 29 Programmieren 1 Teil 1 V2 Ja Also, wer war der Erfinder des Computers? Z3 ENIAC Analytical Engine Konrad Zuse? John Mauchley, Presper Eckert? Charles Babbage John von Neumann Alle sicher nicht! Der Computer ist eine Gemeinschaftserfindung! 30 Programmieren 1 Teil 1 V2 15
16 Entwicklung ab 1950 Elektronengehirne In den USA vor allem mit Starthilfe von Howard Aiken Ł (der Computerhersteller) IBM Eckert und Mauchly (eigene Firma) Ł UNIVAC F. Williams ( U Manchester) Ł Ferranti Konrad Zuse Ł Zuse KG (AG) 1960 in den USA: IBM und die sieben Zwergen gemeint waren UNIVAC 12 % Marktanteil, Burroughs 3 %, NCR 3 %, CDC, RCA, Honeywell, GE: IBM beherrschte 70% des US Marktes: Big Blue 31 Programmieren 1 Teil 1 V2 Heute Alle Computer haben eine (modifizierte) von Neumann Architektur Multiprozessoren, d.h. haben mehrere Prozessorkerne CISC RISC 32 Programmieren 1 Teil 1 V2 16
17 Algorithmus Das Wort Algorithmus ist eine Abwandlung oder Verballhornung des Namens von Muhammad ibn Musa al-chwarizmi (* ca. 783, ca. 850), dem Autor des Buchs Hisab al-dschabr wa-l-muqabala (825, Regeln zur Wiederherstellung und Reduktion), durch das die Algebra im Westen verbreitet wurde. Die lateinische Fassung beginnt mit Dixit Algoritmi... (Algoritmus sprach...), womit der Autor gemeint war. Das Wort Algebra stammt ebenfalls (al-jabr Einrenkung ) aus dem Titel des Buches. Ursprünglich stand das Wort Algorism nur für die Regeln zur Arithmetik mit arabischen Ziffern. Heute steht es für alle geregelten Prozeduren, mit denen Probleme aller Art gelöst werden können. 33 Programmieren 1 Teil 1 V2 Ein Porträt? 34 Programmieren 1 Teil 1 V2 17
18 Algorithmus Unter einem Algorithmus versteht man allgemein eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen. Alltagsalgorithmen: ein Kochrezept, ein Algorithmus? zumindest dann, wenn alle Angaben genau genug sind und es für alle Teilaufgaben, wie Braten, Rühren, etc., ebenfalls Algorithmen gibt. Auch Reparatur- und Bedienungsanleitungen oder Hilfen zum Ausfüllen von Formularen sind in der Regel Algorithmen.... aber in der Regel zu unpräzis 35 Programmieren 1 Teil 1 V2 Eigenschaft: Determiniertheit Kurz: Bei jeder Ausführung mit gleichen Startwerten muss das gleiche Ergebnis berechnet werden. Algorithmen sind determiniert, wenn sie bei gleichen Parametern und Startwert stets das gleiche Resultat liefern. 36 Programmieren 1 Teil 1 V2 18
19 Eigenschaft: Deterministisch (ein feiner Unterschied) Deterministisch heißen alle Algorithmen, bei denen zu jedem Zeitpunkt der Ausführung maximal eine Möglichkeit der Programmfortsetzung besteht. Gibt es mehrere Möglichkeiten der Programmfortsetzung und lassen sich diesen Wahrscheinlichkeiten zuweisen, so spricht man von stochastischen, randomisierten oder probabilistischen Algorithmen. In der Theorie gibt es neben dem Determinismus auch den Nichtdeterminismus, der aber in der Praxis kaum Verwendung findet, aber z.b. bei Quantencomputern, welche auch solche Algorithmen erfolgreich ausführen. Es gilt übrigens: Jeder deterministische Algorithmus ist auch determiniert. Nicht jeder determinierte Algorithmus ist jedoch deterministisch. 37 Programmieren 1 Teil 1 V2 Statische Finitheit Kurz: Die Beschreibung des Algorithmus ist endlich. Die Beschreibung eines Algorithmus darf nicht unendlich groß sein. Als statische Finitheit wird die Endlichkeit des Quelltextes bezeichnet. Der Quelltext darf nur eine begrenzte Anzahl, wenn auch bei Bedarf sehr viele Regeln enthalten. 38 Programmieren 1 Teil 1 V2 19
20 Dynamische Finitheit Kurz: Menge an Daten inclusive und Zwischenspeicherungen sind zu jeder Zeit endlich. Zu jedem Zeitpunkt der Ausführung darf der von einem Algorithmus benötigte Speicherbedarf nicht unendlich groß sein. Andernfalls wäre der Algorithmus nicht ausführbar. 39 Programmieren 1 Teil 1 V2 Terminiertheit Kurz: Der Algorithmus bricht nach endlicher Zeit kontrolliert ab. Algorithmen sind terminierend, wenn sie für jede mögliche Eingabe nach einer endlichen Zahl von Schritten zu einem Ergebnis kommen. Die tatsächliche Zahl der Schritte kann dabei beliebig groß sein. Steuerungssysteme und Betriebssysteme und auch viele Programme, die auf Interaktion mit dem Benutzer aufbauen, erfüllen diese Eigenschaft nicht: Wenn der Benutzer keinen Befehl zum Beenden gibt, läuft das Programm endlos weiter. 40 Programmieren 1 Teil 1 V2 20
21 Wie formuliert (beschreibt) man Algorithmen 1. Durch eine präzise Beschreibung in einer natürlichen Sprache. 2. Mittels einer Pseudo-Programmiersprache (Pseudo-Code): Folge von Zuweisung: name Ausdruck Verzweigung: if <Bedingung> then (Aktivitätsfolge) else (Aktivitätsfolge) while <Bedingung> do (Aktivitätsfolge) und mehr braucht man eigentlich nicht --- nach dem Prinzip: alles was verständlich und eindeutig ist, reicht! Es viele andere Möglichkeiten... später 41 Programmieren 1 Teil 1 V2 Algorithmus vs. Programm Algorithmen sind Abstraktionen von Programmen ob sie jetzt auf eine spezielle Maschine zugeschnittenen sind oder auch mit einer höheren (maschinenunabhängigen) Programmiersprache formuliert sind (d. h., die Abstraktion erfolgt hier durch Weglassen der Details der realen Maschine oder der realen Programmiersprache) das Programm ist eine konkrete Form des Algorithmus, angepasst an die Notwendigkeiten und Möglichkeiten der realen Maschine resp. der realen Programmiersprache 42 Programmieren 1 Teil 1 V2 21
22 Programmiersprachen zwei Hauptkriterien: die Generation das Paradigma und dann viele, viele Details: Wie viele Programmiersprachen gibt es? 43 Programmieren 1 Teil 1 V2 Maschinensprachen Sprachen der ersten Generation Direkte Programmierung der Hardware durch Folge elementarer im Binärcode repräsentierter Befehle eines bestimmten Prozessors CPU ist in der Lage 1. Befehle aus dem Speicher zu holen (fetch) 2. diese zu dekodieren (decode) 3. diese dann auszuführen (execute) und dann wieder 1. Was ist der minimale Befehlssatz? 44 Programmieren 1 Teil 1 V2 22
23 Ein typisches von Neumann Maschinenbefehlswort 45 Programmieren 1 Teil 1 V2 Ein Beispiel 46 Programmieren 1 Teil 1 V2 23
24 2. Generation : Assemblersprachen 47 Programmieren 1 Teil 1 V2 Assemblerprogramme Vorteil: Ermöglicht die Erstellung sehr effizienter Programme für eine speziellen Rechnertyp Nachteile: abhängig vom konkreten Rechnertyp Ł viel Portierarbeit Programme sind selbst für den Entwickler schwer verständlich Ł kaum wartbar nur noch sehr selten genutzt! 48 Programmieren 1 Teil 1 V2 24
25 3. Generation: Höhere Programmiersprachen Hardware (Maschinen)-Unabhängigkeit Für den Menschen verständlicher und einfacher zu handhaben Idee: Die mühsame Codierarbeit (dafür brauchte man früher Programmierer) soll doch die Maschine selbst machen! Ł spezielle Übersetzer (Compiler von to compile und Interpreter) als erste schon Ende der 50er Jahre FORTRAN (Formular Translation; Ausdrücke wie in der Mathematik) COBOL LISP 49 Programmieren 1 Teil 1 V2 4. und 5. Generation nicht wirklich wissenschaftlich, eher Marketingbegriffe... bitte nicht ernsthaft benutzen! 50 Programmieren 1 Teil 1 V2 25
26 Charakteristika von Programmiersprachen eindeutige Lexikalität: Festlegung der gültige Zeichen bzw. Wörter aus denen Programme zusammengesetzt werden eindeutige Syntax: legt fest, welche Folgen von Sätzen benutzt werden dürfen (syntaktisch korrekt sind) eindeutige Semantik: welche Auswirkung hat die Ausführung einer Anweisung? Pragmatik definiert den Einsatzbereich der Sprache 51 Programmieren 1 Teil 1 V2 Grace Murray Hopper ( ) Erfinderin des Compilers im Mark 1 Team (Aiken) The first computer bug 52 Programmieren 1 Teil 1 V2 26
27 Übersetzer (Compiler) 53 Programmieren 1 Teil 1 V2 Übersetzungsphasen 54 Programmieren 1 Teil 1 V2 27
28 Traditionelle Übersetzung 55 Programmieren 1 Teil 1 V2 Vor- und Nachteile von Compilern maximale Geschwindigkeit durch Optimierung des Codes aber: das übersetzte Programm läuft nur auf dem jeweiligen Maschinentyp weil Dienste des Betriebssystems benötigt werden sind die Programme trotzdem Plattformabhängig das Resultat: viele Dialekte einer Sprache 56 Programmieren 1 Teil 1 V2 28
29 Ein alternatives Vorgehen: Interpreter Ein Interpreter führt das Quellprogramm direkt aus: Arbeitsweise: 1. Lexikalische Analyse der nächsten Anweisung im Programm 2. Syntaktische Analyse 3. Übersetzung der Hochsprache in eine Befehlsfolge der Maschinensprache oder einer Zwischensprache, ggf. in sich selbst 4. Ausführung der generierten Befehlsfolge Wiederholung der Schritte 1 bis 4 57 Programmieren 1 Teil 1 V2 Vor und Nachteile Geänderte Programme sind sofort ausführbar (nicht übersetzen, binden,...) sehr hilfreich beim Testen schnelles Ändern auch ausprobieren (???) sehr gut für Prototypen die Ausführungszeiten sind gegenüber compilierten Programmen größer 58 Programmieren 1 Teil 1 V2 29
30 Heute sehr häufig, sowohl bei Compilern als auch Interpretern 59 Programmieren 1 Teil 1 V2 Vor- und Nachteile Nur ein Compiler/Interpreter für alle Prozessoren und Plattformen (natürlich braucht man eine VM pro Plattform, in der Regel ein Interpreter übersetzte Programme laufen auf allen Prozessoren und Plattformen (etwas) langsamer als Maschinencode 60 Programmieren 1 Teil 1 V2 30
31 Fragen und (hoffentlich) Antworten 61 Programmieren 1 Teil 1 V2 Ausblick Jetzt geht s bald zum Programmieren... zunächst in Python Dr. Tobias Breiner Danke für Ihre Aufmerksamkeit 62 Programmieren 1 Teil 1 V2 31
Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V2
Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V2 Computer Algorithmen - Programme Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik
MehrModul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V0. Rückblick. Wo sind wir? Computer Algorithmen - Programme
Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V0 Computer Algorithmen - Programme Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik
MehrAllgemeine Informatik Thema 1 Informatik; Konzepte (II)
Conf. Dr. I. Intorsureanu Wirtschaftsakademie Bukarest Allgemeine Informatik Thema 1 Informatik; Konzepte (II) Inhalt: 1.1 Was ist Informatik? 1.2 Information und Daten 1.3 Computersysteme Hardware und
MehrDefinitionen/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
Mehr1 Vom Problem zum Program
Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit E = zulässige Eingaben und
Mehr1 Vom Problem zum Programm
1 Vom Problem zum Programm Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit
MehrEinfü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
MehrWintersemester 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;
MehrDer 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$
MehrIdeen und Konzepte der Informatik
Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,
Mehrn 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
MehrWichtige Rechnerarchitekturen
Wichtige Rechnerarchitekturen Teil 1 Überblick 1 Rechnergeschichte: Mechanische Rechenmaschinen Mechanische Rechenmaschinen (17.Jahrhundert) Rechenuhr von Schickard (1623) Pascaline von Blaise Pascal (1642)
MehrWas ist ein Computer? Was ist ein Programm? Können Computer Alles?
Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Beispiele von Computern Was ist die Essenz eines Computers? Die Turing Maschine Auf jedem Bandquadrat steht ein Buchstabe (Symbol, Zeichen)
MehrEinleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg
Technologische Trends Historischer Rückblick Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Technologische Trends Historischer Rückblick Übersicht
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrInhalt. Einführung in die Strukturierte Programmierung 15
Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
MehrÜbersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009
Übersicht Einleitung 1 Einleitung Dr.-Ing. Volkmar Sieh 2 Technologische Trends Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 3 Historischer
MehrEinleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2006/2007
Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2006/2007 Einleitung 1/50 2006/10/09 Übersicht 1 Einleitung 2 Technologische
MehrAlgorithmen versus Programmiersprachen
Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrWas ist ein Computer? Was ist ein Programm? Können Computer Alles?
Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Die Turing Maschine Auf jedem Bandquadrat steht ein Buchstabe (Symbol, Zeichen) in A,,Z, a,,z, 0,.,9,$,,., leer Endliches Alphabet Steuereinheit
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrEinfü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
MehrKapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
MehrInformatik 12 Kapitel 3 - Funktionsweise eines Rechners
Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs
MehrProgrammiersprache. 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
MehrAllgemeine Informatik Thema 1 Informatik; Konzepte
Conf. dr. I. Intorsureanu Wirtschaftsakademie Bukarest Allgemeine Informatik Thema 1 Informatik; Konzepte Inhalt: Informatik Information und Daten Computer Hardware und Software Historischer Überblick
Mehr2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise
Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrKlausur 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
MehrGrundlagen 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
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrEinführung (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
Mehr1 Einführende Bemerkungen
1 Einführende Bemerkungen Ziel des Moduls: Einführung in den prinzipiellen Aufbau und die grundlegende Verarbeitungsweise eines Rechners Hinführung an die objektorientierte Programmierung mittels Java
Mehrsystematischen Verarbeitung von Informationen Was ist Informatik?
13 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen
MehrGrundlagen der Informatik I Einführung
Grundlagen der Informatik I Einführung Konzepte imperativer Programmierung : Six, H.W., 99 Themen der heutigen Veranstaltung 1. Informatik, Computer, Programmierung 2. Problem und Algorithmus 3. Programme
Mehrsystematischen Verarbeitung von Informationen Was ist Informatik?
14 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen
MehrECDL MODUL COMPUTING. Syllabus Version 1.0
ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: info@dlgi.de, URL: www.dlgi.de In
MehrProgramme erstellen in Java
Programmieren mit Java Modul 0 Programme erstellen in Java Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
MehrFPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007
Paderborn Center for Parallel l Computing Paderborn University 29. Mai 2007 Übersicht 1. FPGAs 2. Entwicklungssprache VHDL 3. Matlab/Simulink 4. Entwicklungssprache Handel-C 5. Fazit Übersicht FPGAs 1.
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation
MehrProbestudium. Paralleles Programmieren für moderne Multicore-Prozessoren. Prof. Dr. Hans Jürgen Ohlbach
Paralleles Programmieren für moderne Multicore-Prozessoren Prof. Dr. Hans Jürgen Ohlbach 1 Kurze Geschichte der Computer Erste Versuche Charles Babbage (1792 1871) difference Engine 1832 (zum Berechnen
MehrEinführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
MehrDipl. 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
MehrCharles Babbage. Vortrag für das Oberseminar Geschichte der Informatik
Charles Babbage Vortrag für das Oberseminar Geschichte der Informatik Übersicht Kurzer Überblick über das Leben und Wirken von Charles Babbage Die großen Erfindungen von Charles Babbage: Difference Engine
MehrÜberblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37
Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 1: Informationsverarbeitung
MehrVerhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen
Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,
MehrInhaltsverzeichnis. Blatt COMPUTER HERKUNFT DES NAMENS GRUNDLAGEN 3 2 HARDWAREARCHITEKTUR 5
Deckblatt Inhaltsverzeichnis 1 COMPUTER 3 1.1 HERKUNFT DES NAMENS 3 1.2 GRUNDLAGEN 3 2 HARDWAREARCHITEKTUR 5 2.1 DER SPEICHER 5 2.2 JOHN VON NEUMAN 5 2.3 DIE ALU 6 2.4 SOFTWAREARCHITEKTUR 6 3 GESCHICHTE
MehrEinführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26
Einführung (Compiler) Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 15:49 Einführung 1/26 Ein Compiler ist ein Computerprogramm das ein Programm geschrieben in einer Sprache in ein Programm übersetzt
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung
MehrCompiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:
Compiler Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
MehrCompiler: Einführung
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrWintersemester 2006/2007 Helmut Seidl Institut für Informatik TU München
Informatik 1 Wintersemester 2006/2007 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;
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 30. Ausblick Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.02.2016 1 13.02.2016 B. Nebel Info I 3 / 17 Programmieren jedenfalls ein bisschen Python-Programme
MehrB Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)
1 Historische Entwicklung 8500 v. Chr.: Zählsysteme in vielen Kulturen benutzt häufig 5 oder 10 als Basis 1. historische Entwicklung 2. Entwicklung der Mikroprozessoren 3. Entwicklung der Betriebssysteme
MehrPhilipp Grasl PROZESSOREN
1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrTechnische Informatik I, SS 2001
Technische Informatik I SS 2001 PD Dr. A. Strey Abteilung Neuroinformatik Universität Ulm Inhalt Einführung: Überblick über die historische Entwicklung der Rechnerhardware Teil 1: Digitale Logik kurzer
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrBrü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
Mehr1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrObjektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil
MehrGeschichte der Informatik
Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle
MehrProgrammieren lernen mit Perl
Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete
MehrWie 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
Mehr1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te
1 Einführung: Algorithmen Algorithmen und Datenstrukturen WS 2012/13 Pro f. Dr. Sán do r Fe k e te Literatur 1.1 Was ist ein Algorithmus? Ein Algorithmus ist eine aus endlich vielen Schritten bestehende
Mehr1 Algorithmische Grundlagen
1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003
MehrVorlesung. Technologische Grundlagen der Informationsverarbeitung. Rechnerarchitektur. Dipl.-Ing. Gert Martin
Vorlesung Technologische Grundlagen der Informationsverarbeitung Rechnerarchitektur Dipl.-Ing. Gert Martin Geschichte der Computer Erste Versuche Charles Babbage (1792 1871) difference Engine 1832 (zum
Mehr3 Syntax von Programmiersprachen
3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme
Mehra) 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
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Lehrstuhl Prof. Plödereder Eduard Wiebe Institut für Softwaretechnologie Abteilung Programmiersprachen und Übersetzerbau Sommersemester 2007 Programm-Ausführung Programmiersprachen
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrProgrammierkurs II. C und Assembler
Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke
MehrVorlesung Rechnerarchitektur. Einführung
Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher
Mehrsystematischen Verarbeitung von Informationen Was ist Informatik?
23 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
MehrKapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
Mehr