Проблема в том, что end указан не там, где надо и это ломает синтаксис программы, посему компилятор ругается. По хорошему нужно было привести сообщение компилятора, а не спрашивать что не так. Чьлбы не ошибваться с логикой, пишите программу с отступами 0 будет видна структура.
===== PascalABC.NET =====
begin
var n := ReadInteger('Укажите длину массива:');
var a:= ArrRandom(n, -99, 99);
Println('Исходный массив:');
a.Println;
Println('Cумма всех элементов массива:', a.Sum);
Println('Произведение всех элементов массива:',
a.Aggregate(BigInteger.One, (p, q) -> p*q));
Println('Сумма квадратов всех элементов массива:',
a.Sum(p -> p * p));
Println('Сумма шести первых элементов массива:',
a?[:6].Sum);
var (k1, k2) := ReadInteger2('Введите k1 и k2:');
Println('Сумма элементов массива с', k1, 'по', k2, 'равна',
a?[k1-1:k2].Sum);
Println('Среднее арифметическое всех элементов массива:',
a.Average);
var (s1, s2) := ReadInteger2('Введите s1 и s2:');
Println('Среднее арифметическое элементов массива с', s1,
'по', s2, 'равно', a?[s1-1:s2].Average)
end.
program z51;
var
n,m,p,k:integer;
begin
n:=35;
m:=15;
p:=4;
k:=0;
if (n<=35) or (p<3) then
begin
k:= m div(p-2);
if (m div(p-2)<>0) then
begin
k:=(m+n)div p+k;
k:=k+1;
end
else
begin
k:=(n-m)mod(p-1)+k;
k:=k-1;
end
end { не хватает }
else if ((m+n)div(p+3)>2) then
k:=k+1;
{ end лишний }
Writeln(k);
end.
Объяснение:
Проблема в том, что end указан не там, где надо и это ломает синтаксис программы, посему компилятор ругается. По хорошему нужно было привести сообщение компилятора, а не спрашивать что не так. Чьлбы не ошибваться с логикой, пишите программу с отступами 0 будет видна структура.