!!! ПОЖАЛУЙСТА!!!
пожалуйста, помогите сделать это задание, желательно попроще (примитивно, как по учебнику/примера из рабочей тетради), чтобы у учителя не возникло лишних вопросов ( работаем в pascal abc обычно, вдруг многое меняет эта информация)
Ответы
Ответ:
паскаль не могу назвать любым им языком, но вот код как должен выглядеть +-
program BrownianMotion;
uses
crt, graph;
const
N = 10; // Количество частиц
steps = 1000; // Количество шагов
radius = 2; // Радиус частиц
type
Coord = record
x, y: real;
end;
Particle = record
coords: array of Coord;
end;
var
particles: array [1..N] of Particle;
function random_step: real;
begin
random_step := random - 0.5;
end;
procedure draw_trajectory(x_values, y_values: array of real);
var
i: integer;
begin
for i := 1 to High(x_values) do
begin
line(round(x_values[i - 1]), round(y_values[i - 1]), round(x_values[i]), round(y_values[i]));
delay(1);
end;
end;
var
gd, gm, i, j: integer;
begin
gd := VGA;
gm := VGAHi;
InitGraph(gd, gm, '');
for i := 1 to N do
begin
SetLength(particles[i].coords, steps);
particles[i].coords[0].x := random * 100 - 50;
particles[i].coords[0].y := random * 100 - 50;
for j := 1 to steps - 1 do
begin
particles[i].coords[j].x := particles[i].coords[j - 1].x + random_step;
particles[i].coords[j].y := particles[i].coords[j - 1].y + random_step;
end;
draw_trajectory(particles[i].coords, particles[i].coords);
end;
delay(1000);
CloseGraph;
end.
Объяснение:
для запуска этого кода потребуется среда разработки Pascal с поддержкой графики, такая как Turbo Pascal или Free Pascal с библиотекой graph
так же предлагаю посмотреть на реализацию на python для аналогичного вопроса(решено так же мной) https://znanija.com/task/54350319