<em>// PascalABC.NET 3.2, сборка 1439 от 09.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln(Range(2,2*ReadInteger('n='),2).Aggregate(BigInteger(1),(m,n)->m*n))
end.
<u>Пример</u>
n= 37
1891675820705153808241239602722999673157373132800000000
Program kv_ur;
var a, b, c, d, x1,x2, x:real;
begin
read(a, b, c);
d:= sqr(b) - 4*a*c;
if d<0 then write('нет решений');
if d = 0 then
begin
x:= -b/(2*a); write('один корень: ',x:5:2)
end;
if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
<span> x2:=(-b-sqrt(d))/(2*a);
</span> write('два корня: ', 'x1=',x1:5:2,'x2=',x2:5:2)
end
end.
В программировании операцию "задания" конкретных значений объектам программы называют присваиванием.
В Языке Паскаль присваивание начальных значений элементам массива можно производить либо непосредственно, либо в цикле.
Непосредственное присваивание используется, если количество таких присваиваний невелико. В этом случае записываются операторы присваивания для каждого элемента массива, которому нужно присвоить значение, например: a[6]:=5; b[4,12]:=11; и т.д.
Присваивание в цикле используется, когда количество элеметнов массива велико, а значение для конкретного элемента можно или задать общим алгоритмом, или ввести извне (с клавиатуры или из файла). В этом случае цикл организуется так, чтобы параметры цикла перебрали все необходимые индексы элементов массива.
Примеры:
for i:=1 to 20 do a[i]:=3*i^2-1;
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
Еще пример - заполнение случайными числами в диапазоне (-20..20)
Randomize;
for i:=1 to m do x[i]:=Random(40)-20;