Karta perforowana
Początkowo ENIAC był programowany przez przełączanie wtyków kablowych, później za pomocą kart perforowanych. Nawiasem mówiąc, historia kart perforowanych sięga pierwszej połowy XVIII wieku, ale to jest zupełnie inna bajka. Karta perforowana była pierwszym nośnikiem informacji wprowadzanej do komputera. Służyła do jego programowania oraz wprowadzania danych, które miał opracować program. Zasada działania jeszcze do niedawna stosowanej karty perforowanej ściśle wiązała się z elektrycznym sposobem detekcji informacji w systemie dwójkowym. Otwór w karcie odpowiadał logicznej jedynce, jego brak to logiczne zero. W 1848 r. Herman Holleright opatentował i zbudował tabulator. Było to urządzenie służące do segregowania kart perforowanych według układu otworów. Pierwsza opracowana przez Hollerighta karta perforowana, o wymiarach 7,5x13,7 cm, zawierała 204 pola do perforacji. Informacja odczytywana była w czytniku wykorzystującym przepływ prądu przez pola, w których wycięty był otwór. Pomysłowy system liczników i elektromagnesów sterował odpowiednią przegródką, do której trafiała karta spełniająca zadane kryteria. Początkowo otwory wycinano ręcznie, później pojawiły się specjalne dziurkarki. Dodam, że maszynę Hollerighta stosowano w latach 1890 i 1900 do spisów powszechnych w Stanach Zjednoczonych. Gęstość zapisanej informacji wynosiła kilkadziesiąt bitów na centymetr kwadratowy karty, trwałość informacji nie przekraczała kilku – kilkunastu użyć. W miarę upływu czasu karty perforowane były stosowane coraz powszechniej, pojawiało się wiele ich typów, różniących się wymiarami, ilością możliwych do zapisania danych oraz trwałością. Na specjalne wyróżnienie zasługuje karta opatentowana w 1928 r. przez firmę IBM. Karta była podzielona na 80 kolumn i 12 wierszy (10 numerycznych, dwa strefowe). Pola bitowe usytuowane były na przecięciach kolumn z wierszami. Znaki na karcie powstawały przy użyciu dziurkarki klawiszowej, następnie kierowane były do tzw. sprawdzarki, która weryfikowała poprawność wprowadzonych danych. Karta IBM przyjęła się i została na długie lata standardem, do czasu pojawienia się nośników magnetycznych.
Karta IBM miała szerokość 3,25 cala, długość 7,375 cala i grubość 0,0067 cala. Lewy górny narożnik karty był ścięty, co zabezpieczało przed błędnym (odwrotnym) ułożeniem karty. Wycinane otwory miały szerokość 0,055 cala i długość 0,126 cala. Dopuszczalne odchylenie wymiarów od nominału nie mogło przekraczać 0,003 cala. Grubość karty wykonanej z bardzo mocnego kartonu wynosiła 0,0067 cala. Dane były odczytywane z karty metodą „wiersz po wierszu” przy użyciu 80 szczotek kontaktowych, które w miejscu wyciętego w karcie otworu stykały się z rolką i zamykały obwód elektryczny. Czas odczytu danych z całej karty wynosił około 10 ms. W Polsce karty typu IBM używane były do programowania komputerów Odra-1300.
Taśma perforowana
Pierwsze próby zastosowania taśmy perforowanej do sterowania pracą krosien, podobnie jak kart perforowanych, sięgają XVIII wieku. Jednakże poważniejsze zastosowania taśma perforowana znalazła dopiero przy transmisji teleksowej w kodzie Baudota-Murraya oraz podczas wojny w analizie szyfrogramów niemieckiej Enigmy. Właśnie wspomniane już angielskie maszyny Colossus korzystały z tej metody odczytu informacji, co odbywało się przy użyciu fotokomórek. Ciekawą innowacją w maszynach Colossus było zastosowanie dodatkowej perforacji synchronizacyjnej w charakterze zegara taktującego. Również programy sterujące pierwszymi komputerami odczytywane były z taśm perforowanych, wytwarzanych za pomocą mechanicznych dziurkarek. Taka taśma miała pięć lub osiem ścieżek zawierających dane oraz jedną ścieżkę prowadzącą (synchronizującą). Zależnie od liczby ścieżek szerokość taśmy wynosiła 1 lub 0,75 cala, przy grubości około 0,004 cala. Na odcinku taśmy o długości 4 cali można było wykonać 45 rzędów otworów. Dane były odczytywane z szybkością rzędu 1000 znaków na sekundę. Podstawową wadą taśm perforowanych była ich skłonność do łatwego zrywania się.
