OberonCore
https://forum.oberoncore.ru/

Интересный сайт - обучение школьников С++ и Паскаль
https://forum.oberoncore.ru/viewtopic.php?f=88&t=2008
Страница 9 из 13

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 14:47 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

ilovb в viewtopic.php?p=84090#p84090 писал(а):
...
Еще нафантазировалась такая картинка:
Вложение:
Snap 2013-12-01 at 00.24.48.png


Тут структурная программа изображена в виде дерева, где каждая ветка (последовательность S) растет из первичного охранника B(BEGIN) и оканчивается вторичным охранником E(END)
...
Это не структура Крипке, как она, допустим у Карпова описана?..

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 15:04 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Что-то около, но не то. У меня все проще 8)

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 15:13 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Да, её, наверное, можно по-разному применять. :) Кстати, древесная развёртка по Илье наверное, то же самое, только "до опыта исполнения", а структура Крипке - после... Между прочим, отсюда можно вывести, что Ваш "императивный лисп" - это декларация о проверке моделей... :)

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 15:23 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Что полезного можно получить от этого дерева я пока не думал. Пока это просто визуализация структуры программы по описанию, сформулированному в этом сообщении: viewtopic.php?f=88&t=2008&start=40#p84045

Хочу особо подчеркнуть что дерево конечное и имеет жесткую структуру. Т.е. каждая ветка растет из первичного охранника (охрана выполнения) и оканчивается вторичным охранником (охрана повторения ветки).

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 15:29 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

... по которому мы можем либо вернуться на начало ветки, либо завершить исполнение данной схемы (т.е. программы/процедуры)?..

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 15:38 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Смотрите:

Код:
Ветка:
Если ПервичныйОхранник Тогда
     Повторять
         <Последовательность>
     Пока ВторичныйОхранник;
КонецЕсли;

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 15:59 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

А за КонецЕсли по порядку исполнения что?

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 16:05 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Следующий элемент родительской ветки.

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 16:11 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

А, тогда это действительно дерево по Дамке, о котором Г.Н. говорил... и к древесной развёртке полной имеет отношение и правда отдалённое... :)
Ну, применение возможно, наверное, для объяснения смысла упомянутых "программных конструктивов"... насколько кому полезное, уж и не знаю... Кстати, интересно, как можно объяснить через него "параллельные конструктивы"?..

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 16:14 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Что то не вижу похожего в дереве Дамке. Можно пример?

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 16:16 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Владислав Жаринов писал(а):
Кстати, интересно, как можно объяснить через него "параллельные конструктивы"?..

Наверно разрешением нескольких ветвей из одного корня (первичного охранника).

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 16:19 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Да какие примеры... исключительно со слов Тышова здесь: viewtopic.php?p=53267#p53267 (в п. 2 объяснение, как он реализовал).

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 16:21 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Ага, тогда несколько вторичных охранников будут в совокупности определять логику слияния?..

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 16:38 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Владислав Жаринов писал(а):
Да какие примеры... исключительно со слов Тышова здесь: viewtopic.php?p=53267#p53267 (в п. 2 объяснение, как он реализовал).

Единственное что похоже - это переход к след. элементу родительской ветки.
В остальном же не то. У Дамке обычные управляющие конструкции: условия, циклы с пред/постусловием...
А у меня вся соль в том, что нет по сути никаких управляющих конструкций. Есть только последовательности, с которыми связанны охранники (всегда) viewtopic.php?f=88&t=2008&start=40#p84045

Программа это:
Sequence = Operation; {Sequence}

С каждой Sequence связаны охранники.
PrimaryGuard = [True | Condition]
SecondaryGuard = [False | Condition]

Охранники - это не управляющие конструкции.

Скорее это свойство самих Sequence.

Еще раз внимательно:
Цитата:
С каждой Sequence связаны охранники.

Т.е. буквально с каждым отдельным действием в программе связаны охранники (просто в дереве я не стал изображать охранники типа True, False)

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 16:48 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Вот igor правильно заметил:
igor писал(а):
Кстати, если кто не в курсе, в цифровой технике, на мой взгляд есть некий аналог теоремы Бёма-Якопини: любое цифровое устройство (хоть комбинационное, хоть последовательностное) можно построить, используя только лишь один базовый логический элемент 2И-НЕ (в нужном количестве).

Автор:  ==== [ Четверг, 05 Декабрь, 2013 17:10 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Какая цель этих рассуждений (не связанных с наименованием темы)
Цитата:
С каждой Sequence связаны охранники.
Цитата:
Охранники - это не управляющие конструкции.
в чем практическая сторона этих длительных рассуждений?

Автор:  Madzi [ Четверг, 05 Декабрь, 2013 18:19 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

albobin писал(а):
Вы же имели ввиду под "следующим шагом" - отказ от последовательностей операторов в управляющих конструкциях (IF, WHILE, ...).
Не так ли?

Совершенно верно.

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 18:59 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Геннадий Тышов: Я отвечал на вопрос. А вот в чем смысл вашего замечания?

Автор:  ==== [ Четверг, 05 Декабрь, 2013 19:22 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

У меня не замечание, а вопрос.

Автор:  ilovb [ Четверг, 05 Декабрь, 2013 19:30 ]
Заголовок сообщения:  Re: Интересный сайт - обучение школьников С++ и Паскаль

Вам заняться не чем? Ваш вопрос не имеет никакого смысла для меня.

ps Замечание у вас в скобочках если что...

Страница 9 из 13 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/