Начнем с формул. Площадь треугольника: S = 1/2*a*b*sin C Отсюда: sin C = 2*S/(a*b); cos C = sqrt(1 - sin^2 C) tg C = sin C / cos C; C = atan(tg C) Теорема косинусов: c = sqrt(a^2 + b^2 - 2*a*b*cos C) Площадь: S = c*h/2; отсюда h = 2*S/c Теорема синусов: a/sin A = b/sin B = c/sin C Отсюда: sin A = a/c*sin C; sin B = b/c*sin C cos A = sqrt(1 - sin^2 A); cos B = sqrt(1 - sin^2 B) tg A = sin A/cos A; A = atan(tg A); tg B = sin B/cos B; B = atan(tg B) Периметр: P = a + b + c Теперь записываем в Паскале singam := 2*S/(a*b); cosgam = sqrt(1 - singam*singam); tangam := singam/cosgam; Gamma := atan(tangam); c := sqrt(a*a + b*b - 2*a*b*cosgam); h := 2*S/c; P := a + b + c; sinalp = a/c*singam; cosalp = sqrt(1 - sinalp*sinalp); tanalp := sinalp/cosalp; Alpha := atan(tanalp); sinbet = b/c*singam; cosbet = sqrt(1 - sinbet*sinbet); tanbet := sinbet/cosbet; Beta := atan(tanbet);
Var f:file of integer; a,i,k,n:integer; begin randomize; assign(f,'file'); rewrite(f); repeat write('Четное количество элементов: '); readln(n); until(n>1) and (n mod 2=0); for i:=1 to n do begin a:=random(100); write(f,a); end; writeln('Содержание исходного файла:'); reset(f); while not eof(f) do begin read(f,a); write(a,' '); end; close(f); writeln; reset(f); seek(f,filesize(f)div 2); truncate(f); writeln('Содержание измененного файла:'); reset(f); while not eof(f) do begin read(f,a); write(a,' '); end; close(f); readln end.
Площадь треугольника: S = 1/2*a*b*sin C
Отсюда: sin C = 2*S/(a*b); cos C = sqrt(1 - sin^2 C)
tg C = sin C / cos C; C = atan(tg C)
Теорема косинусов: c = sqrt(a^2 + b^2 - 2*a*b*cos C)
Площадь: S = c*h/2; отсюда h = 2*S/c
Теорема синусов: a/sin A = b/sin B = c/sin C
Отсюда: sin A = a/c*sin C; sin B = b/c*sin C
cos A = sqrt(1 - sin^2 A); cos B = sqrt(1 - sin^2 B)
tg A = sin A/cos A; A = atan(tg A);
tg B = sin B/cos B; B = atan(tg B)
Периметр: P = a + b + c
Теперь записываем в Паскале
singam := 2*S/(a*b); cosgam = sqrt(1 - singam*singam);
tangam := singam/cosgam; Gamma := atan(tangam);
c := sqrt(a*a + b*b - 2*a*b*cosgam); h := 2*S/c;
P := a + b + c;
sinalp = a/c*singam; cosalp = sqrt(1 - sinalp*sinalp);
tanalp := sinalp/cosalp; Alpha := atan(tanalp);
sinbet = b/c*singam; cosbet = sqrt(1 - sinbet*sinbet);
tanbet := sinbet/cosbet; Beta := atan(tanbet);
a,i,k,n:integer;
begin
randomize;
assign(f,'file');
rewrite(f);
repeat
write('Четное количество элементов: ');
readln(n);
until(n>1) and (n mod 2=0);
for i:=1 to n do
begin
a:=random(100);
write(f,a);
end;
writeln('Содержание исходного файла:');
reset(f);
while not eof(f) do
begin
read(f,a);
write(a,' ');
end;
close(f);
writeln;
reset(f);
seek(f,filesize(f)div 2);
truncate(f);
writeln('Содержание измененного файла:');
reset(f);
while not eof(f) do
begin
read(f,a);
write(a,' ');
end;
close(f);
readln
end.