Планкалкюль

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Планкалкюль (нем. Plankalkül исчисление планов), — первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1945 году. В переводе на русский это название соответствует выражению «планирующее исчисление».

Язык разрабатывался как основное средство для программирования компьютера Z4, однако был пригоден и для работы с другими похожими на него вычислительными машинами.

Планкалкюль поддерживал операции назначения, вызов подпрограмм, условные операторы, итерационные циклы, арифметику с плавающей запятой, массивы, иерархические структуры данных, утверждения, обработку исключений и многие другие вполне современные средства языков программирования.

Цузе описал возможности языка Планкалкюль в отдельной брошюре. Там же он описал возможное применение языка для сортировки чисел и выполнения арифметических операций. Кроме того, Цузе составил 49 страниц программ на Планкалкюле для оценки шахматных позиций. Позже он писал, что ему было интересно проверить эффективность и универсальность Планкалкюля в отношении шахматных задач.

Работа в отрыве от других специалистов Европы и США привела к тому, что лишь незначительная часть его работы стала известной. Полностью работа Цузе была издана лишь в 1972 году. И вполне возможно, что если бы язык Планкалкюль стал известен раньше, пути развития компьютерной техники и программирования могли бы измениться.

Вычислительные машины Цузе были не электронными, а электро-механическими, поэтому им был не нужен компилятор. Тем не менее первый компилятор для языка Планкалкюль был создан в Свободном университете Берлина в 2000 году, через пять лет после смерти Конрада Цузе.

Приведённый ниже пример показывает программу, которая вычисляет максимум для трёх переменных при помощи вызова функции max:

P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) => R0[:8.0]
max(V0[:8.0],V1[:8.0]) => Z1[:8.0]
max(Z1[:8.0],V2[:8.0]) => R0[:8.0]
END
P2 max (V0[:8.0],V1[:8.0]) => R0[:8.0]
V0[:8.0] => Z1[:8.0]
(Z1[:8.0] < V1[:8.0]) -> V1[:8.0] => Z1[:8.0]
Z1[:8.0] => R0[:8.0]
END

Литература

Ссылки

da:Plankalkül

de:Plankalkül el:Plankalkül en:Plankalkül es:Plankalkül fr:Plankalkül hu:Plankalkül it:Plankalkül ja:プランカルキュール nl:Plankalkül no:Plankalkül pt:Plankalkül sl:Plankalkül sv:Plankalkül

Личные инструменты

Served in 0.158 secs.