Historische Rechentechnik - Lochkarte
Modus: Besucher // Experte
Sprache: Deutsch English

Lochkarte

Formate & Kodierung von Lochkarten

Die ersten Lochkarten besaßen fünf Reihen mit Löchern, welche 32 verschiedene Zeichen pro Spalte ermöglichten. Zusätzlich zu diesen fünf Löchern hatten die Bänder zum Papiereinzug meist noch eine Reihe kleinerer Führungslöcher zwischen Reihe drei und vier . Für gewöhnlich waren diese Bänder 17,4 mm breit. Um die Anzahl der möglichen Zeichen zu erhöhen, wurde die sogenannte Baudot–Kodierung verwendet, bei welcher zwei Steuerzeichen genutzt wurden, um zwischen zwei verschiedenen Kodierungen umzuschalten. Da Informatiker acht–Bit–Kodes bevorzugen, besaßen spätere Formate acht Reihen. Es waren also 256 verschiedene Zeichen möglich. Diese Bänder waren 25,4 mm (also einen Zoll) breit und die Führungslöcher befanden sich ebenfalls zwischen dem dritten und vierten Loch.
Bei diesen beiden Formaten passten zehn Zeichen auf einen Zoll, wodurch ein acht–Bit–Lochbandlesegerät auch fünf–Bit–Lochbänder lesen konnte, wenn es die Führungslöcher benutzte. Anders herum funktioniert das nicht. Einige Maschinen konnten beide Formate lochen.
Auf einem acht–Bit–Lochband konnten also zehn Byte auf einem Zoll gespeichert werden. Ein kByte benötigt also 100 Zoll Lochband, was 2.540 mm oder auch 2,54 m entspricht. Ein Gigabyte würde also 2.540 km Lochband füllen. Für ein Terabyte Kapazitüt benötigt man ein Lochband benötigt, das sieben Mal so lang ist wie die Entfernung von der Erde zum Mond.
Des Weiteren gab es noch Versionen mit sechs, sieben und zehn Reihen. Die siebenzeilige Variante eignete sich hervorragend für ASCII–Kode, der damals nur aus 128 Zeichen bestand.

Fortran–Programm

Beispielprogramm

DO5 I=1,5
5 M(I)=M(I-1)+1
WRITE(6,10) (M(J),ZW(J),ZR(J),J=1,10)
10 FORMAT(1X,10(1X,I4,1X,I1,1X,F4.2))

„DO5” bedeutet, dass die Zeile mit dem Label 5 wiederholt bearbeitet wird. „I=1,5” lässt eine Schleife von 1 bis 5 durchlaufen mit der Schrittweite 1. (Die Schrittweite ist deswegen 1, weil nur der Startwert und der Endwert angegeben sind) „5 M(I)=M(I-1)+1” ist die Zeile mit dem Label 5. Das I der Schleife durchläuft das Array M und es wird der um eins erhöhte Wert von der Stelle I-1 an die Stelle I geschrieben.

„WRITE(6,10) (M(J),ZW(J),ZR(J),J=1,10)” ist eine Ausgabe an eine Ausgabeeinheit 6 mit der Formatangabe 10. Dabei wird ein Wert des Arrays M geschrieben, danach einer von ZW und dann von ZR. J durchläuft die Stellen der 3 Arrays von 1 bis 10 mit der Schrittweite 1. „10 FORMAT(1X,10(1X,I4,1X,I1,1X,F4.2))” ist die Formatangabe der vorangegangenen Zeile und bedeutet: Schreibe ein Leerzeichen und dann führe alle nachfolgenden Angaben — die Angaben in der inneren Klammer — 10 mal aus. Diese Angaben sind: 1 Leerzeichen, eine 4–stellige ganze Zahl, 1 Leerzeichen, eine 1–stellige ganze Zahl, 1 Leerzeichen und eine Fließkommazahl mit 4 Stellen, wovon 2 Nachkommastellen sind.

Animation zum Ablauf des Beispiel–Fortran–Programmes:
Da dies nur ein kleiner Ausschnitt des wahren Programmes ist, treffen wir folgende Annahmen:
M(0:10);       ZW(1:10);       ZR