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

В массово-калькуляторную эпоху еще до появления МК-61/52 с командой КСч (неудачно реализованной, см. "Тайна ГСЧ раскрыта?" НиЖ №6-1989, "Беседа о случайных цифрах" НиЖ №12-1989) в программах требовалось генерировать случайные числа. Поскольку размер кода была ограничен, то приходилось использовать наиболее простые и короткие алгоритмы. Думаю, они могут пригодится и сейчас любому программисту, поставленному в условия ограниченного объема памяти и отсутствия подходящих библиотечных (встроенных) функций.

Хотя книга Владимира Павловича Дьяконова "Современные зарубежные микрокалькуляторы" (М.:Солон, 2002 г.) несколько устарела по части описаний и названий моделей, в ней можно найти немало интересных мыслей и фактов.

В отличие от прежнего деления калькуляторов на 3 группы (простейшие, инженерные, программируемые), на стр. 14 вводится новая, более подробная классификация как по видам применения (научные, графические...), так и по конструкции (встроенные, специальные...).

Библиотека этих программ позволяет освоить вычисления в криптографии с открытым ключом. Поддерживаются следующие виды вычислений.

Алгоритм RSA:

  • генерация ключей;
  • шифрование;
  • расшифровка;
  • цифровая подпись;
  • проверка цифровой подписи.

Алгоритм Эль-Гамаля:

  • генерация ключей;
  • шифрование;
  • расшифровка;
  • цифровая подпись;
  • проверка цифровой подписи.

Навеяно книгой Меёса. Написал программу интерполяции во время поездки в маршрутке :)

В начале по запросу вводится массив значений функции, взятых через N от 3 до 255 равных интервалов аргумента в виде:
{x0, x1,...,xN-1}
Затем программа запрашивает значение аргумента, любое вещественное в пределах от 0 до (N-1) и выдает результат, после чего запрашивает следующее... Бесконечный цикл в общем.

Метки публикаций: