Показать сообщение отдельно
Старый 21.05.2014, 17:04   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ладно, вот. Если, конечно, устроит Паскаль. Правда, боюсь, смысл этой "схемы-подсказки" навсегда останется тайной ее составителя, я попроще сделал. И не вижу, куда бы тут впихнуть "много модулей" и даже "несколько процедур". ВАЖНО: модуль сохранить под именем My_Unit.pas (ну или под другим, но тогда, соответственно, меняйте и первую строку), программу называйте, как хотите.

Модуль:
Код:
Unit My_Unit;

Interface

Type
 Coord=Record
        x,y:Real;
       End;

Function First_Quadr(z:Coord):boolean;

Implementation

Function First_Quadr(z:Coord):boolean;
begin
 if (z.x>=0) and (z.y>=0) then First_Quadr:=true else First_Quadr:=false;
end;

end.
Программа:
Код:
Uses My_Unit;

Const
 N=40;
Var
 i:byte;
 b:boolean;
 Point:Coord;
 R:real;
Begin
 R:=0;
 Randomize;
 b:=true;
 for i:=1 to N do
  begin
   Point.x:=Random*10-0.12;
   Point.y:=Random*10-0.12;
   if not First_Quadr(Point) then
    begin
     b:=false;
     writeln('x = ',Point.x:6:3,'      y = ',Point.y:6:3);
    end
   else
    if Sqrt(Sqr(Point.x)+Sqr(Point.y))>R then
         R:=Sqrt(Sqr(Point.x)+Sqr(Point.y));
  end;
 if b then
  begin
   writeln('All points belong to first quadrant');
   writeln('Rmax = ',R:6:3);
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070