Предмет: Информатика, автор: minczulan

!!! ПОЖАЛУЙСТА!!!

пожалуйста, помогите сделать это задание, желательно попроще (примитивно, как по учебнику/примера из рабочей тетради), чтобы у учителя не возникло лишних вопросов ( работаем в pascal abc обычно, вдруг многое меняет эта информация)

Приложения:

Ответы

Автор ответа: sashok451
1

Ответ:

паскаль не могу назвать любым им языком, но вот код как должен выглядеть +-

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

Похожие вопросы
Предмет: Українська література, автор: gievojvana
Предмет: Физика, автор: deniszinkin9