// PascalABC.NET 3.0, сборка 1076 type Point=record x,y:real end; Line=record A,B:Point end; Triangle=record A,B,C:Point; sa,sb,sc:real; { длины сторон } end;
procedure GetPoint(PointName:char; var M:Point); begin Write('Введите координаты точки ',PointName,'(x,y): '); Read(M.x,M.y) end;
function LineLength(A,B:Point):real; begin LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y)) end;
procedure CreateTriangle(var T:Triangle; var l:boolean); begin With T do begin GetPoint('A',A); GetPoint('B',B); GetPoint('C',C); sa:=LineLength(B,C); sb:=LineLength(A,C); sc:=LineLength(A,B); l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa) end end;
function TriangleIsLikes(T1,T2:Triangle):boolean; var k1,k2,k3:real; begin k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb; if k1=k2 then begin k3:=T1.sc/T2.sc; TriangleIsLikes:=k1=k3 end else TriangleIsLikes:=False end;
var T1,T2:Triangle; legal:boolean; begin Writeln('*** Первый треугольник ***'); CreateTriangle(T1,legal); if legal then begin Writeln('*** Второй треугольник ***'); CreateTriangle(T2,legal); if legal then if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны') else Writeln('Треугольники не подобны') else Writeln('Треугольник невозможно построить') end else Writeln('Треугольник невозможно построить') end.
Задача 1. var f:Text; n,nmax,nmin:integer; begin Assign(f,'input.txt'); Reset(f); nmax:=-32786; nmin:=32767; {границы представления integer} while not Eof(f) do begin Readln(f,n); if (n>0) and (n mod 2=0) then if nmax<n then nmax:=n else if nmin>n then nmin:=n end; Close(f); Assign(f,'output.txt'); Rewrite(f); Writeln(f,nmin,' ',nmax); Close(f) end.
Задача 2. const m=100; { максимальное количество чисел в файле } var f:Text; i,j,n,k:integer; a:array[1..m] of integer; begin { читаем данные из файла в массив } Assign(f,'input.txt'); Reset(f); i:=0; while not Eof(f) do begin Inc(i); Readln(f,a[i]) end; Close(f); n:=i; { сортируем массив по возрастанию методом пузырька } for i := 1 to n-1 do for j := 1 to n-i do if a[j] > a[j+1] then begin k := a[j]; a[j] := a[j+1]; a[j+1] := k end; { заполняем файл из массива } Assign(f,'output.txt'); Rewrite(f); for i:=1 to n do Writeln(f,a[i]); Close(f) end.