НавигацияВход для пользователейМетки20 лет
25 лет
9860
add-ins
Atmega16
CAS
Casio
casio 9860
Casio fx-570
Casio fx-9750
CITIZEN
ClassPad 330
COM-порт
FA-124
HP
HP-35S
HP-48
HP-50
HP 15C LE
HP 50g
IDE
iOS
mk.exe
mkl2mkp
SPI
TI
TI-89 Titanium
Unix
Андроид
Анонсы
Дополнительные вопросы по SPI-интерфейсу.
Игры
Импульсная характеристика
История
КЭИ
Комбинаторика
Комплексные числа
Конкурсы
Криптография
Куплю БРП Москва
Лунолёт
Лунолёты
МК-52
МК-161
Математика
Мысли
ПМК
ПО
Поломка
Пробел в знаниях
Программные метки в МК-1хх
Программы
Прогрессия
Простые числа
Разложение
Регламент
Самоделки
Секундомер
Сервис
События
Справочное пособие
Стыковка
Факторизация
Физика
Фото
ЭКВМ
Юмор
ЯВУ
браузер
версия
внешний модуль
гибкий
гипербола
дети
калькулятор
книги
компилятор
кривые второго порядка
матрицы
методичка
мк-61
парабола
подзатыльник
практическое руководство
преобразоване координат
программируемый
прошивка
ротор
рынок
справочник
среда разработки
текст
точность вычислений
тригонометрия
учебник
цветы жизни
цифровая обработка сигналов
читалка
шахматы
эллипс
Новости других сайтов |
Программа «Факториал-2» (152)Программа вычисляет факториалы натуральных чисел N! = 1×2×3×...×N. При N<70 числа перемножаются напрямую, в цикле. При N≥70 используется уточнённая формула Стирлинга для log N! с членами до N5 включительно, что позволяет вычислять факториалы действительных чисел Г(N+1) практически мгновенно и с разумной точностью. Её быстродействие — существенный плюс по сравнению с программой «Факториал», если вам приходится часто вычислять факториалы больших чисел. Порядок числа выводится в регистр X, цифры мантиссы можно взять в регистре Y. Разумеется, 1≤RY<10. Расположение чисел в стеке обратно по отношению к программе «Факториал» и сделано для того, чтобы с помощью двух команд F 10x × можно было привести вычисленное значение факториала в экспоненциальный вид, используемый в ЭКВМ. Конечно, такой трюк возможен лишь если RX≤99, то есть N<70. Тестовые примеры (МК-161 версия 1.08): Программа вдохновлена программой 3.35 из третьего издания справочника проф. Дьяконова и способна её заменить для калькуляторов, совместимых с МК-152, т.к. точнее.
;
; Программа «Факториал-2»
; Автор: Васильев И.В., 21 сентября 2011 г., Москва
; Вычисляет факториал F = 1*2*..*n = n! целого числа n методом перемножения (n<70).
; При n≥70 использует уточнённую формулу Стирлинга (с членами до n5)
; Инструкция: n В/0 С/П "порядок" ↔ "мантисса"
; Программа весьма вольно использует регистр R0
;
Start(00):
ВП П0
70 –
Fx<0 Sterling(21)
1
Loop(08):
ИП0 × FL0 Loop(08)
В↑ Flg K[x] П0
F 10x ÷ ИП0
БП qq(67)
Sterling(21):
ИП0 Fx2 7 × F1/x 2 F1/x –
ИП0 Fx2 15 × ÷
1 +
ИП0 12 × ÷
ИП0 –
1 Fex Flg ×
ИП0 2 × Fπ × Flg 2 ÷ +
ИП0 В↑ Flg × +
K[x] FВx K{x} F 10x ↔
qq(67): С/П
БП Start(00)
Т.к. здесь недавно у новичков возникали вопросы по поводу того, как мы пишем программы для ЭКВМ, поделюсь опытом. Блоки этой программы мне было удобнее всего сочинять на бумаге. Потом я набивал их в обычном текстовом редакторе. Из-за того, что у меня сейчас нет под рукой Windows, вводил программу в МК-161 с клавиатуры, записывая адреса в скобочки после меток. Потом прошёлся по командам перехода, перебив адреса. Если есть возможность запустить программу MK.EXE, ввод программы в ЭКВМ значительно упрощается.
Точность Автор: AtH
Разность Автор: SMB
Вроде Автор: AtH
|