Решение показано во вложении
Var a,b:real;
begin
readln(a);
if frac(a)>0.5 then
b:=int(a)+1
else b:=int(a);
writeln(b);
end.
//PascalABC.NET 3.1 сборка 1200
function F1(n: integer): integer;
begin
if n = 1 then
F1 := 2
else if n = 2 then
F1 := 1
else
F1 := F1(n - 1) + F1(n - 2);
end;
function F2(n: integer): integer;
begin
if n = 1 then
F2 := 1
else if n = 2 then
F2 := 2
else
F2 := F2(n - 1) - F2(n - 2) + 2 * n;
end;
begin
var n:= ReadInteger('n=');
Writeln(F1(n)); // вариант1
Writeln(F2(n)); // вариант2
end.
дополнительный алгоритм - инкапсулированная процедура или функция не зависимая от основного алгоритма, исполняет свою часть задачи в зависимости от переданых параметров
Из точки А в точку Ж есть 11 путей.
У меня это получилось сделать так:
//PascalABC.NET
var
n, k : integer;
x, s : real;
begin
write('x = ');
readln(x);
write('n = ');
readln(n);
s := 0;
for k := 1 to n do
s += ((power(x,1/3)/k - exp(-k*x)) * sin(k * x));
writeln(' res = ', 1 / (x*x + sqrt(x)) * s)
end.