<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BB%D0%B0%D0%BD%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%8E%D0%BB%D1%8C</id>
	<title>Планкалькюль - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BB%D0%B0%D0%BD%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%8E%D0%BB%D1%8C"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9F%D0%BB%D0%B0%D0%BD%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%8E%D0%BB%D1%8C&amp;action=history"/>
	<updated>2026-07-17T12:36:16Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9F%D0%BB%D0%B0%D0%BD%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%8E%D0%BB%D1%8C&amp;diff=1635&amp;oldid=prev</id>
		<title>imported&gt;DenisKrivosheev в 23:38, 26 января 2026</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9F%D0%BB%D0%B0%D0%BD%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%8E%D0%BB%D1%8C&amp;diff=1635&amp;oldid=prev"/>
		<updated>2026-01-26T23:38:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Язык программирования&lt;br /&gt;
 |name                   = Планкалькюль&lt;br /&gt;
 |paradigm               = [[Процедурное программирование|Процедурный]]&lt;br /&gt;
 |year                   = 1948&lt;br /&gt;
 |designer               = [[Цузе, Конрад|Конрад Цузе]]&lt;br /&gt;
 |implementations        = &amp;#039;&amp;#039;Plankalkül-Compiler&amp;#039;&amp;#039; ([[Свободный университет Берлина]], 2000)&lt;br /&gt;
 |influenced_by          = [[Begriffsschrift]]&lt;br /&gt;
 |influenced             = [[Superplan]] [[Рутисхаузер, Хайнц|Хайнца Рутисхаузера]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Планкалькюль&amp;#039;&amp;#039;&amp;#039; ({{lang-de|Plankalkül}} (/{{IPA|ˈplaːnkalkyːl}}/) — «запланированные вычисления»{{нет АИ|26|9|2025}}) — первый в мире [[высокоуровневый язык программирования]], созданный [[Германия|немецким]] инженером [[Конрад Цузе|Конрадом Цузе]] в 1943—1945 году и впервые опубликованный в 1948 году. {{Нет АИ 2|Прямой перевод названия как «запланированные вычисления» соответствует понятию «программирование».|26|9|2025}}&lt;br /&gt;
&lt;br /&gt;
Язык разрабатывался как основное средство для программирования [[компьютер]]а [[Z4 (компьютер)|Z4]], однако был пригоден и для работы с другими похожими на него [[Вычислительная машина|вычислительными машинами]].&lt;br /&gt;
&lt;br /&gt;
== История написания ==&lt;br /&gt;
Несмотря на то, что разработка способов программирования проектируемых им вычислительных машин велась изобретателем в военное время, после окончания [[Вторая мировая война|Второй мировой войны]] он оказался лишён своей прежней материально-технической базы и, как следствие, возможности осуществления [[Опытно-конструкторские работы|опытно-конструкторских работ]], которые он вёл с 1936 года. С учётом того, что союзническая оккупационная администрация не позволяла проведения каких-либо несанкционированных исследований, Цузе перешёл к сугубо [[Теоретическая информатика|теоретическим]], [[Фундаментальные исследования|фундаментальным исследованиям]]. Одним из направлений этих исследований и стал [[язык программирования]] «Планкалькюль»&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Zuse K.&amp;#039;&amp;#039; The Plankalkül. — München/Wien: R. Oldenbourg Verlag, 1989. — P. 5 — 244 p. — ISBN 3-486-21288-5.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Технические свойства и возможности ==&lt;br /&gt;
Планкалькюль поддерживал операции назначения, вызов [[Подпрограмма|подпрограмм]], [[Условный оператор|условные операторы]], [[Итерация|итерационные]] [[Цикл (программирование)|циклы]], арифметику с плавающей запятой, [[Массив (программирование)|массивы]], иерархические структуры данных, утверждения, [[обработка исключений|обработку исключений]] и многие другие вполне современные средства [[Язык программирования|языков программирования]].&lt;br /&gt;
&lt;br /&gt;
== Сопроводительная документация ==&lt;br /&gt;
Цузе описал возможности языка Планкалькюль в отдельной брошюре. Там же он описал возможное применение языка для сортировки чисел и выполнения [[Арифметические операции|арифметических операций]]. Кроме того, Цузе составил 49 страниц [[Компьютерная программа|программ]] на Планкалькюле для оценки [[Шахматы|шахматных]] позиций. Позже он писал, что ему было интересно проверить эффективность и универсальность Планкалькюля в отношении шахматных задач.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
Оригинальная нотация была двумерной. Для первой реализации в 1990-х была разработана линейная нотация. Вот пример присваивания A[5] = A[4]+1&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 | A + 1 =&amp;gt; A&lt;br /&gt;
V| 4        5&lt;br /&gt;
S| 1.n      1.n&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Здесь V — это строка для индексов, S — строка для задания типов данных, 1.n — обозначает целое число размером n бит.&lt;br /&gt;
Следующий пример показывает программу (в линейной записи), которая вычисляет максимум из трёх переменных вызовом функции max3:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) → R0[:8.0]&lt;br /&gt;
max(V0[:8.0],V1[:8.0]) → Z1[:8.0]&lt;br /&gt;
max(Z1[:8.0],V2[:8.0]) → R0[:8.0]&lt;br /&gt;
END&lt;br /&gt;
P2 max (V0[:8.0],V1[:8.0]) → R0[:8.0]&lt;br /&gt;
V0[:8.0] → Z1[:8.0]&lt;br /&gt;
(Z1[:8.0] &amp;lt; V1[:8.0]) → V1[:8.0] → Z1[:8.0]&lt;br /&gt;
Z1[:8.0] → R0[:8.0]&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Обнародование ==&lt;br /&gt;
Работа в отрыве от других специалистов [[Европа|Европы]] и [[Соединённые Штаты Америки|США]] привела к тому, что лишь незначительная часть исследований Цузе стала известной. Полностью его работа была издана лишь в [[1972 год]]у. Если бы язык «Планкалькюль» стал известен раньше, путь развития [[Компьютерная техника|компьютерной техники]] и [[Программирование|программирования]] мог измениться.&lt;br /&gt;
&lt;br /&gt;
== Применение ==&lt;br /&gt;
Цузе не создал каких-либо программно-аппаратных средств под реализацию разработанного им языка. Первый [[компилятор]] языка «Планкалькюль» (для современных компьютеров) был создан в [[Свободный университет Берлина|Свободном университете Берлина]] в [[2000 год]]у, через пять лет после смерти Цузе.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* Zuse K. Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben // Arch. Math. — 1948. — Vol. 1. — S. 441—449. — DOI: 10.1007/BF02038459.&lt;br /&gt;
* Zuse K. [https://web.archive.org/web/20120210150041/http://www.zib.de/zuse/English_Version/Inhalt/Texte/Chrono/40er/Pdf/0233.pdf Der Plankalkül] // Berichte der Gesellschaft für Mathematik und Datenverarbeitung, № 63. — Bonn: Gesellschaft für Mathematik und Datenverarbeitung, 1972. — 285 S.&lt;br /&gt;
* Giloi W. K. [http://csdl.computer.org/comp/mags/an/1997/02/a2017abs.htm Konrad Zuse’s Plankalkül. The First High-Level, «non von Neumann» Programming Language] // IEEE Annals of the History of Computing. — 1997. — Vol. 19 — № 2. — P. 17—24. — DOI: 10.1109/85.586068.&lt;br /&gt;
* Rojas R. et al. [https://web.archive.org/web/20021128054813/http://www.zib.de/zuse/Inhalt/Programme/Plankalkuel/Plankalkuel-Report/Plankalkuel-Report.htm Plankalkül: The First High-Level Programming Language and its Implementation] // Technical Report B-3/2000. — February 2000.&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [https://web.archive.org/web/20050907132321/http://irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/plank.html Описание языка Планкалькюль на сайте Хорнста Цузе в Техническом университете г. Берлин]{{ref|en}}&lt;/div&gt;</summary>
		<author><name>imported&gt;DenisKrivosheev</name></author>
	</entry>
</feed>