Планкалкюль (нім. Plankalkül — числення планів) — перша у світі мова програмування високого рівня, створена німецьким інженером Конрадом Цузе в 1943—1945 роках і вперше опублікована в 1948 році.
Планкалкюль | |
---|---|
Парадигма | Процедурна |
Дата появи | 1948 |
Творці | Конрад Цузе |
Розробник | Конрад Цузе |
Основні реалізації | Plankalkül-Compiler Вільний університет Берліна в 2000 |
Під впливом від | [de] |
Вплинула на | [en] [en] |
|
Історія
У справі створення обчислювальних машин Цузе був самоуком, і розробляв їх без знання про інші механічні машини, що існували на той час. Для опису логічних схем Цузе винайшов свої власні діаграми і систему нотації, яку він назвав комбінаторикою умов (нім. Bedingungskombinatorik). У 1938-му, після закінчення роботи над Z1, Цузе з'ясував, що числення, яке він незалежно вигадав, уже існує і називається пропозиційним численням .Проте Цузе мав на меті дещо виразніше (пропозиційне числення не повне за Тюрінгом і не здатне описувати навіть прості арифметичні обчислення). Тому в травні 1939 року він описав свій задум розробити те, що невдовзі стане «Численням планів». У своєму нотатнику Цузе залишив такий запис:
Пів року поступового вступу до формальної логіки. Я перевідкрив там багато моїх попередніх думок. (Комбінаторика умов = логіка висловлень; вчення про інтервали = теорія ґраток). Зараз я планую створення "Числення планів". Для цього треба роз'яснити ряд понять. Оригінальний текст (нім.) Seit etwa einem halben Jahr allmähliches Einführen in die formale Logik. Viele meiner früheren Gedanken habe ich dort wieder gefunden. (Bedingungskombinatorik = Aussagenlogik; Lehre von den Intervallen = Gebietenkalkül). Ich plane jetzt die Aufsetzung des 'Plankalküls'. Hierzu sind eine Reihe von Begriffen zu klären. | ||
— Конрад Цузе, запис в нотатнику |
Працюючи над своєю докторською дисертацією, Цузе розробив першу відому формальну систему запису алгоритмів, здатну описати розгалуження і цикли У 1942 році він почав писати на Plankalkül програму гри в шахи. У 1944 році Цузе зустрічався з німецьким логіком і філософом [en], який висловив захоплення тим, як Цузе застосував числення. У 1945 році Цузе описав Plankalkül в однойменній книжці, проте поразка Німеччини в Другій світовій війні завадила йому опублікувати рукопис.
Оригінальний опис мови вражає виразними конструкціями і схожістю на сучасні мови, тому складається враження, що вона створена набагато пізніше 1945 року. Єдиними на час створення Plankalkül працюючими комп'ютерами були ENIAC та Harvard Mark I, жоден з яких не використовував компілятор чи транслятор, а ENIAC треба було перепрограмовувати на кожну нову задачу, переставляючи з'єднання кабелів.
Хоча більшість комп'ютерів Цузе було знищено під час бомбардувань, йому вдалося врятувати один. У травні 1945 Конрад Цузе зі своїм релейним комп'ютером Z4 переїхав із Берліна в альпійське село [de]. Не маючи змоги продовжувати конструювання комп'ютерів, учений перейшов до суто теоретичних досліджень і присвятив час розробці високорівневої моделі програмування і необхідної для цього мови. У 1948 році він опублікував статтю в [en] та виступив із доповіддю на щорічній зустрічі GAMM.
Робота у відриві від інших фахівців Європи і США призвела до того, що лише незначна частина його роботи стала відомою. Повністю роботу Цузе було видано лише в 1972 році.
Сам Цузе не створив жодних програмно-апаратних засобів під реалізацію розробленої ним мови. Перший компілятор мови Планкалкюль (див. Plankalkül 2000) було створено у Вільному університеті Берліна тільки в 2000 році, через п'ять років після смерті Конрада Цузе.
Опис
Планкалкюль мала низку особливостей, притаманних сучасним мовам програмування високого рівня:
- операції присвоєння
- виклик підпрограм (але не рекурсію)
- умовні переходи
- цикли
- арифметику з рухомою комою
- масиви та ієрархічні структури даних
- оброблення винятків.[]
Типи даних
Єдиним примітивним типом даних у Plankalkül є булевий (в авторській термінології нім. Ja-Nein-Werte, так-ні значення). Він позначається ідентифікатором . Всі інші типи є композитними і будуються з примітивного за допомогою «масивів» і «записів». Так, послідовність із восьми біт (яку в сучасній термінології можна вважати байтом) позначається як , а булева матриця розміром на — .
Допускається також скорочена форма запису замість .
Допустимими значеннями типу є і . Послідовність із 4 біт можна записати, наприклад, як L00L, але коли вона позначає числа, можна використовувати десяткове позначення 9.
Запис із двох компонентів і записується як .
Тип (нім. Art) у Plankalkül складається з трьох елементів: структури і її складових (нім. Struktur), прагматичного змісту (нім. Typ) і можливого обмеження (нім. Beschränkung) для значень типу.
Конрад Цузе наводить багато прикладів із шахової теорії:
Булеве значення (біт) | ||
Послідовність із n біт | ||
Координата дошки | ||
Клітинка дошки (наприклад L00, 00L позначає e2 в алгебраїчній нотації) | ||
Фігура (наприклад 00L0 — білий король) | ||
Фігура на дошці (наприклад, L00, 00L; 00L0 — білий король стоїть на клітинці e2) | ||
Стан дошки (розташування фігур, послідовний опис стану всіх 64 клітинок дошки) | ||
Ігрова ситуація ( — розташування фігур, — чий хід, — можливість здійснити кожну з 4 рокіровок, A2 — дані про клітинку на яку можна робити взяття на проході |
Ідентифікатори
Ідентифікатор — це буква за якою йде число. Ідентифікатори для змінних бувають таких видів:
- вхідні дані (нім. Eingabewerte, Variablen) — їх позначають буквою V;
- проміжні дані (нім. Zwischenwerte) — позначають буквою Z;
- константи (нім. Constanten) — позначають буквою С;
- вихідні дані (нім. Resultatwerte) — позначають буквою R.
Конкретна змінна певного типу унікально ідентифікується за номером, який записується під нею. Наприклад:
- , , і т. ін.
Програми і підпрограми позначаються буквою P. Наприклад , .
Результат роботи підпрограми збережений нею в змінну доступний для інших підпрограм в змінній , і читання цієї змінної також передбачає виклик відповідної підпрограми.
Доступ до компонентів даних
Plankalkül дає змогу отримати доступ до окремих елементів змінної, використовуючи «індекс компоненти» (нім. Komponenten-Index). Якщо програма, наприклад, отримує на вхід у змінній значення типу (ігрова ситуація), то — дає стан дошки, — фігуру на i-й клітинці, а j-й біт і-ї фігури.
У сучасних мовах програмування це відповідає нотації V0[0], V0[0][i], V0[0][i][j] (хоча для доступу до окремого біта в сучасних мовах програмування зазвичай використовують бітові маски).
Двовимірний синтаксис
Через те що тип змінної, її номер та індекси компонентів записуються один над одними, для запису кожної інструкції в Plankalkül потрібно кілька рядків.
У першому рядку завжди вказано тип змінної, далі — номер змінної, позначений буквою V (нім. Variablen-Index), далі індекси підкомпонентів, позначені K (нім. Komponenten-Index), а потім індекс структури (нім. Struktur-Index), позначений літерою S, який описує тип змінної. Тип не обов'язково вказувати, але Цузе зазначає що це полегшує читання і розуміння програми.
У рядку типи і можна скорочувати до і відповідно.
Приклади:
змінна V3 — це список з пар значень типу | |
Можна також не наводити рядок K, якщо він порожній. Тому цей запис еквівалентний наведеному вище. | |
Значення восьмого біта (7), першої (нульової) пари, і-того елементу змінної V3, має булевий тип (). |
Індексом може бути не тільки константа, а й інша змінна; це позначається за допомогою ліній, що вказують, у який індекс компонентів треба підставити значення змінної:
Z5-тий елемент змінної V3. Еквівалентно виразу V3[Z5] в сучасних мовах програмування. |
Присвоєння
Цузе ввів у своє числення невідомий для математики символ — присвоєння (нім. Ergibt-Zeichen), «». Саме використання поняття присвоєння означає перехід від математичного мислення до інформатики.
Цузе писав, що запис
аналогічний більш традиційній для математики рівності:
Заведено вважати, що Конрад Цузе спочатку використовував для присвоєння символ , і почав використовувати під впливом [en]. Кнут і Пардо вважають що Конрад Цузе завжди писав , а впровадили видавці твору «Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben». На конференції [en] у Цюриху учасники з Європи пропонували використати для оператора присвоєння символ, впроваджений Цузе, але американська делегація наполягла на :=
.
Також варто звернути увагу на те, що змінна для результату операції присвоєння, на відміну від більшості сучасних мов, записується справа від оператора. Перше присвоєння значення змінній вважається оголошенням.
Оператори
Зліва від оператора присвоєння записується вираз (нім. Ausdrücke), що описує значення, яке треба присвоїти змінній. Вирази можуть використовувати арифметичні оператори, булеві оператори й оператори порівняння ( тощо).
Булеві оператори застосовуються до типу :
- — заперечення
- — диз'юнкція
- — кон'юнкція
- — обернення
- — [en]
- — виняткова диз'юнкція
Операція піднесення до степеня позначається подібно до операції індексування — за допомогою ліній:
Цей розділ потребує доповнення. (березень 2020) |
Виклик підпрограм
Цей розділ потребує доповнення. (березень 2020) |
Опис програми
Цей розділ потребує доповнення. (березень 2020) |
Plankalkül 2000
Для мови Plankalkül важко написати компілятор чи редактор, тому що вона використовує незвичну для сучасних мов двовимірну нотацію, а також опис мови містить деякі логічні суперечності. Тому команда дослідників Вільного університету Берліна під керівництвом Рауля Рохаса розробила підмножину мови Plankalkül та компілятор для неї, яку вони назвали «Plankalkül 2000».
Примітки
- https://web.stanford.edu/class/cs208e/cgi-bin/main.cgi/static/lectures/17-ProgrammingEarlyDays/EarlyProgrammingLanguages.pdf
- Rojas та ін., 2004, с. 3.
- Why is propositional logic not Turing complete?.
- Hellige, 2004, с. 216.
- Knuth та Pardo, 1976, с. 9.
- Giloi, 1997, с. 17-24.
- Hellige, 2004, с. 56.
- Hellige, 2004, с. 216-217.
- Petzold, 1992.
- Zuse, 1945.
- Rojas та ін., 2000, с. 3.
- Zuse, Konrad. The Plankalkül. (англ.) — München/Wien: R. Oldenbourg Verlag, 1989. — P.5 — 244 p. — (Berichte der Gesellschaft für Mathematik und Datenverarbeitung; Nr. 175) — ISSN 0533-9480 — .
- Bauer та Wössner, 1972, с. 678.
- Hellige, 2004, с. 89.
- Rojas та ін., 2000, с. 2.
- Bauer та Wössner, 1972, с. 679.
- Bauer та Wössner, 1972, с. 680.
- Zuse, 1945, с. 10.
- Bauer та Wössner, 1972, с. 681.
- Knuth та Pardo, 1976, с. 14.
- Bauer та Wössner, 1972, с. 682.
- Zuse, 1945, с. 49.
- Zuse, 1945, с. 45.
Література
- Zuse, Konrad (1945). Der Plankalkül (PDF). Архів оригіналу за 10 лютого 2012.
- Zuse, Konrad (1948/49). «Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben». Arch. Math. 1, pp. 441—449, 1948/49.
- Der Plankalkül. / Zuse, Konrad / Gesellschaft für Mathematik und Datenverarbeitung. / BMBW — GMD — 63 — 1972. — Nr.63.(нім.)
- ; Wössner, Hans (1972). The "Plankalkül" of Konrad Zuse: A Forerunner of Today's Programming Languages (PDF) (англ.). Архів оригіналу (pdf) за 20 лютого 2009.(HTML версія)
- Knuth, Donald Ervin; Pardo, Luis Trabb (1976). The Early Development of Programming Languages (PDF). Stanford University, Computer Science Department. Архів оригіналу (PDF) за 12 вересня 2017. Процитовано 28 грудня 2017.
- Petzold, Hartmut (1992). Moderne Rechenkünstler. Die Industrialisierung der Rechentechnik in Deutschland. München: C.H. Beck Verlag.
- Giloi, Wolfgang (1997). Konrad Zuse's Plankalkül: The First High-Level "non von Neumann" Programming Language. IEEE Annals of the History of Computing. 19 (2). doi:10.1109/85.586068.
- Metropolis, Nicholas. History of Computing in the Twentieth Century. Elsevier. ISBN .
- Rojas, Raúl; Göktekin, Cüneyt; Friedland, Gerald; Krüger, Mike (2000). Plankalkül: The First High-Level Programming Language and its Implementation (PDF) (англ.). Архів оригіналу за 28 листопада 2002.
- Rojas, Raúl; Göktekin, Cüneyt; Friedland, Gerald; Krüger, Mike; Scharf, Ludmila (2004). Konrad Zuses Plankalkül – Seine Genese und eine moderne Implementierung (PDF). doi:10.1007/978-3-642-18631-8_9. Архів оригіналу (PDF) за 1 травня 2006.
- Hellige, Hans Dieter (ed.) (2004). Geschichten der Informatik. Visionen, Paradigmen, Leitmotive. Berlin: Springer. ISBN .
- ENCYCLOPEDIA OF COMPUTERS AND COMPUTER HISTORY http://page.mi.fu-berlin.de/rojas/pub/computer_history/m_z/plankalkuel.pdf
Посилання
- Берлінський центр інформатики ім. Конрада Цузе(нім.)
- Список літератури з мови Планкалкюль(нім.)
- Опис мови Планкалкюль на сайті Хорнста Цузе в Технічному університеті м. Берлін (англ.)
- https://github.com/timfel/plankalkul2ruby
- https://github.com/Hovestar/Plankalkul
- https://www.chessprogramming.org/Konrad_Zuse#Plankalk.C3.BCl_and_Chess
- http://www.cs.ru.nl/bachelors-theses/2010/Bram_Bruines___0213837___Plankalkul.pdf
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Plankalkyul nim Plankalkul chislennya planiv persha u sviti mova programuvannya visokogo rivnya stvorena nimeckim inzhenerom Konradom Cuze v 1943 1945 rokah i vpershe opublikovana v 1948 roci PlankalkyulParadigmaProcedurnaData poyavi1948TvorciKonrad CuzeRozrobnikKonrad CuzeOsnovni realizaciyiPlankalkul Compiler Vilnij universitet Berlina v 2000Pid vplivom vidBegriffsschrift de 1 Vplinula naSuperplan en Gajnca Rutisgauzera en Mediafajli u Vikishovishi Zmist 1 Istoriya 2 Opis 2 1 Tipi danih 2 2 Identifikatori 2 3 Dostup do komponentiv danih 2 4 Dvovimirnij sintaksis 2 5 Prisvoyennya 2 6 Operatori 2 7 Viklik pidprogram 2 8 Opis programi 3 Plankalkul 2000 4 Primitki 5 Literatura 6 PosilannyaIstoriyared U spravi stvorennya obchislyuvalnih mashin Cuze buv samoukom i rozroblyav yih bez znannya pro inshi mehanichni mashini sho isnuvali na toj chas Dlya opisu logichnih shem Cuze vinajshov svoyi vlasni diagrami i sistemu notaciyi yaku vin nazvav kombinatorikoyu umov nim Bedingungskombinatorik U 1938 mu pislya zakinchennya roboti nad Z1 Cuze z yasuvav sho chislennya yake vin nezalezhno vigadav uzhe isnuye i nazivayetsya propozicijnim chislennyam 2 Prote Cuze mav na meti desho viraznishe propozicijne chislennya ne povne za Tyuringom i ne zdatne opisuvati navit prosti arifmetichni obchislennya 3 Tomu v travni 1939 roku vin opisav svij zadum rozrobiti te sho nevdovzi stane Chislennyam planiv 4 U svoyemu notatniku Cuze zalishiv takij zapis nbsp Piv roku postupovogo vstupu do formalnoyi logiki Ya perevidkriv tam bagato moyih poperednih dumok Kombinatorika umov logika vislovlen vchennya pro intervali teoriya gratok Zaraz ya planuyu stvorennya Chislennya planiv Dlya cogo treba roz yasniti ryad ponyat Originalnij tekst nim Seit etwa einem halben Jahr allmahliches Einfuhren in die formale Logik Viele meiner fruheren Gedanken habe ich dort wieder gefunden Bedingungskombinatorik Aussagenlogik Lehre von den Intervallen Gebietenkalkul Ich plane jetzt die Aufsetzung des Plankalkuls Hierzu sind eine Reihe von Begriffen zu klaren nbsp Konrad Cuze zapis v notatniku 2 nbsp Tablichka na budinku v Gintershtajni de v yakomu Cuze pracyuvav nad rozrobkoyu Plankalkul Pracyuyuchi nad svoyeyu doktorskoyu disertaciyeyu Cuze rozrobiv pershu vidomu formalnu sistemu zapisu algoritmiv 5 zdatnu opisati rozgaluzhennya i cikli 6 7 U 1942 roci vin pochav pisati na Plankalkul programu gri v shahi 8 U 1944 roci Cuze zustrichavsya z nimeckim logikom i filosofom Gajnrihom Shtolcom en yakij visloviv zahoplennya tim yak Cuze zastosuvav chislennya 9 U 1945 roci Cuze opisav Plankalkul v odnojmennij knizhci 10 prote porazka Nimechchini v Drugij svitovij vijni zavadila jomu opublikuvati rukopis 6 Originalnij opis movi vrazhaye viraznimi konstrukciyami i shozhistyu na suchasni movi tomu skladayetsya vrazhennya sho vona stvorena nabagato piznishe 1945 roku Yedinimi na chas stvorennya Plankalkul pracyuyuchimi komp yuterami buli ENIAC ta Harvard Mark I zhoden z yakih ne vikoristovuvav kompilyator chi translyator a ENIAC treba bulo pereprogramovuvati na kozhnu novu zadachu perestavlyayuchi z yednannya kabeliv 11 Hocha bilshist komp yuteriv Cuze bulo znisheno pid chas bombarduvan jomu vdalosya vryatuvati odin 12 U travni 1945 Konrad Cuze zi svoyim relejnim komp yuterom Z4 pereyihav iz Berlina v alpijske selo Gintershtajn de 13 Ne mayuchi zmogi prodovzhuvati konstruyuvannya komp yuteriv uchenij perejshov do suto teoretichnih doslidzhen i prisvyativ chas rozrobci visokorivnevoyi modeli programuvannya i neobhidnoyi dlya cogo movi 6 U 1948 roci vin opublikuvav stattyu v Archiv der Mathematik en ta vistupiv iz dopoviddyu na shorichnij zustrichi GAMM 14 Robota u vidrivi vid inshih fahivciv Yevropi i SShA prizvela do togo sho lishe neznachna chastina jogo roboti stala vidomoyu Povnistyu robotu Cuze bulo vidano lishe v 1972 roci Sam Cuze ne stvoriv zhodnih programno aparatnih zasobiv pid realizaciyu rozroblenoyi nim movi Pershij kompilyator movi Plankalkyul div Plankalkul 2000 bulo stvoreno u Vilnomu universiteti Berlina tilki v 2000 roci 15 cherez p yat rokiv pislya smerti Konrada Cuze Opisred Plankalkyul mala nizku osoblivostej pritamannih suchasnim movam programuvannya visokogo rivnya operaciyi prisvoyennya viklik pidprogram ale ne rekursiyu umovni perehodi cikli arifmetiku z ruhomoyu komoyu masivi ta iyerarhichni strukturi danih obroblennya vinyatkiv dzherelo Tipi danihred Yedinim primitivnim tipom danih u Plankalkul ye bulevij v avtorskij terminologiyi nim Ja Nein Werte tak ni znachennya Vin poznachayetsya identifikatorom S 0 displaystyle S0 nbsp Vsi inshi tipi ye kompozitnimi i buduyutsya z primitivnogo za dopomogoyu masiviv i zapisiv Tak poslidovnist iz vosmi bit yaku v suchasnij terminologiyi mozhna vvazhati bajtom poznachayetsya yak 8 S 0 displaystyle 8 times S0 nbsp a buleva matricya rozmirom m displaystyle m nbsp na n displaystyle n nbsp m n S 0 displaystyle m times n times S0 nbsp 16 Dopuskayetsya takozh skorochena forma zapisu S 1 n displaystyle S1 cdot n nbsp zamist n S 0 displaystyle n times S0 nbsp 16 Dopustimimi znachennyami tipu S 0 displaystyle S0 nbsp ye 0 displaystyle 0 nbsp i L displaystyle L nbsp Poslidovnist iz 4 bit mozhna zapisati napriklad yak L00L ale koli vona poznachaye chisla mozhna vikoristovuvati desyatkove poznachennya 9 16 Zapis iz dvoh komponentiv s displaystyle sigma nbsp i t displaystyle tau nbsp zapisuyetsya yak s t displaystyle sigma tau nbsp 16 Tip nim Art u Plankalkul skladayetsya z troh elementiv strukturi i yiyi skladovih nim Struktur pragmatichnogo zmistu nim Typ i mozhlivogo obmezhennya nim Beschrankung dlya znachen tipu 16 Konrad Cuze navodit bagato prikladiv iz shahovoyi teoriyi 17 S 0 displaystyle S0 nbsp Buleve znachennya bit S 1 n displaystyle S1 cdot n nbsp Poslidovnist iz n bit A 1 displaystyle A1 nbsp S 1 3 displaystyle S1 cdot 3 nbsp Koordinata doshki A 2 displaystyle A2 nbsp 2 A 1 displaystyle 2 times A1 nbsp Klitinka doshki napriklad L00 00L poznachaye e2 v algebrayichnij notaciyi A 3 displaystyle A3 nbsp S 1 4 displaystyle S1 cdot 4 nbsp Figura napriklad 00L0 bilij korol A 4 displaystyle A4 nbsp A 2 A 3 displaystyle A2 A3 nbsp Figura na doshci napriklad L00 00L 00L0 bilij korol stoyit na klitinci e2 A 5 displaystyle A5 nbsp 64 A 3 displaystyle 64 times A3 nbsp Stan doshki roztashuvannya figur poslidovnij opis stanu vsih 64 klitinok doshki A 10 displaystyle A10 nbsp A 5 S 0 S 1 4 A 2 displaystyle A5 S0 S1 cdot 4 A2 nbsp Igrova situaciya A 5 displaystyle A5 nbsp roztashuvannya figur S 0 displaystyle S0 nbsp chij hid S 1 4 displaystyle S1 cdot 4 nbsp mozhlivist zdijsniti kozhnu z 4 rokirovok A2 dani pro klitinku na yaku mozhna robiti vzyattya na prohodi Identifikatorired Identifikator ce bukva za yakoyu jde chislo 16 Identifikatori dlya zminnih buvayut takih vidiv 18 vhidni dani nim Eingabewerte Variablen yih poznachayut bukvoyu V promizhni dani nim Zwischenwerte poznachayut bukvoyu Z konstanti nim Constanten poznachayut bukvoyu S vihidni dani nim Resultatwerte poznachayut bukvoyu R Konkretna zminna pevnogo tipu unikalno identifikuyetsya za nomerom yakij zapisuyetsya pid neyu 16 Napriklad V 0 displaystyle begin matrix V 0 end matrix nbsp Z 2 displaystyle begin matrix Z 2 end matrix nbsp C 31 displaystyle begin matrix C 31 end matrix nbsp i t in Programi i pidprogrami poznachayutsya bukvoyu P Napriklad P 13 displaystyle P13 nbsp P 5 7 displaystyle P5 cdot 7 nbsp 16 Rezultat roboti pidprogrami P 13 displaystyle P13 nbsp zberezhenij neyu v zminnu R 0 displaystyle begin matrix R 0 end matrix nbsp dostupnij dlya inshih pidprogram v zminnij R 17 0 displaystyle begin matrix R17 0 end matrix nbsp i chitannya ciyeyi zminnoyi takozh peredbachaye viklik vidpovidnoyi pidprogrami 17 Dostup do komponentiv danihred Plankalkul daye zmogu otrimati dostup do okremih elementiv zminnoyi vikoristovuyuchi indeks komponenti nim Komponenten Index Yaksho programa napriklad otrimuye na vhid u zminnij V 0 displaystyle begin matrix V 0 end matrix nbsp znachennya tipu A 10 displaystyle A10 nbsp igrova situaciya to V 0 0 displaystyle begin matrix V 0 0 end matrix nbsp daye stan doshki V 0 0 i displaystyle begin matrix V 0 0 cdot i end matrix nbsp figuru na i j klitinci a V 0 0 i j displaystyle begin matrix V 0 0 cdot i cdot j end matrix nbsp j j bit i yi figuri 17 U suchasnih movah programuvannya ce vidpovidaye notaciyi V0 0 V0 0 i V0 0 i j hocha dlya dostupu do okremogo bita v suchasnih movah programuvannya zazvichaj vikoristovuyut bitovi maski Dvovimirnij sintaksisred Cherez te sho tip zminnoyi yiyi nomer ta indeksi komponentiv zapisuyutsya odin nad odnimi dlya zapisu kozhnoyi instrukciyi v Plankalkul potribno kilka ryadkiv U pershomu ryadku zavzhdi vkazano tip zminnoyi dali nomer zminnoyi poznachenij bukvoyu V nim Variablen Index dali indeksi pidkomponentiv poznacheni K nim Komponenten Index a potim indeks strukturi nim Struktur Index poznachenij literoyu S yakij opisuye tip zminnoyi Tip ne obov yazkovo vkazuvati ale Cuze zaznachaye sho ce polegshuye chitannya i rozuminnya programi 19 U ryadku S displaystyle S nbsp tipi S 0 displaystyle S0 nbsp i S 1 displaystyle S1 nbsp mozhna skorochuvati do 0 displaystyle 0 nbsp i 1 displaystyle 1 nbsp vidpovidno 19 Prikladi V V 3 K S m 2 1 n displaystyle begin array r l amp V V amp 3 K amp S amp m times 2 times 1 cdot n end array nbsp zminna V3 ce spisok z m displaystyle m nbsp par znachen tipu S 1 n displaystyle S1 cdot n nbsp V V 3 S m 2 1 n displaystyle begin array r l amp V V amp 3 S amp m times 2 times 1 cdot n end array nbsp Mozhna takozh ne navoditi ryadok K yaksho vin porozhnij Tomu cej zapis ekvivalentnij navedenomu vishe V V 3 K i 0 7 S 0 displaystyle begin array r l amp V V amp 3 K amp i cdot 0 cdot 7 S amp 0 end array nbsp Znachennya vosmogo bita 7 pershoyi nulovoyi pari i togo elementu zminnoyi V3 maye bulevij tip S 0 displaystyle S0 nbsp Indeksom mozhe buti ne tilki konstanta a j insha zminna ce poznachayetsya za dopomogoyu linij sho vkazuyut u yakij indeks komponentiv treba pidstaviti znachennya zminnoyi nbsp Z5 tij element zminnoyi V3 Ekvivalentno virazu V3 Z5 v suchasnih movah programuvannya 19 Prisvoyennyared Cuze vviv u svoye chislennya nevidomij dlya matematiki simvol prisvoyennya nim Ergibt Zeichen displaystyle Rightarrow nbsp Same vikoristannya ponyattya prisvoyennya oznachaye perehid vid matematichnogo mislennya do informatiki 20 Cuze pisav sho zapis Z 1 Z V 1 1 displaystyle begin array r lll amp Z 1 amp Rightarrow amp Z V amp 1 amp amp 1 end array nbsp analogichnij bilsh tradicijnij dlya matematiki rivnosti Z 1 Z V 1 1 K i i 1 displaystyle begin array r lll amp Z 1 amp amp Z V amp 1 amp amp 1 K amp i amp amp i 1 end array nbsp Zavedeno vvazhati sho Konrad Cuze spochatku vikoristovuvav dlya prisvoyennya simvol nbsp i pochav vikoristovuvati displaystyle Rightarrow nbsp pid vplivom Gajnca Rutisgauzera en 19 Knut i Pardo vvazhayut sho Konrad Cuze zavzhdi pisav displaystyle Rightarrow nbsp a nbsp vprovadili vidavci tvoru Uber den allgemeinen Plankalkul als Mittel zur Formulierung schematisch kombinativer Aufgaben 20 Na konferenciyi ALGOL 58 en u Cyurihu uchasniki z Yevropi proponuvali vikoristati dlya operatora prisvoyennya simvol vprovadzhenij Cuze ale amerikanska delegaciya napolyagla na 19 Takozh varto zvernuti uvagu na te sho zminna dlya rezultatu operaciyi prisvoyennya na vidminu vid bilshosti suchasnih mov zapisuyetsya sprava vid operatora 20 Pershe prisvoyennya znachennya zminnij vvazhayetsya ogoloshennyam 19 Operatorired Zliva vid operatora prisvoyennya zapisuyetsya viraz nim Ausdrucke sho opisuye znachennya yake treba prisvoyiti zminnij Virazi mozhut vikoristovuvati arifmetichni operatori bulevi operatori j operatori porivnyannya displaystyle neq leq nbsp tosho 21 Bulevi operatori zastosovuyutsya do tipu S 0 displaystyle S0 nbsp 22 V 0 displaystyle begin matrix overline V 0 end matrix nbsp zaperechennya V V 0 1 displaystyle begin matrix V amp lor amp V 0 amp amp 1 end matrix nbsp diz yunkciya V V 0 1 displaystyle begin matrix V amp land amp V 0 amp amp 1 end matrix nbsp kon yunkciya V V 0 1 displaystyle begin matrix V amp rightarrow amp V 0 amp amp 1 end matrix nbsp obernennya V V 0 1 displaystyle begin matrix V amp sim amp V 0 amp amp 1 end matrix nbsp zaperechennya vinyatkovoyi diz yunkciyi en V V 0 1 displaystyle begin matrix V amp cancel sim amp V 0 amp amp 1 end matrix nbsp vinyatkova diz yunkciya Operaciya pidnesennya do stepenya poznachayetsya podibno do operaciyi indeksuvannya za dopomogoyu linij 23 nbsp Cej rozdil potrebuye dopovnennya berezen 2020 Viklik pidprogramred Cej rozdil potrebuye dopovnennya berezen 2020 Opis programired Cej rozdil potrebuye dopovnennya berezen 2020 Plankalkul 2000red Dlya movi Plankalkul vazhko napisati kompilyator chi redaktor tomu sho vona vikoristovuye nezvichnu dlya suchasnih mov dvovimirnu notaciyu a takozh opis movi mistit deyaki logichni superechnosti Tomu komanda doslidnikiv Vilnogo universitetu Berlina pid kerivnictvom Raulya Rohasa rozrobila pidmnozhinu movi Plankalkul ta kompilyator dlya neyi yaku voni nazvali Plankalkul 2000 15 Primitkired https web stanford edu class cs208e cgi bin main cgi static lectures 17 ProgrammingEarlyDays EarlyProgrammingLanguages pdf a b Rojas ta in 2004 s 3 Why is propositional logic not Turing complete Hellige 2004 s 216 Knuth ta Pardo 1976 s 9 a b v Giloi 1997 s 17 24 Hellige 2004 s 56 Hellige 2004 s 216 217 Petzold 1992 Zuse 1945 Rojas ta in 2000 s 3 Zuse Konrad The Plankalkul angl Munchen Wien R Oldenbourg Verlag 1989 P 5 244 p Berichte der Gesellschaft fur Mathematik und Datenverarbeitung Nr 175 ISSN 0533 9480 ISBN 3 486 21288 5 Bauer ta Wossner 1972 s 678 Hellige 2004 s 89 a b Rojas ta in 2000 s 2 a b v g d e zh i Bauer ta Wossner 1972 s 679 a b v Bauer ta Wossner 1972 s 680 Zuse 1945 s 10 a b v g d e Bauer ta Wossner 1972 s 681 a b v Knuth ta Pardo 1976 s 14 Bauer ta Wossner 1972 s 682 Zuse 1945 s 49 Zuse 1945 s 45 Literaturared Zuse Konrad 1945 Der Plankalkul PDF Arhiv originalu za 10 lyutogo 2012 Zuse Konrad 1948 49 Uber den allgemeinen Plankalkul als Mittel zur Formulierung schematisch kombinativer Aufgaben Arch Math 1 pp 441 449 1948 49 Der Plankalkul Zuse Konrad Gesellschaft fur Mathematik und Datenverarbeitung BMBW GMD 63 1972 Nr 63 nim Bauer Friedrich L Wossner Hans 1972 The Plankalkul of Konrad Zuse A Forerunner of Today s Programming Languages PDF angl Arhiv originalu pdf za 20 lyutogo 2009 HTML versiya Knuth Donald Ervin Pardo Luis Trabb 1976 The Early Development of Programming Languages PDF Stanford University Computer Science Department Arhiv originalu PDF za 12 veresnya 2017 Procitovano 28 grudnya 2017 Petzold Hartmut 1992 Moderne Rechenkunstler Die Industrialisierung der Rechentechnik in Deutschland Munchen C H Beck Verlag Giloi Wolfgang 1997 Konrad Zuse s Plankalkul The First High Level non von Neumann Programming Language IEEE Annals of the History of Computing 19 2 doi 10 1109 85 586068 Metropolis Nicholas History of Computing in the Twentieth Century Elsevier ISBN 978 1 4832 9668 5 Rojas Raul Goktekin Cuneyt Friedland Gerald Kruger Mike 2000 Plankalkul The First High Level Programming Language and its Implementation PDF angl Arhiv originalu za 28 listopada 2002 Rojas Raul Goktekin Cuneyt Friedland Gerald Kruger Mike Scharf Ludmila 2004 Konrad Zuses Plankalkul Seine Genese und eine moderne Implementierung PDF doi 10 1007 978 3 642 18631 8 9 Arhiv originalu PDF za 1 travnya 2006 Hellige Hans Dieter ed 2004 Geschichten der Informatik Visionen Paradigmen Leitmotive Berlin Springer ISBN 3 540 00217 0 ENCYCLOPEDIA OF COMPUTERS AND COMPUTER HISTORY http page mi fu berlin de rojas pub computer history m z plankalkuel pdfPosilannyared Berlinskij centr informatiki im Konrada Cuze nim Spisok literaturi z movi Plankalkyul nim Opis movi Plankalkyul na sajti Hornsta Cuze v Tehnichnomu universiteti m Berlin angl https github com timfel plankalkul2ruby https github com Hovestar Plankalkul https www chessprogramming org Konrad Zuse Plankalk C3 BCl and Chess http www cs ru nl bachelors theses 2010 Bram Bruines 0213837 Plankalkul pdf Otrimano z https uk wikipedia org w index php title Plankalkyul amp oldid 44151772