кт>>Какая там «полувизуальная система» в 1987 году? E>Э, а в чём проблемы с 1987 годом и визуальными системами? Ты какой-нибудь Нортон Коммандер видел?..
А ты его видел? Много там визуальных блок-схем?
E>Я тоже скептически отношусь Но это не значит, что у такого рода DSL совсем нет ниши...
Эта ниша у Дракона отсутсвует, как класс. Не, алгоритмы варки каши они всем форумом составлять умеют. А вот действительно алгоритмы — даже простейшие — вызывают у них огромные проблемы. Они неспособны даже сортировку пузырьком на нем понятную сделать, не то что полет Бурана.
Здравствуйте, Mamut, Вы писали:
M>А ты его видел? Много там визуальных блок-схем?
Ты, прости, на я в конце 1980-х на всяких машинках вроде Атари программировал. Там с гуями всё уже тогда очень хорошо было...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[24]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, Erop, Вы писали:
C>>Потому его авторы и не занимаются вообще ничем практическим. Полный ноль собственно нетривиального кода. E>А разве это не примерно то, на чём было написано ПО "Бурана"?..
Я не видел кода от БУРАНа. И никто тут не видел. Так что про него можно говорить что угодно.
Sapienti sat!
Re[25]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, Cyberax, Вы писали:
C>Я не видел кода от БУРАНа. И никто тут не видел. Так что про него можно говорить что угодно.
Кодов Бурана, конечно, у меня нет, но вот есть один из тестов проверки компилятора. По нему можно получить некоторое представление о том, как выглядели программы:
% ПРОВЕРКА ФУНКЦИЙ И ОПЕРАТОРОВ ЯЗЫКА ПРОЛ-2
МОДУЛЬ TST2;
ПРИЗНАКИ
ВРЕМЯ ВРМ ()();
ОЖИДАНИЕ ВРМ ()();
КОНЕЦ
КОМАНДЫ
KK1 K2H.КОЛЬЦВТЯН (TEST);
КОНЕЦ
СИГНАЛЫ
S1 SU2HKОЛВТЯН (TEST);
КОНЕЦ
КОНСТ
НУЛЬ=0;
НУЛЬ1="12345678";
НУЛЬ2="ABCD";
НУЛЬ3=1Д 2Ч 30М 10C;
КОНЕЦ
МОДУЛЬ TST1 МОДЕЛЬ;
ПРОЦЕСС TST1;
TEST :1T;
TEST2:1T;
КОНЕЦ
СОБЫТИЯ
C1 (TEST)(TEST);
КОНЕЦ
ПРИЗНАКИ
X1 ЛОГ (TEST)(TEST);
X2 ЦЕЛ (-1234..100000) (TEST)(TEST);
X3 ВРМ (TEST)(TEST);
X4 ПОЛУСЛОВО (TEST)(TEST);
X5 СЛОВО (TEST)(TEST);
X6 ВРМ (TEST)(TEST);
ОШИБКА ЦЕЛ(1000) (TEST)(TEST);
ТИП ЦЕЛ(1000) (TEST)(TEST);
Z1 ЛОГ (TEST)(TEST);
Z2 ЛОГ (TEST)(TEST);
Z3 ЛОГ (TEST)(TEST);
Z4 ЛОГ (TEST)(TEST);
Z5 ЛОГ (TEST)(TEST);
КОНЕЦ
ШАБЛОН Ш1;
Ф1 :ВРМ,
Ф2 :ЦЕЛ(1000)
КОНЕЦ
ТАБЛИЦА Т1: Ш1(10) (TEST)(TEST);
3T,100;
<<M2>>
ПОВТ 7 РАЗ
10T,55
КОНЕЦ
ШАБЛОН Ш2;
Ф1 :СОБ,
Ф2 :РЗР,
Ф3 :БЛК,
Ф4 :ЛОГ,
Ф5 :ВРМ,
Ф6 :ЦЕЛ(1000),
Ф7 :СИГ,
Ф8 :ШКЛ(100),
Ф9 :ТАБ(Ш1,100),
Ф10:ИСП,
Ф11:УСТ,
Ф12:ВЫП,
Ф13:МТК,
Ф14:ПРЗ ЛОГ,
Ф15:ПРЗ ВРМ,
Ф16:ПРЗ ЦЕЛ(100)
КОНЕЦ
ТАБЛИЦА Т2: Ш2(12) (TEST)(TEST);
Z1,Z2,Z4,1,2M,100,S1,(1,2,3,4,5,6,7,8),T1,TEST2,X1:=1,TEST2,M2,X1,X3,X2;
<<M2>>
ПОВТ 7 РАЗ
Z1,Z2,Z3,0,1Ч,200,S1,(1,2,3,4,100), T1,TEST2,X2:=10,X1,M2,X1,X3,X2;
КОНЕЦ
ПРИЗНАКИ
X7 ТАБ(Ш2,12) (TEST)(TEST);
КОНЕЦ
ИСПОЛНИТЕЛЬ TEST2;
НАЧАЛО
<<M>> ПАУЗА 0T;
НА М;
КОНЕЦ
ИСПОЛНИТЕЛЬ TEST;
X3:ЦЕЛ (-1..10000000);
Y1:ЛОГ;Y2:ЛОГ;Y3:ЛОГ;Y4:ЛОГ;
НАЧАЛО
%--------- ПРОВЕРКА АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ --------------
ТИП:=1;
X3:=1234;
X2:=-X3;
X2:=-X2;
X3:=X2*X2;
X2:=X3/X2;
X3:=X3 MOД X2;
X3:=X2+X2+X3;
X2:=X3-X2;
%--------- ПРОВЕРКА ОПЕРАЦИЙ СРАВНЕНИЯ -------------------
X3:=0;
ЕСЛИ X2 =1234 ТО X3:=X3+0;
ЕСЛИ X2^=1234 ТО X3:=X3+1;
ЕСЛИ X2 >1234 ТО X3:=X3+10;
ЕСЛИ X2 <1234 ТО X3:=X3+100;
ЕСЛИ НУЛЬ>1234 ТО X3:=X3+1000;
ЕСЛИ X2>=1234 ТО X3:=X3+0;
ЕСЛИ X2<=1234 ТО X3:=X3+0;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА СТАНДАРТНЫХ ФУНКЦИЙ ------------------
%--------- ПРОВЕРКА ФУНКЦИИ ПРОВБИТ ----------------------
ТИП:=2;
X4:="0001";
X5:="00000001";
ЕСЛИ ПРОВБИТ(X4,0) ^=0 TO X3:=X3+1;
ЕСЛИ ПРОВБИТ(X4,15)^=1 TO X3:=X3+1;
ЕСЛИ ПРОВБИТ(X5,0) ^=0 TO X3:=X3+10;
ЕСЛИ ПРОВБИТ(X5,31)^=1 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ УСТБИТ -----------------------
ТИП:=3;
X4:=УСТБИТ(X4,10,1);
ЕСЛИ X4^="0021" TO X3:=X3+1;
X5:=УСТБИТ(X5,11,1);
ЕСЛИ X5^="00100001" TO X3:=X3+1;
X4:=УСТБИТ(X4,0,1);
ЕСЛИ X4^="8021" TO X3:=X3+10;
X5:=УСТБИТ(X5,1,1);
ЕСЛИ X5^="40100001" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ НОМБИТ -----------------------
ТИП:=4;
ЕСЛИ НОМБИТ(X4)^=0 TO X3:=X3+1;
ЕСЛИ НОМБИТ(X5)^=1 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ПСДВИГ -----------------------
ТИП:=5;
ЕСЛИ ПСДВИГ(X4,4)^="0802" TO X3:=X3+1;
ЕСЛИ ПСДВИГ(X5,4)^="04010000" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ЛСДВИГ -----------------------
ТИП:=6;
ЕСЛИ ЛСДВИГ(X4,2)^="0084" TO X3:=X3+1;
ЕСЛИ ЛСДВИГ(X5,1)^="80200002" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ОТРИЦАНИЯ --------------------
ТИП:=7;
ЕСЛИ ^X4^="7FDE" TO X3:=X3+1;
ЕСЛИ ^X5^="BFEFFFFE" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ЛОГИЧЕСКОГО УМНОЖЕНИЯ --------
ТИП:=8;
ЕСЛИ (X4&"8007")^="8001" TO X3:=X3+1;
ЕСЛИ (X5&"00000001")^="00000001" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ЛОГИЧЕСКОГО СЛОЖЕНИЯ ---------
ТИП:=9;
ЕСЛИ (X4!"8007")^="8027" TO X3:=X3+1;
ЕСЛИ (X5!"10000001")^="50100001" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ИСКЛЮЧАЮЩЕГО ИЛИ -------------
ТИП:=10;
ЕСЛИ (X4#"FFFF")^="7FDE" TO X3:=X3+1;
ЕСЛИ (X5#"FFFFFFFF")^="BFEFFFFE" TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ И ----------------------------
ТИП:=11;
Y1:4:=1;
ЕСЛИ И(Y1:4)=0 TO X3:=X3+1;
Y1:4(2):=0;
ЕСЛИ И(Y1:4(1))= 1 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ИЛИ --------------------------
ТИП:=12;
Y1:4:=0;
ЕСЛИ ИЛИ(Y1:4)=1 TO X3:=X3+1;
Y1:4(5):=1;
ЕСЛИ ИЛИ(Y1:4(1))= 0 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ СУМ --------------------------
ТИП:=13;
Y1,Y2:4(1):=0;
Y1,Y2,Y3:=1;
ЕСЛИ СУМ(Y1:4)^=3 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ АБС --------------------------
ТИП:=14;
X2:=-100;
ЕСЛИ X2=АБС(X2) TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ПУСТО ------------------------
ТИП:=15;
T1$Ф1(4):=0T;
T1$Ф2(5):=0;
ЕСЛИ ^ПУСТО(T1$Ф1(4)) TO X3:=X3+1;
ЕСЛИ ^ПУСТО(T1$Ф2(5)) TO X3:=X3+10;
ЕСЛИ ПУСТО(T1$Ф2(6)) TO X3:=X3+100;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ДЛТАБ ------------------------
ТИП:=16;
ЕСЛИ ДЛТАБ(T1)^=8 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ВХОДИТ -----------------------
ТИП:=17;
ЕСЛИ ^ВХОДИТ(T2$Ф8(7),100) TO X3:=X3+1;
ЕСЛИ ВХОДИТ(T2$Ф8(1),ТИП) TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ ДАЙСОБ -----------------------
ТИП:=18;
Z1:3:=1;
Z4:=0;
ЕСЛИ ДАЙСОБ(T2,2,6)^=0 TO X3:=X3+1;
ЕСЛИ ДАЙСОБ(T2,1)^=1 TO X3:=X3+10;
ЕСЛИ Z2=1 TO X3:=X3+100;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ФУНКЦИИ СЛУЧАЙ -----------------------
ТИП:=19;
ЕСЛИ (СЛУЧАЙ()=СЛУЧАЙ())&(СЛУЧАЙ()=СЛУЧАЙ()) TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОПЕРАТОРА УСТАНОВКИ ------------------
ТИП:=20;
X1:=0;
X2:=0;
УСТ T2$Ф11(1);
ЕСЛИ X1^=1 TO X3:=X3+1;
УСТ T2$Ф11(2);
ЕСЛИ X2^=10 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОПЕРАТОРА ВЫПОЛНЕНИЯ ------------------
ТИП:=21;
X1:=0;
X7:=T2;
ВЫП T2$Ф12(1);
ЕСЛИ ^TEST2 TO X3:=X3+1; ПРЕК TEST2;
ВЫП X7$Ф12(2);
ЕСЛИ X1^=1 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОПЕРАТОРА ПУСК ------------------------
ТИП:=22;
ПУСК T2$Ф10(1);
ЕСЛИ ^TEST2 TO X3:=X3+1; ПРЕК TEST2;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ЦИКЛА ------------------------
ТИП:=23;
X6:=0T;
ДЛЯ X2 OT 10 ДО 20 ПОВТ 5 РАЗ
X6:=X6+1T;
КОНЕЦ;
ЕСЛИ X6^=5T TO X3:=X3+1;
ЕСЛИ X2^=15 TO X3:=X3+10;
X6:=0T;
ДЛЯ X2 OT 10 ДО 20 ПОВТ
X6:=X6+1T;
КОНЕЦ;
ЕСЛИ X6^=11T TO X3:=X3+100;
ЕСЛИ X2^=21 TO X3:=X3+1000;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ВЫБОРА -------------------------------
ТИП:=24;
X2:=200;
ВЫБОР
КОГДА X2=1 TO X3:=X3+1;
КОГДА X2=2 TO X3:=X3+1;
ЛИБО X2:=100;
КОНЕЦ;
ЕСЛИ X2^=100 TO X3:=X3+10;
X2:=2;
ВЫБОР
КОГДА X2=1 TO X3:=X3+100;
КОГДА X2=2 TO X2:=300;
ЛИБО X3:=1000;
КОНЕЦ;
ЕСЛИ X2^=300 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ПЕРЕКЛЮЧАТЕЛЯ ----------------------
ТИП:=25;
X2:=200;
ПЕРЕКЛ X2
КОГДА 1 TO X3:=X3+1;
КОГДА 2 TO X3:=X3+1;
ЛИБО X2:=100;
КОНЕЦ;
ЕСЛИ X2^=100 TO X3:=X3+10;
X2:=2;
ПЕРЕКЛ X2
КОГДА 1 TO X3:=X3+100;
КОГДА 2 TO X2:=300;
ЛИБО X3:=1000;
КОНЕЦ;
ЕСЛИ X2^=300 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОЖИДАНИЯ ----------------------
ТИП:=26;
X2:=200;
ЖДАТЬ
КОГДА X2=1 TO X2:=300;
КОНЕЦ;
ЕСЛИ X2^=300 TO X3:=X3+10;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОЖИДАНИЯ СОБЫТИЯ ---------------------
ТИП:=27;
X2:=0;
ЖДАТЬ СОБЫТИЯ 10T
КОГДА C1 TO X2:=300;
КОНЕЦ;
X2:=X2+1;
ЕСЛИ X2^=301 TO X3:=X3+1;
ТИП:=28;
ПАУЗА 0T;
X2:=0;
ЖДАТЬ СОБЫТИЯ 10T
КОГДА C1 TO X2:=300;
КОНЕЦ;
X2:=X2+1;
ЕСЛИ X2^=1 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ОЖИДАНИЯ КОМАНДЫ ---------------------
ТИП:=29;
X2:=0;
ЖДАТЬ КОМАНДЫ 10T
КОГДА K2H.КОЛЬЦВТЯН TO X2:=300;
КОНЕЦ;
X2:=X2+1;
ЕСЛИ X2^=301 TO X3:=X3+1;
ТИП:=30;
ПАУЗА 0T;
X2:=0;
ЖДАТЬ КОМАНДЫ 10T
КОГДА K2H.КОЛЬЦВТЯН TO X2:=300;
КОНЕЦ;
X2:=X2+1;
ЕСЛИ X2^=1 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
%--------- ПРОВЕРКА ПРЕРЫВАНИЙ ---------------------
ТИП:=31;
X2:=0;
БЛОК
ЖДАТЬ
КОГДА X2=400 TO X2:=300; КОНЕЦ;
X2:=500;
ПРЕРЫВАНИЯ
КОГДА S1 ПРОДОЛЖИТЬ X2:=100;Y2:=0;
КОГДА K2H.КОЛЬЦВТЯН ЗАВЕРШИТЬ ЕСЛИ X2=100 TO X2:=400;Y2:=1;
КОНЕЦ;
ЕСЛИ X2^=400 TO X3:=X3+1;
ОШИБКА:=X3; ПАУЗА 0T;
КОНЕЦ
%*****************************************************************
МОДУЛЬ TST0 TECT;
ПРОЦЕСС TST0;
A:1T;
КОНЕЦ
ИСПОЛНИТЕЛЬ A;
НАЧАЛО
ОШИБКА:=0;
ПУСК TEST;
<<M>>
ЕСЛИ ^TEST TO
НАЧАЛО ПЕЧАТЬ(/,'ТЕСТ ОКОНЧЕН',/); ВЫЙТИ A; КОНЕЦ;
ЕСЛИ ТИП=26 TO X2:=1;
ЕСЛИ ТИП=27 TO C1:=1;
ЕСЛИ ТИП=28 TO C1:=0;
ЕСЛИ ТИП=29 TO ВЫДАТЬ(32T) KK1; %K2H.КОЛЬЦВТЯН;
ЕСЛИ ТИП=30 TO K2H.КОЛЬЦВТЯН:=0;
ЕСЛИ ВРЕМЯ> 90T TO S1:=1;
ЕСЛИ ВРЕМЯ>100T TO ВЫДАТЬ(32T) K2H.КОЛЬЦВТЯН;
ЕСЛИ ОШИБКА^=0 TO
НАЧАЛО ПЕЧАТЬ(/,'ОШИБКА ',ТИП,' ',ОШИБКА,/);
ПРЕК TEST;
ВЫЙТИ А; КОНЕЦ;
ПАУЗА 0T; НА М;
КОНЕЦ
Re[30]: Язык ДРАКОН — новая идея в программировании
M>>А ты его видел? Много там визуальных блок-схем? E>Ты, прости, на я в конце 1980-х на всяких машинках вроде Атари программировал. Там с гуями всё уже тогда очень хорошо было...
Учитывая, что в 2020-м Дракону для того, чтобы показать схему сортировки пузырьком не хватит 27-дюймового 5K экрана, я сильно сомневаюсь, что в конце 70-х начале 80-х, когда Буран собственно разрабатывался, Дракон (если он тогда хоть как-то существовал) присутствовал хоть в какой-то значимой мере.
Здравствуйте, Эйнсток Файр, Вы писали:
ВП>> Мое предыдущее сообщение не привлекло к себе внимания. А жаль.
ЭФ>Почему же не привлекло? Привлекло, было оценено топовыми реальными экспертами из реальной жизни. ЭФ>И оценка эта: "не нужно".
Почему не нужно? Это не так.
Вот пример. На видео показана установка глубокой переработки широкой фракции легких углеводородов (ШФЛУ) Южно-Балыкского газоперерабатывающего завода компании «Сургутнефтегаз» и шкаф управления установкой, где используется управляющая программа, 70%-80% которой написано на языке ДРАКОН.
Программа загружается в энергонезависимую память Сенсорного программируемого контроллера СПК 107 М01 фирмы ОВЕН.
ЭФ>>Почему же не привлекло? Привлекло, было оценено топовыми реальными экспертами из реальной жизни. ЭФ>>И оценка эта: "не нужно".
ВП> Почему не нужно?
По завоёванному объёму рынка.
Вот когда программисты (китайцы и англоговорящие) будут голосовать на github
за Дракон вместо Rust в категории "наиболее желанный язык",
тогда и поговорим.
А пока русскоговорящие выбирают Rust — не годится Дракон, значит.
Выработка навыков устного счёта занимает особое место в начальной школе и является одной из главных задач обучения математике на этом этапе[1]. Именно в первые годы обучения закладываются основные приёмы устных вычислений, которые активизируют мыслительную деятельность учеников, развивают у детей память, речь, способность воспринимать на слух сказанное, повышают внимание и быстроту реакции[1].
Для обучения детей устному счету часто используют счетную доску — абак. Многие эксперты считают, что метод счета с использованием абака (этот метод также называют ментальной арифметикой) появился в Древнем Китае, однако подтверждений этому не существует. Абак представлял собой доску до счета. Этими приспособлениями пользовались по всему миру, а не только в Китае[2].
Программа обучения ментальной арифметике обычно занимает несколько лет. Сначала дети учатся считать на настоящем абаке. Далее вместо реальной доски обучающиеся начинают использовать её изображение: глядя на рисунок во время вычислений, нужно представлять, как передвигаются костяшки. В конце концов дети начинают представлять абак мысленно, что позволяет им производить умственно те же операции, что и с использованием настоящей доски. Многие эксперты считают, что ментальная арифметика позволяет эффективно развивать логическое мышление, аналитические навыки, а также улучшать память. Учащиеся могут визуализировать задачи, глубже их понимать и мыслить креативно. Эти навыки помогают им лучше концентрировать свое внимание, систематизировать получаемые знания и лучше адаптироваться к меняющимся условиям[2].
Однако некоторые педагоги и ученые относятся к данному методу немного скептически. Так, по словам заслуженного учителя России Леонида Звавича, устный счет — дело полезное, но есть масса других приемов устного счета и какой из них лучше, сказать сложно. Успехи ребёнка в обучении во многом зависят от того, какие у него были учителя, но развивающие занятия, безусловно, помогают ему подтянуть разные предметы[2].
Но даже критики данного метода признают, что какая-то польза от ментальной арифметики все же есть, особенно если ребёнку тяжело дается математика. Кроме того, в процессе обучения у детей вырабатывается привычка трудиться, что обязательно пригодится в дальнейшей жизни[2].
Примерно такое же впечатление о языке «ДРАКОН» у меня сложилось в процессе просмотра видеоролика.
Ничего не имею против блок-схем, но программировать таким способом...
Больше всего порадовало, когда разработчик сначала внес изменение в комментарий, а потом отразил это изменение в коде программы: https://youtu.be/ZCBIZleP1BA?t=547
P.P.S. Навскидку выразил на Python фрагмент блок-схемы, показанный в видео по указанному выше таймкоду:
set_table_heat_on(True)
if table_heat_on:
if dt4 <= 5 or dt4 > 38:
high_limit_and_protection()
set_heat_power_percent(0)
elif dt4 <= 29: # (5, 29]
set_heat_power_percent(100)
elif dt4 <= 36: # (29, 36]
set_heat_power_percent(60)
else: # (36, 38]
set_heat_power_percent(40)
else:
set_heat_on(False)
if heat_power_percent > 0:
set_heat_power_percent(0)
if heat_power_percent > 0:
calculate_pulse_duration() # ms
set_heat_endoscope(True)
if heat_endoscope_on:
# some codeelse# some code
Как мне кажется, в блок-схеме запутаться легче, чем в коде.
Здравствуйте, Lazytech, Вы писали:
L>Как мне кажется, в блок-схеме запутаться легче, чем в коде.
Это потому что ты по привычке сначала переводишь блок-схему в текст и только потом пытаешься понять.
Вообще у человека в мозгу тоже есть видео-процессор, который гораздо мощнее обычного процессора.
Когда ты смотришь на схему, ты СРАЗУ видишь где что не так.
Да, при этом должна быть привычка мыслить визуально.
Течёт вода Кубань-реки куда велят большевики.
Re[29]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, alpha21264, Вы писали:
A>Это потому что ты по привычке сначала переводишь блок-схему в текст и только потом пытаешься понять. A>Вообще у человека в мозгу тоже есть видео-процессор, который гораздо мощнее обычного процессора. A>Когда ты смотришь на схему, ты СРАЗУ видишь где что не так. A>Да, при этом должна быть привычка мыслить визуально.
Я же говорю, шаманство ментальная арифметика.
Re[6]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, alpha21264, Вы писали:
A>>Это потому что ты по привычке сначала переводишь блок-схему в текст и только потом пытаешься понять. A>>Вообще у человека в мозгу тоже есть видео-процессор, который гораздо мощнее обычного процессора. A>>Когда ты смотришь на схему, ты СРАЗУ видишь где что не так. A>>Да, при этом должна быть привычка мыслить визуально.
L>Я же говорю, шаманство ментальная арифметика.
Ну вот не надо так говорить.
Если бы ты так писал программу, у тебя получилась бы ссылка на несуществующий объект.
Течёт вода Кубань-реки куда велят большевики.
Re[31]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, alpha21264, Вы писали:
A>Ну вот не надо так говорить. A>Если бы ты так писал программу, у тебя получилась бы ссылка на несуществующий объект.
Нич-чего не понимаю. (c)
Речь идет о моей попытке выразить кусок ДРАКОНовской блок-схемы на Python?
P.S. Если что, я не имею ничего против языка ДРАКОН, только вот возможность написать на нем сколько-нибудь серьезную программу (имеется в виду, с достаточно большим объемом кода) даже у меня, новичка в программировании, вызывает огромные сомнения. Хотя для обучения азам информатики — не путать с программированием — он, наверное, вполне сгодится.
P.P.S. Если же речь идет о вышеупомянутой ментальной арифметике, я всего лишь попытался эмоционально выразить впечатление от языка ДРАКОН. Я имел в виду, что ведение счета на абаке в общем случае, наверное, не очень эффективно.
Здравствуйте, alpha21264, Вы писали:
ВП>>С языком ДРАКОН можно ознакомиться по книге ВП>>https://drakon.su/_media/24_zhizneritm20.pdf
A>А чё такая вёрстка странная? A>Нельзя из оглавления перейти к нужной главе.
Верстка нормальная. По крайней мере, не нашел в Firefox такой проблемы. Если скачать этот PDF-файл и открыть в каком-нибудь просмотрщике, ссылки в оглавлении тоже работают как надо.