{"id":23301,"date":"2017-01-17T11:08:42","date_gmt":"2017-01-17T10:08:42","guid":{"rendered":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/?page_id=23301"},"modified":"2017-01-20T08:08:59","modified_gmt":"2017-01-20T07:08:59","slug":"karty-perforowane","status":"publish","type":"page","link":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/karty-perforowane\/","title":{"rendered":"02 Karty perforowane"},"content":{"rendered":"<figure id=\"attachment_23304\" aria-describedby=\"caption-attachment-23304\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/karty-perforowane\/olympus-digital-camera\/\" rel=\"attachment wp-att-23304\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-23304 size-medium\" src=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/fortran888157-300x133.jpg\" width=\"300\" height=\"133\" srcset=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/fortran888157-300x133.jpg 300w, https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/fortran888157-768x340.jpg 768w, https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/fortran888157-1024x454.jpg 1024w, https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/fortran888157.jpg 1318w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-23304\" class=\"wp-caption-text\">Karta perforowana<\/figcaption><\/figure>\n<p>Informacja na kartach kodowana by\u0142a w dosy\u0107 prosty spos\u00f3b:<\/p>\n<ol start=\"1\" type=\"1\">\n<li>Pojedyncza perforacja w wierszach oznaczonych od 0 do 9 oznacza\u0142a cyfr\u0119 od 0 do 9.<\/li>\n<li>Kolejne znaki alfabetu wymaga\u0142y dwu \u201edziurek\u201d (A w wierszu 12 i 1, J w wierszu 11 i 1 i tak dalej; kolejne znaki wymaga\u0142y kombinacji trzech dziurek).<\/li>\n<li>W zasadzie nie by\u0142y dost\u0119pne \u201ema\u0142e\u201d litery, cho\u0107, w kt\u00f3rym\u015b momencie, pojawi\u0142y si\u0119 urz\u0105dzenia dysponuj\u0105ce rozszerzonym zestawem znak\u00f3w.<\/li>\n<\/ol>\n<p>Fortran zosta\u0142 zaprojektowany w firmie IBM. Firma ta (od wielu lat) by\u0142a dostawc\u0105 r\u00f3\u017cnego rodzaju elektro-mechanicznych urz\u0105dze\u0144 s\u0142u\u017c\u0105cych (czy wspomagaj\u0105cych) u\u017cywanie kart perforowanych (b\u0119d\u0105cych r\u00f3wnie\u017c wynalazkiem tej firmy) w przetwarzaniu informacji. Firma produkowa\u0142a opr\u00f3cz perforator\u00f3w (czyli urz\u0105dze\u0144 s\u0142u\u017c\u0105cych do przygotowywania informacji na kartach perforowanych) r\u00f3wnie\u017c czytniki (pozwalaj\u0105ce drukowa\u0107 informacj\u0119 tam zawart\u0105), sortery (uk\u0142adaj\u0105ce karty zgodnie z rosn\u0105cymi\/malej\u0105cymi warto\u015bciami w zadanym polu karty) ale r\u00f3wnie\u017c urz\u0105dzenia mog\u0105ce dokonywa\u0107 przetwarzania informacji na kartach (dodawanie, odejmowanie, mno\u017cenie a nawet czasami dzielenie zawarto\u015bci wskazanych p\u00f3l na karcie). Urz\u0105dzenia takie by\u0142y nawet wykorzystywane jako podstawa do <a class=\"http\" title=\"tworzenia\" href=\"http:\/\/www.columbia.edu\/cu\/computinghistory\/switch.html\">tworzenia<\/a> <a class=\"http\" title=\"prostych urz\u0105dze\u0144 obliczeniowych.\" href=\"http:\/\/www.columbia.edu\/cu\/computinghistory\/601.html\">prostych urz\u0105dze\u0144 obliczeniowych.<\/a><\/p>\n<p>Nie powinien wi\u0119c budzi\u0107 zdziwienia fakt, \u017ce, z rozp\u0119du, zastosowano t\u0119 technologi\u0119 jako \u201epodstawow\u0105\u201d dla zapisu kodu \u017ar\u00f3d\u0142owego w Fortranie.<br \/>\nPrzyj\u0119to w\u00f3wczas sta\u0142e znaczenie poszczeg\u00f3lnych p\u00f3l na karcie perforowanej:<\/p>\n<ol start=\"1\" type=\"1\">\n<li>Kolumna pierwsza, gdy zawiera\u0142a znak C, powodowa\u0142a traktowanie wszystkich informacji na karcie jako komentarza.<\/li>\n<li>Kolumny 1-5 zazwyczaj pozostawa\u0142y puste lub zawiera\u0142y \u201enumer\u201d instrukcji, a m\u00f3wi\u0105c precyzyjnie mog\u0142y zawiera\u0107 maksimum pi\u0119ciocyfrow\u0105 liczb\u0119 ca\u0142kowit\u0105 traktowan\u0105 jako etykieta instrukcji. Etykieta mog\u0142a by\u0107 wykorzystania jako znacznik miejsca docelowego w instrukcjach warunkowych lub w instrukcji skoku GOTO.<\/li>\n<li>Kolumna 6 pozostawa\u0142a pusta albo zawiera\u0142a znak informuj\u0105cy, \u017ce karta zawiera kontynuacj\u0119 instrukcji rozpocz\u0119tej na poprzedniej karcie. Utar\u0142o si\u0119 stosowanie kolejnych cyfr (1, 2,\u2026, 9) na okre\u015blenie numeru kolejnego fragmentu. Formalnie ka\u017cdy znak r\u00f3\u017cny od odst\u0119pu i zera by\u0142 traktowany jako znak kontynuacji.<\/li>\n<li>Kolumny od 7 do 72 (w\u0142\u0105cznie) przeznaczone by\u0142y na tre\u015b\u0107 instrukcji.<\/li>\n<li>Kolumny 73-80 by\u0142y zazwyczaj przez kompilator ignorowane i mog\u0142y by\u0107 u\u017cyte do numerowania kolejnych kart. By\u0142o to bardzo u\u017cyteczne w przypadku gdy karty si\u0119 \u201erozsypa\u0142y\u201d \u2014 mo\u017cna by\u0142o u\u017cy\u0107 maszyny zwanej sorterem do u\u0142o\u017cenia ich we w\u0142a\u015bciwej kolejno\u015bci lub (czasami) poprosi\u0107 kompilator, \u017ceby zwr\u00f3ci\u0142 uwag\u0119 na sytuacj\u0119 gdy numery tam zawarte nie s\u0105 w kolejno\u015bci rosn\u0105cej.<\/li>\n<li>Og\u00f3lna zasada by\u0142a taka, \u017ce \u201ewielko\u015b\u0107\u201d liter nie odgrywa znaczenia: wszystkie s\u0142owa kluczowe i nazwy zmiennych pisane s\u0105 literami wielkimi.<\/li>\n<\/ol>\n<p>Technologia kart perforowanych nie by\u0142a specjalnie wygodna \u2014 mia\u0142y one ci\u0105g\u0142\u0105 tendencj\u0119 do rozsypywania si\u0119. Programi\u015bci (bo sortery nie by\u0142y powszechnie dost\u0119pne) wymy\u015blali r\u00f3\u017cne sztuczki, \u017ceby mie\u0107 minimaln\u0105 pewno\u015b\u0107, \u017ce karty s\u0105 we w\u0142a\u015bciwej kolejno\u015bci.<\/p>\n<figure id=\"attachment_23303\" aria-describedby=\"caption-attachment-23303\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/karty-perforowane\/800px-punched_card_program_deck\/\" rel=\"attachment wp-att-23303\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-23303 size-medium\" src=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/800px-Punched_card_program_deck-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/800px-Punched_card_program_deck-300x225.jpg 300w, https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/800px-Punched_card_program_deck-768x576.jpg 768w, https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-content\/uploads\/sites\/2\/2017\/01\/800px-Punched_card_program_deck.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-23303\" class=\"wp-caption-text\">Uko\u015bna linia maj\u0105ca \u201ezadba\u0107\u201d o w\u0142a\u015bciw\u0105 kolejno\u015b\u0107 kart w pliku<\/figcaption><\/figure>\n<p>Dzi\u015b powy\u017cszy spos\u00f3b zapisku kodu \u017ar\u00f3d\u0142owego uwa\u017ca si\u0119 za \u201eprzestarza\u0142y\u201d. Wsp\u00f3\u0142czesne kompilatory dopuszczaj\u0105 trzy sposoby zapisu kodu \u017ar\u00f3d\u0142owego:<\/p>\n<ol start=\"1\" type=\"1\">\n<li>\u201efixed\u201d (taki jak na kartach)<\/li>\n<li>\u201etab\u201d (poszczeg\u00f3lne pola rozdzielane s\u0105 znakiem tabulacji)<\/li>\n<li>\u201efree\u201d \u2014 nie obowi\u0105zuj\u0105 powy\u017csze regu\u0142y.<\/li>\n<\/ol>\n<p>Na og\u00f3\u0142 wymaga si\u0119, aby pierwsze dwa formaty nie by\u0142y mieszane ze sob\u0105.<\/p>\n<ul class=\"list-pages-shortcode sibling-pages\"><li class=\"page_item page-item-23297\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/krotka-historia-jezyka-fortran\/\">01 Kr\u00f3tka historia j\u0119zyka Fortran<\/a><\/li>\n<li class=\"page_item page-item-23301\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/karty-perforowane\/\">02 Karty perforowane<\/a><\/li>\n<li class=\"page_item page-item-23334\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/03-kod-zrodlowy-zasady\/\">03 Kod \u017ar\u00f3d\u0142owy \u2014 zasady<\/a><\/li>\n<li class=\"page_item page-item-23336\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/04-srodowisko-fortran-na-lokalnym-komputerze\/\">04 \u015arodowisko Fortran na lokalnym komputerze<\/a><\/li>\n<li class=\"page_item page-item-23338\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/05-przykladowy-program\/\">05 Przyk\u0142adowy program<\/a><\/li>\n<li class=\"page_item page-item-23343\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/06-typy-danych\/\">06 Typy danych<\/a><\/li>\n<li class=\"page_item page-item-23358\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/07-operatory\/\">07 Operatory<\/a><\/li>\n<li class=\"page_item page-item-23346\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/08-zmienne\/\">08 Zmienne<\/a><\/li>\n<li class=\"page_item page-item-23361\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/09-tablice\/\">09 Tablice<\/a><\/li>\n<li class=\"page_item page-item-23371 page_item_has_children\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/99-dygresje\/\">99 Dygresje<\/a>\n<ul class='children'>\n\t<li class=\"page_item page-item-23373\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/99-dygresje\/ciekawostki\/\">Ciekawostki<\/a><\/li>\n\t<li class=\"page_item page-item-23375\"><a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/99-dygresje\/programowanie\/\">Programowanie<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Informacja na kartach kodowana by\u0142a w dosy\u0107 prosty spos\u00f3b: Pojedyncza perforacja w wierszach oznaczonych od 0 do 9 oznacza\u0142a cyfr\u0119 od 0 do 9. Kolejne znaki alfabetu wymaga\u0142y dwu \u201edziurek\u201d (A w wierszu 12 i 1, J w wierszu 11 i 1 i tak dalej; kolejne znaki wymaga\u0142y kombinacji trzech dziurek). W zasadzie nie by\u0142y &hellip; <a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/projekty\/fortran-dla-uzytkownikow-mes\/karty-perforowane\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">02 Karty perforowane<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":23294,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-23301","page","type-page","status-publish","hentry"],"publishpress_future_action":{"enabled":false,"date":"2026-04-22 22:42:27","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"language","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/pages\/23301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/comments?post=23301"}],"version-history":[{"count":5,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/pages\/23301\/revisions"}],"predecessor-version":[{"id":23332,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/pages\/23301\/revisions\/23332"}],"up":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/pages\/23294"}],"wp:attachment":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/media?parent=23301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}