Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Паскаль –программа в консольном приложении Delphi без классов





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 в противном случае.

Date: 2015-07-27; view: 362; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию