Perl. Библиотека программиста
Числа
Требуется проверить, соответствует ли строка допустимому числу. Эта проблема часто
возникает при проверке входных данных (например, в сценариях CGI).
Арифметика с плавающей запятой не является абсолютно точной. Сравнивая два числа,
вы хотите узнать, совпадают ли они до определенного десятичного разряда. Как правило,
именно так следует сравнивать числа с плавающей запятой.
Число с плавающей запятой требуется округлить до определенного разряда.
Проблема связана с теми же погрешностями представления, которые затрудняют сравнение
чисел, а также возникает в ситуациях, когда точность ответа намеренно снижается для
получения более наглядного результата.
Имеется десятичное число, которое необходимо вывести в двоичном представлении, или наоборот,
двоичная последовательность, которую требуется преобразовать в десятичное число.
Такие задачи часто возникают при отображении нетекстовых данных — например, полученных в процессе
взаимодействия с некоторыми системными функциями и программами.
Требуется выполнить некоторую операцию со всеми целыми между X и Y. Подобная задача возникает
при работе с непрерывной частью массива или в любой ситуации, когда необходимо обработать все числа
из заданного интервала.
Требуется осуществить преобразование между обычными числами и числами в римской записи.
Такая необходимость часто возникает при оформлении сносок и нумерации страниц в предисловиях.
Требуется генерировать случайные числа в заданном интервале — например, чтобы выбрать
произвольный элемент массива, имитировать бросок кубика в игре или сгенерировать случайный пароль.
При каждом запуске программы вы получаете один и тот же набор «случайных» чисел. Требуется
«раскрутить» генератор, чтобы Perl каждый раз генерировал разные числа. Это важно практически для
любых применений случайных чисел, особенно для игр.
Требуется генерировать случайные числа, которые были бы «более случайными», чем выдаваемые генератором Perl.
Иногда возникают проблемы, связанные с ограниченным выбором стартовых значений в библиотеках С.
В некоторых приложениях последовательность псевдослучайных чисел начинает повторяться слишком рано.
Требуется генерировать случайные числа в ситуации, когда одни значения появляются с большей
вероятностью, чем другие (неравномерное распределение). Допустим, вы отображаете на своей
Web-странице случайный баннер и у вас имеется набор весовых коэффициентов, определяющих частоту
появления того или иного баннера. А может быть, вы имитируете нормальное
распределение (закон распределения Гаусса).
Требуется, чтобы в тригонометрических функциях использовались градусы вместо стандартных для Perl радианов.
Требуется вычислить значения различных тригонометрических функций — таких как синус, тангенс или арккосинус.
Требуется вычислить логарифм по различным основаниям.
Требуется перемножить два двумерных массива.
Умножение матриц часто используется в математических и инженерных вычислениях.
Ваша программа должна работать с комплексными числами,
часто используемыми в инженерных, научных и математических расчетах.
Требуется преобразовать строку с восьмеричным или шестнадцатеричным представлением
(например, "0x55" или "0755") в правильное число.
Perl воспринимает лишь те восьмеричные и шестнадцатеричные числа, которые встречаются в
программе в виде литералов. Если числа были получены при чтении из файла или переданы в качестве
аргументов командной строки, автоматическое преобразование не выполняется.
При выводе числа требуется вывести запятые после соответствующих разрядов.
Длинные числа так воспринимаются намного лучше, особенно в отчетах.
Нет комментариев.
Оставить комментарий:
|
|