Eine Einführung in die Programmierung mit C++

Größe: px
Ab Seite anzeigen:

Download "Eine Einführung in die Programmierung mit C++"

Transkript

1 Eine Einführung in die Programmierung mit C++ zum Gebrauch neben dem Unterricht von Lutz J. Koch 1999 Dieses Buch ist aus dem Wunsch meiner Schülerinnen und Schüler entstanden, parallel zum Unterricht die dort erarbeiteten Inhalte nachlesen und vertiefen zu können. Es gibt zwar viele Bücher über das Programmieren in C++und fast alle von ihnen sind hervorrragend geeignet für jemanden, der schon C++ oder zumindest eine andere Programmiersprache beherrscht und nur etwas nachschlagen möchte. Der Anfänger aber, der sich in diese komplexe Materie einarbeiten möchte, findet nur wenige geeignete Bücher, und noch viel weniger, die für ihn verständlich geschrieben sind. So habe ich den Versuch unternommen, den Inhalt des Unterrichts für einen Grundkurs im Fach Informatik festzuhalten und mit einfachen, knappen Beispielen zu illustrieren. Mir ist durchaus klar, dass es viele Aspekte gibt, die dabei unberücksichtigt geblieben sind und wahrscheinlich noch viel mehr Teile, die einem Fachmann unzureichend erscheinen mögen. Man möge mir diese Nachlässigkeit verzeihen, denn es ging hier nicht darum ein Kompendium zu erstellen, sondern den AnfängerInnen eine handliche Vorstellung zu vermitteln, mit der sie dann später nach eigenen Vorstellungen vertiefend weiterarbeiten können.

2 Die Programmiersprache C++ Um einen reibungslosen Betrieb zu gewährleisten, müssen all die Ressourcen eines Rechner angesteuert und verwaltet werden. Dieses Geschäft erledigt ein Betriebssystem, das im Hintergrund läuft und vom Anwender möglichst überhaupt nicht wahrgenommen werden soll. ( Als Gast eines Hotels möchte ich eigentlich auch nicht mit Leerung der Mülltonnen befaßt werden, auch wenn ich einsehe, dass dies eine unbedingt notwendigeund wichtige Verrichtung ist). Wenn man also ein solches Betriebssystem erstellt, muß man das ganze Gefüge eines Rechners sehr genau kennen und auch Zugriff auf die tiefsten Tiefen der Bits und Bytes haben. Diese Abläufe werden in Maschinensprache bzw. Assembler programmiert, beides Ausdrucksformen, die eher dem Rechner als dem menschlichen Benutzer entsprechen und dementsprechend mühsam zu handhaben sind. Um es hier nun bequemer zu haben, wurde die Hochsprache C entwickelt, die besser zu "sprechen" ist, aber trotzdem noch die abgrundtiefen und effizienten Eingriffe in die Eingeweide des Rechners gestattet. Sie ist so gebaut, dass sie sich nahe an die Möglichkeiten der Maschine anlehnt, so dass sich ihre sprachlichen Konstrukte leicht in die Anweisungen umwandeln lassen, die ihr unmittelbar verständlich sind. Dadurch ist sie in manchen Bereichen spröder als andere Programmier-Hochsprachen. Dafür kann man mit C++ aber sehr effiziente Programme schreiben. Deshalb sei sich der C- oder C++-Programmierer und vor allem der C-Azubi bewußt, dass er mit dieser Programmiersprache alles machen kann, vor allem auch jeden Unsinn. Also merke er sich: Schuld hat stets der Programmierer also DU

3 Aufbau und Grundfunktionen eines Rechners EVA-Prinzip Jeder Rechner verfährt nach dem Prinzip Eingabe-Verarbeitung-Ausgabe. Dabei können die Eingabegeräte alles sein, was Daten zu liefern vermag und Ausgabe kann alles sein, was Daten aufzunehmen vermag. Die Verarbeitung erfolgt sodann in einer CPU ( Central Processing Unit). Eingabe Tastatur, Maus, Mikrofon, Trackball, Videokamera, usw. CPU Ausgabe Bildschirm, Drucker, Lautsprecher, Projektor, usw. Eine besondere Stellung nehmen die Speicher ein. Sie sorgen dafür, dass Informationen für kürzere oder längere Zeit erhalten bleiben und für eine weitere Verarbeitung zur Verfügung stehen. Damit sind sie sowohl unter den Eingabe- wie den Ausgabe-Einheiten anzusiedeln. Es gibt dabei eine Vielzahl unterschiedlicher Typen, die sich aufgrund ihrer Eigenschaften für die unterschiedlichsten Zwecke eignen: Nicht-flüchtige Speicher ROM Memory) EPROM EEPROM behalten ihre Information auch ohne Stromzufuhr Speicher, aus dem nur gelesen werden kann (Read Only ROM, das mit UV-Licht gelöscht und wieder beschrieben werden kann. (Erasable Programmable Read Only Memory) Ein EPROM, das elektrisch gelöscht werden kann Magnetische Speicher Festplatte Diskette Magnetband Die Information steckt im magnetischen Zustand von kleinen Partikeln, die in einer Kunststoffschicht eingebettet sind Optische Speicher CD-ROM Die Information steckt im optischen Verhalten von bestimmten Oberflächen Flüchtige Speicher Stromversorgung RAM verlieren ihre Information beim Abschalten der Speicher mit wahlfreiem Zugriff ( lesen und schreiben) Random Access Memory

4 Datendarstellung Daten können in zwei Weisen dargestellt werden: ANALOG d.h. durch eine physikalische Größe, deren Vorzeichen und Betrag proportional zu (oder zumindest eine eindeutige Funktion) der Größe des darzustellenden Datums ist. Das kann eine elektrische Spannung oder ein mechanischer Druck sein. In disesem Fall arbeitet man einen sogenannten Analogrechner. So ist z.b. jeder Stereo-Verstärker ein solcher Analogrechner, denn dessen Ausgangsspannung ist ein Vielfaches der Eingangsspannung, er multipliziert also... Diese Analogrechner erfreuen sich nach wie vor einiger Beliebtheit, denn sie arbeiten sozusagen in Echtzeit, sind also sehr schnell. Sie haben allerdings den Nachteil. dass am Ausgang zusätzlich zum Nutzsignal auch immer ein Fehlersignal auftritt. Schaltet man also viele solcher Analogrechner-Stufen hintereinander, so verarbeitet jede Stufe stets auch immer die Fehlersignale aller Vorgänger. Das führt dann irgendwann zu reinem Unsinn am Ausgang der letzten Stufe. ( siehe z.b. das Spiel "Stille Post") DIGITAL hier wird das Signal durch eine Zahl repräsentiert. Dadurch kann die Genauigkeit beliebig hoch angesetzt werden, allerdings nimmt die Berechnung immer einige Zeit in Anspruch, da man nur stellenweise oder mit begrenzter Genauigkeit vorgehen kann. Das ist wie beim schriftlichen Rechnen: Man kann mit beliebig vielen Stellen rechnen, nur dauert es dann ein wenig länger. Wird so gearbeitet, dann liegt ein DIGITALRECHNER vor. Das ist heute überwiegend der Fall. Alle Daten liegen im Rechner vor in der Form, dass bestimmte Leitungen entweder eine hohe Spannung odereine niedrige Spannung aufweisen. Es gibt also 2 Zustände, in denen sich eine Leitung befinden kann. Deshalb bietet sich an, als Zahlensystem eines zu verwenden, das nur zwei Zahlzeichen kennt, die diesen beiden Spannungszuständen entsprechen: das Binärsystem. Eine Stelle repräsentiert dort zugleich die kleinste Informationseinheit, das "Bit", das je nach Interpretation verschiedene Bedeutungen haben kann: Bedeutung: Bit gesetzt 5V 1 wahr hell ein Bit gelöscht 0V 0 falsch dunkel aus Im Rechner werden diese beiden Zustände durch Spannungspegel repräsentiert. Das sind vorzugsweise Bit gesetzt: möglichst 5V (genauer: 2,4 bis 5 V ) Bit gelöscht möglichst 0V (genauer: 0 bis 1,2 V ) Bei einer Anordnung von n Bit gibt es somit 2 n Möglichkeiten, die man durchnummerieren und ihnen so Zahlenwerte zuweisen kann. (siehe nächster Abschnitt) Da aber alle Daten physikalisch auf dieselbe Art also durch dieselben Spannungspegel dargestellt werden, gehören immer zwei Dinge zusammen: Spannungen auf den Leitungen Interpretationsvorschrift Das ist genauso wie in unserem Körper: Es gibt dort stets gleiche Impulse auf den Nerven, aber erst durch ihre Verarbeitung an der richtigen Stelle im Gehirn wird entschieden, ob es sich bei diesen Reizen um einen Schmerz am Fuß, ein Bild im Auge oder das Hungergefühl im Bauch handelt. Würde man also die Nerven verkehrt herum anschließen, dann würde man z.b. mit den Augen hören und mit dem Tastsinn schmecken.

5 Zahlensysteme Zahlensysteme sind vielfach Stellwertsysteme. Das sind solche, bei denen ein Zahlzeichen eine andere Wertigkeit hat, je nachdem, an welcher Stelle es steht. Diese Systeme macht man sich am besten klar, indem man mit ihnen zählt. Nehmen wir mal an, jemand - wie Donald Duck - habe nur drei Finger an jeder Hand, dann würde er mit zwei Händen folgendermaßen zählen: ( Ich habe immer die entsprechende dezimale Schreibweise danebengeschrieben: linke Hand rechte Hand Dezimalzahl I I I I I I - I I I I I I 7 nun ist der Zeichenvorrat der rechten Hand erschöpft und sie beginnt darum von vorn und die linke Hand zählt dafür um ein Zeichen weiter. - - I I - - I I - I I - I I I I I I - I I I I I I I I 15 wieder ist der Zeichenvorrat der rechten Hand erschöpft und sie beginnt darum von vorn und die linke Hand zählt dafür um ein Zeichen weiter. - I I I 17 Bedeutung (Wertigkeit ) der Hände: 8er 1er Es handelt sich hier um ein 8er-System ( Oktal), denn es gibt für eine Stelle ( eine Hand) 2 3 = 8 unterschiedliche Zeichen ( Fingerhaltungen), somit also für 2 Hände 8² = 64 verschiedene Möglichkeiten. Damit kann man also mit solchen zwei Händen von 0 bis 63 zählen. Will man weiter zählen, benötigt man einfach mehr Hände. Tun sich also Donald und seine drei Neffen zusammen, so repräsentieren sie eine 8-stellige Zahl und können im Familienverband von 0 bis (8 8-1 = ) zählen. Mechanisch könnte man sich das vorstellen wie eine Anordnung von zwei oder mehr Scheiben mit den Zahlen 0 bis 7 darauf, wobei die jeweils die linke (also höherwertige) Scheibe sich um eine Position weiterdreht, wenn die jeweils rechte (also niederwertige) Scheibe von 7 auf 0 springt. Für unser bekanntes 10er-System haben wir Zähler, die so arbeiten z.b. in jedem Auto als Kilometer- Zähler. Dort sind die Stellen eben als Walzen mit 10 Zahlsymbolen darauf dargestellt. Je nach Bauart des Zähl- oder Rechenwerkes gibt es nun dafür besonders geeignete Zahlensysteme. Wir Menschen haben das Zehnersystem, wohl weil wir 10 Finger haben. Spinnen würden wohl wegen ihrer Beine im 8er-System rechnen, Fliegen im 6er-System, und die Computer tun dies wegen ihrer Arbeitsgrundlage (Strom ein / Strom aus ) im 2er-System (Binärsystem). Allgemein gilt: Gibt es n unterschiedliche Zahlzeichen und habe ich eine Zahl mit s Stellen, so beschreibt diese s-stellige Zahl maximal n s verschiedene Möglichkeiten und man kann von 0 bis n s -1 zählen. Jede Stelle hat folgende Wertigkeit:

6 Basis Zahlzeichen nte Stelle Stelle... 3te Stelle 2te Stelle 1te Stelle 0te Stelle b b n b 3 b 2 b 1 b n 2 3 = = = = n A- B-C-D-E-F 16 n 10 3 = = = = = = = = 1 Hat man also einen Binärzahl mit 16 Stellen, so kann man damit 2 16 also von 0 bis zählen. = Möglichkeiten bezeichnen, Hier zwei Beispiele zum Nachrechnen: Basis Name Binär Oktal Dezimal Hexadezimal 1. Wert F 2. Wert E In der Computerei sind noch folgende Zusammenfassungen zu größeren Verbänden üblich: 1 Bit = 1 Binärstelle. Kleinste Informationseinheit mit zwei Werten: 0 und 1 1 Nibble = 4 Bit Werte 0 bis 15 1 Byte = 8 BitWerte 0 bis k = 2 10 Bit Werte von 0 bis M = 2 20 Bit Werte von 0 bis G = 2 30 Bit Werte von 0 bis Die Anfänge in der Computerei wurden mit 4-bit-Einheiten gemacht, weil das ausreicht, um die Zahlen von 0 bis 9 darzustellen (und der erste Mikroprozessor der Welt für Registrierkassen entworfen wurde). In der Folge wurden diese Bit-Zahlen jeweils verdoppelt, und so arbeitet ein heutiger PC mit 32 Bit breiten Zahldarstellungen. Nachfolgend ist in einer Tabelle der Zusammenhang zwischen der Binärdarstellung, der Hex- und der Dezimalschreibweise von Zahlen wiedergegeben: Dezimal- Binärdarstellung Hex.- Darstellg. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Darstellg A B C

7 D E F und so weiter F C F D F E F F Man beachte, dass man die Umwandlung in das Hex-System leicht vornehmen kann, wenn man das obere und das untere Nibble der Binärdarstellung einzeln betrachtet und jeweils für sich in die Hex-Zahl wandelt, indem man einfach das Vorhandensein der Bits mit wichtet. Hier sollte man noch die Eselsbrücken "C" wie "Zwölf", "D" wie "Dreizehn" und "F" wie "Fünfzehn" im Kopfe haben. Umrechnung von Stellenwertsystemen Die Umrechnung von einer Darstellungsart in die andere über das uns vertraute Dezimalsystem nimmt man am besten folgendermaßen vor: Soll in das Dezimalsystem umgerechnet werden, dann addiert man die vorhandenen Stellen, die man mit ihrer Wertigkeit wichtet. Also z.b.: Binär bedeutet ja 1 mal mal mal mal mal mal 1 = 53 Die umgekehrte Rechnung ist jedoch nicht so einfach, deshalb hier folgender Weg: Man dividiert die umzuwandelnde Zahl sukzessive durch die Basis des gewünschten Stellenwertsystems. Dann ergeben die Divisionsreste die gewünschte Darstellung. Für das obige Beispiel der Umwandlung von 53 dez in das 2er-System: 53 : 2 = 26 Rest 1 26 : 2 = 13 Rest 0 13 : 2 = 6 Rest 1 6 : 2 = 3 Rest 0 3 : 2 = 1 Rest 1 1 : 2 = 0 Rest 1 Dann liefern die Divisionsreste von hinten gelesen die gewünschte Zahl: Weitere binäre Codes Die oben verwendete Codierung mit den zwei Symbolen 0 und 1 auf der Basis der Werigkeit der Potenzen von 2, also ist aber durchaus nicht die einzige Möglichkeit. Sie hat nämlich folgenden Nachteil: Will man eine solche Zahl automatisch ablesen, indem man Felder schwärzt und andere weiß läßt und somit die Bits durch Foto-Sensoren erfassen, dann ergibt sich eine schwierige Situation. Beim Hochzählen ändert sich nicht immer nur ein Feld, sondern manchmal ganz viele ( z.b. beim Wechsel von 7 auf 8 oder von 15 auf 16 ). Da es nun immer kleine Ungenauigkeiten bei der Justierung der Sensoren gibt, nehmen sie nicht alle diese Wechsel gleichzeitig vor, sondern mache früher und andere später. Also werden dann ganz wirre Zahlen angezeigt, bis sich die Situation wieder stabil eingestellt hat, weil alle Sensoren nun das ihnen zugeordnete Feld vollständig erfaßt haben.

8 Um solche Situationen auszuschließen, wurden spezielle Codes entwickelt, z.b. der Gray-Code, die sich von Zahl zu Zahl nur in einem Bit unterscheiden. Daneben gibt es noch weitere Anforderungen, die alle durch spezielle Codes abgedeckt wurden. BCD-Dode Gray-Code Wertigkeit ASCII-Code Damit man auch Buchstaben darstellen und übertragen konnte, hat man sich ursprünglich mit einer Kodierung aus Löchern in einem Papierstreifen beholfen. Da es sich dabei um ein Binärsystem (2 Zustände: Loch / kein Loch) handelt, brauchte man für die 26 Buchstaben des Alphabets also mindestens 2 5 = 32 Zustaände, also einen Streifen mit 5 Löchern nebeneinander. Dieses System war lange in der Telegraphie verbreitet. Später wurde dann ein Code mit 7 Löchern genormt, der damit 128 Zeichen darstellen konnte. Das reichte für die einfache Verständigung mit Groß- und Kleinbuchstaben, Zahlzeichen, Satzzeichen und Steuerzeichen für den Drucker aus. und wurde als ASCII-Code festgelegt und von den Computerleuten übernommen. Sie konnten so nämlich ganz normale Fernschreiber als Ausgabegeräte verwenden. Da man in der Computerei aber damals mit 8 Bit arbeitete, ist das eine Bit, das höchstwertige, nicht festgelegt. Bei den mit 8 Bit darstellbaren Zahlen von Null bis 255 sind also nur die von 0 bis 127 durch den ASCII-Code mit Schriftzeichen belegt, die obere Hälfte aber ist frei. Sie ist nun von allen Herstellern munter nach ihrem Geschmack mit Zeichen belegt worden, was zu einem netten Chaos geführt hat, das leider noch anhält. (DOS-Programme arbeiten mit dem ASCII-Code, Windows-Programme mit dem ANSI-Code so dass man DOS-Texte unter Windows teilweise verstümmelt liest und umgekehrt.) Inzwischen gibt es einen neuen Normvorschlag, der sich auf 16 Bit stützt. Damit sind dann alle Schriftzeichen der Welt darstellbar und das Durcheinander wäre vorbei. Allerdings ist der Umstellungsaufwand riesig und diese Norm ist bisher nur sehr selten realisiert worden. Im Speicher eines Rechners sind also eine Menge von Bits gespeichert. Ordnet man sie in Gruppen von je 8 Bit, also in Bytes, an, so kann man einer solchen Gruppe eine Zahl zwischen 0 und 255 zuordnen und mit Hilfe der ASCII-Tabelle dieser Zahl wiederum einem Buchstaben oder Bildzeichen. Man sieht also,

9 dass erst die Kombination aus einer Bitfolge und einer Interpretationsvorschrift zusammen die sinnvolle Information ergibt. Tastaturcode Der oben beschriebene ASCII-Code ist nicht zu verwechseln mit dem Tastatur-Code. Der Ablauf beim Drücken einer Taste auf der Tastatur sieht etwa folgendermaßen aus: a) Die Tasten werden von einem eigenen Prozessor in der Tastatur ständig der Reihe nach abgefragt. Wird nun eine als gedrückt erkannt, so wird die Nummer dieser Taste vom Tastatur- Prozessor an den Rechner übermittelt. b) Der Rechner ordnet dieser Tastatur-Nummer eine Zeichen-Zahl zu und verarbeitet diese so, wie es gewünscht wird. c) Diese Zahl wird an die eingestellte Zeichensatz-Tabelle übermittelt und dort in eine Anordnung von Punkten umgesetzt. d) Dieses Punktmuster wird von einem Grafik-Prozessesor zeilenweise an den Monitor übergeben. e) Der Monitor schreibt von links oben nach rechts unten mittels eines Elektronenstrahls Helligkeits- und Farbwerte auf den Bildschirm. Man sieht also, dass eine mehrfache Umkodierung stattfindet, die der Übereinstimmung vieler Normierungen bedarf. Insbesondere muß zwischen einem Zeichen und einem Zahlenwert deutlich unterschieden werden: Die Zahl 1 hat mit dem Zeichen 1, das auf dem Schirm oder dem Papier erscheint erstmal nichts zu tun.

10 Elemente eines Computers Wir unterteilen dieses Kapitel in mehrere Abschnitte, deren Verständnis aufeinander aufbaut. Deshalb beginnen wir mit dem Kommunikationssystem, dem Bus (der nichts mit dem Fahrzeug zu tun hat). Das Bussystem Will man es mehreren Partnern ermöglichen, miteinander zu kommunizieren, so muß es zwischen ihnen eine Art von Sprachkanal oder Verbindung geben Nach diesem Prinzip gilt die Formel, daß es bei n Teilnehmern n*(n-1)/2 Verbindungen geben muß. Das ist dieselbe Fragestellung, wieviele Händedrücke bei der Begrüßung aller Leute auf einer Party mit n Gästen ausgetauscht werden. Diese Zahl wächst quadratisch mit n und nimmt ziemlich schnell hohe Werte an. Will man also z.b. 100 Baugruppen miteinander kommunizieren lassen, so sind dafür 4450 Leitungen erforderlich. In einem PC sähe die Sachen noch viel chaotischer aus, denn wenn man alleine die Speicherzellen so verdrahten wollte, dann wären es z.b bei 64 MB Speicher 2,048*1043 Leitungen. Das wäre selbst bei Drähten, die so dünn wie ein Haar wären, mehr Kupfer als die gesamte Erde hätte, wenn sie nur aus Kupfer bestünde. Ein solches Konzept der Punkt-zu-Punkt-Verbindung ist also unsinnig und man muß sich etwas anderes ausdenken. Logischerweise muß es also so sein,daß die Verbindungsleitungen mehrfach verwendet werden und im Extremfall nimmt man eine Leitung, die von allen verwendet wird. Das ist das System des Sprachrohrs auf alten Schiffen: Damit ergeben sich einige Probleme, die mit einer Übereinkunft - einem Protokoll - gelöst werden müssen. Sie lauten für das Sprachrohr im Schiff etwa Wie beginnt eine Kommunikation und wie endet sie? o o einf losbrüllen, der Lauteste siegt nie aufhören zu reden, damit andere nicht drankommen

11 o am Ende einfach weggehen Was tun, wenn die Leitung besetzt ist? o o o losbrüllen warten, warten, warten kurz warten, dann brüllen Wie spricht man gezielt seinen Partner an? o o o o immer allen etwas sagen, der Richtige ist dann dabei den Adressaten aufrufen, sich zu melden alle Falschen hören weg, bis die beiden ferig sind. weghören geht nicht. Was ist, wenn mehrere Partner sprechen wollen? o o der zuerst kommt spricht zuerst - solnage bis er fertig ist. jeder macht in bestimmten Zeitabständen eine Pause. Soll man diese Konflikte diktatorisch, demokratisch oder anarchisch lösen? o o o diktatorisch: Es gibt einen, der bestimmt, was passiert. Alle anderen müssen ihre Wünsche beim Chef anmelden. demokratisch: Es geht der Reihe nach, jeder kommt mal dran (auch bei der Meldung "Feuer!!") anarchisch: Keine Regelung, jeder regelt sich selber (oder auch nicht)

12 Man sieht, dass es eine Vielzahl von Problemen gibt, die sich in der Technik in exakt derselben Weise finden, wie in der zwischenmenschlichen Kommunikation. ( vgl. Watzlawik:"Menschliche Kommunikation"). Und es gibt eine Vielzahl von Lösungen, die sich auch im PC wiederfinden. An dieser Stelle möchte ich nur die Variante besprechen. die sich im Umgang der Peripheriebausteine mit der CPU in einem Computer über ein Bussystem findet. Sie hat die folgende Struktur: CPU Central Processing Unit Adress-Dekoder D-Latch Data Datenquelle / senke - Interrupt Bussystem mit Adress-, Daten- und Kontrollbus Funktionsbeschreibung: Peripherie-Baustein 1 Peripherie-Baustein 2 Alle Peripheriebaugruppen enthalten ja in irgendeiner Form Datenquellen, die Daten liefern, oder Datensenken, die Daten aufnehmen, oder auch beides tun. Sie werden alle in der gezeichneten Form an das Bussystem angeschlossen. Dieses wird ausschließlich von der CPU gesteuert und sie allein nimmt Daten entgegen oder liefert welche. Ein direkter Datenaustausch zwischen einzelnen Baugruppen findet nicht statt, sondern alles läuft über die CPU und unterliegt einer exakten Zeitsteuerung. Die einzelnen Baugruppen haben je einen Adressdekoder. Dieser vergleicht dauernd das auf dem Adressbus liegende Bitmuster mit einem ihm vorgegebenen Muster (z.b. durch Schalter oder feste Drahtbrücken). Stimmen beide Muster überein, so gibt er ein Signal an das D-Latch und aktiviert es. Das D-Latch ist ein Zwischenregister, das die Daten vorübergehend festhält, also eine Art von "Blitzlichtfoto" macht. Wenn seitens der CPU über eine Leitung des Kontrollbusses deutlich gemacht wird, dass diese Daten lesen möchte, so aktiviert das Latch seine Verbindung zum Datenbus und legt seine Daten auf den Bus. Möchte die CPU dagegen Daten ausgeben, so arbeitet das Latch als Empfänger, macht eine Kopie des Bitmusters auf dem Datenbus und hält den Zustand fest, damit die eigene Datensenke sie irgendwann einmal aufnehmen kann. Auf die Weise werden Peripherie und CPU zeitlich entkoppelt. Damit Peripheriebausteine ihre Datenwünsche an die CPU geben können, gibt es außerdem ein Interruptsystem, das solche Anforderungen bearbeitet. Das ist insbesondere für dringende Notfälle von Bedeutung. In einem einfachen System gibt es also beispielsweise folgenden Bus:

13 Ein Bündel aus 16 Drähten, das den Adressbus bildet. Damit sind 2 16 = = 64k verschiedene Baugruppen ansprechbar. Ein Bündel von 8 Drähten, das den Datenbus bildet. Damit können Daten von 8 Bit = 1 Byte Breite ausgetauscht werden ( also je eine Zahl zwischen 0 und 255 oder ein Zeichen des ASCII- Codes) Ein Bündel von 3 Drähten als Kontrollbus. Eine Leitung, die aktiv wird, wenn gelesen werden soll, eine die aktiv wird, wenn geschrieben werden soll, und eine die die Baugruppen aktivieren, wenn irgendeine von ihnen was außer der Reihe will. Damit haben wir einen 8-Bit-Computer mit einem Adressraum von 64k, also z.b. so etwas wie den legendären Commodore C64.

14 Grundsätzlicher Aufbau einer CPU Ich möchte bei der Beschreibung von einem vereinfachten System ausgehen, dessen Elemente sich aber in allen real existierenden CPU's wiederfinden. Damit die Funktion der einzelnen Elemente deutlich wird, werde ich sie in ihrem Zusammenspiel anhand eines Programmablaufs nacheinander einführen und darstellen. Ausgangspunkt aller Überlegungen ist, dass wegen der Ansteuerung des Bussystems alles nacheinander ablaufen muß, also braucht man eine Zeitsteuerung und damit einen Taktgenerator. Außerdem muß es einen definierten Anfang geben, also braucht man weiterhin einen Reset-Eingang. Äußere Beschaltung Sie besteht aus der (hier nicht eingezeichneten) Stromversorgung, einem Taktgenerator und einer Reset- Schaltung. Im einfachsten Fall handelt es sich hier um einen Schalter, der beim Einschalten der Stromversorgung automatisch betätigt wird. Datenbus Taktgenerator Reset Write Read Adressbus Kontrollbus

15 Program-Counter Diese Baugruppe ist ein einfaches Binär-Zählwerk, das mit jedem Ansteuer-Impuls um einen Schritt hochgezählt wird. Sein Ausgang gelangt auf den Adressbus. Dabei ist es so gemacht, dass unmittelbar, nachdem ein Befehl aus dem Speicher geholt wurde, der Program-Counter bereits um einen Schritt hochzählt, also bereits auf die nächste Speicherzelle verweist. Datenbus Taktgenerator Reset Program-Counter Write Read Adresse temp. Adressbus Kontrollbus

16 Befehlsregister Direkt nach einem Reset - also auch nach dem Einschalten des Rechners - befindet sich der Wert Null auf dem Adressbus und die CPU holt aus dem Speicher mittels eines Read-Impulses den Inhalt der Speicherzelle mit der Adresse Null. Dieser Inhalt wird immer als Befehl verstanden und gelangt über den Datenbus in das Befehlsregister. Datenbus Taktgenerator Befehlsregister Reset Program-Counter Write Read Adresse temp. Adressbus Kontrollbus

17 Ablaufsteuerung Der Inhalt des Befehlsregisters wird in der Ablaufsteuerung ( Sequencer ) analysiert und dann werden die dort fest gespeicherten Tätigkeitsschritte für diesen Befehl der Reihe nach abgearbeitet. Datenbus Taktgenerator Reset Befehlsregister Ablauf- Steuerung (Sequencer) Program-Counter Write Read Adresse temp. Adressbus Kontrollbus

18 ALU Die Arithmetic-Logic-Unit (ALU) ist das zentrale Bauteil der CPU. Hier werden alle Berechnungen vorgenommen., indem die Inhalte zwei Eingangsregister ein Ergebnis im Ausgangsregister, dem Accumulator ( Accu ) erzeugen. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Program-Counter Accu Write Read Adresse temp. Adressbus Kontrollbus Die Fähigkeiten der ALU sind aber normalerweise recht beschränkt. Sie beherrscht Bit-Operationen o invertieren o links/rechts schieben o links/rechts rotieren Rechenoperationen o Addtition o negieren (und damit Subtraktion) Vergleichsopationen

19 Flags Es handelt sich hierbei um Zustandsregister. Es wird jeweils ein Bit gesetzt uder zurückgesetzt in Abhängigkeit vom Zustand des Accus oder einer Rechenoperation. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Flags Sign Carry Zero Program-Counter Accu Register B Write Read Adresse temp. Adressbus Kontrollbus Es gibt mindestens folgende Flags Zero wird gesetzt, wenn der Accu den Wert Null enthält Carry wird gesetzt, wenn bei einer Addition ein Überlauf des Accus auftritt Sign wird gesetzt, wenn im Accu eine Zahl steht, die man als negativ interpretieren kann.

20 Register Für irgendwelche Zwischenergebnisse oder zu merkende Werte gibt es mindestens noch einen weiteren Speicher. Sie werden als Register bezeichnet. Es ist mindestens noch eines erforderlich, um Vergleiche vornehmen zu können, bei denen der Referenzwert in eben diesem Register abgelegt wird. Außerdem wird ein solches Register benötigt, wenn man mehrfache Wiederholungen durchführen möchte. Dabei wird bei jeder Wiederholung der Wert dieses um 1 erniedrigt. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Accu Register B Program-Counter Write Read Adresse temp. Adressbus Kontrollbus

21 Unterprogramme Für häufig zu wiederholende Sequenzen legt man Unterprogramme an. Stackpointer Speicherbereich Jump... Stackbereich Return

22 Stackpointer Das Register, in dem der Inhalt des Stackpointers abgelegt wird ist nun euingezeichnet. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Flags Sign Carry Zero Program-Counter Accu Register B Stack-Pointer Write Read Adresse temp. Adressbus Kontrollbus

23 Indirekte Adressierung Machmal ist es notwendig, nicht einfach die Speicheradressen nacheinander abzuklappern, sondern die Adresse von einer Rechnung abhängig zu machen. Dazu dient ein kleines Addierwerk, das die endgültige Adresse aus dem Program-Counter-Wert und einem Ergebnis des Accus per Addition ermittelt. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Flags Sign Carry Zero Program-Counter Accu Register B Stack-Pointer Write Read Adresse temp. Adressbus Kontrollbus

24 Indizierte Adressierung Hier wird die Adresse von einem Ausgangspunkt in Einerschritten weitergeführt. Das dient z.b. dazu, die einzelnen Buchstaben eines Textes nacheinander zu erreichen. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Flags Sign Carry Zero Program-Counter Accu Register B Stack-Pointer Write Read Index-Register Adresse temp. Adressbus Kontrollbus

25 Interrupt Um auf unvorhergesehene Ereignisse schnell reagieren zu können, gibt es eine Extra-Eingangsleitung der Ablaufsteuereung, den Interrupt. Datenbus Befehlsregister Temp. Operand Taktgenerator Reset Ablauf- Steuerung (Sequencer) Flags Sign Carry Zero Program-Counter Accu Register B Stack-Pointer Write Read Index-Register Adresse temp. Adressbus Kontrollbus

26 Schematischer Gesamtaufbau eines Computers Insgesamt ergibt sich bei der Zusammensetzung aus Bus, Peripherie ( RAM und I/O-Gruppen) und der CPU das folgende Bild. Dabei sei auf ein Deteil hingewiesen: Damit die volle Breite des Adressraumes für das RAM verwendet werden kann, gibt es im Bus ein Steuerleitungspaar - IOREQ und MEMREQ - das einen getrennten Zugriff auf den Speicher- und den I/O- Bereich zulässt. R AM Taktgenerator Reset B efehlsregister Ablauf- S teuerung Flags S ign Zero Carry Accu Temp. B -R egister ALU Accu O perand Datenbus Adreess- Decoder Addr. Inhalt Index-R egister Program-C ounter S tack-pointer C P U Adresse Temp. Adressbus Adreess- Decoder Adreess- Decoder O utput Input M E M R E Q IO R E Q R D W R IR Q Kontrollbus I/O -S ection

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Im Original veränderbare Word-Dateien

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

Mehr

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5 Personal Computer in Betrieb nehmen 1/6 Weltweit setzen die Menschen alltäglich das Zehnersystem für Zählen und Rechnen ein. Die ursprüngliche Orientierung stammt vom Zählen mit unseren 10 Fingern. Für

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Übungen zu C++ Kapitel 1

Ü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

Mehr

1. Übung - Einführung/Rechnerarchitektur

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

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

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

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Ein bisschen Theorie Dezimal, hexadezimal, oktal und binär.

Ein bisschen Theorie Dezimal, hexadezimal, oktal und binär. Seite 1 von 9 Ein bisschen Theorie Dezimal, hexadezimal, oktal und binär. Wenn man als Neuling in die Digitalelektronik einsteigt, wird man am Anfang vielleicht etwas unsicher, da man viele Bezeichnungen

Mehr

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum:

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum: Lehrer: Spahr Marcel SCHULE LAUPEN Lehrgang: NMM Informatik: Der Computer Name: E L E M E N T E D E S C O M P U T E R S Datum: In diesem Kapitel erfährst du die Bedeutung der Begriffe Hardware" und Software"

Mehr

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Facharbeit Informatik. Thema:

Facharbeit Informatik. Thema: Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern Automation und Prozessrechentechnik Sommersemester 20 Prozess I/O Prozessrechner Selbstüberwachung zu und von anderen Rechnern Prozessrechner speziell Prozessrechner auch im Büro D A D A binäre I/O (Kontakte,

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

Mehr

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer? Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren: Daten und ihre Codierung Seite: 1 Zur Universalität der Informatik Gott ist ein Informatiker Die Grundordnung der Welt läßt sich mathematisch formulieren: Naturgesetze, wie wir sie in der Physik, Chemie

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen. . Das Programm- Icon Auf dem Desktop deines Computers siehst du Symbolbildchen (Icons), z.b. das Icon des Programms Rechner : Klicke mit der rechten Maustaste auf das Icon: Du siehst dann folgendes Bild:

Mehr

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Programmierung mit NQC: Kommunikation zwischen zwei RCX Programmierung mit NQC: Kommunikation zwischen zwei RCX Teil : Grundlagen Martin Schmidt 7. Februar 24 Teil : Grundlagen Zahlensysteme : Binärsystem Ziffern: und Bit = binary digit (Binärziffer) Einfach

Mehr

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung 1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen,

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

TEAM GENESYS. Wie arbeitet ein PC? Sein Aufbau und die Verarbeitung von Zahlen. Intel Leibnitz Challenge 08. Aufgabe

TEAM GENESYS. Wie arbeitet ein PC? Sein Aufbau und die Verarbeitung von Zahlen. Intel Leibnitz Challenge 08. Aufgabe TEAM GENESYS Aufgabe Intel Leibnitz Challenge 08 Wie arbeitet ein PC? Sein Aufbau und die Verarbeitung von Zahlen Inhalt INHALT... AUFGABE A: EVA-PRINZIP... 3 A) Beschreibung des EVA-Prinzips... 3 A) Beispiele

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet

Mehr

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Übung -- d001_7-segmentanzeige

Übung -- d001_7-segmentanzeige Übung -- d001_7-segmentanzeige Übersicht: Der Steuerungsablauf für die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer speicherprogrammierbaren Steuerung realisiert werden. Lehrziele:

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Informationsdarstellung im Rechner

Informationsdarstellung im Rechner Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer

Mehr

3 Berechnungen und Variablen

3 Berechnungen und Variablen 3 Berechnungen und Variablen Du hast Python installiert und weißt, wie man die Python-Shell startet. Jetzt kannst Du etwas damit machen. Wir fangen mit ein paar einfachen Berechnungen an und wenden uns

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

Brückenkurs / Computer

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

Mehr

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert Binäre Repräsentation von Information Bits und Bytes Binärzahlen ASCII Ganze Zahlen Rationale Zahlen Gleitkommazahlen Motivation Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Mehr

Handbuch zum Mensurenprogramm

Handbuch zum Mensurenprogramm Handbuch zum Mensurenprogramm Von Reiner Janke March-Buchheim (bei Freiburg) Reiner Janke 1996 Was kann das Programm? Das Programm schreibt Mensurlisten (Weiten-, Längen-, Aufschnittmensuren etc.) von

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Aufbau und Funktionsweise eines Computers

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)

Mehr

DIGITALTECHNIK 02 ZAHLENSYSTEME

DIGITALTECHNIK 02 ZAHLENSYSTEME Seite 1 von 15 DIGITALTECHNIK 02 ZAHLENSYSTEME Inhalt Seite 2 von 15 1 ALLGEMEINES ZU ZAHLENSYSTEMEN... 3 1.1 ZAHLENSYSTEME... 3 1.2 KENNZEICHEN VON ZAHLENSYSTEMEN... 4 1.3 BILDUNGSGESETZE... 4 1.4 STELLENWERTSYSTEM...

Mehr

Zahlensysteme Seite -1- Zahlensysteme

Zahlensysteme Seite -1- Zahlensysteme Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4

Mehr

Zahlensysteme Das 10er-System

Zahlensysteme Das 10er-System Zahlensysteme Übungsblatt für die entfallende Stunde am 22.10.2010. Das 10er-System... 1 Umrechnung in das 10er-System... 2 2er-System... 2 8er-System... 2 16er-System... 3 Umrechnung in andere Zahlensysteme...

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Kurzeinführung in C++

Kurzeinführung in C++ Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber

Mehr

Grundlagen der Informatik 1

Grundlagen der Informatik 1 Grundlagen der Informatik 1 Prof. Dr. J. Schmidt Fakultät für Informatik GDI1 WS 2013/14 Kodierung, Kompression, Verschlüsselung Kodierung Überblick Vorlesung Kapitel 1: Einführung in die Informatik Kapitel

Mehr

Informatik Kl.8. Name: Herr Schlaefendorf frank@schlaefendorf.de. Webseite: http://www.schlaefendorf.de/schule/

Informatik Kl.8. Name: Herr Schlaefendorf frank@schlaefendorf.de. Webseite: http://www.schlaefendorf.de/schule/ Informatik Kl.8 Name: Herr Schlaefendorf frank@schlaefendorf.de Webseite: http://www.schlaefendorf.de/schule/ Arbeitsmaterial: Schreibzeug, Hefter A4 kleinkariert Sitzplan: Fachraumbelehrung: Bewertung

Mehr

Programmieren. Wie entsteht ein Programm

Programmieren. Wie entsteht ein Programm Wie entsteht ein Programm 1/9 1. Schritt: Programmentwurf Der wichtigste Teil beim Erstellen eines Programms ist der Programmentwurf. Dabei wird das vorgegebene Problem analysiert, es wird ermittelt, welche

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Projekt Nr. 15: Einen elektronischen Würfel erstellen Nun wissen Sie, wie Sie Zufallszahlen erzeugen können. Als Nächstes wollen wir diese neuen Kenntnisse gleich in die Tat umsetzen, indem wir einen elektronischen Würfel konstruieren. Projekt Nr. 15: Einen

Mehr

Daten. Wichtige Informatik-Prinzipien. Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit

Daten. Wichtige Informatik-Prinzipien. Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit Daten Informatik-Prinzipien Analoge & digitale Daten Zahlensysteme Zeichen-Codes Datensicherheit Datenschutz www.allgemeinbildung.ch - 2.03.2009 Wichtige Informatik-Prinzipien () Digital-Prinzip Daten

Mehr

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

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Daten verarbeiten. Binärzahlen

Daten verarbeiten. Binärzahlen Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt

Mehr

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute)

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Informatik Mensch Gesellschaft Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Algorithmen-Automat Schritt-für-Schritt-Anleitung zum Lösen mathematischer Probleme kann immer wieder

Mehr

Technische Informatik I

Technische Informatik I Technische Informatik I Vorlesung 2: Zahldarstellung Joachim Schmidt jschmidt@techfak.uni-bielefeld.de Übersicht Geschichte der Zahlen Zahlensysteme Basis / Basis-Umwandlung Zahlsysteme im Computer Binärsystem,

Mehr

Anwenderdokumentation

Anwenderdokumentation Anwenderdokumentation für 01/2002 Frank Feige,CAD-CAM Programmierung, Lessingstraße 12,02727 Neugersdorf Seite 1 Inhaltsverzeichnis Einleitung...3 Systemvoraussetzungen...4 Installation...4 Gliederung

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Repräsentation von Daten Binärcodierung ganzer Zahlen

Repräsentation von Daten Binärcodierung ganzer Zahlen Kapitel 3: Repräsentation von Daten Binärcodierung ganzer Zahlen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Repräsentation von Daten im Computer (dieses und nächstes

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

D A T E N... 1 Daten Micheuz Peter

D A T E N... 1 Daten Micheuz Peter D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Binärsystem Im Original veränderbare Word-Dateien Prinzipien der Datenverarbeitung Wie du weißt, führen wir normalerweise Berechnungen mit dem Dezimalsystem durch. Das Dezimalsystem verwendet die Grundzahl

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der 1. Begriff der Definition seit den 60er Jahren: Wissenschaft von der maschinellen Informationsverarbeitung (engl. Computer Sciences) a) Theoretische mathematisch-logische Grundlagen aller

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 1. Zahlensysteme Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Digitaltechnik

Mehr

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans... Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau

Mehr

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de BSZ für Elektrotechnik Dresden Zahlenformate Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de Gliederung 1 Überblick 2 Grundaufbau der Zahlensysteme 2.1 Dezimalzahlen 2.2 Binärzahlen = Dualzahlen

Mehr

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2 Leseprobe Taschenbuch Mikroprozessortechnik Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-4331- Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-4331-

Mehr

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:

Mehr

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 1.1 analoge Messgeräte Fließt durch einen Leiter, welcher sich in einem Magnetfeld B befindet ein Strom I, so wirkt auf diesen eine

Mehr

Achtung! Speichern nicht vergessen

Achtung! Speichern nicht vergessen PROJEKT Senioren starten am Computer Achtung! Speichern nicht vergessen Begriffe wie Festplatte, Datei, Menüleiste, Dialogfenster, Ordner, Cursor usw. werden in dieser Lektion geklärt. Sie schreiben einen

Mehr

Daten, Dateien, Datenspeicher

Daten, Dateien, Datenspeicher Daten, Dateien, Datenspeicher - Was sind Daten? - Was sind Dateien, Datenträger? - elektrische Datenspeicherung, Beispiele - Speicherung von Farben - elektrische Datenspeicher - RAM-Speicher - USB-Speichersticks,

Mehr

2 Der Schnelleinstieg *

2 Der Schnelleinstieg * 7 2 Der Schnelleinstieg * Eine Programmiersprache können Sie auf verschiedene Art und Weise lernen. Sie können sich zuerst mit den Konzepten befassen und anschließend mit der Praxis oder umgekehrt. Damit

Mehr

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen 3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen

Mehr

ecomat 100 Typ R 360 Ergänzung zur Dokumentation: Systemhandbuch (Stand August 1999)

ecomat 100 Typ R 360 Ergänzung zur Dokumentation: Systemhandbuch (Stand August 1999) Ergänzung zur Dokumentation: Systemhandbuch ecomat 100 Typ R 360 (Stand August 1999) Die nachfolgend beschriebenen Funktionen sind in der Dokumentation des Systemhandbuches ecomat 100 Typ R 360 mit Stand

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Zuschauer beim Berlin-Marathon

Zuschauer beim Berlin-Marathon Zuschauer beim Berlin-Marathon Stefan Hougardy, Stefan Kirchner und Mariano Zelke Jedes Computerprogramm, sei es ein Betriebssystem, eine Textverarbeitung oder ein Computerspiel, ist aus einer Vielzahl

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt Eagle Eye Studios C# Tutorial Part 1 Inhalt Part 1 Einleitung Vorbereitung Das erste Projekt Einleitung Wer sich mit dem Programmieren schon einigermaßen auskennt, kann diesen Abschnitt überspringen. Programmieren,

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 15.11.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Review / Organisatorisches o Probleme bei Foliendownload?

Mehr

Algorithmus, siehe (1)

Algorithmus, siehe (1) Der Computer als elektronische Rechenmaschine entstand in den vierziger Jahren des 20. Jahrhunderts. Die Gedankenwelt der Informatik lässt sich aber bedeutend weiter zurückverfolgen. Mit diesem Kapitel

Mehr

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen.

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen. Programmierung in C++ Seite: 1 Beispielprogramm 1: Programmierung in C++ int main() int hoehe = 3; int grundseite = 5; double flaeche = hoehe*grundseite*0.5; cout

Mehr