Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type coordinate = record { тип координат }
- x , y : real;
- end;
- VAR
- coord : array [ 'a' .. 'd' ] of coordinate; { массив с координатами }
- masd : array [ 1 .. 6 ] of real; { массив с длинами }
- resd : array [ 1 .. 6 ] of integer; { массив с результатами сравнений сторон}
- nam , a , b , c, d : char; { пременные для работы с именами вершин }
- d1 , d2 , d3 , d4 , d5 , d6 : real;{ длины сторон и временная переменная }
- i , j , z , k : integer; { просто цифры для вычислений }
- num_st , num_st2 : integer; { количество диагоналей и нужных сторон }
- function lenghtt ( a , b : coordinate ) : real; { длина между двумя точками }
- Begin
- lenghtt := sqrt( sqr(a.x - b.x) + sqr(a.y - b.y) );
- End;
- BEGIN
- a := 'a';
- b := 'b';
- c := 'c';
- d := 'd';
- z := 1;
- k := 0;
- num_st := 0;
- num_st2 := 0;
- for i:=1 to 6 do resd[i] := 0;{ обнулениe массива }
- for nam := 'a' to 'd' do { ввод кординат }
- Begin
- writeln('Вершина ', nam , ':'); write('X = '); read(coord[nam].x);
- write('Y = '); readln(coord[nam].y);
- End;
- d1 := lenghtt( coord[a] , coord[b] ); { вычисление длин отрезков }
- d2 := lenghtt( coord[b] , coord[d] );
- d3 := lenghtt( coord[d] , coord[c] );
- d4 := lenghtt( coord[a] , coord[c] );
- d5 := lenghtt( coord[a] , coord[d] );
- d6 := lenghtt( coord[b] , coord[c] );
- masd[1] := d1; { занесение длин в массив }
- masd[2] := d2;
- masd[3] := d3;
- masd[4] := d4;
- masd[5] := d5;
- masd[6] := d6;
- for i:=1 to 6 do { сравнение сторон }
- Begin
- z := 1;
- for j:=1 to 6 do
- Begin
- if( j <> i)then
- if( masd[i] = masd[j])
- then
- begin
- resd[i] := resd[i] + 1 * z;
- z := z * 10;
- end
- else
- begin
- resd[i] := resd[i] + 7 * z;
- z := z * 10;
- end;
- End;
- End;
- k := 0 ;
- for i :=1 to 6 do { исследование результатов сравнения сторон }
- Begin
- z := resd[i];
- k := 0;
- while ( z > 0)do
- begin
- if( z mod 10 = 1 )then k := k + 1;
- z := z div 10;
- end;
- if( k >= 1)then num_st := num_st + 1;
- if( k = 0)then num_st2 := num_st2 + 1;
- End;
- if(num_st >= 4)and(num_st2 < 2)
- then
- writeln('Это параллелограмм')
- else
- writeln('Это не параллелограмм');
- END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement