ПРОГРАММИРОВАНИЕ ЦИКЛОВ УРОК 33
В процессе решения множества задач часто требуется повторять те или иные действия. При этом бывают разные ситуации. Например : количество повторений известно до выполнения тела цикла ; до выполнения тела цикла количество повторений неизвестно ; тело цикла должно выполниться хотя бы один раз.
Для разных ситуаций существуют различные циклические конструкции. В языке программирования Паскаль их три, в соответствии с пунктами, описанными выше. Самой универсальной и поэтому чаще других используемой конструкцией цикла является второй вариант ( цикл while).
Цикл while является циклом с предусловием, while do begin группа операторов end; В заголовке цикла находится логическое выражение. Если оно истинно, то тело цикла выполняется, если ложно то нет. Если тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется ( находится значение логического выражения ).
Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда - нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание.
Например, нужно распечатать n звездочек Решение : Var i, n: integer; begin write(' Количество знаков : '); readln(n); i:=l; while i
Практическая работа
Задание 1. Найдите сумму всех натуральных чисел из промежутка [1, m] Решение : Program Summa; Var i, m: integer; x, S: real; Begin write(' Сколько чисел для сложения ?'); readln(m); S:=l; i:=l; while i
Задание 2. Найдите сумму n чисел, вводимых с клавиатуры Решение : Program Summa; Var i, N : integer; x, S : real; Begin write(' Сколько чисел для сложения ?'); readln(N); S:=0; i:=1; while i
Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50 Решение : var x, n: integer; begin write('n='); readln(n); x:=l; while sqr(x)
Задание 4. Возведите число в степень Решение : Var num, deg: integer; res: real; i: byte; begin write(' Число '); readln(num); write('C тепень '); readln(deg); res:=l; i:=0; while i
Как программируется цикл с предусловием на языке Паскаль ?
Домашнее задание Вывести все четные числа, начиная с числа N и кончая числом М. Числа N и М задает пользователь. Вводятся 14 чисел. Определить, сколько среди них положительных ( включая 0) и сколько отрицательных. ( Числа вводятся в одну переменную в цикле.)
1. Program dz1; var х, n, m: integer; begin write('n='); readln(n); write('m='); readln(m); x:=n; while x
2. Program dz2; Var i, N : integer; x, S : real; Begin S1:=0; S2:=0; i:=l; while i=0 then sl:=sl+l else s2:=s2+l; i:=i+l; end; write(' п o л o жит e льны x чисел ', sl:5, ' отрицательных чисел ', s2:5); End.