В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet32/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   ...   28   29   30   31   32   33   34   35   ...   40
Bog'liq
Боши Лекция Парадигма и методы программирование

3.1. Цикл с условием (while)


350 л. Продукты кладут последовательно, объём каждого груза известен в литрах. Нужно сказать в какой момент (назвать номер груза) багажник переполнится. Программа выглядит следующим образом:
s = 0 n = 0 s < 350:
x = ( ())
s = s + x n = n + 1
(n)
Здесь переменная s хранит суммарный объём уже накопленных грузов, в переменную x считывается объём очередного груза, а n считает номер груза.
В обоих примерах был применен важный приём накопления суммы. Данный алгоритмический приём используется, когда надо просуммировать большое количество чисел. Для этого переменной, в которую будет записываться сумма, в начале присваивается нулевое значение, затем делается цикл, где на каждом шаге к этой переменной добавляется очередное число.
Очень важная, фундаментальная идея, использованная в данном приёме, состоит в том, что результат выполнения каждого шага цикла зависит от значения переменной, вычисленного на предыдущем. Таким образом, вместо тривиального повторения одного и того же мы на каждом шаге получаем новый результат.
В приведенном примере очередное число добавляется к значению переменной s, полученному на предыдущем шаге. А к чему добавляется очередное число на самом первом? Чтобы было к чему добавлять, перед циклом обязательно должна присутствовать инициализация (присваивание начального значения) переменной, в которой накапливается сумма. Чаще всего требуется присвоить ей начальное значение 0.
Программистский анекдот в тему. Буратино подарили три яблока. Два он съел. Сколько яблок осталось у Буратино? Ответ «одно» — неправильный. В действительности, неизвестно, сколько осталось, так как не сказано, сколько яблок было у него до того, как ему подарили три новых. Мораль: не забывайте обнулять (и вообще инициализировать) переменные!
Аналогично накоплению суммы можно в отдельной переменной накапливать произведение. Переменной, в которой производится накопление, присваивается начальное значение 1. Для примера вычислим факториал некоторого числа. Факториалом целого числа n называется произведение всех целых чисел от 1 до n.
Обозначается n!, то есть n! = 1 · 2 · 3 · ... · n.
Вычисляющая факториал программа выглядит так:
n = ( (’Сколько факториалов будем суммировать? ’)) i = 2 p = 1 i <= n:
p = p * i i = i + 1
(p)

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling