Статья 2311

В последние годы среди программистов-теоретиков инструкция пользуется дурной славой. Это объясняется тем, что программы с большим количеством переходов трудно разобрать, человеку, но не ЭВМ.
Концепция определения процедуры является жизненно важным элементом программирования. Это главный механизм абстракции, процесса перехода от частных примеров, пятиконечная звезда со стороной в 50 единиц к обобщенным понятиям, звезда с некоторым числом [...]

Читать дальше
Статья 2309

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

Читать дальше
Статья 2308

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

Читать дальше
Статья 321

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

Читать дальше
Статья 319

Сразу после этого язык претерпел две модификации.
Выражение оказывается логически эквивалентно, где тавтология, и достаточно рассматривать выражения вида, где программа, формула. А здесь сразу становится видна синтаксическая аналогия между программами и модальностями либо временными связками, дополняющая ранее отмеченную семантическую. Далее, углубляя эту аналогию, целесообразно раздвоить программные операторы на необходимые и возможные. То, что программа всегда [...]

Читать дальше
Статья 317

Если же он продолжается бесконечно, то программа зациклилась и она некорректна при данных, поданных ей на вход.
Логическое описание цикла сначала идет по аналогии с условным оператором. Пусть каждая описана как. Тогда условия при однократном выполнении цикла можно описать как.
При двукратном выполнении получаем до бесконечности. Условие правильности шагов цикла обозначим. Цикл корректен, если.
Итак, условие правильности [...]

Читать дальше
Статья 313

Заметим, что логическая формулировка дает указания, когда целесообразно применять условный оператор. А именно, если нельзя достичь нынешней цели сразу, но можно достичь ее в ряде частных случаев, то целесообразно попытаться объединить эти случаи. Конечно, для построения необходимо, чтобы разбиение исчерпывало все возможности, доступные в данный момент, но этого недостаточно. Выражения могут быть сложными утверждениями, содержащими [...]

Читать дальше
Статья 310

Старое значение при этом пропадает. Например, увеличивает значение на 1. Такая интерпретация присваивания элементарно описывается и логически.
Пусть состояние памяти, создавшееся после присваивания, удовлетворяет условию здесь можно понимать как формулу языка формальной арифметики, тогда то состояние, которое было до присваивания, можно описать формулой. В программной логике такое утверждение записывается.
Например, чтобы после присваивания стало, необходимо и [...]

Читать дальше
Статья 307

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

Читать дальше
Статья 305