(495)240-8280ПН-СБ с 10:00 до 18:00
We speak English

Урок 2.4. Оператор цикла FOR

В данном разделе мы детально поговорим об основах использования структуры FOR:

FOR переменная FROM начать TO закончить DO
  команды;
END;

Все команды в цикле будут выполнены определенное количество раз.

Каждый раз при завершении цикла переменная увеличивается на 1.

Цикл завершается, когда переменная (variable)=end.

Доступ: , (LOOP) (FOR)

Программа SUMDIV

Программа SUMDIV берет любое целое число и прибавляет к нему сумму его делителей. Например, делители числа 12 - это 1, 12, 2, 3, 4 и 6. Их сумма равна 28.

Нужные команды в SUMDIV:

Команда idivis: idivis(integer) выдает последовательность всех делителей, если они являются целыми числами.

Доступ: (Integer) (Divisors)

Перед любой командой CAS, использованной в программировании, будет находиться приставка 'CAS.'

Не все команды CAS могут быть использованы в программировании на калькуляторе HP Prime в данном случае.

Команда DIM выдает показатели последовательности, строки или матрицы.
DIM нужно использовать вместо SIZE, чтобы избежать ошибки "Неверный аргумент" (Bad Argument).

  • Для последовательности векторов DIM выдает длину в списке {длина}.
  • Для строк DIM выдает длину как число.
  • Для матриц DIM выдает список {число строк, число столбцов}.

Доступ: (Strings) (DIM)

EXPORT SUMDIV(N)
BEGIN
  LOCAL S := 0, K, mdiv, ldiv;
  mdiv := CAS.idivis(N);
  ldiv := DIM(mdiv);
  FOR K FROM 1 TO ldiv(1) DO
    S := S+mdiv(K);
  END;
  RETURN S;
END;

Примеры:

SUMDIV(12) выдает 28.

SUMDIV(24) выдает 60.

SUMDIV(85) выдает 108.