Historical Computer Engineering - Punchcard
Mode: Visitor // Expert
Language: Deutsch English

Punchcard

Punch Cards — Format & Coding

Before there were any punch tapes there were punched cards. In general one card holds one command. In the beginning there were a lot of different formats for those cards. It was not until 1928 until a final format was set.
A standardized Hollerith–Card (named after their inventor Herman Hollerith) measures about 18.7 × 8.3 cm and is typically a rectangle peace of card.
The first cards used for the census in 1890 provided 240 possible positions for holes. Later versions used 45 columns with 12 positions each, which equals 45 signs at 12 bit.
1928 IBM registered a 80 column format with rectangular holes, which is the most common and still in use on some IBM machines. Those 80 columns as a maximal length for lines in emails, text files and terminal windows is a relict of that time.
At first only one hole was allowed per column, later an additional hole was allowed for capital letters, then a third for special characters. Finally up to six holes per column were allowed. With an EBCDIC-Code one card could hold up to 80 Byte of data.

Fortran–program

Sample program

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 the Fortran–program–example:
Because of the little fragment of the original program, we made these premises:
M(0:10);       ZW(1:10);       ZR