Скачиваний:
8
Добавлен:
01.05.2014
Размер:
194.05 Кб
Скачать

Найдите длину наибольшего отрезка, соединяющего две точки с координатами, заданными таблицей 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.