- •Алгоритм накопления суммы:
- •Вычисление целочисленных степеней (алгоритм накопления произведения)
- •Алгоритм вычисления количества элементов (счетчик)
- •Программирование алгоритмов со структурой вложенных циклов
- •Операторы форматного ввода/вывода
- •Оператор Формат
- •Спецификация I
- •Спецификация f
- •Спецификация e
- •20 Format(1x,a/) ! пропустить первый символ и напечатать текст строки
- •Группы спецификаций (использование повторителя)
- •Запись повторяющихся спецификаций и групп спецификаций
Вычисление целочисленных степеней (алгоритм накопления произведения)
Рассмотрим символ произведения в сокращенной записи

Разница в алгоритмах суммы и произведения только лишь в том, что речь идет не о слагаемых, а о произведении сомножителей tn.
Для
вычисления произведения в алгоритме
меняется только то, что необходимо
перед циклом задать начальное значение
P,
равное не нулю (иначе результат вычисления
обнулиться), а единице P
= 1,
а в цикле накапливать произведение,
используя оператор присваивания,
например такой:
;
здесь
t
– множитель произведения, который
может быть сложным выражением или
элементом массива.
Пример
2.
Вычислить значение произведения
.
Блок-схема задачи:
Запишем программу:
program PRODUCT
read *, k
P = 1; n = 1
do while (n <= k)
P = P + n/2.
n = n + 1
enddo
print *,’ P=’,P
end
С помощью данного алгоритма можно записать программы вычисления различных степеней чисел, например, используя введенное обозначение произведения, можем записать
а
)
или
б
)
![]()
|
а) read*, X,m P = 1 do k=1, m P = P * X enddo print *, P end |
б) read*, j Z = 1 do k=1, 2*j Z = Z * 3 enddo print *, Z end |
Если необходимо однократное вычисление степени, то, как правило, используется операция возведения в степень Xn X**n. Вместе с тем, если нужно вычислять несколько раз различные значения степени, например, X2, X3, X4, …, то можно применить алгоритм нахождения произведения.
Пример 3. Программа вычисления факториала. Это специальный вид произведения.
, например,
и
.
Таким образом, в факториале вид
сомножителя определяется порядковым
номером. Напомним, что 0! = 1.
|
Б
|
Код программы: program FACTORIAL print*, ‘ Vvedite n≠0’ read*, n P = 1 do k=1, n P = P * k enddo print *, ‘factorial ’, n,’!=’,P end |
Заметим, что при вычислении факториала, результирующее значение быстро увеличивается в зависимости от того, какой факториал n! вы рассчитываете. В программе стоит воспользоваться описанием переменных и, даже использовать двойную точность для больших n (real*8 или double precision – тип действительных переменных двойной точности, для которых выделено 8 байт памяти и диапазоном изменения от –1,7*10-308 до 1,7*10308).

лок-схема
задачи: