форум осваивающих КОБ

 

Вернуться   Форум осваивающих КОБ > Общий форум > Статьи и заметки форумчан

Важная информация

Статьи и заметки форумчан Ваши статьи и заметки, а также "рыбы" для коллективной доработки. Обсуждение приветствуется

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 14.10.2012, 19:16
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию основы программирования на калькуляторе

как устроена память в этом калькуляторе.

В распоряжении пользователя имеется 4 стековых регистра: X, Y, Z, T. Содержимое регистра X всегда показывается на экране (в режиме расчетов), ввод чисел тоже идет в него. По сути, стековая память после включения калькулятора выглядит так:

T 0 Z 0 Y 0 X 0

Для помещения чего-либо в стек используется клавиша [В↑]. Она копирует содержимое регистра X в регистр Y, значение регистра Y в Z, Z в T, а значение, находившееся в T теряется. То есть, если перед нажатием на кнопку [В↑] в регистрах были значения

T 5 Z 8 Y 14,5 X 6,

то после значения станут

T 8 Z 14,5 Y 6 X 6

Кроме того существует команда, позволяющая циклически сдвинуть все значения регистров: T в Z, Z в Y, Y в X, X в T. Для этого нужно нажать [F] [.].

Команда [↔] меняет содержимое регистров X и Y местами.

Команда [CX] стирает содержимое регистра X.

Помимо стековой памяти, в калькуляторе есть 15 адресуемых регистров (RG0-RGE). Для работы с ними используются клавиши [X→П] и [П→X]. Первая команда помещает содержимое регистра X в соответствующий адресуемый регистр. Например, последовательность команд [4] [X→П] [0] помещает в регистр RG0 число 4. Вторая команда, как вы уже догадались, копирует содержимое адресуемого регистра в регистр X. То есть [П→X] [0] поместит в X число 4.

Важно помнить, что после выключения калькулятора значения всех регистров стираются.
_______________________________________

РАСЧЁТЫ

Главное, что необходимо знать перед началом расчетов — в МК-61 используется обратная польская нотация (ОПН). Если нам нужно совершить какую-либо унарную операцию, она совершается над числом, находящимся в регистре X. При этом значения других регистров не меняются. Бинарные операции осуществляются над содержимыми регистров Y и X (именно в таком порядке). Значение результата помещается в X, Z помещается в Y, T копируется в Z. Предыдущее значение регистра X помещается в служебный регистр X1. Таким образом, если нам нужно посчитать банальное 2 + 3 (в ОПН 2 3 +), то нужно нажать на калькуляторе клавиши: [2] [В↑] [3] [+]. При этом значения регистров меняются следующим образом:

До всех операций:

T 8 Z 14,5 Y 6 X 0


После нажатия клавиш [2] [В↑] [3]:

T 14,5 Z 6 Y 2 X 3


После нажатия [+]:

T 14,5 Z 14,5 Y 6 X 5


Попробуем провести чуть более сложные вычисления, например, (15 + 2 / 5) * 7 + 10. В ОПН это выражение можно записать так: 15 2 5 / + 7 * 10 +. Для того, чтобы это посчитать на калькуляторе, мы должны нажать клавиши: [15] [В↑] [2] [В↑] [5] [/] [+] [7][*] [10] [+].
___________________________________________
Ответить с цитированием
  #2  
Старый 14.10.2012, 19:18
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Программирование

Для перехода в режим программирования нужно нажать [F] [ВП]. На дисплее появятся 00. Это означает номер текущей команды. Вообще, программа в МК-61 представляет собой последовательность команд, необходимых для решения задачи. Обычно это арифметические операции, цифры, иногда специальные коды циклов и ветвлений. Всего программа может состоять не более чем из 105 команд, которые нумеруются от 00 до 99. Для ввода команды необходимо нажать соответствующую ей клавишу. Вот таблица соответствия кодов и клавиш калькулятора:


В режиме программирования видно 3 последних введенных операции. Например
02 01 0E 06 на дисплее означает:
06 — адрес следующей вводимой команды
0E, 01, 02 — три последовательные команды, расположенные соответственно по адресам 03, 04, 05.

Основы

Разберем простейшую задачу нахождения площади круга по формуле πr2. Для того, чтобы калькулятор решил эту задачу, введем следующие команды в режиме программирования ([F] [ВП]) (будем считать что радиус окружности находится в регистре RG1):

// Первые две цифры — адрес команды, потом нажимаемые клавиши 00 [П→X] [1] // Вызываем значение регистра RG1 в регистр X (61) 01 [F][*] // Возводим в квадрат радиус (22) 02 [F] [+] // Вызываем в X пи (20) 03[*] // Перемножаем содержимое X и Y (12) 04 [С/П] // Специальная команда для останова (без нее программа не остановится) (50)

Вот и все. Теперь мы должны перейти в режим вычислений с помощью команды [F] [/-/], а затем нужно нажать клавишу [В/О] для перехода к началу программы. Занесем число 5 в регистр RG1 ([5] [X→П] [1]) и нажмем [С/П] для начала выполнения. После того, как калькулятор пройдет все шаги, на экране должно появиться число 78,539815 — площадь круга с радиусом 5.

Безусловный и условный переходы


С помощью команды [БП] (51) можно осуществить безусловный перезод (goto) по нужному адресу. Для этого в режиме программирования нужно нажать [БП] а затем две цифры адреса, по которому мы хотим перейти. Когда калькулятор при выполнении программы дойдет до этого оператора, он продолжит выполнение уже с команды по указанному адресу. Например:
... 10 [F] [-] // 21 11 [БП] // 51 12 [4] [2] // Адрес перехода (42) ... 42 [+] // 10
В данном случае после шага 12 калькулятор перейдет сразу к шагу 42.

Условный переход гораздо полезнее. Для осуществления условного перехода существует 4 команды: [X >= 0], [X < 0], [X = 0] и [X != 0]. С помощью этих команд проверяют содержимое регистра X на выполнения условия. В случае, если условие не выполняется, управление переходит к адресу, указанному после оператора, иначе (если условие выполняется) адрес игнорируется и программа продолжает нормально выполняться далее. Например:
... 09 [F][*] // 22 10 [F] [ШГ←] // "if (X == 0)" (5E) 11 [4] [2] // В случае, если условие ложно, переходим по адресу 42 (42) 12 [+] // В случае, если X = 0 (10) ... 42 [4] // 04

Циклы

Циклы можно реализовать с помощью команд условного перехода, но, кроме того, для организации циклов в МК-61 используются команды L0-L3 ([F] [П→X], [F] [X→П], [F] [БП] и [F] [ПП]). Эти команды оперируют с содержимым регистров RG0-RG3 соответственно. При каждом выполнении команды цикла из содержимого соответствующего регистра вычитается 1 и производится сравнение с нулём. Если содержимое регистра не равно нулю, происходит переход по адресу, записанному после команды цикла, если равно, то происходит переход к команде, следующей за адресом перехода цикла. Чтобы было понятнее, посмотрим на примере. Будем считать факториал числа, находящегося в регистре X.

// В RG0 будем хранить счетчик цикла, в RG1 произведение. 00 [X→П] [0] // Заносим значение X в RG0 - инициализируем счетчик цикла (40) 01 [1] // Заносим 1 в X (01) 02 [X→П] [1] // Инициализируем единицей значение RG1 - произведение (41) 03 [П→X] [1] // Заносим в стек текущее значение произведения (61) 04 [П→X] [0] // Заносим в стек текущее значение счетчика цикла (60) 05[*] // Перемножаем их (12) 06 [X→П] [1] // Заносим результат в произведение (41) 07 [F] [П→X] // L0 - уменьшаем счетчик на единицу и проверяем на равенство нулю. Если не равен... (5Г) 08 [0] [3] // ...переходим к команде по адресу 03... (03) 09 [С/П] // ...иначе - останов (50)
Ответить с цитированием
  #3  
Старый 14.10.2012, 19:21
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Федотов Валерий Павлович, 03 августа 2004 г. 8:29:59
0>> Нужен ли программируемый калькулятор на уроке?
Это смотря о каком уроке речь.
На информатике - разве что на уроке, посвященном истории выч. техники.
А вот на математике, на мой взгляд, очень даже нужен. Я пробовал уроки математики в компьютерном классе проводить. Сделать можно гораздо больше, чем голыми руками, однако и возможностей для учеников уйти в интернет или в какой-нибудь пасьянс тоже масса. А на калькуляторе - почти все те же плюсы, но без минусов.
Именно по заказу CASIO (укравшей у меня идею графического микроскопа) я писал методичку по использованию этих калькуляторов на уроках матем. анализа. Вышлю всем, кто заинтересуется.
Наверное, можно добавить физику, химию, что-то еще.

Понятия производной и первого дифференциала – вовсе не абстрактно-умозрительные (как можно подумать, читая современные учебники по высшей математике), а базируются на огромной вычислительной работе, проделанной Ньютоном и Лейбницем. В моем университетском образовании это была одна из тем «Вычислительного практикума» (в конце 1960-ых годов мы выполняли эту работу еще на арифмометре, который мы называли «Железный Феликс»). А теперь эта тема совсем исчезла даже из университетского образования. Из-за чего даже студентам (не говоря о школьниках) приходится заучивать ключевые формулировки, не имея никакой возможности разобраться с их смыслом.
Вот именно этот недостаток современных курсов математического анализа я и попытался смягчить.
Ответить с цитированием
  #4  
Старый 14.10.2012, 19:25
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Гончар Mария Викторовна, 07 августа 2004 г. 12:41:55
у меня на первых курсах был советский программируемый калькулятор. великая вещь, все лабы на нем делала, расчеты погрешностей и т.п., конечно же, программы для этого пишешь сам, и это гораздо быстроее и точнее, чем просто считать вручную. Если у студентов-учеников есть доступ к компу, то, видимо, это не нужно. Если же такого доступа нет - калькулятор такой - это хорошо. Хотя, имхо, это в любом случае хорошо, так как не пользуешься бездумно готовыми продуктами - подставил циферки, а откуда что взялось в ответах - не представляешь. Чтобы понимать логику вычислений и т.п.... и программировать учит. В общем, с учебными целями для старшеклассников-физматовцев, для смтудентов младших курсов того же направления, думаю, вещь полезная.
Ответить с цитированием
  #5  
Старый 14.10.2012, 19:28
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Редюхин RisC.Net Владислав, 15 августа 2004 г. 10:27:43
Поехал как-то наш учитель по приглашению коллег-педагогов в Японию. Назал возвращается - на таможне назад не пропускают, спрашивают:
- "Откуда это у тебя почти контейнер современнейшей оргтехники? Денег-то с собой ты чуть-чуть вывозил?"
- А это я зашел там в компьютерный салон, у меня глаза разбежались: что купить? Так вот, я и достал свой микрокалькулятор, чтобы посчитать, на что денег хватит... Тут они увидели мой программируемый калькулятор, да как со всех сторон набегут... Орут, пальцами в него тычут, кричат "Семнадцатый век, семнадцатый век...!!!".
- Вот и поменяли мне мой любимый программируемый калькулятор на этот вагон техники. Уважают нашу продукцию...
Ответить с цитированием
  #6  
Старый 14.10.2012, 19:30
Аватар для Пермский котяра
Пермский котяра Пермский котяра вне форума
гость
 
Регистрация: 14.04.2012
Адрес: Пермский район
Сообщений: 361
Пермский котяра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Galagan Sergei Igorevich, 18 августа 2004 г. 19:00:59
Вчера водил детишек(9кл) в Третяковку, там картина есть, русская школа, на доске пример по математике дробь, в числителе сумма квадратов целых чисел от 10 до 15 и в знаменателе наоборот... дети класса 4-го Устно Считают... все, нет Все считают устно! Умный, светящийся вид такой у детшек несмотря на лохмотья и дырявые полы...
Предложил счет нынешним, один долго долго считал на калькуляторе, все ждали, а он ошибся

Ничего себе...!!! Это значит, что помимо того, что ДОГАДАТЬСЯ представить числа в виде разности, нужно еще ПОМНИТЬ, сколько там будет 13 в квадрате!
Многие четвероклассники сегодня помнят таблицу квадратов до 20-ти? Вот тебе и необходимость зубрежки!:=))
------
Или Вы сами как-то по иному решили эту задачу?
Ответить с цитированием
  #7  
Старый 14.10.2012, 21:08
Суматра Суматра вне форума
участник
 
Регистрация: 21.09.2012
Сообщений: 95
Суматра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Можно встряну?
Цитата:
Сообщение от Пермский котяра Посмотреть сообщение

Главное, что необходимо знать перед началом расчетов — в МК-61 используется обратная польская нотация (ОПН).
ИМХО, использование обратной польской нотации очень полезно на предмет того, что человек понимает, что принятая в математике форма записи арифметических действий (одно число, знак действия, другое число, знак равенства, ответ) есть чистая условность, и то же самое можно записать совсем по-другому.

Цитата:
Сообщение от Пермский котяра Посмотреть сообщение
Гончар Mария Викторовна, 07 августа 2004 г. 12:41:55
у меня на первых курсах был советский программируемый калькулятор. великая вещь, все лабы на нем делала, расчеты погрешностей и т.п., конечно же, программы для этого пишешь сам, и это гораздо быстроее и точнее, чем просто считать вручную.
На базе ПМК существовали специальные лабораторные микро-ЭВМ с датчиками разных физ.величин, данные с датчиков поступали в ПМК и обрабатывались. По-моему, у этой штуки был даже принтер.
Ответить с цитированием
  #8  
Старый 16.10.2012, 23:08
perestoronin perestoronin вне форума
участник
 
Регистрация: 08.05.2010
Адрес: Москва
Сообщений: 79
perestoronin на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Программируемые калькуляторы и раньше были не дешевыми, тот же МК-61 (сейчас его можно еще найти, дороже конечно чем китайские, но зато программируемый), а еще в Новосибирске выпускают энтузиасты МК-152 и МК-161 (подробнее http://vk.com/mk161).











Все эти устройства разработаны и выпускаются (кроме калькулятора МК-61 и линейки FC-2/83N, снятой с производства в 70х годах, но еще имеющейся в наличии на складах производителя в Германии) в 2006-2012 годах.

Вот здесь выкладываю информацию о других, диковинных для нас сейчас, имеющихся у меня устройств для вычислений http://vk.com/topic-10838600_27036292

Но самые эффективные вычисления - в уме. Замечу при этом, что к необходимости владения быстрыми и эффективными техниками счета в уме и на бумаге, динамическим чтением (эффективной методикой скорочтения), машинописью (скоростным набором вслепую всеми пальцами обеих рук в любой раскладке клавиатуры) добавилась острая необходимость владения веб-версткой и веб-разработкой. Почему ? 1) это в настоящее время самый хорошо оплачиваемый (единственный пожалуй) труд при минимальном начальном обучении, а "специалисты" просто на расхват, 2) владение интернет-технологиями, веб-разработкой открывает массу возможностей для раскрытия широкой аудитории альтернативных концепций построения общества в противовес толпо-элитарной, дает возможность донести информацию для всего общества в обход контролируемых западом "наших" же телевидения, радио, газет и журналов.

Самое эффективное обучение - по книгам. Но все же - многим потребуется для быстрого старта - обучение основам на курсах http://specialist.ru, курсы сейчас очень дорогие, но и все же я смог найти средства для своего обучения и обучения супруги. Надеюсь из этого должен выйти толк. За результатами можно будет вскоре пронаблюдать здесь: http://perestoroniny.ru. То что свой сайт поднять и поддерживать на домашнем компьютере не сложно, можно убедиться на сайте где супруга рассказывает о кулинарии, и своем увлечении http://doll-always.ru/. Гораздо сложнее вести свой блог, http://runixos.ru/, когда будет он наполнен информацией, обязательно сообщу, и расскажу как можно на своем компьютере организовать целый веб-портал, обращенный к интернет аудитории, не неся затрат при этом на дорогие тормозные хостинги. Highload не выйдет из этого на домашнем сервере, но этого как раз и не требуется.
Ответить с цитированием
  #9  
Старый 21.10.2012, 13:09
perestoronin perestoronin вне форума
участник
 
Регистрация: 08.05.2010
Адрес: Москва
Сообщений: 79
perestoronin на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Мои последние приобретения:


И МК-161 - лучшее из них.

http://mk-152.livejournal.com/278.html

http://mk.semico.ru/oinfo.htm

http://mk-152.livejournal.com/

http://vk.com/mk161
Ответить с цитированием
  #10  
Старый 24.10.2012, 18:25
Отличник ВВС Отличник ВВС вне форума
участник
 
Регистрация: 27.09.2012
Сообщений: 187
Отличник ВВС на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Кому интересно например умножать в уме многозначные числа поищите в Интренет и прочтите книгу "Считайте в уме как компьютер" автор Хэндли Билл.
У меня был МК-61 - он еще тогда морально устарел, так как уже был ZX-Spectrum. А сейчас лучше счеты и логарифмическая линейка.
Ответить с цитированием
  #11  
Старый 30.10.2012, 18:04
perestoronin perestoronin вне форума
участник
 
Регистрация: 08.05.2010
Адрес: Москва
Сообщений: 79
perestoronin на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Цитата:
Сообщение от Отличник ВВС Посмотреть сообщение
Кому интересно например умножать в уме многозначные числа поищите в Интренет и прочтите книгу "Считайте в уме как компьютер" автор Хэндли Билл.
У меня был МК-61 - он еще тогда морально устарел, так как уже был ZX-Spectrum. А сейчас лучше счеты и логарифмическая линейка.
За ссылку на книжку спасибо, такой у меня еще нет - обязательно себе закажу.

МК-61 изначально имел массу недостатков, но это не помешало многим начать программировать именно на нем, так как для них сложности программирования даже простых компьютеров типа Спектурма, просто не подъёмны. Часть недостатков МК-61 была устранена в то время в модели МК-52, но она была намного крупнее и стоила в разы дороже МК-61.

Сейчас же все недостатки МК-61 устранены в новых моделях МК-161 (портативная модель) и МК-152 (настольный вариант), возможности расширены, если требуется инструмент для обучения программированию или просто для сложных вычислений с которым способен справиться программируемый калькулятор, то новая ЭКВМ МК-161 в самый раз. Но хочу предупредить, что обратная польская запись упраздняя скобки, упразднила на RPN калькуляторах клавишу "=", да и цена из-за единичного производства мелкой серией будет доступна не каждому. Чтобы снизить стоимость таких машинок, нужен большой заказ.

Подробнее как работают такие ЭКВМ можно прочитать здесь http://эквм.рф/dok1.htm
Ответить с цитированием
  #12  
Старый 31.10.2012, 23:41
Отличник ВВС Отличник ВВС вне форума
участник
 
Регистрация: 27.09.2012
Сообщений: 187
Отличник ВВС на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Цитата:
Сообщение от perestoronin Посмотреть сообщение
За ссылку на книжку спасибо, такой у меня еще нет - обязательно себе закажу.

МК-61 изначально имел массу недостатков, но это не помешало многим начать программировать именно на нем, так как для них сложности программирования даже простых компьютеров типа Спектурма, просто не подъёмны.
Недостатки МК - программирование в машинных кодах, когда на Спектруме был уже Бейсик и звук.
Ответить с цитированием
  #13  
Старый 01.11.2012, 15:33
Суматра Суматра вне форума
участник
 
Регистрация: 21.09.2012
Сообщений: 95
Суматра на пути к лучшему
По умолчанию Ответ: основы программирования на калькуляторе

Цитата:
Сообщение от Отличник ВВС Посмотреть сообщение
У меня был МК-61 - он еще тогда морально устарел, так как уже был ZX-Spectrum. А сейчас лучше счеты и логарифмическая линейка.
Вы пошутили? МК-61 морально устарел, лучше счеты и логарифмическая линейка .

Хотя, помнится, еще Чехов по поводу счет писал:

Цитата:
– И без алгебры решить можно, – говорит Удодов, протягивая руку к счетам и вздыхая. – Вот, извольте видеть...

Он щелкает на счетах, и у него получается 75 и 63, что и нужно было.

– Вот-с... по-нашему, по-неученому.
http://lib.rus.ec/b/168417/read

Материал об обучении счету на счетах я видела из современных авторов только у Леонида Некина (но я особо и не интересовалась никогда этим вопросом):

http://nekin.info/math/m0004.htm

А логарифмической линейкой пользоваться не довелось .

Цитата:
Сообщение от perestoronin Посмотреть сообщение
МК-61 изначально имел массу недостатков, но это не помешало многим начать программировать именно на нем
и при этом обратить некоторые недостатки в достоинства. Например, благодаря невысокому быстродействию и экранчику на вакуум-люминесцентных индикаторах стало возможным появление т.н. динамических игр - экранчик прикрывали рукой от света и следили за мелькающими изображениями. Был даже джойстик - рычажок для переключения с градусов на радианы.
Но все это интересно сейчас только как история ЭВТ.

Цены-то у новосибирских энтузиастов - мама не горюй! Хороший телефон можно купить (и поставить на него эмулятор ПМК, ха )
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 13:20.



Работает на vBulletin® версия 3.7.3.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot