Контрольное задание №6-3 / 6-3
.docНайдите длину наибольшего отрезка, соединяющего две точки с координатами, заданными таблицей F(2,N)
Название программы следует после служебного слова program, программа называется dlina_otrizka. После слова var, задается массив (x,y), состоящий только из целых чисел. Далее перечисляются переменные, используемые в программе (k,i,j,zz) и задается их тип – целые числа integer, и переменная (m) с типом real. Программа начинается после слова begin. Переменной (zz) присваивается значение, равное 1. После команды: writeln('vvedite kol-vo tochek') на экран выводится сообщение с текстом, указанным в скобках. Введенное с клавиатуры значение присваивается переменной (k). Далее строке (x) задается длина, равная (k), строке (y) – длина, равная (k) и строке (z) – длина равная (zz). Далее процедурой randomize инициализируется генератор случайных чисел. Далее идет проверка, что если (i) находится в диапазоне от 0 до k-1, то выполняются следующие действия: в массиве (x,y) переменной (i) случайно задаются значения не более 100. Далее пропускается строка. Теперь идет проверка (i) в диапазоне от 0 до k-2 и если это условие выполняется, то производится еще одна проверка (j) в диапазоне от i+1 до k-1. Если оба условия выполняются, то выполняется расчет и результат выводится на экран. Далее командой inc увеличивается значение переменной (zz), и задается длина массива z, равная (zz). Далее пропускается строка. Теперь производится нахождение наибольшей длины отрезка. Переменной (m) присваивается значение элемента 0 массива z. После определения на экран выводится значение максимальной длины отрезка.
program Dlina_Otrizka;
var
x,y:array of integer;
k,i,j,zz:integer;
z:array of real;
m:real;
begin
zz:=1;
writeln('vvedite kol-vo tochek');
readln(k);
setlength(x,k);
setlength(y,k);
setlength(z,zz);
Randomize;
for i:=0 to k-1 do
begin
x[i]:=random(100);
write(inttostr(x[i])+' ');
y[i]:=random(100);
writeln(inttostr(y[i]));
end;
writeln;
for i:=0 to k-2 do
begin
for j:=i+1 to k-1 do
begin
z[zz-1]:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
writeln(floattostr(z[zz-1]));
inc(zz);
setlength(z,zz);
end;
end;
writeln;
m:=z[0];
for i:=1 to length(z) do
if z[i]>m then m:=z[i];
writeln('max dlina='+floattostr(m));
readln;
end.