Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Паскаль –программа в консольном приложении Delphi без классов ⇐ ПредыдущаяСтр 3 из 3 program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
Var n,n1,i,j:integer;x,y:array of array[1..3]of real; {динамические массивы} k:array of integer; { динамический массив} d,dmin:real; f:boolean; function distance(x1,y1,x2,y2:real):real;{вычисление расстояния между двумя точками} begin distance:=sqrt(sqr(x1-x2)+sqr(y1-y2)); end; function angle(x1,y1,x2,y2,x3,y3:real):integer;(Определение номера вершины треугольника с прямым углом) var a,b,c:real; begin a:=distance(x1,y1,x2,y2); b:=distance(x2,y2,x3,y3); c:=distance(x1,y1,x3,y3); j:=0; if abs(sqr(a)+sqr(c)-sqr(b))<1.0E-8 then j:=1 else if abs(sqr(a)+sqr(b)-sqr(c))<1.0E-8 then j:=2 else if abs(sqr(b)+sqr(c)-sqr(a))<1.0E-8 then j:=3; angle:=j;
end; begin writeln('vvedite n'); readln (n); SetLength(x,n);SetLength(y,n);{dyn arrays} writeln('vvedite koordinaty vershin'); for i:=1 to n do readln(x[i-1,1], y[i-1,1], x[i-1,2], y[i-1,2], x[i-1,3], y[i-1,3]);{dyn arrays} dmin:=1.0E38; f:=false; for i:=1 to n do begin j:=angle(x[i-1,1], y[i-1,1], x[i-1,2], y[i-1,2], x[i-1,3], y[i-1,3]);{dyn arrays} if j<>0 then begin f:=true; d:=distance(x[i-1,j], y[i-1,j], 0,0); {dyn arrays} if d<dmin then dmin:=d end; end; if f then begin n1:=0; for i:=1 to n do begin j:=angle(x[i-1,1], y[i-1,1], x[i-1,2], y[i-1,2], x[i-1,3], y[i-1,3]);{dyn arrays} if j<>0 then begin d:=distance(x[i-1,j], y[i-1,j], 0,0); {dyn arrays} if abs(d-dmin)<1.0E-8 then begin n1:=n1+1; SetLength(k,n1); {dyn arrays} k[n1-1]:=i; end; end; end;
writeln('iskomye nomera'); for i:=1 to n1 do write(k[i-1],' '); writeln; end else writeln('takih net'); readln end.
Паскаль-программа в консольном приложении с классом, описывающим геометрическую фигуру – квадрат
Описание оконного приложения Формы оконного приложения
Автономный модуль
Разработан автономный модуль, содержащий описания класса, описывающего геометрическую фигуру. Этот модуль используется модулем основной формы. Его код:
Описание основной формы приложения
Графический вывод
Тесты 7.
[1] Первый индекс этого массива – это номер треугольника, второй индекс – номер вершины треугольника. Соответственно, массив является динамическим по первому индексу, второй индекс изменяется от 1 до 3. [2] Под искомыми прямоугольниками подразумеваются прямоугольные треугольники с минимальным расстоянием от вершины прямого угла до начала координат. [3] Признак f принимает значение false, если среди заданных треугольников нет ни одного прямоугольного, и принимает значение true в противном случае.
|