Хелпикс

Главная

Контакты

Случайная статья





Краткий конспект по Pascal № 3. Цикл со счетчиком FOR



Краткий конспект по Pascal № 3. Цикл со счетчиком FOR

 

Цикл – алгоритмическая структура, в которой те или иные действия повторяются многократно.

Есть два основных вида циклов – цикл с условием и цикл со счетчиком.

 

Цикл с условием мы используем тогда, когда не знаем заранее, сколько раз должны повторяться действия. Вспомни Робота из среды Кумир: когда нам нужно было подвести его к стене, но мы не знали, сколько до этой стены шагов, мы использовали конструкцию

 

нц пока (условие)

кц

 

– это и был цикл с условием. Действия повторялись, пока выполнялось условие.

 

Цикл со счетчиком применяется, когда мы заранее знаем, сколько раз должны повториться действия.

В языке Pascal цикл со счетчиком создается с помощью оператора for (англ. «для»).

Счетчик – это переменная, которая будет «отсчитывать» витки нашего цикла. Мы задаем этой переменной начальное и конечное значение, и на каждом витке цикла переменная-счетчик сама увеличивается на 1 – и так, пока она не достигнет конечного значения.

У цикла есть заголовок и тело. Заголовок определяет, сколько раз будет повторяться цикл (настраивает счетчик), а тело цикла – это действия, команды, которые будут повторяться.

 

Заголовок цикла for выглядит следующим образом:

for <переменная-счетчик> := <начальное значение> to <конечное значение> do

 

 

Давай разберем на примере, как работает такой цикл:

Эту строчку можно прочитать так: для переменной i, которая изменяется от 1 до 10, выполнить
Обрати внимание: начальное значение счетчику задается с помощью оператора присвоения
Счетчик будет перебирать значения от 1 до 10, и для каждого из этих значений цикл for выполнит вот это действие: выведет на экран слово «Привет!». Получается, что слово «Привет!» будет написано 10 раз.

 


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).

 

Давай возьмем пример посложнее. Напишем программу, которая будет суммировать все введенные с клавиатуры числа. Постарайся вникнуть в то, что делает эта программа на каждом шаге:

Счетчик – такая же переменная, как другие. Обязательно нужно объявить ее в разделе var и задать ей тип
Каждый раз мы будем складывать разное количество чисел (то есть выполнять разное количество витков цикла). Сколько именно – спросим у пользователя программы и запишем его ответ в переменную n
Благодаря такой записи мы будем повторять цикл столько раз, сколько чисел собирается ввести пользователь
Так как в теле цикла мы выполняем не одно действие, а несколько, то заключим их в контейнер begin … end;
Смотри, важный и интересный момент: пользователь будет вводить много чисел, но для всех них мы будем использовать только одну переменную! Просто на каждом витке цикла будем записывать в нее новое значение
Еще один важный момент: для чего нам переменная a, и почему она изначальная равна 0? Дело в том, что на каждом витке цикла происходят одинаковые действия. И если на 2, 3… 10 витке мы должны прибавить новое число к уже имеющейся сумме – то и на самом первом витке мы тоже должны к чему-то прибавить первое введенное число. Вот для этого мы и «завели» переменную a. Мы записываем в нее сумму чисел. И поэтому изначально задаем ей значение 0


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 после выполнения этой программы, проще всего сделать такие записи:

 

Значение  i (номер витка цикла) Тело цикла
k := 2 + 3 = 5 (2 – изначальное значение k, счетчик i на этом витке равен 3)
k := 5 + 4 = 9
k := 9 + 5 = 14
k := 14 + 6 = 20
k := 20 + 7 = 27

 

Итого: по завершению программы k будет равно 27.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.