Дан одномерный массив из целых чисел. Построить гистограмму по числовым данным, хранящимся в массиве.
Программа
uses graphABC;
var
a: array[1..20] of integer;
n, max, h, x, y1, y2: integer;
m: real;
begin
write('Количество n =');
readln(n);
writeln(n);
writeln('Элементы массива');
for var i := 1 to n do begin
read(a[i]);
write(a[i], ' ');
end;
max := a[1];
for var i := 2 to n do
if a[i] > max then max := a[i];
h := trunc(WindowWidth / (2 * n + 1));
m := WindowHeight / max;
x := h;
y1 := WindowHeight;
for var i := 1 to n do begin
Brush.Color:=clrandom;
y2 := y1 - trunc(a[i] * m);
Rectangle(x, y1, x + h, y2);
x := x + 2 * h;
end;
end.
Тестирование.
Расставьте комментарии к программе:
Измените программу так, чтобы при построении диаграммы использовалась не вся высота окна, а оставались поля сверху и снизу.
Измените программу так, чтобы столбики строились без промежутков между ними.
*Постройте линейчатую диаграмму.
Измените программу, составленную при выполнении задания 2, так чтобы при выводе гистограммы присутствовала анимация роста столбцов.