Programmiertechnik 1. Ablauf

Größe: px
Ab Seite anzeigen:

Download "Programmiertechnik 1. Ablauf"

Transkript

1 Programmiertechnik 1 Unit 1: Informa=k ein Überblick Andreas Polze 1 Ablauf Was ist Informa=k? Algorithmenbegriff Technische Informa=k Theore=sche Informa=k Prak=sche Informa=k Angewandte Informa=k Studium am HPI Einordnung der LV Bits, Bytes, Worte, Dateien Informa=on vs. Daten top down vs. borom up 2 1

2 Was ist Informa=k? Abgeleitet von Informa=on, Automa=k, Mathema=k (1960er Jahre) Maschinelle Informa=onsverarbeitung Kyberne=k Elektronische Datenverarbeitung (EDV) Informa=on (Communica=on) Technology (IT, ICT) Informa=k eine Wissenscha_ Computer Science, Computer Engineering, So_ware Engineering Computerwissenscha_en Organisa=onen Gesellscha_ für Informa=k (GI) Associa=on for Compu=ng Machinery (ACM), Turing Award 3 Defini=on der Gesellscha_ für Informa=k Informa=k ist die Wissenscha_ von der systema=schen und automa=sierten Verarbeitung von Informa=on. Sie erforscht grundlegende Verfahrensweisen der Informa=onsverarbeitung und allgemeine Methoden ihrer Anwendung in den verschiedenen Bereichen. Für diese Aufgaben wendet die Informa=k vorwiegend formale und ingenieurmäßig orien=erte Techniken an. 4 2

3 Informa=k: Verschiedene Sichten nach Balzert Posi=on 1: Mathema=sch logische Orien=erung Computer arbeiten nach formalen Prinzipien, Programmierer müssen sich also die Formalismen aneignen und reale Probleme in den Formalismus übertragen. Posi=on 2: Ingenieurwissenscha_liche Orien=erung Informa=ker sollten wie Ingenieure arbeiten, also systema=sche Vorgehensweisen (Planung, Modellierung) auf konkrete prak=sche Probleme anwenden. Posi=on 3: Evolu=onäre Orien=erung Eine exakte Formalisierung des prak=schen Problems ist o_ nicht möglich. Deshalb sind Versuche formalen, geplanten Vorgehens gescheitert. Man muss das akzep=eren und in seiner Arbeit vorhersehen. Posi=on 4: Par=zipa=ve Orien=erung Computer erfüllen bes=mmte Funk=onen innerhalb menschlicher Tä=gkeitsbereiche. Der Informa=ker muss sich also mit dem sozialen Kontext des Arbeitsplatzes, der Arbeitsverteilung usw. beschä_igen. 5 Algorithmenbegriff Rechnen Zahlen Grundrechenarten > trivial? Römische Zahlen bis ins späte MiRelalter Adam Riese, 1524, Rechenbuch, Dezimalsystem (urspr. Indien) ( , Annaberg i. Erzgeb.) Algorithmus mechanisch ausführbares Rechenverfahren Al Chwarizmi ( , Persien), Buch über Algebra Eigenscha_en eines Algorithmus Besteht aus mehreren SchriRen Wiederholungen Endlichkeit?, Komplexität? SchaRendasein in der Mathema=k ( Grundrechenarten ) Grundlage der Informa=k und der programmierten Informa=onsverarbeitung Al-Chwarizmi auf einer sowjetischen Briefmarke anlässlich seines Geburtstags (de.wikipedia.org) 6 3

4 Eigenscha_en von Algorithmen Abstrak=on, Parameter Algorithmus löst Klasse von Problemen Finitheit: Beschreibung hat endlich Länge Algorithmus benö=gt in jedem SchriR nur endlich viel Platz Terminierung Resultat steht nach endlich vielen SchriRen fest Determinismus (determinis=scher Alg.) Zu jedem Zeitpunkt besteht höchstens eine Möglichkeit der Fortsetzung Determiniertheit gleiche Resultate bei gleichen Eingaben Euklid (300 v.chr.) ggt (p, q) (ältester nichrrivialer Alg.) 1) x = p/q, Rest r 2) r == 0 ggt = q Terminierung r!= 0 p = q q = x Bsp: ggt ( 1071, 1029 ) = = 1 * = 24 * = 2 * Zu jedem Algorithmus exis=eren unendlich viele verschiedene äquivalente Algorithmen 7 Teilgebiete der Informa=k Technische Informa=k Prak=sche Informa=k Theore=sche Informa=k Angewandte Informa=k Bindestrich Informa=ken: Bio Informa=k, Geo Informa=k Wirtscha_sinforma=k, medizinische Informa=k Linguis=sche Informa=k 8 4

5 S=chworte zur Informa=k Technische I. Prak/sche I. Theore/sche I. Angewandte I. Elektr. Schaltungen Speicher, Signalübertragung, Schaltnetze, Schaltwerke, Prozessoren Mikroprogrammierung Rechnerarchitektur Rechnernetze Parallelrechner Algorithmen Datenstrukturen Programmiermethoden (strukturierte P., objektorien=erte P.) Programmiersprachen und Compiler Betriebssysteme (DOS, UNIX, Mach, Windows, Linux, Mac OS X) So_waretechnik Mensch Maschine Kommunika=on (HCI) Automatentheorie Theorie der formalen Sprachen Berechenbarkeit Komplexitätstheorie Algorithmenanalyse Theorie der Programmierung Automa=sche Programmsynthese Formale Seman=k Informa=onssysteme Grafik KI Digitale Signalverarbeitung Simula=on und Modellierung Textverarbeitung, Büroautoma=sierung ERP Anwendungen in Wirtscha_, Verwaltung, Medizin, Geisteswiss., Kunst... 9 Technische Informa=k Rechnerarchitektur Konstruk=on von Rechnern Prozessorarchitektur, entwurf Parallelisierung Befehlssatz, Datenformate Rechnerkommunika=on Übertragungsmedien Router, Switches, Firewalls Netzwerkprotokolle Defini=on und Standardisierung Bindeglied zur Elektrotechnik Schaltungstechnik Xilinx_S6 SP601 board (de.wikipedia.org) 10 5

6 Rechenmaschinen Mechanische Rechenmaschinen für Grundrechenarten Schickard ( ) Pascal( ) Leibniz( ) Problem: Fehleranfälligkeit Feinmechanik noch nicht weit genug fortgeschriren Mechanische Bürorechenmaschine Anno 1900 Herman Hollerith ( ), Lochkarte Seine Tabula&ng Machine Company... fusionierte 1911 mit der Compu&ng Scale Corpora&on und der Interna&onal Time Recording Company zur Compu&ng Tabula&ng Recording Corpora&on (CTR) CTR wurde 1924 umbenannt in Vier feste Programme... Nachbau der Rechenmaschine von Schickard (1623) de.wikipedia.org Maschinen nach Hermann Hollerith 1890 Lochkartenleser, Zählwerk, Sortierer, Locher; de.wikipedia.org 11 Programmierbarkeit; Geschichte Computer frei programmierbar erfordert Programmspeicher Programm Algorithmus Prozeß ausgeführtes Programm 1805 Jacquard Webstuhl Steuerung (Programmierung) durch gelochte HolzpläRchen Charles Babbage Mechanische Rechenmaschine Idee: Programme nach Jacquard Prinzip speichern (techn. Mängel) Lochkartenmaschinen setzten sich durch (Sor=eren, Tabellieren, Addieren) Konrad Zuse ( ) 1934 Idee: duales Zahlensystem zum Rechnen nutzen bislang: für jede Rechenstelle 10 mech. Posi=onen (Zahnräder, Zahnstangen) Relaisrechner Z3, Z4 Anfang der 1940er Jahre Programmiersprache: Plankalkül (1945/46) 1944 Aiken, USA Röhrenrechner Mark I, Dezimalsystem, Schaltzeiten von 0,1ms (Relais: 100ms) 1946 Eckert/Mauchly, Univ. of Pennsylvania Elektronenrechner ENIAC Röhren, 1500 Relais (...bugs) Electronic Numerical Integrator And Computer Zuse 12 6

7 Art der Programmspeicherung? Bislang: Zuse Lochstreifen, Eniac SteckbreRer (wie TelefonvermiRlung) John von Neumann ( ), Ungarn, USA Programm im Speicher des Rechners ablegen Rechner haren ohnehin Speicher für Zwischenergebnisse 1949 EDSAC Cambridge University, erster von Neumann Rechner Stand der Kunst 1950: Zweiwer=ge Zustände anstelle zehnwer=ger Daten Elektronik ersetzt Mechanik Programm im Speicher des Rechners Rechnergenera/onen 1 Bis 1960.; Pionierzeit, Elektronenröhren Addi=on: Mikrosekunden Speicher: < 1000 Zahlen Prak=sch keine So_ware 2 Bis 1970.; Transistoren, Ferritkern, Band, Trommel, PlaRenspeicher FORTRAN, Cobol, maschinenunabhängige Betriebssysteme, Stapelbetrieb Instruk=onen/sec 3 Bis 1980.; Teilweise integrierte Schaltkreise (LSI), Time sharing, Terminals, Bildschirme, grafische Datenverarbeitung, Großrechner, Einchip Prozessoren, 8 bit Architektur (Z80) Instruk=onen/sec 4 heu=ge.; Hochintegrierte Schaltungen (VLSI), 16/32/64 bit Architekturen, Mul=Core/ManyCore, Netzwerke, Parallelrechner, TB Speicher > Instruk=onen/sec 5 Op=sche, biologische Systeme, Quantencomputer, hochparallele Systeme 13 Prak=sche Informa=k Programme steuern Rechner So_ware, leicht veränderbar (?) Maschinennahe Programmierung, Assembler Höhere Programmiersprachen, Compiler Abstrakte Datenstrukturen, Algorithmen So_waretechnik Modellierung, Generierung von Programmen Compilerbau, Interpreter, Laufzeitumgebungen infoworld.com Versionierung, Wartung, Refaktorisierung, Lebenszyklus Programmiersprachen Portabilität Impera=v: FORTRAN, ALGOL, Basic, Cobol, Pascal, C, Modula 2, Javascript, Ruby, Python, Perl Objekt Orien=ert: Simula, Smalltalk, Objec=ve C, C++, Eiffel, Java, C# Logisch (deklara=v)/funk=onal: Prolog, Lisp, Scheme, ML 14 7

8 Programmiersprachen aboutprogrammers.org Am häufigsten benutzt: C, Java, C++, Python 15 Theore=sche Informa=k Automatentheorie und formale Sprachen Endliche Automaten, fik=ve Maschinen endliche Menge interner Zustände Eingabewort zeichenweise einlesen, Zustandsübergang bei jedem Zeichen Bei Zustandsübergang Ausgabesymbol ausgeben, Eingabewort akzep=eren Automaten mit Speicher Kellerautomaten, Turingmaschine Church Turing These: alle berechenbaren Funk=onen darstellbar Halteproblem der Turing Maschine nicht entscheidbar Berechenbarkeitstheorie Welche Probleme sind mit Maschinen lösbar? Komplexitätstheorie Ressourcenbedarf von algorithmisch behandelbaren Problemen auf verschiedenen mathema=sch definierten formalen Rechnermodellen Speicherbedarf, Laufzeit, O(1), O(n), O(n 3 ) Turing Maschine 16 8

9 Turing Maschine Bestandteile: unendlich langes Speicherband mit unendlich vielen sequen=ell angeordneten Feldern Jedes Feld speichert genau ein Zeichen Blanksymbol bedeutet leeres Feld Blanksymbol gehört nicht zu der Menge der Eingabezeichen. programmgesteuerter Lese und Schreibkopf, der sich auf dem Speicherband feldweise bewegt und Zeichen verändert Eingabe auf dem Band wird nach Programm modifiziert Startposi=on ist am Anfang des Eingabeworts Man kann bes=mmte Zustände als Endzustände definieren Turingmaschine bleibt dann stehen Arbeitsweise: Lese Schreib Kopf liest aktuelles Zeichen, Turing Maschine überschreibt dieses mit einem anderen (oder dem gleichen) Zeichen bewegt sich dann ein Feld nach links oder rechts oder bleibt stehen. Welches Zeichen geschrieben wird und welche Bewegung ausgeführt wird, wird durch eine zu der Turingmaschine gehörende Funk=on definiert Zu Beginn befindet sich die Turingmaschine in einem vorgegebenen Startzustand und geht bei jedem SchriR in einen neuen Zustand über Turing Maschine hat endlich viele Zustände 17 Beispielprogramm Programm schreibt auf ini=al leeres Band zwei Einsen Funk=on der Turing Maschine ist tabellarisch gegeben (Quelle: RosarioVanTulpe) 18 9

10 Angewandte Informa=k Einsatz von Rechnern im Leben Textverarbeitung, Tabellenkalkula=on , online banking, Web Neue Anwendungsgebiete für neue Werkzeuge Smartphone, Organizer, Pablet PCs Mobile Lagerhaltung, intelligenter Terminkalender SchniRstellen Disziplin (bspw. Wirtscha_sinforma=k) Zu Wirtscha_swissenscha_en, Betriebswirtscha_slehre Abbildung von Geschä_sprozessen Buchhaltung in rela=onalen Datenbanksystemen Enterprise Resource Planning Systemen Informa=on Engineering, Informa=onsmanagement Andreas Polze Unit 1: Informa=k ein Überblick, Programmiertechnik 1 19 Transforming cutting-edge research into innovation! Unternehmen SAP Entwicklung Forschung & Wissenschaft Partner 10

11 IT System Engineering Informa=k am HPI Bachelor of Science (6 Semester) Master of Science (4 Semester) Doktorandenprogramm: Forschungskolleg on Service Oriented Systems Engineering Ver=efungsgebiete Business Process & Enterprise Technologies Human Computer Interac=on & Computer Graphics Technology Internet & Security Technology Opera=ng Systems & Informa=on Systems Technology So_ware Architecture & Modeling Technology 21 Lehre in diesem Semester 22 11

12 Ablauf Programmiertechnik 1 Vorlesung: Di 9:15 10:45, HS 1 Do 11:00 12:30, HS 1 Übung: Zweiwöchentlich, Do 11:00 12:30 Übungsgruppen bilden (2 Mitglieder) Übungsaufgaben 50% der Punkte jeder Aufgabenserie müssen zur Prüfungszulassung erreicht werden (ein AufgabenblaR darf ignoriert werden) Aufgabenabgabesystem: hrps:// potsdam.de/pt1prak/ (Anmeldung mit HPI Nutzerkonto und HPI OpenID Provider) Prüfung: Klausur am Semesterende 23 Kursziele Ziel: Erwerb/Ver=efung der Fer=gkeiten zur Programmentwicklung (Programmierung) Erlernen von Fer=gkeit (nach Wikipedia): nicht nur abhängig von Begabung/Talenten, sondern auch Übung bereits Erlerntem (Kenntnisse, Erfahrungen, Reife, Kompetenz) weiteren inneren Voraussetzungen (Mo=va=on, Wille) Konkrete Ziele: Verinnerlichung von Konzepten der strukturierten Programmierung Begriff des abstrakten Datentyps Umgang mit Programmierwerkzeugen Syntax und Seman=k von C, Prolog und Java 24 12

13 Literatur Brian W. Kernighan, Dennis M. Ritchie The C Programming Language, Pren=ce Hall, 1988 Axel T. Schreiner System Programmierung in UNIX, Band 1, Teubner Verlag StuRgart, Gumm, Sommer Einführung in die Informa=k. Oldenburg Verlag, 2004 Barnes, Michael Kölling Objects First with Java A Prac=cal Introduc=on using BlueJ. Pren=ce Hall, 2004 Broy Informa=k Eine grundlegende Einführung. Band 1, Springer 1998 Balzert Lehrbuch Grundlagen der Informa=k. Elsevier Inhalt der Lehrveranstaltung Unit 1: Informa=k als Fachgebiet Technische Informa=k Theore=sche Informa=k Prak=sche Informa=k Angewandte Informa=k Studium am HPI, Einordnung der LV Bits, Bytes, Worte, Dateien Informa=on vs. Daten top down vs. borom up Unit 2: Rechnerarchitektur Aussagenlogik Schaltnetze, Schaltwerke Register von Neumann Rechner CPU, ALU, CU Instruk=onsverarbeitung OpCode Formate, RTL Instruk=onsarten Ein und Ausgabe 26 13

14 Inhalt der Lehrveranstaltung (contd.) Unit 3: Informa=onsdarstellung Universalität binärer Daten AbtasRheorem ganze Zahlen 1er Komplement, 2er Komplement Gleitkommaformate ASCII, EBCDIC Unicode Unit 4: Programmiersprachen Spezifika=on, Algorithmen, Programme Impera=ve Programmierung: Modula 2, C Objektorien=erte Programmierung: Smalltalk, C++, Objec=ve C, Java Logische & Funk=onale Programmierung: Prolog, Lisp Formale Beschreibung von Programmiersprachen: EBNF Ein erstes Beispiel in C 27 Inhalt der Lehrveranstaltung (contd.) Unit 5: Werkzeuge und Technologien Interpreter, Compiler Technologieprogramme: make Quellcodeverwaltung: sccs, cvs, subversion, git Debugger: gdb Test: Check, CUnit Betriebssysteme Unit 6: Programmiersprache C Integrale Datentypen Operatoren Ausdrücke Typdefini=onen Vorrangregeln 28 14

15 Inhalt der Lehrveranstaltung (contd.) Unit 7: Kontrollfluss Anweisungen und Blöcke if else, else if, switch Schleifen: while and for, do while, break and con=nue goto and labels Unit 8: Funk=onen und Programmstruktur Grundlagen, Prinzip Funk=onsaufruf, Stack call by value, call by ref, call by copy Rückgabewerte externe Variablen, Scope header files und Übersetzungseinheiten Ini=alisierung Rekursion C Präprozessor 29 Inhalt der Lehrveranstaltung (contd.) Unit 9: Zeiger und Felder Heap und Stack Zeiger und Adressen, Zeiger und Funk=onen ( argumente) Zeiger und Arrays, Adreßarithme=k Beispiel: malloc und Algorithmen zur Speicheralloka=on Mehrdimensionale Felder Ini=alisierung von Feldern Kommandzeilenbearbeitung Funk=onszeiger Komplizierte Deklara=onen Unit 10: Strukturen Grundlagen Strukturen und Funk=onen Felder von Strukturen Zeiger auf Strukturen Selbstreferen=elle Strukturen Unions, typedefs, bit fields Objekte 30 15

16 Inhalt der Lehrveranstaltung (contd.) Unit 11: Ein und Ausgabe (libc) Standard Ein und Ausgabe stdio Forma=erte Ausgabe prin Argumentlisten variabler Länge varargs Forma=erte Eingabe scanf Dateizugriff Fehlerbehandlung stderr und exit Zeilenweise Ein und Ausgabe Weitere Funk=onen Unit 12: BetriebssystemschniRstellen file descriptors low level I/O read and write open, creat, close, unlink lseek Standard library 31 Inhalt der Lehrveranstaltung (contd.) Unit 13: Objektorien=erte Programmierung: Java Virtuelle Maschinen Klassen, Objekte, abstrakte Datentypen Vererbung, virtuelle Methoden Pakete, Programmeinheiten Ausnahmebehandlung Unit 14: Logische Programmierung: Prolog (gprolog) Boolesche Logik Closed World Assump=on Fakten, Prädikate Regeln Listen 32 16

17 Informa=on und Daten Trennung zwischen äußerer Darstellung einer Nachricht und dem Inhalt der Nachricht Es regnet «Дождь идёт» Informa=on nennen wir den abstrakten Gehalt ( Bedeutungsinhalt, Seman=k ) eines Dokuments, einer Aussage, Beschreibung, Anweisung, Nachricht oder MiReilung. Die äußere Form der Darstellung nennen wir die Repräsenta=on (konkrete Form der Nachricht). 33 Was tut eigentlich ein Computer? Fülle von Anwendungen (aufzählen) WeRervorhersage Steuerungssysteme Schachspiel Musik, Kinoeffekte Wie macht ein Computer das? Wie wird das Schachspiel bedient? Wie ist das Programm aufgebaut? Wie sind die Informa=onen zum Spielstand gespeichert? (im Hauptspeicher, auf der FestplaRe) Wie sind Nullen und Einsen in Speicherzellen organisiert? Welche elektrischen Signale beeinflussen Transistoren und Widerstände aus denen Prozessor und Speicher aufgebaut sind? Festlegen auf _eine_ Erklärungsebene Null/Eins niedrigste Ebene der Informa=onsverarbeitung Informa=onen == Daten 34 17

18 Darstellung von Informa=onen Viele Formen der Repräsenta=on verabredete Zeichen ( Signale ) gesprochenes Wort ( akus=sche Darstellung ) tak=le Reize, Wärmewahrnehmung Zeichnungen Zeichenfolgen (geschriebenes Wort, Text ) Informa=on Repräsentation Daten Den (häufig nur gedanklichen) Übergang von der Repräsenta=on zur abstrakten Informa=on, die Deutung der Repräsenta=on, nennen wir Interpreta=on. Prozess der Interpreta=on im Gehirn: Verstehen formal schwierig erfassbar deshalb: mathema=sch logische Sicht begnügt sich mit der Abbildung der Repräsenta=on auf mathema=sches Modell Verständnis des Modells muss unabhängig erworben werden Abstraktion 35 Bits kleinstmögliche Einheit der Informa=on Antwort auf Frage, die zwei Möglichkeiten zulässt ja oder nein wahr oder falsch schwarz oder weiß hell oder dunkel links oder rechts Kodierung der Informa=on: Festlegung einer Repräsenta=on (eines Codes) Darstellung von Bits: Binärcode Zwei Zeichen: o_ 0 und 1 (auch: 0 und L) Repräsenta=on im Computer: o_ durch Ladungen 0 = ungeladen, 1 = geladen 0 = 0 Volt, 1 = 5 Volt 0 = unmagne=siert, 1 = magne=siert 36 18

19 Bi olgen Repräsenta=on von mehr als zwei Antworten: mehrere Bits Aus welcher Himmelsrichtung (Ost, Süd, Nord, West) weht der Wind? 1. Weht der Wind aus einer der Richtungen Nord oder Ost (ja/nein)? 2. Weht der Wind aus einer der Richtungen West oder Ost (ja/nein)? 0 0: Süd, 0 1: West, 1 0: Nord, 1 1: Ost Mit jedem Bit verdoppelt sich die Zahl der Antworten 3 Bits: Windrichtung mit Zwischenrichtungen = Süd, = Südwest, = West, = Nordwest, = Nord, = Nordost, = Ost, = Südost Es gibt genau 2 n mögliche Bi olgen der Länge n 37 Hexziffern Lange Bi olgen für den Menschen schwer erfassbar Konven=on: Bi olgen werden zu Vierergruppen zusammengefasst 0000 = = = = = = = = = = = A 1011 = B 1100 = C 1101 = D 1110 = E 1111 = F StaR kann man dann 4F61 schreiben 1AF3 = 6899 : 1 * A * F * * * * *

20 Allgemein: Zahlendarstellung in einem Posi=onssystem Verallgemeinerung des Dezimalsystems Zahlensystem zur Basis N: N Ziffern mit Werten von 0..N 1 Ziffer: Symbol aus einer Symbolmenge Sei a m a m 1 a m 2...a 2 a 1 a 0 eine Ziffernfolge zur Basis N, dann ist die durch die Ziffernfolge dargestellte Zahl: a m N m + a m 1 N m 1 + a m 2 N m a 2 N 2 + a 1 N+ a 0 Problem: Darstellung von Zahlen mit verschiedener Basis in einer Programmiersprache 0xF8 (Hex in C), 21h (Hex in Modula 2), 077 (Oktal in C) Darstellung mit unterem Index = = Übliche Posi=onssysteme Dezimalsystem: Basis 10, Ziffern 0,1,2,3,4,5,6,7,8,9 Binärsystem: Basis 2, Ziffern 0,1 Oktalsystem: Basis 8, Ziffern 0,1,2,3,4,5,6,7 Hexadezimalsystem: Basis 16, Ziffern 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F o_ star Großbuchstaben auch Kleinbuchstaben verwendet 40 20

21 Bytes und Worte Rechner verarbeiten Bits immer in Gruppen: übliche Gruppengröße: 8 Bits, 16 Bits, 32 Bits, 64 Bits heutzutage üblicherweise Vielfache von 8 Byte: Zusammenfassung von 8 Bit exakte Begriffsdefini=on variiert C Standard: Byte == Datenmenge, die in Wert von Typ char gespeichert wird Zur Klarstellung wird auch der Begriff OkteR (octet) verwendet Worte: Natürliche Gruppierung von Bits im Rechner Historisch (16 Bit Rechner): Wort = 2 Byte, Doppelwort = 4 Byte, Quadwort = 8 Byte Begriffsdefini=on stark uneinheitlich; auf einem 32 Bit Rechner meint man o_ mit Wort 4 Byte (Halbwort: 2 Byte) 41 Dateien Folgen von Bytes auf einem Speichermedium (FestplaRe, CD ROM, USB S=ck...) Folge nur im einfachsten (weit verbreitetem) Fall Flexiblere Gruppierung anstelle sequen=eller Folgen möglich (Records, Blöcke, Index sequen=eller Zugriff) Organisa=on von mehreren Dateien in einem Computerüblicherweise durch hierarchische Dateinamen Interpreta=on des Inhalts einer Datei durch Programm oder Nutzer Erkennung der Art der Daten durch Namenskonven=onen (etwa: Dateinamensanhänge) oder Dateiformat (Festlegung spezifischer Bytes etwa am Dateianfang) 42 21

22 Dateigrößen Üblich: Zählung der Bytes in einer Datei ohne Zählung der Bytes in Dateinamen und sons=gen DateiaRributen Abkürzung B für Bytes: 245B Große Zahlen (z.b.: B) schlecht handhabbar Lösungsidee: metrisches System (kb = 1000B, MB = B) Aber: Speicher ist o_ in Zweierpotenzen organisiert Sektorgröße auf FestplaRen: 512B Größe eines modernen Speichermoduls: B 43 Dateigrößen (contd.) Lösung: 2 10 = = 10 3 Einheitenpräfixe ähnlich dem metrischen System 2 10 = 1024 = k = kilo (ki = kibi) 2 20 = 1024 * 1024 = M = mega (Mi = Mebi) 2 30 = 1024 * 1024 * 1024 = G = giga (Gi = Gibi) 2 40 = 1024 * 1024 * 1024 * 1024 = T = tera (Ti = Tebi) 2 50 = 1024 * 1024 * 1024 * 1024 * 1024 = P = peta (Pi = Pebi) 2 60 = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 = E = Exa (Ei = Exbi) Die mathema=sch falsche Verwendung ist nach wie vor üblich kb als wird Kilobyte ausgesprochen und als 1024 Byte verstanden Wird manchmal auch metrisch rich=g verwendet (etwa bei FestplaRengrößen: 1GB dann 10 9 B) Die IEC (Interna=onal Electrotechnical Commission) schlug 1996 vor, die zweierpotenz basierten Größenordnungen mit einem i zu kennzeichnen Verwendung: kib (Kibibyte), MiB (Mebibyte), GiB (Gibibyte) (Addendum zu IEC ) 44 22

23 Gängige Größenordnungen Anhaltspunkte für das Speichern von Daten auf Geräten: 200 B Textno=z 4 kb dafür benö=gter FestplaRenplatz 100 kb forma=erter Brief, Excel Datei, pdf Dokument 1,4 MB Kapazität einer DiskeRe 4 MB Musik=tel im mp3 Format, Windows Programm 40 MB Musik=tel im wav Format 700 MB CD ROM Kapazität 4 GB Hauptspeicher im PC, DVD 16 GB USB S=ck, SD Karte 25 GB Blu ray Disc (dual layer: 50 GB) 2 TB aktuelle FestplaRe Komprimierung?, Codierung? 45 Ausblick Darstellung spezieller Informa=onen Zahlen Text Programme Bilder und Musik 46 23

24 Top down vs. BoRom up Top down: Entwurf beginnt mit abstrahierten Objekten, die dann konkre=siert werden Spezifika=on, Modell, abstrakte Beschreibung SchriRweise Verfeinerung Codierung, Test Versus BoRom up: Es wird von Detail Aufgaben ausgegangen, die zur Erledigung übergeordneter Prozesse benö=gt werden Proof of concept SchriRweise Verallgemeinerung Risiko des Scheiterns 47 Zusammenfassung Was ist Informa=k? Algorithmenbegriff Technische Informa=k Theore=sche Informa=k Prak=sche Informa=k Angewandte Informa=k Studium am HPI Fokus So_waretechnik Einordnung der Lehrveranstaltung Informa=onsverarbeitung Bits, Bytes, Worte, Dateien Informa=on vs. Daten Top down vs. borom up 48 24

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Darstellung von Informationen Informatik Begriff enstand in den 60er Jahren aus dem Begriffen Information und Automatik English: üblicherweise computer science ( informatics

Mehr

Informatik - Lehrgang 2000/2001 GRUNDLAGEN

Informatik - Lehrgang 2000/2001 GRUNDLAGEN Informatik - Lehrgang 2000/2001 GRUNDLAGEN Ein Überblick! Das Werden der Informatik! Daten! Technische Informatik Der von Neumann Computer Versuch einer Entmystifizierung 2 Grundlagen Micheuz Peter Das

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/20 Überblick Speicher Bit und Byte Speicher als Tabellen

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Geschichte und Einteilung der Informatik 01101101 01011001 11010011 10011000 00000011 00011100 01111111 11111111 00110100 00101110 11101110 01110010 10011101 00111010 2 Der

Mehr

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Geschichte Folie 1 Lernziele Sie kennen die wichtigsten Punkte in der Geschichte des Computers Sie sind mit einigen Begriffen vertraut Folie 2 Seite 1 Computer als elektronische Rechenmaschine:

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008 Dozent: Prof. Dr. Rainer Schrader Informatik II Informationen und Daten Rainer Schrader Zentrum für Angewandte Informatik Köln 13. Oktober 2008 Tel.: 470-6030 email: schrader@zpr.uni-koeln.de Sprechstunde:

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

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

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Kenntnisse im Programmieren für das World Wide Web mit der Programmiersprache JAVA werden vermittelt, ebenso das Erstellen von

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

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

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München Informatik 1 Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München 1 0 Allgemeines Zielgruppen Siehe Modulbeschreibung Studierende anderer (nicht Informatik)

Mehr

Kann ein Computer denken?

Kann ein Computer denken? Kann ein Computer denken? Fachbereich Betriebswirtschaft FH www.fh-koblenz.de/bw/komus www.komus.de www.fh-koblenz.de/bw/komus www.fh-koblenz.de/bw/komus 2 www.fh-koblenz.de/bw/komus 3 www.fh-koblenz.de/bw/komus

Mehr

1. Stellenwerte im Dualsystem

1. Stellenwerte im Dualsystem 1. a) Definitionen Stellenwertsystem Ein Zahlensystem bei dem der Wert einer Ziffer innerhalb einer Ziffernfolge von ihrer Stelle abhängt, wird Stellenwertsystem genannt. Die Stellenwerte sind also ganzzahlige

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Dienstags 10:00-12:00 Uhr Donnerstags 10:00-12:00 Uhr Gebäude 101 HS

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

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

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard Cyrill Stachniss 0.1 Vorlesung Zeit und Ort: Mo 16.00 18.00 Uhr Gebäude 101, HS 00-026 Informationen

Mehr

1Computergrundlagen = 1*16 + 0*8 + 1*4 + 1*2 + 0*1

1Computergrundlagen = 1*16 + 0*8 + 1*4 + 1*2 + 0*1 Kapitel 1 1Computergrundlagen Zusammenfassung des Stoffes In diesem Kapitel haben Sie die Komponenten eines Computers und die Rolle von Computern in Netzwerken kennen gelernt. Wir stellten insbesondere

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

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

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr. Institut für Telematik Universität zu Lübeck Programmieren Kapitel 0: Organisatorisches Wintersemester 2008/2009 Prof. Dr. Christian Werner 1-2 Überblick Ziele Inhaltsüberblick Ablauf der Veranstaltung

Mehr

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler Computergruppe Heimerdingen Basiskurs Karlheinz Wanja & Richard Zeitler Dateiverwaltung (im Haushalt) 2 Dateiverwaltung (im Computer) Speichermedien 1.) Festplatte 2.) Externe Medien Externe Festplatte

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

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

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

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Kapitel 3. Codierung von Text (ASCII-Code, Unicode) Kapitel 3 Codierung von Text (ASCII-Code, Unicode) 1 Kapitel 3 Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 2 1. Einleitung Ein digitaler Rechner muss jede Information als eine Folge von 0

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

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

1 Einführung. 1.1 Was ist Informatik? 1.1.1 Technische Informatik

1 Einführung. 1.1 Was ist Informatik? 1.1.1 Technische Informatik 1 Einführung In diesem Kapitel werden wir wichtige Themen der Informatik in einer ersten Übersicht darstellen. Zunächst beschäftigen wir uns mit dem Begriff Informatik, dann mit fundamentalen Grundbegriffen

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

Informationstechnologie (ITE)

Informationstechnologie (ITE) Wahlpflichtfachentscheidung Informationstechnologie (ITE) Der Empfehlung der Fachdidaktischen Kommission Informationstechnologie folgend werden die im Unterricht des Wahlpflichtfachs zu vermittelnden Inhalte

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

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

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

STRG + A = STRG + C = STRG + X = STRG + V = STRG + Alt + Entf = STRG + S =

STRG + A = STRG + C = STRG + X = STRG + V = STRG + Alt + Entf = STRG + S = Wie heißen die Leisten? Was bedeuten die Tastenkombinationen mit STRG? STRG + A STRG + C STRG + X STRG + V STRG + Alt + Entf STRG + S STRG + A = STRG + C = STRG + X = STRG + V = STRG + Alt + Entf = STRG

Mehr

Gliederung. Was ist der Unicode? Warum gibt es den Unicode? Wie funktioniert er? Wo ist mein Schriftzeichen? Kritische Stimmen

Gliederung. Was ist der Unicode? Warum gibt es den Unicode? Wie funktioniert er? Wo ist mein Schriftzeichen? Kritische Stimmen Unicode Gliederung Was ist der Unicode? Warum gibt es den Unicode? Wie funktioniert er? Wo ist mein Schriftzeichen? Kritische Stimmen Was ist der Unicode? ein Datensatz von Schriftzeichen wie viele andere

Mehr

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success.

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success. JetSym Programmierung in Hochsprache ST nach IEC-61131-3 We automate your success. JetSym das Tool JetSym ist das zentrale Programmiertool der Jetter AG, das alle Funktionen der Automatisierungstechnik

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Programmiertechnik 1. Unit 1: Informatik ein Überblick. Andreas Polze 1

Programmiertechnik 1. Unit 1: Informatik ein Überblick. Andreas Polze 1 Programmiertechnik 1 Unit 1: Informatik ein Überblick Andreas Polze 1 Ablauf Was ist Informatik? Algorithmenbegriff Technische Informatik Theoretische Informatik Praktische Informatik Angewandte Informatik

Mehr

Informatikgrundlagen (WS 2015/2016)

Informatikgrundlagen (WS 2015/2016) Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes Erste Schritte Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Das Arduino-Board Ihr Fundino-Board Anschluss über USB Anschluss über USB Programmierumgebung Download

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

Gesetzliche Aufbewahrungspflicht für E-Mails

Gesetzliche Aufbewahrungspflicht für E-Mails Gesetzliche Aufbewahrungspflicht für E-Mails sind Sie vorbereitet? Vortragsveranstaltung TOP AKTUELL Meins und Vogel GmbH, Plochingen Dipl.-Inf. Klaus Meins Dipl.-Inf. Oliver Vogel Meins & Vogel GmbH,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität Carolo Wilhelmina zu Brauschweig Institut für rechnergestützte Modellierung im Bauingenierwesen Prof. Dr.-Ing. habil. Manfred Krafczyk Pockelsstraße 3, 38106 Braunschweig http://www.irmb.tu-bs.de

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren Programmierpraktika Einführung in das Programmieren und Weiterführendes Programmieren Prof. H.G. Matthies, Dr. R. Niekamp, Dr. E. Zander 16.4.2014 Programmierpraktika 16.4.2014 1/15 Lernziele und Voraussetzungen

Mehr

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben) effektive Verfahren Ein Verfahren ist effektiv, wenn es für jeden Fall, der in einem zuvor abgegrenzten Bereich von eindeutigen Unterscheidungen auftreten kann, eine eindeutige und ausführbare Handlungsanweisung

Mehr

1 Einführung. 1.1 Was ist Informatik? 1.1.1 Technische Informatik

1 Einführung. 1.1 Was ist Informatik? 1.1.1 Technische Informatik 1 Einführung In diesem Kapitel werden wir wichtige Themen der Informatik in einer ersten Übersicht darstellen. Zunächst beschäftigen wir uns mit dem Begriff Informatik, dann mit fundamentalen Grundbegriffen

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik

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

Datenträger. Rudolf Schleinzer IKT (Informations- und Kommunikationstechnologie) Skriptum: Datenträger 1.1.2016

Datenträger. Rudolf Schleinzer IKT (Informations- und Kommunikationstechnologie) Skriptum: Datenträger 1.1.2016 2016 Datenträger IKT (Informations- und Kommunikationstechnologie) Skriptum: Datenträger 1.1.2016 Inhalt Datenträger... 2 Interne Festplatte... 2 Externe Festplatten... 2 USB-Stick... 3 SD Cards... 3 Optische

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

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

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

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

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Woche 1: Was ist NLP? Die Geschichte des NLP.

Woche 1: Was ist NLP? Die Geschichte des NLP. Woche 1: Was ist NLP? Die Geschichte des NLP. Liebe(r) Kursteilnehmer(in)! Im ersten Theorieteil der heutigen Woche beschäftigen wir uns mit der Entstehungsgeschichte des NLP. Zuerst aber eine Frage: Wissen

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 22 September 2014 1 / 24 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte des Computers 4 Komponenten eines Computers 5 Aufbau eines

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

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

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B. Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Grundbegriffe. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 17. Oktober 2017

Grundbegriffe. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 17. Oktober 2017 Informatik 1 für Nebenfachstudierende Grundmodul Grundbegriffe Kai-Steffen Hielscher Folienversion: 17. Oktober 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 1 - Einführung

Mehr

Geschichte der Informatik

Geschichte 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

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Wissenswertes über binäre Felder

Wissenswertes über binäre Felder Wissenswertes über binäre Felder Inhaltsverzeichnis Genauigkeit des PC-Taschenrechners 2 Genauigkeit des PC-Taschenrechners ab Windows 7 2 Ausgangspunkt 3 Binäres Feld ohne Vorzeichen-Definition 3 Binäres

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr