Задачник - решебник

Різнобарвні концентричні кола.

Для зафарбовування замкнутої області використовується процедура FloodFill, три цілочисельних параметра якій задають початкову точку зафарбовування і код кольору обмежує область лінії. Колір, яким буде проводитися зафарбування, нічого спільного не має з кольором, заданим процедурою SetColor. Колір зафарбовування задається другим параметром процедури SetFillStyle. Перший параметр цієї процедури (задає візерунок для зафарбовування) на перших порах будемо задавати рівним одиниці (що відповідає суцільний зафарбовування).

var Gd, Gm: Integer;

Gd: = VGA; Gm: = VGAHi; InitGraph (Gd, Gm, '.. \ bgi');

приклад 11
Зобразити графік функцііљ0 y = cos (x).

При зображенні графіка функції необхідно мати на увазі, що початок графічних координат знаходиться в лівому верхньому кутку екрану і що графічні координати приймають цілі невід'ємні значення в діапазоні (0, maxx) і (0, maxy). Значення maxx і maxy для кожного режиму можна визначити, використовуючи відповідні функції. Таким чином, для отримання "гарного" графіка необхідно виконати поворот і масштабування. Нехай, xmax - максимальне значення по осі x; ymax - максимальне значення по осі y; (X0, y0) - графічні координати центру - точки (0,0); (Xg, yg) - графічні координати точки (x, y); mx - масштаб по осі x, тобто величина Abs ((xg-x0) / x); my - масштаб по осі y, тобто величина Abs ((yg-y0) / y). Графічні координати точки (x, y): xg = x0 + mx * x; yg = y0-my * f (x).

WriteLn ( 'Введіть координати центру:'); ReadLn (x0, y0);

WriteLn ( 'Введіть масштаб по x і y:'); ReadLn (mx, my);

WriteLn ( 'Введіть область завдання функції по x і крок:');

ReadLn (a, b, h); WriteLn ( 'Введіть колір зображення:');

ReadLn (c); grd: = 0; grm: = 0; InitGraph (grd, grm, '');

c: = getcolor; xmax: = getmaxx; ymax: = getmaxy;

8.1. Уявіть, що ви зустрілися з хранителем часу, і він відкрив вам таємницю зірок. Чому мерехтять зірки на небі. Тому, що кожна зірка - життя однієї людини. Вам потрібно вчасно погасити стару і запалити нову. Допоможіть зберігачу часу вирішити задачу. Рішення завдання починається з побудови моделі: нехай на екрані кожна точка позначає зірку і всього горить 20 (обраних випадковим чином) зірок; тепер необхідно погасити першу запалену точку і намалювати її в будь-якому іншому місці, потім перейти до другої і т.д. Коли згасне двадцята, необхідно знову перейти до першої і т.д.

8.2. Напишіть програму "дощ" - на екрані з'являється (випадковим чином) малюється 50 точок і вони рухаються зверху вниз. У той момент, коли одна з точок досягне нижньої межі екрану, точка з'являється у верхній частині.

8.4. Змініть програму "дощ" так, щоб деякі точки рухалися швидше, інші повільніше.

8.4. Змініть програму "дощ" так, щоб точки починали рух в лівому нижньому кутку і закінчували в правому верхньому.

Сайт створено в системі uCoz