Напишите программу, которая вычерчивает функциональную зависимость членов последовательности ук = Рк](уа) от к. Пользователь задает начальную величину г/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.