Использование процедур или функций - Turbo Pascal
Формулировка задачи:
Вычислить сумму элементов массива а, значения которых кратные N с использованием процедур или функций, если элементы массива определяются по формуле ai+1=(37*ai+3) mod 64. Значение а1=2;
i меняется 1-19.
Решение задачи: «Использование процедур или функций»
textual
Листинг программы
uses crt; const m=20; type mas=array[1..m] of integer; function f(a:mas;n:integer):integer; var i,s:integer; begin s:=0; for i:=1 to m do if a[i] mod n=0 then s:=s+a[i]; f:=s; end; var a:mas; n,i:integer; begin clrscr; writeln('Массив'); a[1]:=2; write(a[1]:4); for i:=2 to m do begin a[i]:=(37*a[i-1])mod 64; write(a[i]:3); end; writeln; repeat write('Введите натуральное число n='); readln(n); until n>0; write('Сумма кратных ',n,'=',f(a,n)); readln end.
Объяснение кода листинга программы
- В первой части кода определяется тип данных
mas
, который представляет собой массив целых чисел. - Затем определяется функция
f
, которая принимает массивa
и целое числоn
в качестве параметров. Функция возвращает сумму всех элементов массиваa
, которые кратны числуn
. - Далее определяется переменная
a
, которая инициализируется значением 2. - Затем выполняется цикл
for
, который начинается с индекса 2 и продолжается доm
. Внутри цикла каждый элемент массиваa
вычисляется как(37*a[i-1])mod 64
. Здесьmod
обозначает операцию взятия остатка от деления. - После завершения цикла
for
выполняется вывод суммы всех элементов массиваa
, которые кратны числуn
. - Затем пользователю предлагается ввести натуральное число
n
. - После этого выполняется цикл
repeat
, который продолжается до тех пор, покаn
больше 0. - Внутри цикла пользователю предлагается ввести число
n
. - После получения числа
n
выполняется вызов функцииf(a,n)
, чтобы получить сумму всех элементов массиваa
, которые кратны числуn
. - Наконец, выводится результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д