Делим фигуру на 2 прямоугольника.
1 треугольник: a=3,b=12;
2 треугольник: a=3,b=6;
Формула периметра: P=(a+b)*2
1) (3+12)*2= 15*2 = 30 (см)
2) (3+6)*2= 9*2 = 18 (см)
3) 30+18=48(см)
Ответ: P фигуры = 48 см
var
N,sum,k: integer;
begin
sum:=0;
WriteLn('Введите N');
readln(N);
while N <=9 do
begin
writeln('Введите корректное число (больше или равное 10)');
readln(N);
end;
while N >=10 do
begin
k:= N mod 10;
N:= N div 10;
sum:= sum + k;
end;
sum:=sum + N;
write('Первая цифра числа ');
writeln(N);
write('Сума цифр числа ');
writeln(sum);
end.
3072 / 1024 / 1,5 = 2 байта на символ. 16 битов, т. е. Итого: 2^16 = 65536 символов.
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
unit ASM;
interface
type SF=(integer,integer);
function AddSF(a,b:SF):SF;
function SubSF(a,b:SF):SF;
function MultSF(a,b:SF):SF;
function DivSF(a,b:SF):SF;
implementation
function Gcd(p:SF):integer;
begin
(var a,var b):=p;
a:=abs(a); b:=abs(b);
while b>0 do (a,b):=(b,a mod b);
Result:=a
end;
function ReductSF(p:SF):SF;
begin
var t:=Gcd(p);
if t>1 then Result:=(p[0] div t,p[1] div t)
else Result:=p
end;
function AddSF(a,b:SF):=ReductSF((a[0]*b[1]+a[1]*b[0],a[1]*b[1]));
function SubSF(a,b:SF):=ReductSF((a[0]*b[1]-a[1]*b[0],a[1]*b[1]));
function MultSF(a,b:SF):=ReductSF((a[0]*b[0],a[1]*b[1]));
function DivSF(a,b:SF):=ReductSF((a[0]*b[1],a[1]*b[0]));
end.
<u>***** Пример работы с модулем *****</u>
uses ASM;
begin
var a:=(5,24);
var b:=(7,8);
var c:=AddSF(a,b);
Writeln(a[0],'/',a[1],'+',b[0],'/',b[1],'=',c[0],'/',c[1])
end.
<u>Результат</u>
5/24+7/8=13/12