Из списка L1 получить список L2, элементы которого равны среднему арифметическому тройки элементов L1 - Prolog

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

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

Из списка L1 получить список L2, очередной элемент которого равен среднему арифметическому очередной тройки элементов списка L1. Если количество элементов L1 не кратное 3, то последний элемент списка L2 получаем делением на 3 одного или суммы двух последних элементов списка L1. Список L1 вводится по подсказке с экрана. В результате выполнения программы должны выводиться входной L1 и результирующий L2 списки. Программа, работающая только для количества элементов, кратных 3.
Буду очень благодарна за помощь.

Решение задачи: «Из списка L1 получить список L2, элементы которого равны среднему арифметическому тройки элементов L1»

textual
Листинг программы
sum([A, B], [Sum]) :- Sum is (A+B)/3.
sum([A], [Sum]) : -Sum is A/3.

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

Код представляет собой процедуру вычисления среднего арифметического элементов списка L1 и формирования списка L2, содержащего искомые значения. Он написан на языке программирования Prolog и состоит из двух правил:

  1. sum([A, B], [Sum]) :- Sum is (A+B)/3. Это правило применяется, когда список L1 содержит два элемента A и B. Оно вычисляет среднее арифметическое A и B, деля их сумму на 3, и присваивает результат переменной Sum.
  2. sum([A], [Sum]) :- -Sum is A/3. Это правило применяется, когда список L1 содержит один элемент A. Оно вычисляет среднее арифметическое A, считая его значение за 3, и присваивает результат переменной Sum. Знак минус перед Sum используется для корректного вычисления значения в соответствии с предыдущим правилом. Таким образом, после выполнения кода, в переменной L2 будет содержаться список, элементы которого равны среднему арифметическому тройки элементов L1.

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


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

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

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