Программа
PROGRAM Circle;
CONST QuantityElement=10; { Количество элементов вектора }
TYPE Coordinate=record X,Y:real end; { Тип координаты }
CircleType=record { Тип окружность }
Centre,PointOfCircle:Coordinate;
R:real { Радиус окружности }
end;
CircleArrayType=array [1..QuantityElement] of CircleType; { Массив-тип }
VAR CircleArray:CircleArrayType; { Массив окружностей }
PROCEDURE InputVector (var CircleArray:CircleArrayType);
{ Процедура ввода массива }
Var i:word; { Счетчик }
Begin
for i:=1 to QuantityElement do { Цикл ввода элементов массива }
begin
WriteLn('Введите окружность #',i);
{ Вывод приглашения ввести элемент массива }
with CircleArray[i] do
begin
Write(' X-координата центра: ');
ReadLn(Centre.X); { Ввод элемента массива }
Write(' Y-координата центра: ');
ReadLn(Centre.Y); { Ввод элемента массива }
Write(' X-координата точки окружности: ');
ReadLn(PointOfCircle.X); { Ввод элемента массива }
Write(' Y-координата точки окружности: ');
ReadLn(PointOfCircle.Y); { Ввод элемента массива }
R:=Sqrt(Sqr(Centre.X-PointOfCircle.X)+Sqr(Centre.Y-PointOfCircle.Y))
{ Вычисление радиуса окружности }
end
end
End;
PROCEDURE OutputVector (CircleArray:CircleArrayType);
{ Процедура вывода массива }
Var i:word; { Счетчик }
Begin
{ Вывод шапки таблицы: }
WriteLn('╔══════════╤═════════════════════════╤═════════════════════════╤════════════╗');
WriteLn('║ Номер │ Центр окружности │ Точка окружности │ Радиус ║');
WriteLn('║окружности├────────────┬────────────┼────────────┬────────────┤ ║');
WriteLn('║ │ X │ Y │ X │ Y │ ║');
WriteLn('╠══════════╪════════════╪════════════╪════════════╪════════════╪════════════╣');
for i:=1 to QuantityElement do { Цикл вывода массива }
with CircleArray[i] do
WriteLn('║ ',i:2,' │',Centre.X:12,'│',Centre.Y:12,'│',PointOfCircle.X:12,'│',PointOfCircle.Y:12,'│',R:12,'║');
{ Вывод элемента массива }
WriteLn('╚══════════╧════════════╧════════════╧════════════╧════════════╧════════════╝')
{ Закрытие таблицы }
End;
FUNCTION GetMinCircle(CircleArray:CircleArrayType):word;
{ Функция поиска наименьшей окружности }
Var i:word; { Счетчик }
Number:word; { Номер наименьшей окружности }
Begin
Number:=1;
for i:=2 to QuantityElement do { Цикл просмотра массива }
if CircleArray[Number].R>CircleArray[i].R then Number:=i;
{ Если радиус просматриваемой окружности меньше минимального,
то переопределение номера минимальной окружности }
GetMinCircle:=Number { Определение значения функции }
End;
BEGIN
WriteLn; { Пропуск строки }
InputVector(CircleArray); { Ввод массива }
WriteLn; { Пропуск строки }
OutputVector(CircleArray); { Вывод массива }
WriteLn; { Пропуск строки }
WriteLn('Номер наименьшей окружности: ',GetMinCircle(CircleArray))
{ Определение и вывод номера наимеьшей окружности }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию