JavaScript
(лабораторная работа 3, математические выражения)

Для получения последовательности случайных чисел существует множество алгоритмов, один из которых (предложенный А.Энгелем) заключается в получении дробной части выражения (x+Pi)8, где x - число от 0 до 1. Даже при небольшом изменении x результат вычислений изменяется крайне сильно благодаря возведению в 8 степень.

Задание

  1. Ввести x и dx. Изменяя x на dx и используя формулу Энгеля, получить последовательность из 100 случайных чисел. Получение последовательности прекратить, если x выйдет за пределы диапазона (0,1), вывести сообщение об этом.
  2. Решить предыдущую задачу, программным путем вычислив такое минимальное dx, чтобы целая часть выражения, вычисленного по формуле Энгеля, гарантированно изменялась при изменении dx. Исходными данными для задачи будет только значение x.

Дополнительное задание

В стандарте HTML5 описан элемент canvas, позволяющий, среди прочего, строить графические изображения произвольного вида на холсте браузера. Поддержка данного элемента обеспечивается всеми современными браузерами, в том числе IE 9+. Пользуясь спецификацией HTML5 (http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/), документацией по элементу canvas (напр. http://www.w3schools.com/tags/ref_canvas.asp) и приведенным ниже примером построения координатной сетки, разработайте функцию graf, изображающую на холсте график переданной функции. Считать, что размер холста по Y соответствует двум математическим еденицам, а центр координат находится в центре холста.
function graf(canvas,color,func) {...}
// canvas - элемент canvas
// color - цвет графика
// func - функция вида y=f(x)
Построить графики функций y=x2, y=x3, y=sin(x), y=cos(x), y=sin(x)*cos(x)*ln(x)

Пример вызова функции graf для построения кубической параболы:

graf(c, "black", function(x) {return x*x*x;});

Пример построения координатной сетки (см. исходный код страницы):

Ваш браузер не поддерживает тег canvas стандарта HTML5.

Графики заданных функций: