Написать программу для вычисления суммы числел от a до b (где a< =b) указание: переменная, которая будет накапливать сумму в начале должна быть равна нулю
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); end; end.
Задача №2
var a:array [1..20] of integer; i:integer; begin writeln('Введите числа в интервале [-20;29]'); for i:=1 to 10 do read(a[i]); for i:=1 to 10 do if (a[i]>-29) and (a[i]<20) then write(a[i],' '); end.
Задача №3
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+1; end; writeln('Количество положительных элементов массива = ', sum); end.
Задача №4
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; if a[i]<0 then a[i]:=0; write (a[i],' '); end; end.
Задача №5
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+a[i]; end; writeln('Сумма положительных элементов массива = ', sum); end.
// PascalABC.NET 3.0, сборка 1128 begin var a:=ArrRandom(20,-10,19); a.Println(','); // 1 var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2 Writeln('Количество положительных элементов ', a.Where(x->x>0).Count); // 3 for var i:=0 to 19 do if a[i]<0 then a[i]:=0; Writeln('Массив А после замены отрицательных'); a.Println(','); //4 Writeln('Сумма положительных элементов ', a.Where(x->x>0).Sum) // 5 end.
Тестовое решение: 14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8 Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1 Количество положительных элементов 13 Массив А после замены отрицательных 14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0 Сумма положительных элементов 112
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b):=ReadInteger2('Введите через пробел a и b:');
Writeln('S=',Range(a,b).Sum)
end.
Пример
Введите через пробел a и b: 5 18
S=161
2. К сожалению, все еще часто типичный для школы вариант
var
a,b,i,s:integer;
begin
Write('Введите через пробел a и b: ');
Read(a,b);
s:=0;
for i:=a to b do
s:=s+i;
Writeln('S=',s)
end.