1. Эта функция вычисляет площадь треугольника по формуле Герона
Код
function S(a, b, c: real): real;
var p:real;
begin
{площадь по теореме Герона}
p:=(a+b+c)/2; {полупериметр}
S:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
2. Функция IsLegal возвращает True если треугольник может существовать, иначе - False
Код
function isLegal(a, b, c: real): boolean;
begin
isLegal := not (((a+b)<c) or ((a+c)<b) or ((c+b)<a))
end;
3. По определению, номер високосного года делится на 4, кроме тех, которые делятся на 100, но не делятся на 400.
Например: 2004, 2008, 2012, 2016 - високосные, 1900, 2100, 2200, 2300 - невисокосные, 2000, 2400 - високосные. Отсюда программа:
Код
function bsYear(n: Word): Boolean;
begin
bsYear := ((n mod 4) = 0) and
not (((n mod 100) = 0) and ((n mod 400) <> 0))
end;
begin
writeln(bsYear(1972))
end.
4.
Код
Var
yr1, yr2: Word;
Begin
ReadLn(yr1); ReadLn(yr2);
If (bsYear(yr1) or bsYear(yr2)) Then
WriteLn('сумма дней больше 730')
Else WriteLn('Сумма дней не больше 730')
End.
5.
Код
function GCD(const m, n: Word): Word;
var p, n1, m1: Word;
begin
if (n = 0) or (m = 0) then GCD := 0
else
begin
if m < n then
begin
n1 := m; m1 := n
end
else
begin
n1 := n; m1 := m
end;
while n1 > 0 do
begin
p := m1 mod n1;
m1 := n1; n1 := p
end;
GCD := m1
end;
end;
Begin
WriteLn(GCD(54, 36)); {18}
End.