Для первого варианта, тип данных - целые числа, правило 2х+1
для второго варианта, тип данных - целые числа, правило - не знаю
<em><u>Для среды программирования Windows (типа PascalABC.Net)</u></em>
var
f,n:longint;
a:real;
begin
Read(n);
f:=2*n;
if f>0 then f:=2*(f+n)
else f:=n*f;
if f<0 then a:=f/10
else a:=f/2;
Writeln(a)
end.
<em><u>Для среды программирования DOS (типа Turbo Pascal)</u></em>
uses Crt;
var
f,n:longint;
a:real;
begin
ClrScr;
Read(n);
f:=2*n;
if f>0 then f:=2*(f+n)
else f:=n*f;
if f<0 then a:=f/10
else a:=f/2;
Writeln(a);
ReadKey
end.
18 бизанимаэт это слово (вроде бы)
var i,n,p:integer;
a:array[1..10000] of integer;
begin
p:=1;
readln(n); {Вводится количество элементов массива}
for i:=1 to n do begin readln(a[i]); p:=p*a[i]; end; {Вводится каждый элемент массива и умножается на произведение ранее введённых}
writeln(exp(ln(p)/n)); {Вывод среднего арифметического - корень степени n из произведения всех элементов массива}
end.
Вот код программы для этой прогрессии на С# и скриншот с результатом.
float ss = 0;
float s = 1;
Console.WriteLine("Введите n");
float n = Convert.ToInt16 ( Console.ReadLine());
Console.WriteLine("---------------------------");
for (float i = 2; i <= n; i++)
{ ss = s; s -= (1 / i); Console.WriteLine(ss + "-" + 1 / i + "="+s+"\n\r"); }
Console.WriteLine("---------------------------");
Console.WriteLine("Конечный результат s = " + s);
<span> Console.ReadLine();</span>