Einführung Informatik LST 2012
Bescheibung
Bescheibung
-
- 1 / 61
-
Flashcards
Definiere Informatik
Informatik ist die Wissenschaft der maschinellen Informationsverarbeitung (engl. Computer Science)
Definiere Information
Informationen sind abstrahierte Daten. Verknüpfte Informationen bilden Wissen
Definiere Daten
Daten repräsentieren Sacheverhalte. Abstrahierte Daten bilden Informationen
Definiere Wissen
Wissen repräsentiert Informationen
Sachverhalte bilden Daten ab.
Wofür steht die Abkrzung ASCII
American Standard Code for Information Interchange
Was ist ASCII
ASCII ist eine Zeichencodierung, die seit den 60er- Jahren verwendet wird. Die ASCII Codierung umfasst 128 Zeichen, davon sind 95 darstellbar. Die übrigen dienen als Steuerzeichen.
Theoretische Informatik
Grundlage für die weiteren Teilgebiete: Komplexität, Algorithmen, Automaten, Sprachen.
Praktische Informatik
Entwicklung von Software (Compiler, Datenbanken, Betriebssysteme).
Technische Informatik
Hardwaremässige Grundlagen von Rechen- und Kommunikationssystemen (Elektronik, Mikroprozessoren)
Angewandte Informatik
Entwicklung von Softwaresystemen für eine bestimmte Anwendungs- domäne (Medizin-, Physik, Elektrotechnik, Betriebswirtschaft, Biologie, Geoinformatik etc.).
Wer war Alan Turing ?
Alan Turing war ein britischer Logiker, Mathematiker und Kryptoanalytiker und wurde 1912 in London geboren. Er war im 2. Weltkrieg massgeblich an der Entschlüsselung der Enigma beteiligt und entwickelte den Turing-Test sowie die Turingmaschiene. Er starb 1954 an einer Cyanid-Vergiftung.
Was ist die Turingmaschiene ?
Die Turingmaschiene ist ein wichtiges Rechenmodel der theoretischen Informatik. Es gilt als wichtige Grundlage für die heute verwendeten Rechenmaschienen.
Welche Operationen kann eine Turingmaschiene durchfhren
Lesen/ Schreiben / Bewegen (Nach Links oder rechts)
Bestandteile der Turingmaschiene
- Ein unendlich langes Speicherband mit sequenziell angeordneten "Speicherplätzen", jedes dieser Felder kann 0 oder 1 enthalten, weiter gibt es den Zustand blank (also ein nicht definierter Zustand).
- Ein Lese/Schreibkopf, welcher von einem ...
- Steuerprogramm gesteuert wird.
Steuerprogramm der Turingmaschiene
Das Steuerprogramm der Turingmaschiene liegt in Form einer Tabelle mit nummerierten Schritten vor, welche sequentiell abgearbeitet werden.
sequentiell
nacheinander
miteineander
Welche informationen enhält ein Schritt des Steuerprogramms einer Turingmaschiene
- Schrittnummer
- Gelesen
- Springe zu (Schritt)
- Schreibe
- Bewege nach (links/rechts; notiert als )
Welche wesentlichen Komponenten finden sich sowohl bei der Turing-Maschine wie auch in modernen Computern?
Das unendlich lange Speicherband entspricht dem (nicht unendlich grossen, leider) Datenspeicher
Die Verbindung zwischen Lese/Schreibkopf dem Daten/Steuerbus;
Das Steuerprogramm (die Tabelle) entspricht dem Programmspeicher, die Logik hinter der Tabelle dem Rechenwerk.
Turingtest
Der Turingtest ist ein von Alan Turing vorgeschlagener Versuchsaufbau, durch den herausgefunden werden kann, ob eine Maschine intelligent ist
Eignenschaften von Zustandsdiagrammen
- Zustandsdiagramme beschreiben den Ablauf von endlichen Automaten.
- Sie bestehen aus einem Anfangs- und einem Endzustand, sowie aus endlich vielen Zwischenzustnden.
- Ein Ereignis lst eine Transition von einem Zustand in einen anderen aus, dabei kann es zur Ausführung einer Aktion kommen.
Definiere Codierung
Ein Code ist eine Vorschrift, wie Informationen (Nachrichten) oder Befehle präsentiert werden müssen, damit sie vom "Zielsystem" interpretiert werden können. So müssen die meissten Programmiersprachen erst übersetzt werden, damit sie von der Rechenmaschiene überhaupt verstanden werden. Diesen Vorgang nennt man Codierung.
Definition Algorithmus
Ein Algorithmus ist ein genau beschriebener Ablauf zur Lösung einer Problemstellung in endlich vielen Schritten.
deterministisch
Algorithmen werden als deterministisch bezeichnet, wenn bei der Ausführung eines Algorithmus der nächste Schritt jederzeit eindeutig feststeht (Bei den selben Ausgangsbedingungen reproduzierbar).
Formulierungsmöglichkeiten eines Algorithmus
Pseudocode, Flussdiagramm, Ablaufsprache, Programmiersprache, Struktogramme etc...
Kontrollstrukturen
- Ausführungsblock (und Funktionen)
- Auswahlanweisung (Verzweigung)
- Schleifen
Datentyp
Der Datentyp gibt an, wie die referenzierten Daten zu interpretieren sind. Je nach Programmiersprache oder Rechenwerk gibt es Unterschiede. Referenzierte Daten sind zB der Inhalt von Konstanten oder Variabeln.
Datentyp String
Enthält eine Zeichenkette, zusammengesetz aus Buchstaben, Zahlen und Sonderzeichen.
Datentyp Integer
Einhält einen ganzzahligen Wert, positiv oder negativ. Je nach Rechenwerk ist der darstellbare Bereich unterschiedlich gross.
Datentyp Float
Enthält eine gebrochene Zahl (Fliesskommazahl). Je nach Rechnerwerk ist darstellbare Bereich unterschiedlich gross.
Ja oder Nein , Wahr oder Falsch, 1 oder 0.
Typenkompatibilität
Datentypen sind(je nach Programmiersprache!) untereinander nur eingeschränkt kompatibel. Eine Variable, welche einen String speichern kann, kann also keinen Integer speichern. Der Integer muss erst umgewandelt werden. Die Ursache dafür liegt in der Codierung der einzelnen Datentypen, sprich wie sie im Speicher abgelegt sind.
Komplexität von Algorithmen
Der Begriff Komplexität ist ein Mass dafür, wie viel Ressourcen ein Algorithmus in Bezug auf die Anzahl der Eingangsdaten benötigt.
Was ist Hardware ?
Alles was "angefasst" werden kann, sowohl Computerbestandteile (Chips: Speicher, CPU, ALU, Grafikchip) wie auch Peripherie (Festplatte, Bildschirm etc.)
Was ist ein Betriebssystem ?
Ein Betriebssystem ist eine Sammlung von Computerprogrammen (Speicherverwaltung, Prozessverwaltung usw...), welche die Hardware eines Computers verwaltet und diese Anwendungsprogrammen zur Verfügung stellt. Das Betriebssystem bildet dadurch die Schnittstelle zwischen den Hardwarekomponenten und der Anwendungssoftware des Benutzers. Z.B. Linux, Mac OS X, Microsoft Windows.
Was sind Anwendungen ?
Eine Anwendung (Oder Programm) ist eine Folge von Anweisungen, welche auf einem Computer zur Ausführung gebracht und so eine bestimmte Funktionalität zu Verfgung stellen können. Applikationen können entweder in kompilierter Form vorliegen oder werden zur Laufzeit interpretiert.
Kompilierte Sprache
Die Programme werden mit einem Texteditor erstellt und anschliessend mit einem Compiler compiliert und gelinkt. Die resultierende Datei ist selbst ein ausführbares Programm, welches ohne weitere Umgebung direkt auf dem OS ausführbar ist.
Interpretierte Sprache
Die Programme werden mit einem Texteditor erstellt oder direkt im Interpreter eingetippt. Der Interpreter selbst ist ein Programm, welches auf dem OS läuft. Die Programme (=Scripts) sind ohne Interpreter nicht ablauffähig.
Vorteile der kompilierten Sprachen
- Meist bessere Performance bei der Ausführung
- Kann besser ausgeliefert werden (z.B. Eine ausführbare Datei)
- Systemnäher, daher besserer Zugriff auf die Resourcen
- Nicht transparent, wenn der Sourcecode nicht zur Verfügung steht (Vorteil, wenn der Sourcecode vor dritten geschützt werden muss)