Графика в Паскале - Pascal (8154)

Узнай цену своей работы

Формулировка задачи:

Плиз, помогите написать прогу. Мне нужно написать программу, изображающую на экране движение точки со случайными приращениями координат («броуновское движение»), используя аддитивный генератор чисел. Я уже замучился, аддитивный генератор я написал, а вот как броуновское движение сделать без понятия. Очень буду благодарен!!! Генератор чисел:
program lab1;
uses crt;
const  m=1000;
var  k,i:longint;
x: array[0..m] of integer;
 
begin
clrscr;
for i:=0 to 16 do
  begin
  x[i]:=random(16);
  end;
k:=16;
 for  i:=16 to m-1 do
    begin
    x[i+1]:=(x[i]+x[i-k]) mod m;
    write(x[i],'  ');
    end;
 end.

Решение задачи: «Графика в Паскале»

textual
Листинг программы
program graph4;
uses graph,crt;
var x,y,x0,y0,d,r,dx,dy:integer;
begin
x:=0;
initgraph(x,y,'EGAVGA.BGI');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
outtextXY(x0-80,20,'Exit-press any key');
d:=200;
r:=10;
rectangle(x0-d,y0-d,x0+d,y0+d);
x:=x0;
y:=y0-d+r+1;
dx:=-1;
dy:= 1;
repeat
setcolor(12);
circle(x,y,r);
setfillstyle(1,12);
Fillellipse(x,y,r,r);
delay(10);
setcolor(0);
circle(x,y,r);
setfillstyle(1,0);
Fillellipse(x,y,r,r);
x:=x+dx;
y:=y+dy;
if x=x0-d+r+2 then dx:=1
else if  y=y0+d-r-2 then dy:=-1
else if  x=x0+d-r-2 then dx:=-1
else if  y=y0-d+r+2 then dy:=+1;
until Keypressed;
end.

Объяснение кода листинга программы

  1. Создается программа graph4, которая использует библиотеку graph и crt.
  2. Объявляются переменные: x, y, x0, y0, d, r, dx, dy - целые числа.
  3. Вычисляется значение x0 как половина максимального значения x и y.
  4. Вычисляется значение y0 как половина максимального значения x и y.
  5. Выводится текст на экран (координаты выхода указаны в виде десятичной дроби).
  6. Значения переменных d и r инициализируются.
  7. Выводится окружность с радиусом r.
  8. Вычисляются новые координаты x и y.
  9. Устанавливается цвет для заполнения фигуры.
  10. Выводится окружность с радиусом r.
  11. Если новые координаты x и y совпадают с координатами x0-d+r+2 и y0-d+r+2 соответственно, то dx устанавливается равным 1.
  12. Если новые координаты x и y совпадают с координатами x0+d-r-2 и y0-d+r+2 соответственно, то dy устанавливается равным -1.
  13. Если новые координаты x и y совпадают с координатами x0+d-r-2 и y0+d-r-2 соответственно, то dx устанавливается равным -1.
  14. Если новые координаты x и y совпадают с координатами x0-d+r+2 и y0+d-r-2 соответственно, то dy устанавливается равным +1.
  15. Цикл повторяется до тех пор, пока не будет нажата клавиша.
  16. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы