2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение07.06.2018, 16:21 
realeugene
Упаковать-то наверное можно. А вот распаковать потом...

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение07.06.2018, 16:43 
wrest,
у МК-61 есть команды выделения целой и дробной части числа.
На МК-54, например, чтобы выделить целую часть числа нужно вычесть 0.45 (такое у него странное округление), потом прибавить и вычесть 1e7.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение07.06.2018, 16:56 
realeugene в сообщении #1317921 писал(а):
у МК-61 есть команды выделения целой и дробной части числа.

И это прекрасно. Вопрос в том, что длиннее: таблица в памяти программ и программа отделения старшего разряда (как сделано у ТС) или программа распаковки нужного разряда из упакованной в регистр таблицы. У вас есть ответ?

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение07.06.2018, 17:04 
wrest
нужно экспериментировать. Но вообще-то у этих калькуляторов мантисса состоит из 8 десятичных разрядов, а не из 10, как предлагаете вы.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение07.06.2018, 17:23 
realeugene в сообщении #1317933 писал(а):
Но вообще-то у этих калькуляторов мантисса состоит из 8 десятичных разрядов,

Ну да, из 8-ми. А где я писал про 10?
А... вот тут:
wrest в сообщении #1317593 писал(а):
Каждый регистр может хранить 8 десятичных разрядов (как минимум), это 4 раза по 2 разряда, то есть в одном регистре можно хранить минимум 4 числа каждое от 0 до 99. Вам, наверное надо хранить не 4 а 5 чисел в каждом регистре. Ну что ж, есть еще три знака мантиссы, итого 8+3=11 знаков, а на пять чисел надо 10 знаков. Можно уместить!

Ну это я мантиссу с порядком перепутал. Читать так: "Ну что ж, еще есть три знака порядка, итого 8+3=11 знаков, а на 5 чисел нужно 10 знаков. Можно уместить!" Кроме того, вероятно я не прав насчет трех разрядов в порядке, третий там кажись неполноценный.

Сейчас более подробный анализ показывает, что таблица содержит числа от -1 до 7, но аномалий (-1) всего две: это "сорок" вместо "четыредесять" и "сто" вместо "одинсот", остальные числа в пределах от 3 до 7, вычитаем 3 и получаем от 0 до 4, а $[log_5(10^8-1)]=11$, то есть 10 чисел влезает в 8-разрядный регистр и без привлечения порядка, но с аномалиями.
Причем три столбца из пяти -- "однобитные" по сути, паковать их я думаю не надо, а надо вычислять по формулами как я писал там выше -- через взятие целой части.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение08.06.2018, 04:04 
Согласен с wrest вариант с формулами и отделением целой части, выглядит перспективным. Для десятков можно попробовать сформулировать формулу для "стандартных" чисел, а 40 и 90 потом откорректировать проверками. Вопрос хватит на все шагов программы.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение08.06.2018, 09:59 
UMV в сообщении #1318126 писал(а):
Для десятков можно попробовать сформулировать формулу для "стандартных" чисел,

Для стандартных она простая: количество букв в единицах плюс 5 ("дцать" и "десят" - по пять букв).

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение17.06.2018, 03:04 
Программа для 1-9999
00.4 01.П1 02.ИП0 03.П4 04.ИП4 05.1 06.0 07./ 08.В|; 09.К{x} 10.1 11.0 12.* 13.<-> 14.K[x] 15.П4 16.<-> 17.Fx<>0 18.35 19.4 20.+ 21.П5 22.КИП5 23.ИП1 24.2 25.* 26.F10x 27./ 28.K{x} 29.2 30.F10x 31.* 32.K[x] 33.ПП 34.84 35.FL1 36.04 37.ИП0 38.2 39.F10x 40./ 41.K{x} 42.1 43.0 44.* 45.K[x] 46.1 47.- 48.Fx=0 4 49.68 50.ИП0 51.1 52.0 53./ 54.K{x} 55.1 56.0 57.* 58.K[x] 59.Fx<>0 60.68 61.4 62.- 63.Fx<0 64.68 65.1 66.ПП 67.84 68.ИП0 69.ИП3 70./ 71.K{x} 72.Fx=0 73.78 74.ИП2 75.1 76.+ 77.П2 78.Сх 79.П3 80.FL0 81.00 82.ИП2 83.С/П 84.ИП3 85.+ 86.П3 87.В/О
Перед использованием заносим в регистры числа и нажимаем В/О С/П
П0=9999
П2=0
П3=0
П6=4060310
П7=3080609
П8=3080609
П9=6050912
Пa=4090709
Пb=5100810
Пc=4090709
Пd=6110911
Пe=6090911

Шаги 00-18 Поочередно выделяем цифры из разрядов исходного числа, 19-34 по цифре разряда определяем регистр в котором запаковано значение соответствующее цифре разряда, а по счетчику цикла регистр 1 выделяем двузначное значение из регистров П6-Пe соответствует разряду единиц, десятков, сотен, тысяч. Шаги 35-36 цикл для разложения исходного числа на 4 разряда. Шаги 37-67 еще раз из исходного числа выделяем разряды единиц и десятков, и сравнением учитываем одиннадцать, двенадцать и т.д. Шаги 68-83 Проверка делимости числа увеличение счетчика , организация глобального цикла, вывод результата. Шаги 84-87 Подпрограмма счетчик числа букв в текущей цифре.

На "андроид" эмуляторе в ускоренном режиме программа считала где-то 18 часов результат 402. На оригинальном МК-61 программа считала бы 370 часов.

Спасибо wrest использовал вашу идею с 9 регистрами, хотя изначально скептически к ней отнесся.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение18.06.2018, 10:51 
UMV
То есть программа для 1-9999 получилась даже короче чем для 1-999 :D

P.S. У меня есть этот калькулятор, и он даже работает. И "Технику - молодежи" тогда я выписывал. Но, конечно, сейчас уже забыл, что там и как :mrgreen: Калькулятор был хорош тем, что вокруг никто не понимал что такое обратная польская запись, и после нескольких "дай калькулятор" (это были времена когда калькулятор был не у каждого), и немедленного вопроса "а где тут кнопка равно", одноклассники во-первых переставали его просить, а во-вторых я прослыл очень умным. Но впоследствии все-таки более удобным оказался МК-71, который я долгое время считал вообще идеальным калькулятором: легкий, компактный и вечный (независимый от батареек).
Рад, что остались люди, которые не забыли про "семейство Б3-34" и в частности МК-64.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение22.06.2018, 15:50 
Да совершенно верно - причем 1-9999 универсальная и решит 1-999 если в регистр П0 занести 999 и вообще в ней любое число от 1 до 9999 можно проверить.
По поводу программируемых калькуляторов - хорошее подспорье математикам и изучающим математику, но в настоящий момент проще (дешевле) "андроид" эмулятор (разных моделей) поставить на телефон и использовать и это правильное решение. А вообще мой мк-61 прошел со мной 10-11 класс, институт и никогда не подводил и сейчас работает без проблем!!!

-- 22.06.2018, 16:57 --

Но..., у меня есть и HP-35S - на нем веду всю бухгалтерию моей конторы.

 
 
 
 Re: Алгебраическое представление последовательности по значениям
Сообщение22.06.2018, 16:54 
UMV в сообщении #1321805 писал(а):
Но..., у меня есть и HP-35S - на нем веду всю бухгалтерию моей конторы.
Вам удалось избежать FoxPro? :mrgreen:

 
 
 [ Сообщений: 41 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group