Digitaltechnik
Vokabeln
Vokabeln
Set of flashcards Details
Flashcards | 29 |
---|---|
Language | Deutsch |
Category | Mechatronics |
Level | University |
Created / Updated | 30.09.2017 / 21.04.2023 |
Weblink |
https://card2brain.ch/box/20170930_digitaltechnik
|
Embed |
<iframe src="https://card2brain.ch/box/20170930_digitaltechnik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wissen
Information
Daten
Wissen bezeichnet sehr allgemein die Gesamtheit der Kenntnisse in einem bestimmten Bereich.
Unter Information versteht man meist zweckorientiertes bzw. zielgerichtetes Wissen.
Daten sind Informationen auftrund bekannter oder unterstellter Abmachungen in maschinell verarbeitbarer Form.
Redundanz
verlustfreier Kompriemierung
verlustbehafteter Komprimierung
Von Redundanz spricht man dann, wenn für die Speicherung einer Information mehr Platz verwendet wird, als notwendig wäre.
Bei verlustfreier Kompriemierung wird nur Redundanz entfernt, bei verlustbehafteter Kompriemierung fallen auch unwichtige Teile der Information weg.
Bit
Byte
Vorsätze
Unter einem Bit versteht man die kleinstmögliche Informationsmenge, die genau zwei verschiedene Werte - dargestellt als "0" und "1" - annehmen kann.
Ein Byte ist die Zusammenfassung von 8 Bit.
Bei größeren Datenmengen werden die Vorsätze "Kilo", "Mega", "Giga", "Terra" und "Peta" verwendet, die meist einem Faktor von jeweils 1024 gegenüber dem nächst kleineren Vorsatz entsprechen.
Stellenwertsysteme
Dezimalsystem
Dualsystem
Oktalsystem
Hexadezimalsystem
Die heutigen Zahlen sind in Form eines Stellenwersystems aufgebaut.
Übliche Zahlensysteme sind das uns vertraute Dezimalsystem (Basis 10), das Dualsystem (Basis 2), das Oktalsystem (Basis 8) und das Hexadezimalsystem (Basis 16).
vorzeichenlose Ganzzahlen
vorzeichenbehaftete Ganzzahlen
Zweierkomplement
Bei Ganzzahlen unterscheidet man vorzeichenlose Ganzzahlen und vorzeichnbehaftete Ganzzahlen.
Der mögliche Wertebereich hängt jeweils vom verfügbaren Speicherplatz (n Bit) ab.
Vorzeichlose Ganzzahlen decken den Wertebereich von 0 bis 2n -1 ab, vorzeichenbehaftete Ganzzahlen, die intern mittels Zweierkomplement dargestellt werden, liegen zwischen -2n-1 und 2 n-1 -1.
Gleitkommazahlen
IEEE 754
Gleitkommazahlen besitzen eine variable Anzahl von Nachkommastellen und werden rechnerintern meist nach der ANSI-Norm IEEE 754 gespeichert.
Dabei werden üblicherweise die Formate "single" mit 32 Bit Speicherplatz und 6 Dezimalstellen Genauigkeit sowie "double" mit 64 Bit sowie 15 Stellen Genauigkeit verwendet.
Textzeichen
ASCII-Code
Unicode
Textzeichen werden inter immer als duale Zahlen in einem geeigneten Vode dargestellt.
Nach wie vor von Bedeutung ist der ASCII-Code, der in seiner Grundform 7 Bit verwendet.
In seiner erweiterten Form mit 8 Bit stehen u.a. auch deutsche Umlaute zur Verfügung.
Über den Unicode, der in verschiedenene Varianten ein bis vier Byte für die Speicherung eines Textzeichens verwendet, ist es möglich, auch die umfangreichen Zeichensätze asiatischer und anderer Sprachen zu kodieren.
Zentralprozessor
CPU
externene Speicher
Ein- und Ausgabeeinheiten
Der Kern eines Rechners ist der Zentralprozessor (kurz CPU), der zusammen mit dem Zentralspeicher die Zentraleinheit bildet.
Diese steht mit dem externen Speicher sowie den Ein- und Ausgabeeinheiten in Verbindung.
Betriebssystem
multitaskingfähig
mehrbenutzerfähig
Das Betriebssystem eines Rechners stellt das Bindeglied zwischen Hardware und Anwendungssoftware dar und enthält zumeist auch eine grafische Benutzeroberfläche.
Moderne Betriebssysteme sind fast immer multitaskingfähig, können also mehrere Programme oder Programmteile parallel ausführen, und zudem mehrbenutzerfähig.
Dateien
Dateisystems
Verzeichnisse
Textdaten
Binärdaten
sequentielle und strukturierte Dateien
Um Daten dauerhaft zu speichern, mussen diese auf einem nichtflüchtigen Speichermedium abgelegt werden.
Die Daten sind dort in Form von Dateien innerhalb eines geeigneten Dateisystems abgelegt.
Das Dateisystem ist eine Organisation der Daten, die vom Betriessystem durchgeführt wird und die neben den eigentlichen dateien hierarchisch angeordnete Verzeichnisse besitzt.
Nach der Art der gespeicherten Daten werden Textdaten und Binärdaten unterschieden.
Nach der Speicherung unterscheidet man sequentielle und strukturierete Dateien.
Programmcode
Quelltext
Progammiersprache
Syntax
Semantik
ausführbares Programm
Der Programmierer gibt ein Programm in Form von Programmcode (auch: Quelltext) in einer geeigneten Programmiersprache ein.
Für jede Programmiersprache sind die Syntax (formale Regeln) und die Semantik (Bedeutung der Konstrukte) definiert.
Durch Übersetzen entstehtaus dem Quelltext ein ausführbares Programm.
Einteilung der Programmiersprachen nach Generationen
Maschinensprache
Assemblersprachen
Programmiersprachen der dritten Generation
Historisch erfolgt eine Einteilung der Programmiersprachen nach Generationenen.
Die erste Generation waren reine Maschinensprachen, die zweite bildeten die Assemblersprachen.
Während beide sehr hardwernah waren, wurden die Programmiersprachen der dritten Generation problemorientiert gestaltet.
Einteilung nach Programmier-Paradigmen
prozeduralen (imperativen) Programmierung
objektorientierten Programmierung
funktionale Programmierung
logische Programmierung
Bei der Einteilung nach Programmier-Paradigmen steht die Weltsicht einer Sprache im Mittelpunkt.
Das "klassische" Paradigma ist das der prozeduralen (imperativen) Programmierung, dem die Programmiersprachen der dritten Generation angehören.
Das heute dominierende Paradigma ist das der objektorientierten Programmierung.
Daneben sind vor allem von die funktionale Programmierung und die logische Programmierung zu erwähnen.
Compiler
Interpretern
Zwischencode
virtuellen Maschine
Der vom Programmierer erstellte Quelltext des Programms muss in ein für den Computer ausführbares Programm übersetzt werden.
Compiler übersetzen einen Quelltext einemal während der Programmentwicklung in ausführbaren Maschinencode.
Im Gegensatz dazu wird bei Interpretern der Quelltext des Programms jedes Mal dann übersetzt, wenn das Programm tatsächlich auf dem Zielrechner ausgeführt wird.
Ein Zwischenweg besteht darin, dass der Compiler den Quelltext nicht unmittelbar in direkter auf der CPU ablauffähigen Maschinencode übersetzt, sondern in einen Zwischencode, der zur Laufzeit des Programms auf einer passenden virtuellen Maschine abläuft.
Datentyp
Variable
Zuweisung
Ein Datentyp legt die Art der Daten sowie das interne Speicherfomat fest.
Eine Variable ist ein Speicherplatz, auf den innerhalb eine Programms über einen Namen zugegriffen werden kann.
Geändert wird der Wert einer Variable z.B. durch eine Zuweisung, bei der auf der rechten Seite des Zuweisungszeichens ein Ausdruck mit dem Wert und auf der linken Seite der Name der Variablen steht.
Datentyps der Zahlen
Typumwandlung
Ganzzahldivision
Innerhalb des generellen Datentyps der Zahlen lassen sich vorzeichbehaftete Ganzzahlen, vorzeichenlose Ganzzahlen und Gleitkommazahlen unterscheiden. Innerhalb dieser Gruppe gibt es meist noch eine Unterscheidung der Datentypen nach verwendudetem Speicherplatz. Bei der gemischten Verwenung unterschiedlicher Zahlentypen ist die Typumwandlung zu beachten. Ferner ist bei Ganzzahlen die Problematik der Gazzahldivision zu berücksichtigen.
Wahrheitswerte (Boolesche Werte)
Datentypen für Wahrheitswerte ("Boolesche Werte") besitzen grundsätzlich die beiden Ausprägungen "true" und "false".
Aufzählungstypen
Aufzählungstypen erlauben es, als Ausprägungen im Programmcode Texte statt (der intern verwendeten) Zahlen zu nutzen.
Zeiger
Zeiger besitzen selbst keinen originären Datenwert, sondern die Adresse, an der ein solcher Wert gespeichert ist. Damit sind indirekte Zugriffe auf Daten möglich.
Arrays
Index
Bereichsüberschreitung
Arrays besitzen einen theoretisch beliebig große Anzahl gleichartiger Einzelwerte (Elemente), auf die über einen Index zugegriffen wird.
Arrays können ein-, zwei- oder auch mehrdimensional definiert werden.
Wird auf ein Element mit einem nicht definierten Index zugegriffen, liegt eine Bereichsüberschreitung vor, die im Programm auf jeden Fall verhindert werden muss.
Strings
Strings (Zeichenketten) sind intern praktisch immer als Array realisiert, dessen Element einzelne Textzeichen sind. Bei klassischen C-Strings wird diese Form auch offen verwendet. Alternativ steht in C++ sowie den meisten modernen Programmiersprachen ein spezieller Datentyp "string" zur Verfügung.
Struktur
Eine Struktur fasst mehrere Komponenten auch unterschiedlicher Datentypen zu einer Einheit zusammen.
Der Programmierer definiert sich bei Bedarf eine passende Struktur und kann diese anschließend weitgehen wie einen Standard-Datentyp verwenden.
Da eine Struktur selbst wiederum als Komponente einer Struktur vorkommen kann, lassen sich hierarchisch geschachtete Datenstrukturen definieren.
Dynamsiche Datenstrukturen
Dynamische Datenstrukturen enthalten Elemente, die dynamisch während der Laufzeit des Programms erzeugt und bei Bedarf auch wieder gelöscht werden.
Das Grundelement einer solchen Gesamt-Datenstruktur ist der Datentyp der "Struktur", die hier einen Datenteil sowie einen oder mehrere Zeiger auf benachbarte Elemente besitzt.
Auf diese vernetzte Gesamtstruktur wird über eine normale statische Variable zugegriffen, die einen Zeiger auf eines der Elemente besitzt.
Typische dynamische Datenstrukturen sind lineare Listen sowie Bäume.
abstrakter Datentyp
gekapselt
Schnittstelle
Ein abstrakter Datentyp vereinigt die Daten selbst sowie alle zulässigen Operationen, mit denen auf die Daten zugegriffen werden kann.
Die Daten werden gekapselt und für den Zugriff wird eine Schnittstelle definiert.
In der objekorientierten Programmierung werden abstrakte Datentypen in Form von Klassen Implementiert.
Programmierung im Kleinen
Bei der Programmierung im Kleinen geht es um die emelentaren Strukturen, die bei jedem Programm verwendet werden.
Algortihmus
Unter einem Algorithmus versteht man eine genau Vorschrift zur Lösung eines bestimmten Problems mit einer endlichen Anzahl von Einzelschritten.
Anweisung
Eine Anweisung ist der elementare Einzelschritt innerhalb eines Programms.
Kontrollsturkutren
Flussidagramme
Programmablaufpläne
Struktorgramme
Nassi-Shneiderman-Diagramme
Pseudocode
Mit Kontrollstrukturen wird der Ablauf eines Programms gesteuert.
Allgemein werden fogende Kontrollstrukturen unterschieden: Sequenz, Verzweigung und Schleife (Wiederholung).
Zur Darstellung der Kontrollstrukturen lassen sich Flussdiagramme (auch: Programmablaufpläne), Struktogramme (auch: Nassi-Shneiderman-Diagramme) und Pseudocode verwenden.
Sequenz
Block
Eine Sequenz besteht aus einer Folge von Anweisungen, die nacheinander in der aufgelisteten Reihenfolge vom Rechner abgearbeitet werden.
Bei einem Block werden die Anweisungen einer Sequenz so zusammengefasst, dass sie nach außen als eine einzige Anweisung gelten.