Programmiertechnik 1. Ablauf
|
|
- Elmar Klaus Schneider
- vor 8 Jahren
- Abrufe
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 Darstellung von Informationen Informatik Begriff enstand in den 60er Jahren aus dem Begriffen Information und Automatik English: üblicherweise computer science ( informatics
MehrInformatik - 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
MehrGrundbegriffe 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
MehrEinfü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
MehrFHZ. 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:
MehrProgrammiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
MehrOrganisatorisches. 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:
MehrZahlensysteme: 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
MehrEinfü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
MehrGrundbegriffe 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
MehrEin 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,
MehrModulhandbuch 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
MehrAlgorithmus, 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
MehrProgrammieren 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
MehrWintersemester 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)
MehrKann 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
Mehr1. 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
MehrProgrammieren 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:
MehrKontrollstrukturen - 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,
MehrGrundlagen 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
MehrIT-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
MehrEinfü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
Mehr4D 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
MehrProgrammieren 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
MehrKapitelü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
MehrTheoretische 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
MehrProgrammierparadigmen. 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
MehrGrundlagen 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.................................
MehrEinfü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
Mehr1Computergrundlagen = 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
MehrProgrammierkurs 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
MehrLeichte-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
MehrVermeiden 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
MehrDaten, 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:
MehrOPERATIONEN 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:
MehrProf. 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
MehrInstitut 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
MehrComputergruppe 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
MehrAlgorithmik 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
Mehr1. Ü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:
MehrEigene 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
Mehr1 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
MehrKlassenentwurf. 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
MehrZahlensysteme 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...
MehrDaten 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
MehrKapitel 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
MehrInformationsdarstellung 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
Mehr0. 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,
MehrAlgorithmen & 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
Mehr1 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
MehrModellierung 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,
MehrInformationstechnologie (ITE)
Wahlpflichtfachentscheidung Informationstechnologie (ITE) Der Empfehlung der Fachdidaktischen Kommission Informationstechnologie folgend werden die im Unterricht des Wahlpflichtfachs zu vermittelnden Inhalte
MehrEinfü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
MehrProgrammieren 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:
MehrBinä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
Mehr1. 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
MehrSTRG + 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
MehrGliederung. 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
MehrJetSym. 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
Mehr1.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
MehrProgrammiertechnik 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
MehrInformatikgrundlagen (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
MehrErste 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 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
MehrGesetzliche 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,
MehrEinfü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
MehrMä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
MehrLernziele 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
Mehreffektives 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
Mehr1 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
MehrOECD 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
MehrM. 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
MehrAlgorithmen 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
MehrZahlensysteme. 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
MehrDatenträ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
MehrMicrocontroller 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
MehrIm 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
MehrIm 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
MehrComa 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
MehrWoche 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
MehrC++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
MehrBrü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
MehrZwischenablage (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
MehrFacharbeit 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
MehrVirtueller 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,
MehrUniversitä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,
MehrAlgorithmen 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
MehrI.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
MehrGrundlagen 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
MehrGrundbegriffe. 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
MehrGeschichte der Informatik
Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle
MehrKlausurteilnehmer. 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
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrWissenswertes ü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
MehrEinfü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 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
MehrTutorium 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
MehrEntwurf 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