Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.
При выполнении работы необходимо знать:
Знать и уметь строить алгоритмы циклической структуры.
Операторы цикла.
Уметь составить схему программы (алгоритм) циклической структуры для данной задачи и записать программу по готовому алгоритму.
Теоретический минимум:
Структуры циклических алгоритмов.
Алгоритмы циклической структуры бывают нескольких видов.
Если заранее известно число повторений, то такая структура называется цикл с известным числом повторений и организуется при помощи специальной переменной счетчика. Счетчик имеет начальное значение, которое задается до цикла, конечное значение и шаг (закон изменения счетчика).
На каждом проходе цикла к счетчику добавляется некоторое число (шаг). В начале каждого прохода цикла проверяется, не превысило ли значение счетчика конечное значение. Таким образом, счетчик подсчитывает количество повторений и цикл прекращается при превышении счетчиком конечного значения.
Структура цикла с известным числом повторений:
Если же число повторений цикла заранее не известно, то цикл необходимо заканчивать при достижении некоторых условий. Поэтому циклы с неизвестным числом повторений называют еще циклы с условием.
Условие окончания цикла можно проверять в начале или в конце каждого прохода цикла. Различают поэтому циклы с предусловием и циклы с постусловием. Вид алгоритма у циклов с предусловием и циклов с постусловием отличается тем, где располагается проверка условия выхода из цикла – в начале или в конце каждой итерации цикла.
Оператор цикла FOR.
Для многократного повторения одних и тех же действий в Turbo Pascal предусмотрены три оператора цикла. Если число повторений цикла (или итераций) заранее не известно, но известно условие завершения цикла, в таких случаях применяются операторы REPEAT и WHILE. Если число повторений известно, то используется оператор FOR.
Оператор цикла FOR, известный как оператор цикла с параметром, выглядит так:
for i:=a to b do s;
При выполнении этого оператора сначала вычисляется некоторое начальное значение а, которое присваивается переменной i, называемой параметром цикла. Затем вычисляется конечное значение b и проверяется, имеет ли место равенство i=b. Если равенства нет, выполняется оператор s, который может быть составным, и переменная i увеличивается на единицу. После этого проверка, не равен ли параметр конечному значению, а также выполнение оператора s и увеличение переменной i на единицу выполняются циклически до тех пор, пока не будет получено равенство i=b.
Параметр цикла i, а также начальное и конечное значения (а и b) могут принадлежать любому порядковому типу (например, Integer или Char). (Но при этом все они должны быть одного типа.) Если начальное значение превышает конечное значение или равно ему с самого начала, оператор s не выполнится ни разу.
Оператор цикла FOR имеет такие особенности:
в теле цикла запрещается явно изменять значение параметра цикла (с помощью оператора присваивания, например);
по завершении работы оператора цикла FOR, значение параметра (i) считается неопределенным.
Возможна и другая форма оператора цикла с параметром:
for i:=a downto b do s;
Здесь, чтобы выполнялся оператор s, начальное значение а должно превышать конечное значение b. Кроме того, в этом случае параметр i с каждым циклом уменьшается на единицу, пока не становится равным конечному значению b.
Оператор цикла с параметром следует использовать тогда, когда заранее точно известно, сколько раз должно быть выполнено тело цикла.
- 230401 «Информационные системы»
- 230115 «Программирование в компьютерных системах»
- Лабораторная работа №1. Организация ввода-вывода информации
- Алфавит языка Turbo Pascal.
- Переменные и константы.
- Основные типы переменных.
- Структура программы.
- Оператор присваивания, операторы ввода с клавиатуры и вывода на экран.
- Процедуры управления выводом на экран.
- Компиляция и выполнение программы.
- Лабораторная работа №2. Арифметические выражения. Программирование алгоритмов линейной структуры.
- Арифметические выражения в языке Turbo Pascal.
- Стандартные арифметические функции.
- Генератор случайных чисел.
- Составление алгоритма и программы для решения задачи.
- Лабораторная работа № 3. Программирование алгоритмов разветвленной структуры. Оператор ветвления if … then … else
- Условный оператор if … then … else.
- Составной оператор.
- Лабораторная работа № 4. Программирование алгоритмов разветвленной структуры. Оператор ветвления case.
- Условный оператор Case.
- Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.
- Оператор циклаWhile.
- Оператор цикла repeat.
- Вложенные циклы
- Оператор перехода
- Лабораторная работа № 6. Обработка строк с использованием операторов цикла.
- Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.
- Лабораторная работа № 8. Обработка одномерных числовых массивов.
- Лабораторная работа № 9. Обработка двумерных числовых массивов.
- Лабораторная работа № 10. Использование процедур и функций при обработке массивов.
- Лабораторная работа № 11. Тип запись. Массивы записей.
- Лабораторная работа № 12. Обработка информации из файлов последовательного доступа.
- Лабораторная работа № 13. Обработка информации из файлов прямого доступа.
- Лабораторная работа № 14. Модуль программиста. Многомодульный проект.
- Текст модуля программиста к задаче 14.