Vokabeln


Fichier Détails

Cartes-fiches 29
Langue Deutsch
Catégorie Mécatronique
Niveau Université
Crée / Actualisé 30.09.2017 / 21.04.2023
Lien de web
https://card2brain.ch/box/20170930_digitaltechnik
Intégrer
<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 2-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.