Pascal ABC

 

ГЛАВНАЯ
УСТАНОВКА
ОКНО ПРОГРАММЫ
ЛИНЕЙНЫЕ АЛГОРИТМЫ
ЧЕРТЁЖНИК
GraphABC
    РОБОТ
АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ
АЛГОРИТМЫ С ПОВТОРЕНИЯМИ
ПРОЦЕДУРЫ И ФУНКЦИИ
ТЕСТЫ
ТВОРЧЕСКИЕ РАБОТЫ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
 
 

 

 

 

 

GraphABC ◊

Точка, отрезок, окружность, прямоугольникРисуем линииРисуем окружностиПодписываем рисункиМаленькие картиныСоставление алгоритмлв. Часть1 Часть 2Часть 3Часть 4Часть 5Более сложные  программы

Составление алгоритмов. Часть 5

  Пример 1. Нарисовать ряд окружностей радиуса 10 пикселей вдоль верхнего края экрана.

 

Этапы выполнения задания.

I. Результат работы программы не зависит от исходных данных

II. Определение результатов: рисунок, отображающий ряд окружностей вдоль верхнего края экрана.

III. Алгоритм решения задачи.

1. Определение положения первой окружности. Окружность задается радиусом и координатами центра. Радиус r=10. Первую окружность расположим в верхнем левом углу. Координаты центра – x=11, y=11.

2. Положение любой другой окружности, удовлетворяющей условию задачи, будет определяться координатой x. Поэтому в цикле будем изменять значение координаты x. Каждое новое значение будет на 20 больше предыдущего.

3. Цикл должен завершиться, когда значение координаты x станет большим, чем горизонтальный размер экрана (например, 800 пикселей).

IV. Описание переменных:

Переменные x, y, r – integer.

V. Программа:

uses graphabc; Var x,y,r:integer;
begin

setwindowsize (400,250);

setwindowtitle ('Окружности');

r:=10; x:=11; y:=11;

while x<800 do

begin circle(x,y,r); x:=x+20; end;

end.

Можешь загрузить!       Пример 1_1

VI. Тестирование программы:

1. Запустите программу, проверьте, результат должен быть следующим:

2. Окружности нарисованы не до конца, поэтому увеличьте размер окна вывода.

3. Почему все окружности рисуются черным цветом? Внесите изменения в программу так, что бы все окружности были красными.

 

4. Добавьте в программу переменную c, для изменения цвета окружностей в цикле. Начальное значение переменной с=1, в теле цикла вписать команду SetPenColor(c). Для изменения цвета в теле цикла (после изменения значения координаты x) нужно добавить команду: c:=c+1;

Можешь загрузить!       Пример 1_2

 

5. Цвет окружностей можно задавать случайным образом. Для этого значение переменной c нужно задать следующим образом:

                                c:=random(256);

В начале программы нужно вписать команду randomize; для настройки датчика случайных чисел.

6. Какие изменения нужно внести в программу, чтобы окружности рисовались вдоль левого края экрана?

5*. Какие изменения нужно внести в программу, что бы на экране рисовались концентрические окружности, с центром в середине экрана?

 

  Пример 2. Нарисовать на экране k разноцветных кругов, с радиусом 5 пикселей. Расположение кругов определяется случайным образом. Те круги, для которых координата x>y, закрасить синим цветом, а остальные желтым.

 

Этапы выполнения задания.

I. Определение исходных данных: переменная k(количество кругов).

II. Определение результатов: рисунок, отображающий k кругов.

III. Алгоритм решения задачи.

 

1. Ввод числа k.

2. Подсчет кругов будем осуществлять с помощью цикла for. Переменная цикла n будет изменяться от 1 до k.

3. В цикле выполняем следующие действия:

а) Случайным образом получаем значения x и y.

б) С помощью условного оператора if будем проверять условие x>y. В зависимости от истинности условия установим синий или желтый цвет заливки круга.

в) Нарисуем круг.

 

IV. Описание переменных:

Переменные x, y (координаты центра круга), с (цвет), n, k – integer.

V. Программа:

uses graphabc; Var x,y,c,n,k:integer;
begin

randomize;

writeln('kol-vo krugov'); readln(k);

setwindowsize (400,400);

setwindowtitle ('Круги');

for n:=1 to k do

   begin x:=random(400);

            y:=random(400);

            if x>y then c:=clblue else c:=clred;

            SetPenColor(c); circle(x,y,5);

   end;

end.

Можешь загрузить!       Пример 2

VI. Тестирование программы:

1. Проверьте работу программы для следующих значений k: 10, 100, 1000

2. Как располагаются кружки на экране?

3. Внесите в программу изменения так, чтобы синие кружки располагались слева, а желтые справа.

4. Какие алгоритмические структуры использовались при написании данной программы?

 

 

CЕРВИС

Copyright © 2008 Гимназия №1 имени К.Калиновского г.Свислочь © Синица А.А.