|
|||||||||||||||||||||||
Краткий конспект по Pascal № 3. Цикл со счетчиком FORКраткий конспект по Pascal № 3. Цикл со счетчиком FOR
Цикл – алгоритмическая структура, в которой те или иные действия повторяются многократно. Есть два основных вида циклов – цикл с условием и цикл со счетчиком.
Цикл с условием мы используем тогда, когда не знаем заранее, сколько раз должны повторяться действия. Вспомни Робота из среды Кумир: когда нам нужно было подвести его к стене, но мы не знали, сколько до этой стены шагов, мы использовали конструкцию
нц пока (условие) … кц
– это и был цикл с условием. Действия повторялись, пока выполнялось условие.
Цикл со счетчиком применяется, когда мы заранее знаем, сколько раз должны повториться действия. В языке Pascal цикл со счетчиком создается с помощью оператора for (англ. «для»). Счетчик – это переменная, которая будет «отсчитывать» витки нашего цикла. Мы задаем этой переменной начальное и конечное значение, и на каждом витке цикла переменная-счетчик сама увеличивается на 1 – и так, пока она не достигнет конечного значения. У цикла есть заголовок и тело. Заголовок определяет, сколько раз будет повторяться цикл (настраивает счетчик), а тело цикла – это действия, команды, которые будут повторяться.
Заголовок цикла for выглядит следующим образом: for <переменная-счетчик> := <начальное значение> to <конечное значение> do
Давай разберем на примере, как работает такой цикл:
for i:= 1 to 10 do writeln(‘Привет!’);
Начальное значение счетчика не обязательно должно быть 1. Счетчик может изменяться, например, от 11 до 20 – в этом случае также пройдет 10 витков цикла. Количество витков цикла легко подсчитать, если отнять от конечного значения счетчика начальное значение, а потом прибавить 1. Так, если счетчик изменяется от 1 до 10, количество витков цикла равно 10 – 1 + 1 = 10. Если счетчик изменяется от 13 до 34, количество витков цикла равно 34 – 13 + 1 = 22. Начальное и конечное значение счетчика можно задавать не числами, а другими переменными. В этом случае к моменту начала цикла значение этих переменных должно быть известно. Ты не можешь написать
for i:= 1 to N do
если до этого ты не задал переменной N значение любым способом (через оператор присвоения или функцию read).
Давай возьмем пример посложнее. Напишем программу, которая будет суммировать все введенные с клавиатуры числа. Постарайся вникнуть в то, что делает эта программа на каждом шаге:
Program summator; var i, n, a, b : integer; begin writeln(‘Сколько чисел надо сложить?’); read(n); a:=0; for i:=1 to n do begin read(b); a:=a+b; end; writeln(a); end.
Так как счетчик, по сути, обычная переменная, он также может участвовать в расчетах:
k := 2; for i := 3 to 7 do k := k + i; writeln(k);
Здесь на каждом витке цикла к переменной k будет прибавляться значение счетчика i. И на каждом витке цикла это будет новое значение! Чтобы рассчитать «на бумаге» значение k после выполнения этой программы, проще всего сделать такие записи:
Итого: по завершению программы k будет равно 27.
|
|||||||||||||||||||||||
|