
- •Глава 3. Реализация алгоритмов ветвления
- •3.1. Условный оператор
- •Полная форма оператора
- •Краткая форма оператора.
- •3.2. Задачи к пройденной теме
- •3.3. Задачи для самостоятельного решения
- •Глава 4. Реализация циклических алгоритмов
- •4.1. Конструкция цикла со счетчиком
- •4.2. Базовые алгоритмы
- •4.3. Циклы с предварительной и последующей проверкой условия
- •Цикл с последующей проверкой условия.
- •4.4. Вложенные циклы
- •4.5 Решение задач
- •Задачи для самостоятельного решения
- •Глава 5. Пользовательские типы данных.
- •5.1. Общие понятия
- •5.2. Одномерные массивы
- •5.4. Задачи для самостоятельного решения.
- •Глава 6. Многомерные массивы
- •6.1. Двумерные массивы
- •1. Заполнение двумерного массива по строке.
- •2. Заполнение двумерного массива по столбцу.
- •3. Печать содержимого двумерного массива в виде таблицы.
- •4. Вычисление суммы элементов каждой строки (столбца).
- •6. Задача поиска максимального (минимального) элемента и его индексов (считая, что элемент единственный).
- •Алгоритм поиска минимального элемента и его индексов для всего массива.
- •6.2. Квадратные матрицы.
- •Введем некоторые понятия:
- •6.3. Задачи
- •Глава 7. Типы данных Char и String
- •7.1. Символьные данные
- •7.2. Кодирование
- •7.3. Операции над данными типа char.
- •7.4. Строки
Глава 4. Реализация циклических алгоритмов
Цикл — команда исполнителю многократно повторить указанную последовательность инструкций алгоритмического языка.
Тело цикла — последовательность операторов, повторяемых в процессе выполнения оператора цикла.
4.1. Конструкция цикла со счетчиком
В том случае, когда количество повторений тела цикла известно заранее можно использовать конструкцию цикла со счетчиком (или цикл с параметром).
Возьмем очень простой пример — таблицу умножения: число 2 умножаем на числа от 1 до 10 и печатаем ответ. Какие действия повторяются? Повторяются действия умножения и вывод значения произведения на экран. При этом заметим, что второй сомножитель увеличивается при каждом действии на единицу, и операция умножения повторяется заданное количество раз. Процесс вычислений носит циклический характер, причем число повторений цикла известно к началу его выполнения, управление циклом осуществляется с помощью переменной (счетчик цикла), которая в этом циклическом процессе принимает последовательные значения от заданного начального значения до заданного конечного значения.
2
x 1 = 2 2
x 2 = 4 2
x 3 = 6 2
x 4 = 8 2
x 5 = 10 2
x 6 = 12 2
x 7 = 14 2
x 8 = 16 2
x 9 = 18 2
x 10 = 20
Как записать сказанное выше с помощью языка математики? Вспомним запись таблицы умножения:
Можно сократить количество строк, используя буквенные обозначения
2
x i = a
Где i изменяется от 1 до 10, а - от 2 до 20.
Итак, делаем вывод — строка 2 x i = a должна быть выполнена 10 раз, т.е. мы должны использовать оператор цикла.
Синтаксическая запись оператора цикла:
FOR i := n TO k DO
ДЛЯ i изменяющегося ОТ начального значения ДО конечного ВЫПОЛНИТЬ
Оператор;
Если требуется повторить группу действий, то оператор выглядит следующим образом.
FOR i:=n TO k DO BEGIN
оператор 1;
оператор 2;
...........
оператор n
END;
ВНИМАНИЕ!
Счетчик изменяется на единицу при каждом следующем исполнении оператора цикла.
Для правильной записи конструкции оператора необходимо помнить: переменные i, n, k — могут быть только переменными так называемого «порядкового типа», это тип, в котором каждое данное имеет свой номер, свое расположение среди других данных этого типа.
Не забывайте, что счетчику присваивается начальное значение.
Если начальное значение совпадает с конечным значением, то операторы цикла выполняются один раз.
Если начальное значение счетчика больше конечного значения, то тело цикла не выполняется ни разу.
При выходе из цикла значение счетчика совпадает с конечным значением, т.е. i=k.
Пример.
Вывести на экран квадраты натуральных чисел от 10 до 20.
Рис. 4.1. Схема алгоритма вывода на экран квадратов чисел.
PROGRAM N1;
USES CRT;
VAR
i: integer; {счетчик цикла}
a: integer;
BEGIN
clrscr;
FOR i:=10 TO 20 DO
BEGIN
a := i * i;
writeln('квадрат числа ', i , ' = ', a)
END; {после последнего оператора между BEGIN и END ';' не нужна}
{КОНЕЦ ЦИКЛА}
writeln('Нажмите любую клавишу для выхода...');
readln;
END.
ИЛИ
FOR i=10 TO 20 DO
writeln(‘квадрат числа i‘, i , ‘=‘, i * i)
Рассмотрим конструкцию цикла «FOR» для того случая, когда счетчик уменьшается на 1 при каждом следующем шаге.
Оператор записывается следующим образом:
FOR i:=n DOWNTO k DO
начальное вниз конечное
значение значение
оператор 1;
{или группа операторов, заключенная в операторные скобки begin и end}
Пример.
Вывести на экран натуральные числа от 19 до 10.
PROGRAM N2;
USES CRT;
VAR
i: integer; {счетчик цикла}
a: integer;
BEGIN
clrscr;
FOR i:=19 DOWNTO 10 DO
write(' ', i );
{КОНЕЦ ЦИКЛА}
writeln('Нажмите любую клавишу для выхода...');
readln;
END.