Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для универа / Информатика / Uch_posobie_INFORMATIKA_2010isprav.doc
Скачиваний:
311
Добавлен:
15.02.2016
Размер:
13.32 Mб
Скачать

7.6.1. Оператор For

Общий вид данного оператора следующий:

for i:= n1 to n2 do

 тело цикла ;

где iуправляющая переменная цикла, называемая также счетчиком цикла, n1 – начальное значение счетчика цикла, n2 – конечное значение счетчика цикла, for, to и do – служебные слова (for в данном случае означает «для», to – «до», do – «делать, выполнять»). Весь текст заголовка можно расшифровать таким образом: для i, изменяющего значение от n1 до n2 выполнить. Имеется в виду выполнение тела цикла. При этом конечное значение счетчика цикла должно быть больше, чем начальное. В ходе работы данного оператора значение счетчика при каждом выполнении тела цикла увеличивается на единицу и таким образом принимает все целочисленные значения от n1 до n2, а тело цикла всего выполняется n2-n1+1 раз. Следует обратить внимание на то, что между заголовком цикла и телом цикла не ставится точка с запятой.

Решение задачи по переводу центнеров в килограммы, будет выглядеть следующим образом:

for c:=1 to 50 do

begin

kg:=c*100;

writeln(c,kg)

end;

где c – вес в центнерах, а kg – тот же вес в килограммах.

В приведенном фрагменте программы роль счетчика цикла выполняет переменная c. Начальное значение переменной цикла равно 1. Для этого начального значения выполняются действия, указанные в составном операторе, то есть будет вычислено значение kg, равное 50, а затем значения 1 и 50 будут выведены на экран компьютера. Далее будет подсчитано значение kg для с равного 2 и числа 2 и 100 будут выведены на экран в следующей строке и аналогичные действия будут производиться до тех пор, пока не будет выведена последняя строка со значениями c и kg – 50 и 5000. Цикл прекратит свою работу, когда переменная c достигнет конечного значения – 50. Всего действия указанные в теле цикла будут повторены согласно приведенной формуле 50-1+1 раз, то есть 50 раз.

Приведенный вариант цикла for не является единственным. Цикл типа for может иметь и такой общий вид:

for i:= n1 downto n2 do

 тело цикла ;

в этом случае при каждом повторении тела цикла значение счетчика i уменьшается на единицу, и, следовательно, конечное значение счетчика цикла n2 должно быть меньше начального n1.

В качестве примера работы цикла типа for приведем программу, которая составляет таблицу для перевода расстояния, выраженного в милях, в километры (рис. 7.6.1). На экран компьютера должна быть выведена таблица для расстояний от 1 до n миль, где n – целое положительное число, вводимое с клавиатуры пользователем. 1 миля составляет 1,609 километра. Таблица, выводимая на экран компьютер должна иметь заголовок и состоять из двух столбцов. В левом столбце должны быть указаны расстояния в милях, а в правом - соответствующие им расстояния в километрах.

В данной программе для решения задачи используются три переменные. Это, во-первых, переменная целого типа mile, содержащая расстояния в милях, которая одновременно является счетчиком цикла. Во-вторых, – это переменная n, содержащая максимальное число миль, которое нужно перевести в километры. Наконец, km – это переменная вещественного типа, представляющее собой расстояние в километрах.

Для вывода значения целочисленной переменной mile указывается лишь общее количество выводимых на экран символов (в данном случае – 3), а для вещественной переменной km указывается и общее количество символов и их количество в дробной части (в данном случае соответственно 7 и 3). Это делается для того, чтобы выровнять столбцы выводимых чисел. При n=10 получаем результаты работы программы, показанные на рис. 7.6.1.

Рис. 7.6.1. Программа для пересчета расстояний из миль в километры и результаты ее работы.