12/17/16
Тема: циклы в Turbo pascal
Довольно часто в программировании приходится, особенно при вычислениях, повторять одни и те действия либо заданное количество раз, либо до наступления какого-либо события. Это достигается при помощи операторов цикла
Циклом называется операция, в которой одни и те же действия повторяются многократно.
Цикл состоит из оператора цикла и тела цикла. Оператор цикла - это его управляющая конструкция. Она определяет, сколько раз должны выполниться операторы, записанные в тело цикла, либо при каких условиях тело цикла должно повторится еще раз. Тип цикла определяется его оператором.
Существуют два основных типа циклов:
- циклы со счетчиком (с известным числом повторений);
- циклы с условием , в которых действия повторяются до тех пор, пока выполняется определенное условие или пока не будет выполнено определенное условие
* циклы с предусловием;
* циклы с постусловием.
Оператор цикла с параметром применяют тогда, когда известно число повторений одного и того же действия.
Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями.
Параметр цикла всегда задается типом INTEGER (целое)!
В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений).
Отсчет идет всегда с шагом равным единице.
Второе значение указывает, при каком значении счетчика цикл должен остановиться.
Общий вид цикла с параметром
For :=А tо В do
А – начальное значение,
В – конечное значение.
Значение параметра изменяется с шагом 1.
For :=B downto A Do
выполняется аналогичным образом, но значение параметра изменяется с шагом, равным -1 (для вывода чисел в обратном порядке).
осо
счетчик
Действие
(тело цикла)
Например,
For i := 1 to 10 do write(i, ‘ ‘);
выводит на экран строку
1 2 3 4 5 6 7 8 9 10
For i := 10 downto 1 do write(i);
выводит на экран строку 10987654321
Вложенные циклы
При решении некоторых задач приходится использовать вложенные циклы.
Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.
- Написать программу вывода на экран таблицу квадратов чисел от 11 до 99
Program Test2;
var N: integer;
begin
for N:=11 to 99 do
write(N*N);
end.
2. Напечатать таблицу умножения.
program jg6;
var a,b,n:integer;
begin
for a:= 1 to 9 do begin
for b:=1 to 9 do
write (a,'*',b,'=',a*b);
end;
end.
Задача 1. Вывести на экран все двухзначные числа, кратные 10
Задача 2. Найти значения функции у=5x²-2 на отрезке [-10; 10]
Задача 3 . Составить таблицу перевода метров в сантиметры на [1; 20],
Задача 4. Написать программу вывода последовательности 1 3 5 7 9
Задача 5. Найти сумму положительных нечетных чисел, меньших 100.
Задача 6. Выведите все числа на отрезке от a до b , являющиеся полными квадратами.
Задача 7. Найти сумму чисел от 1 до 256 кратных 3.
Задача 8. Вывести на экран натуральные числа от 1 до 100, которые при делении на 6 дают в остатке 4, и их количество.
Входные данные
Выходные данные
1 5
1 4
2 9
4 9
Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания.
Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется , а затем вновь проверяется условие и т.д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение прекратится.
Общий вид цикла «пока»
While do
;
Нет
?
Да
оператор
Цикл ДО (сначала делаю)
Цикл будет повторяться до тех пор, пока условие истинно. Как только условие становится ложным, выполнение цикла прекращается и выдается результат.
Определите, что будет напечатано в результате выполнения программы
var n, s: integer;
begin
n := 0;
s := 0;
while s
begin
n := n + 1;
s := s + 4
end;
write(n)
end.
Ответ: 9
Общий вид цикла «ДО (сначала делаю)»
Repeat
Until ;
оператор
?
+
Да
Нет
Цикл ДО (сначала делаю)
Сначала выполняется тело цикла, после чего осуществляется переход к проверке условия. Если условие ложно, то возвращаемся к выполнению тела цикла. Так будет повторяться до тех пор пока условие не станет верным, после чего цикл прекратит выполняться.
- Почему цикл называют сначала думаю? Потому что этот цикл всегда выполнит тело цикла хотя бы один раз.
- Т.к. тело цикла находится между служебными словами repeat … until , то операторные скобки не требуются.
Самостоятельно.
1. Найти сумму вводимых чисел до первого отрицательного числа
2. Написать программу поиска четырехзначных чисел, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111.
3. Найти сумму положительных нечетных чисел, меньших 100
4. Найти сумму целых положительных чисел из промежутка от А до В, кратных 4 (значения переменных А и В вводятся с клавиатуры).
5. Написать программу, выводящую заданное количество знаков «*»