TURBO PASCAL |
Новости |
Практическое задание N 1. 51
Модифицировать программу "молекулы
газа в поле тяготения":
1. Изменить
направление поля тяготения (в правый нижний
угол).
2. Точки ярких
цветов направьте к правой границе экрана,
точки темных цветов - к левой границе.
3. Для одной из
точек (например, с
номером 100) отслеживать ее движение в виде
ломаной линии.
4. Смещать сто
раз через один цикл (Repeat. . . Until) нижнюю
границу на один пиксел вверх,
затем вниз и т.
д. , моделируя
изменение "объема сосуда с молекулами".
Добавить оператор, контролирующий
и изменяющий координаты точек,
выходящих за границу. {------------------------------------------------------------------
Фрагмент N 7 программы
"пчелиный рой"
( рисование массива пикселов,
хаотично перемещающихся около
движущейся точки). ------------------------------------------------------------------} for k:=1 to N do begin X[k]:=
random(Gx);
Y[k]:= random(Gy);
P[k]:= random(16) end; i:=1; Repeat if
i < Gx then i:= i + 3; {
смещение "центра" роя } for k:= 1
to N do begin
dx:= -25 + random(51);
dy:= -25 + random(51); PutPixel(X[k],
Y[k], 0);
if
(X[k]+dx > 0) and (X[k]+dx < Gx) {
контроль выхода пикселов }
then begin {
за границу экрана }
if (X[k]+dx < Gx-i) then
dx:= dx+5 { контроль выхода "центра"
}
else dx:= dx-5; X[k]:= X[k]+dx {
за границу экрана }
end;
if (Y[k]+dy
> 0) and (Y[k]+dy < Gy)
{
контроль выхода пикселов }
then begin
{
за границу экрана }
if (Y[k]+dy<Gy div 2) then dy:= dy+5 {
контроль выхода "центра" }
else dy:= dy-5; Y[k]:= Y[k]+dy { за
границу экрана }
end;
PutPixel(X[k], Y[k], P[k]) end Until KeyPressed;
{-----------------------------------------------------------------}
Эта программа -
усложненный вариант фрагмента N6.
Случайные смещения координат точек dx, dy
сначала задаются равномерно из диапазона
25. . . 25. Затем
анализируется местоположение каждой точки
относительно полюса с координатами Gx-i, Gy div 2. Смещения
координат корректируются так,
чтобы точки "тяготели" к "центру".
"Центр" перемещается из-за
изменения параметра "i",
чем моделируется перемещение роя. |
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |