монография «Семантическое будущее вычислительных технологий»

Состав работы:


Идея работы


 

Онтология «условий ассоциации»


 

Единый модуль интерфейса и результатов работы алгоритма


 

Общая типология совершаемых алгоритмами действий


 

Семантические форматы


 

Типы алгоритмических инструментов


 

Концепт элементарного оператора - процедура «запись»


 

Применение средств обработки данных


 

«Алгоритмически чуждые» структуры агрегирования данных


 

Алгоритм с точки зрения «узкой» и «широкой» интерпретации


 

Реальный алгоритм - единая схема иерархии и вложенности


 

Гипотетическая «семантически строгая» запись


 

Фиксированные алгоритмические комплексы – «устройства»


 

Унификация системы операций


 

От «записей» к хранилищам записей


 

«Состояния настройки» или ситуативные атрибуты модулей


 

Библиотечная организация коллекции процедур


 

Условная лексическая среда «повести о вызове и реакции»


 

Два вероятных примера «программного нарратива»


 

Возможная рационализация «программного нарратива»


 

«Альтернативная философия» алгоритма


 

Даруемая алгоритмической системой «свобода творчества»


 

Два вида алгоритмической семантики - системная и внешняя


 

Семантическое будущее вычислительных технологий

§18. Два вероятных примера «программного нарратива»

Шухов А.

Вслед определенному в §17 функционалу здесь подобает представить и примерные варианты «повествовательного» описания программ, если в качестве прототипа использовать компактные учебные программы. Тогда в качестве источника текста программы для перевода «на повествовательный» можно взять программу из пособия Р. Хершеля «Turbo Pascal 4,0/5,0», в данном случае - программу «вывод всех целых положительных чисел в порядке их возрастания». Программа выводит все числа, отсутствующие среди последовательно вводимых в порядке возрастания целых чисел (0 в этой программе означает конец ввода). Исходный текст данной программы выглядит так:

program outp_absent_num;
var ein, aus: integer;
begin
aus := 1;

writeln (‘новое число (конец = 0):’);
readln(ein); writeln (‘считано:’, ein:3);
while ein <> 0 do

begin

writeln (‘отсутствуют:’);
while aus < ein do
begin writeln(aus);
aus := aus +1;
end;
writeln (‘новое число (конец = 0):’);
readln(ein); aus := aus +1;
writeln (‘считано:’, ein:3);

end;

end.

На гипотетическом «выразительном» языке программирования эту программу можно представить тогда посредством такой картины:

рама ‘program outp_absent_num’

агрегат ‘основной’ активизация
узел ‘первый’
узел ‘второй’

завершить

агрегат ‘основной’

учредить
сведения ‘ein’ нелокальный
сведения ‘aus’ нелокальный

получить сведения ‘aus’ значение ‘1’
наэкран ‘новое число (конец = 0):’
получить сведения ‘ein’
наэкран ‘считано:’ раскрыть сведения ‘ein’:3
сторож сведения ‘aus’=0 узел ‘первый’ активизация

узел ‘первый’

наэкран ‘отсутствуют:’
турникет сведения ‘ein’ =< сведения ‘aus’ выполнение узел ‘второй’
на экран ‘новое число (конец = 0):’
получить сведения ‘ein’
добавить сведения ‘aus’ значение ‘1’
наэкран ‘считано:’
раскрыть сведения ‘ein’:3

узел ‘второй’

раскрыть сведения ‘aus’
добавить сведения ‘aus’ значение ‘1’

Более того, в целях доказательства универсальности предлагаемого способа «перевода» в формат повествования полезно представить и еще какой-нибудь «вариант перевода» программы, также заимствованной в названном выше источнике. Эта программа считывает число более 0 и менее 10, и заменяет звездочками * все числа в диапазоне 0…99, сумма которых или равна данному числу, или ему равно число цифр в этих числах, или числа делимые на исходное число.

program digitgame;
uses crt;
var i, n, zehner, einer, quersumme, teiler: integer;

begin
clrscr;

writeln (‘Введите число n из интервала 0 < n < 10 ’);
read(n);
clrscr;
for i := 0 to 99 do

begin

zenher := i div 10;
einer := i mod 10;
guersumme := zenher + einer;
teiler := i mod n;
if i mod 10 = 0 then writeln;
if (zenher = n) or (einer = n) or
(quersumme = n) or (teller = 0)
then write (‘*’:4)
else write (‘i’:4);

end;
readln;

end.

В том виде, в котором эта программа позволяет представление на предполагаемом «повествовательном» языке программирования приведенный пример можно перестроить в вид следующей формы записи:

рама ‘digitgame’

агрегат ‘основной’ активизация
узел ‘первый’

завершить

агрегат ‘основной’

учредить
сведения ‘i’ нелокальный
сведения ‘n’ нелокальный
сведения ‘zehner’
сведения ‘einer’
сведения ‘quersumme’
сведения ‘teiler’

очистить экран
наэкран ‘Введите число n из интервала 0 < n < 10 ’
получить сведения ‘n’
очистить экран
обработчик для всех ‘i’ 0 < n < 99 выполнение узел ‘первый’

узел ‘первый’

добавить сведения ‘zenher’ частное от деления ‘i’ на 10
добавить сведения ‘einer’ остаток от деления ‘i’ на 10
добавить сведения ‘guersumme’ сумма ‘zenher’ и ‘einer’
добавить сведения ‘teiler’ остаток от деления ‘i’ на ‘n’
турникет остаток от деления ‘i’ на 10 = 0 наэкран
турникет ‘zenher’ = ‘n’, ‘einer’ = ‘n’, ‘guersumme’ = ‘n’, ‘teiler’ = 0
наэкран ‘*’:4
при невыпуске наэкран ‘i’:4

 

Следующий параграф: Возможная рационализация «программного нарратива»

 

«18+» © 2001-2023 «Философия концептуального плюрализма». Все права защищены.
Администрация не ответственна за оценки и мнения сторонних авторов.

eXTReMe Tracker