Pascaler
О проекте Теоретический материал Тестирование Архив задач
Войти в личный кабинет



О проекте


Преподавателям


Тема: Цикл с предусловием в графике.

Задача. Построить множество концентрических окружностей (с общим центром), удовлетворяющих следующим условиям:

  • радиус следующей окружности на m меньше предыдущей;


  • процесс построения должен завершиться, когда радиус меньшей окружности станет меньшеили равным данному числу а.

Итак, для решения задачи в программе мы должны запросить у пользователя значения переменных m и а, затем инициализировать графический режим и в цикле выполнять построение окружностей, меняя при этом радиус. Для наиболее красочного построения окружностей применим процедуру установки текущего цвета с применением случайных чисел.

Program Krugi;
Uses
  Crt, Graph;
Var
  i,
  m,
  R,
  a,
  DV,
  DM : integer;
Begin
  ClrScr;
  Randomize;
  write (‘Введите шаг изменения радиуса окружностей ‘);
  readln (m);
  write (‘Введите радиус большей окружности ‘);
  readln (R);
  write (‘Введите радиус меньшей окружности ‘);
  readln (а);
  write (‘Введите координаты центра ‘);
  readln (X, Y);
  DV:=detect;
  InitGraph (DV, DM, ‘..\BGI’);
  SetBkColor (7);
  while R>=a do
    begin
      SetColor (Random(15));
      Circle (X, Y, R);
      R:=R-m;
    end;
  readln;
  CloseGraph;
End.

Примечание. Здесь применена процедура Randomise, которая инициализирует генератор случайных чисел. Значения же случайных чисел можно получить с помощью функции Random (Х), где Х - параметр, указывающий диапазон значений случайного числа. Оно изменяется в пределах [0,Х[. Результат в этом случае будет типа Word. Если параметр Х не задан, то результат буде типа real в пределах [0.0,1.0[.

Задачи для самостоятельного решения:

  1. Составить программу, перемещающую отрезок заданной длины слева направо. Имитация движения осуществляется закраской цветом фона линии на предыдущем шаге и построением ее по новой координате Х на следующем шаге.


  2. Составить программу, перемещающую отрезок заданной длины сверху вниз.


  3. Составить программу, перемещающую отрезок заданной длины из левого верхнего угла в правый нижний, постепенно его увеличивая.


  4. Нарисовать веер, состоящий из секторов круга, разукрашенных разным цветом.


  5. Нарисовать окружность, меняющую цвет заданное число раз.


  6. Изобразить движущуюся окружность заданного радиуса и цвета.


  7. Изобразить движение выбранной Вами фигуры.


  8. Изобразить движение грузовика.


  9. Используя процедуру очистки экрана, постройте изображение надувающегося мыльного пузыря, который должен лопнуть, когда его радиус станет в 3 раза больше первоначального.


  10. Нарисуйте последовательность вложенных квадратов с общим центром в центре экрана так, чтобы расстояние между сторонами уменьшалось до тех пор, пока не стало меньше трех точек.


  11. Составьте программу “Растущая ель”. Рост ели имитируется добавлением к нижнему основанию треугольника (кроне ели) линии на одну точку шире основания как слева, так и справа. К основанию ствола добавляется прямая линия. Программа прекращает работу при увеличении высоты дерева вдвое.


  12. Составьте программу “Рост лиственного дерева”. Рост кроны изображается добавлением окружностей.


  13. Нарисуйте действующую модель часов с кукушкой. Часы должны тикать, кукушка куковать.


  14. Нарисуйте движение маятника.


  15. Нарисуйте движение фигуры, используя уже имеющийся файл с программой из темы “Операторы графики”.
Вернуться назад
2003—2012 © Группа «Vimedia»
Проект «Pascaler» — лучший на ХI Всероссийской конференции молодых исследователей с международным участием «Шаг в будущее», Россия, Москва, 12 – 16 апреля 2004г.