Напишите программу, которая вычерчивает функциональную зависимость членов последовательности ук = Рк](уа) от к. Пользователь задает начальную величину г/0 в интервале от 1 до 4 000 000 000 (числа такого размера поддерживаются типом unsigned longs - длинные целые без знака). Каждое значение^ изображается на графике точкой с координатами (к, ук). Построение каждого графика продолжается до тех пор, пока ук не достигнет единицы (если это вообще произойдет).

Поскольку последовательность «градин» может быть очень длинной, а величины ук могут быть очень большими, необходимо масштабировать эти величины перед их отображением на экране. Напомним

Инструкция лазерный пирометр testo 831 www.testoshop.ru. Товары из Китая самые дешевые цены оптом. Товары из Китая оптом и в розницу по очень низким ценам.

Начальная стадия: рисование фигур

(раздел «Рисование основных графических примитивов»), что подходящие значения А, В, С и D задаются так, что когда точка (k, ук) отображается с экранными координатами

sx - (А*к + В)

И

sy - (С*ук + D).

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

Отметим, что вы не знаете заранее, какой длины будет данная последовательность или какого значения достигнут величины ук, - до тех пор, пока не будет сгенерирована вся последовательность. Самое простое решение заключается в том, чтобы сначала запустить последовательность без рисования, найти максимальную величину, которой достигает ук (назовем ее yBiggest), а также общее число итераций, kBiggest, необходимое для того, чтобы последовательность достигла единицы. Эти величины используются далее для определения коэффициентов А, В, С, D. После этого последовательность запускается повторно с рисованием. Для получения окончательного вида графика проделаем следующее: О Начертим горизонтальные и вертикальные оси.

О Вместо ук нанесем на график логарифм ук.

Вопрос для любознательных. Каковы наибольшие yBiggest и kBiggest для произвольной последовательности «градин» со стартовой величиной от 1 до 1 ООО ООО?

Итерация с помощью функций, генерирующих точки Процесс итерации чисел с помощью какой-нибудь функции /(.) достаточно интересен, однако итерация точек с помощью функции еще интереснее, так как мы можем использовать drawDotQ для создания узоров из появляющихся точек. Итак, рассмотрим функцию f(p), которая принимает на входе точку р(х, у) и выдает на выходе другую точку. Каждая вновь получившая точка подается опять в ту же самую функцию для создания следующей точки, как показано на рис. 2.28. Здесь точкарк1 используется для k-й итерации рк - flkKp0), затем она направляется обратно для создания ркп и т. д. По аналогии назовем последовательность точек р0, р{, р2 орбитой точки р0.


⇐ Предыдущая| |Следующая ⇒