SAKO
![]() | Ten artykuł dotyczy języka programowania. Zobacz też: sako (mebel) oraz Sako (firma). |
SAKO (System Automatycznego KOdowania)[1] – język algorytmiczny polskich komputerów: XYZ, ZAM-2, ZAM-21 i ZAM-41 nastawiony na otrzymywanie efektywnego kodu. Początkowo wspomagał tylko obliczenia stałoprzecinkowe. W wersji dla ZAM-21 i ZAM-41 dodano możliwość obliczeń zmiennoprzecinkowych[2].
Ogólne cechy języka SAKO:[3][4]
- komendy podobne do zdań używanych w języku naturalnym
- skracał czas nauki zasad programowania
- łatwy w użyciu, skracał czas kodowania
- przejrzysty kod programów, małe prawdopodobieństwo popełnienia błędu
Miał statyczny przydział adresów. Można w nim było wstawiać kod w makroasemblerze SAS.
Kompilacja przebiegała w dwóch etapach:
- Z SAKO na uproszczony makroasembler SAS (SAS-W)[5].
- Z SAS na język maszynowy.
Najbardziej charakterystyczną cechą SAKO są polskie komendy np. „CZYTAJ”, „SKOCZ DO”.
Przeznaczony przede wszystkim do programowania obliczeń numerycznych. Z większych systemów w WAT powstał w nim system obliczeń metodą elementów skończonych.
Przykład rozkazów
Polecenia obsługi pamięci bębnowej komputera ZAM-2:
PISZ NA BEBEN OD 100: A, B, *C
Zapisuje na bębnie, począwszy od adresu 100, kolejno: słowa A i B oraz blok (tablicę) C o wcześniej zadeklarowanej wielkości.
CZYTAJ Z BEBNA OD 100: A, B, *C
Czyta z bębna, począwszy od adresu 100, kolejne słowa i umieszcza w zmiennych A i B oraz bloku (tablicy) C.
Przykład programu
Poniższy program ma za zadanie wydrukowanie[6] znanego tekstu Hello World:
K) PROGRAM DRUKUJE NAPIS HELLO WORLD LINIA TEKST: HELLO WORLD STOP NASTEPNY KONIEC
Literatura
- LeonL. Łukaszewicz LeonL., AntoniA. Mazurkiewicz AntoniA., System automatycznego kodowania SAKO. Cz. 1, Opis języka, Polska Akademia Nauk, 1961 [dostęp 2018-09-12] .
- Leon Łukaszewicz, Antoni Mazurkiewicz "System automatycznego kodowania SAKO", wyd.2 poszerzone[7], Zakład Narodowy im. Ossolińskich, Wydawnictwo Polskiej Akademii Nauk, Wrocław-Warszawa-Kraków 1966 r.
- CIA-RDP80T00246A011500230001-8
- Jan Szmelter, Krystyna Balińska-Deloff "Język programowania SAKO: dla ZAM-41: opis"
- "Algorytmy" Vol. 1 No. 1, 1962 Instytut Maszyn Matematycznych PAN
- "Algorytmy" Vol. 1 No. 2, 1963 Instytut Maszyn Matematycznych PAN
- Jan Szmelter, Henryk Zub "Programowanie SAKO na Mińsk-22"
- "Translator języka SAKO na język MAT dla maszyny Mińsk-22"
- Antoni Mazurkiewicz "Arithmetic Formulae and the Use of Subroutines in SAKO" Annual Review in Automatic Programming, Vol. 2
- Leon Łukaszewicz "SAKO — An Automatic Coding System" Annual Review in Automatic Programming, Vol. 2
- Konrad Fiałkowski "Autokody i programowanie maszyn cyfrowych" Wydawnictwa Naukowo-Techniczne
Przypisy
- ↑ Od Grupy Aparatów do Instytutu Maszyn Matematycznych, [w:] LeonL. Łukaszewicz LeonL., Informatyka 8/12, Wydawnictwo Czasopism i Książek Technicznych SIGMA NOT, 1989, s. 4 [dostęp 2023-07-11] .
- ↑ Automatyzacja programowania w Polsce do roku 1970, [w:] Informatyka Nr 3, Wydawnictwo Czasopism i Książek Technicznych SIGMA NOT, 1971, s. 2, 6 [dostęp 2018-09-12] .
- ↑ Maszyna cyfrowa ZAM-2. Budowa, programowanie, zastosowania / Konrad Fiałkowski / Katalog HINT [online], hint.org.pl, s. 51-52 [dostęp 2018-09-12] (pol.).
- ↑ COMPUTERS AND CENTERS, OVERSEAS: 6. Instytut Maszyn Matematycznych, ZAM 2, Warsaw, Poland, [w:] Gordon DG.D. Goldstein Gordon DG.D., DIGITAL COMPUTER NEWSLETTER. VOLUME 16, NUMBER 1, styczeń 1964, s. 22 [dostęp 2018-09-12] [zarchiwizowane z adresu 2018-06-03] (ang.).
- ↑ WładysławW. Turski WładysławW., Some Results of Research on Automatic Programming in Eastern Europe, Franz L.F.L. Alt, MorrisM. Rubinoff (red.), t. 5, Elsevier, 1964, s. 23–108 [dostęp 2023-07-09] (ang.).
- ↑ W czasach świetności języka najpopularniejszą formą otrzymywania informacji zwrotnych z komputera było drukowanie ich za pomocą drukarki.
- ↑ System automatycznego kodowania SAKO / Leon Łukaszewicz, Antoni Mazurkiewicz / Katalog HINT [online], hint.org.pl [dostęp 2018-09-12] (pol.).
- p
- d
- e
1GL | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2GL/ Język drugiej generacji/ Asembler |
| ||||||||||||||
3GL / Język trzeciej generacji |
| ||||||||||||||
4GL/ Język czwartej generacji/ Język dziedzinowy |
| ||||||||||||||
5GL/Logiczne |
| ||||||||||||||
Ezoteryczne | |||||||||||||||
Inne |
|