// 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.
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
case ReadInteger('Номер месяца (1-12):') of
1,2,12:Writeln('Зима');
3..5:Writeln('Весна');
6..8:Writeln('Лето');
9..11:Writeln('Осень');
else Writeln('Неверный номер месяца')
end
end.
<u>Вариант "для школьников"</u>
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
var n:integer;
begin
Write('Номер месяца (1-12): '); Read(n);
case n of
1,2,12:Writeln('Зима');
3..5:Writeln('Весна');
6..8:Writeln('Лето');
9..11:Writeln('Осень');
else Writeln('Неверный номер месяца')
end
end.
Var n:integer;
Begin
Read(n);
Case n of
1,3,5,7,8,10,12:n:=31;
4,6,9,11:n:=30;
2:n:=28;
else n:=0;
End;
Write(n)
End.
Program n1;
var i,a,kn,pp,n: integer;
begin
write('введите кол-во чисел: ');
readln(n);
pp:=1;
kn:=0;
for i:=1 to n do
begin
write('введите ',i,' число: ');
readln(a);
if a mod 2<>0 then kn:=kn+1;
if a>0 then pp:=pp*a;
end;
writeln('кол-во неч. чисел: ',kn);
writeln('произв. пол чисел: ',pp);
end.
Var x,y : real; b:boolean;
begin
write('x = '); readln(x);
write('y = '); readln(y);
b:= (x*x+y*y<=36)and((x<=0)or(x>=0)and(y<=0));
writeln(b);
<span>end.</span>