Вычислить значение переменной s=s1+s2, где s1 – сумма элементов массива A1(7), модуль которых не превышает 7 - Free Pascal
Формулировка задачи:
2. Вычислить значение переменной s=s1+s2, где s1 – сумма элементов массива A1(7), абсолютная величина которых не превышает числа 7, а s2 – сумма элементов массива A2(7), обладающих тем же свойством.
Решение задачи: «Вычислить значение переменной s=s1+s2, где s1 – сумма элементов массива A1(7), модуль которых не превышает 7»
textual
Листинг программы
const
N = 7;
type
TArray = Array[0..N - 1] Of ShortInt;
procedure InputArray(var ar: TArray; const c: Char);
var
i: Byte;
begin
Write('A', c, ':');
for i := 0 to N - 1 do
begin
ar[i] := Random(19) - 9;
Write(ar[i]:3);
end;
WriteLn;
end;
function GetSum(const ar: TArray): ShortInt;
var
i: Byte;
Result: ShortInt = 0;
begin
for i := 0 to N - 1 do
if (Abs(ar[i]) < 7)
then
Inc(Result, ar[i]);
GetSum := Result;
end;
var
a1, a2: TArray;
begin
Randomize();
InputArray(a1, '1');
InputArray(a2, '2');
Write('S=', GetSum(a1) + GetSum(a2));
end.
Объяснение кода листинга программы
- Объявлены константа N = 7 и тип TArray = Array[0..N-1] Of ShortInt.
- Определена процедура InputArray, которая считывает массив a1 из 7 элементов с помощью цикла for и записывает каждый элемент в строку с помощью Write(ar[i]:3).
- Определена функция GetSum, которая принимает массив a2 в качестве аргумента и возвращает сумму его элементов с помощью цикла for и условного выражения if (Abs(ar[i]) < 7).
- В основной программе объявлены две переменные a1 и a2 типа TArray.
- Вызывается процедура InputArray для ввода массива a1.
- Вызывается процедура InputArray для ввода массива a2.
- Выводится значение переменной S=GetSum(a1)+GetSum(a2).
- Значение переменной S вычисляется как сумма значений функций GetSum(a1) и GetSum(a2).