Урок 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.