Редактирование: Простые программы на Каллисто

Перейти к навигации Перейти к поиску

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы ваша отмена правки была сохранена.

Текущая версия Ваш текст
Строка 1: Строка 1:
''Перед изучением программирования рекомендуется ознакомиться с учебной статьёй «[[Первое знакомство с Каллисто]]»''
+
(Перед изучением программирования рекомендуется познакомиться с учебной статьёй [[Первое знакомство с Каллисто]])
  
  
[[Каллисто]] является расширением [[ЯМК|входного языка]] [[Электроника МК-161|«Электроники МК-161»]]. Что это означает? Давайте проверим это утверждение на примере классических программ для советских [[ПМК]]. Вот простые и широко известные программы для вычисления [https://ru.wikipedia.org/wiki/Гиперболические_функции гиперболических функций] из [[Справочник по расчётам на микрокалькуляторах, 3-е изд. (справочник)|3-го изд. справочника проф. Дьяконова]] (стр. 174):
+
[[Каллисто]] является расширением [[ЯМК|входного языка]] [[Электроника МК-161|«Электроники МК-161»]]. Что это означает? Давайте проверим это утверждение на примере классических программ для советских [[ПМК]]. Вот простые и широко известные программы для вычисления [https://ru.wikipedia.org/wiki/Гиперболические_функции гиперболических функций] из [[Справочник по расчётам на микрокалькуляторах, 3-е изд. (книга)|3-го изд. справочника проф. Дьяконова]] (стр. 174):
  
 
[[Файл:DjakonovHyp.png]]
 
[[Файл:DjakonovHyp.png]]
Строка 45: Строка 45:
 
Результат совпадает с точностью до последнего знака.
 
Результат совпадает с точностью до последнего знака.
  
Конечно же, программы-«спагетти» переводить на [[Каллисто]] сложнее и потребует чуть больше подготовительных действий. [[Каллисто]] настаивает на структурном программировании. Зато об адресах и метках можно забыть, используя условный оператор и циклы, один из которых совместим с ПМКшным [[FL0]].
+
Конечно же, программы-«спагетти» переводить на [[Каллисто]] сложнее. [[Каллисто]] настаивает на структурном программировании. Зато об адресах и метках можно забыть, используя условный оператор и циклы, один из которых совместим с ПМКшным [[FL0]].
  
 
== Цикл со счётчиком ==
 
== Цикл со счётчиком ==
Строка 55: Строка 55:
 
  ВП П0 1 ИП0 × FL0 03 С/П
 
  ВП П0 1 ИП0 × FL0 03 С/П
  
Вот она же на [[Каллисто]] (кратчайшее имя ! использовать нехорошо, так как [[Слово !|восклицательный знак уже является важным словом]] [[Каллисто]]):
+
Вот она же на [[Каллисто]] (мы не можем использовать кратчайшее имя !, так как [[Слово !|восклицательный знак уже является важным словом]] [[Каллисто]]):
 
  : n!  ( n -- n!)  1 ↔ for i × next ;
 
  : n!  ( n -- n!)  1 ↔ for i × next ;
  
Строка 66: Строка 66:
  
 
Как в программе для ПМК, в каллистянском факториале есть своя изюминка. Если в ПМКшном факториале ноль превращается в единицу [[ВП|командой ВП]], то в каллистянском варианте ноль на входе приведёт к тому, что цикл [[FOR]]…[[NEXT]] не выполнится ни разу. В результате в [[Стек данных|стеке]] остаётся та единица, которая обычно выполняет роль первого сомножителя.
 
Как в программе для ПМК, в каллистянском факториале есть своя изюминка. Если в ПМКшном факториале ноль превращается в единицу [[ВП|командой ВП]], то в каллистянском варианте ноль на входе приведёт к тому, что цикл [[FOR]]…[[NEXT]] не выполнится ни разу. В результате в [[Стек данных|стеке]] остаётся та единица, которая обычно выполняет роль первого сомножителя.
 
== Ссылки ==
 
* [http://tinyurl.com/Callisto161-2 tinyurl.com/Callisto161-2] — короткий адрес этой страницы (через зарубежный сайт)
 
  
 
[[Категория:Каллисто]]
 
[[Категория:Каллисто]]

Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)