Посчитать сумму всех элементов в массиве - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Условие задачи: Реализовать функцию ForEach, которая принимает в качестве аргументов массив чисел и функцию f и применяет функцию f к каждому элементу массива. С помощью данной функции посчитать сумму всех элементов в массиве.
Просьба: если не знаете как решить задачу или лень писать код, то хотя бы напишите как мне её в общем решить, потому что весь интернет облазил и нигде нет нормальной информации по этой функции на Pascal'e

Решение задачи: «Посчитать сумму всех элементов в массиве»

textual
Листинг программы
// Иллюстрация процедурных переменных как параметров подпрограмм
// Для процедурного типа в PascalABC.NET реализована структурная эквивалентность типов
// Процедурный тип реализован через делегаты .NET
procedure for_each(var a: array of real; p: procedure(var r: real));
var i: integer;
begin
  for i := 0 to a.Length-1 do
    p(a[i]);
end;
 
procedure mult2(var r: real);
begin
  r := 2*r
end;
 
procedure print(var r: real);
begin
  write(r,' ');
end;
 
var a: array of real := (1,2,3,6,7);
 
begin
  for_each(a,print); writeln;
  for_each(a,mult2);
  for_each(a,print);
end.

Объяснение кода листинга программы

В данном коде представлена процедура for_each, которая принимает два аргумента: массив a и процедуру p. Внутри цикла for, который выполняется от 0 до a.Length-1, вызывается процедура p, передавая в нее каждый элемент массива a. Также в коде присутствуют три процедуры:

  1. mult2 - принимает один аргумент типа real и удваивает его значение.
  2. print - принимает один аргумент типа real и выводит его значение на экран. В конце кода объявлен массив a, содержащий пять элементов, и вызываются три раза процедура for_each, каждый раз передавая в качестве процедуры p одну из трех описанных выше процедур.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы