- •Часть 1
- •Содержание
- •Среда программирования Turbo Pascal
- •Лабораторная работа №1 Программирование вычислительного процесса с алгоритмом линейной структуры
- •5. Протокол работы программы
- •6. Содержание отчета
- •Лабораторная работа №2 Программирование разветвляющегося вычислительного процесса
- •4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
- •Примеры программирования разветвляющихся вычислительных процессов
- •1. Использование условного оператора
- •4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
- •Лабораторная работа №3 Программирование циклических вычислительных процессов
- •Примеры программирования циклических вычислительных процессов с заданным числом повторений
- •2. Таблица распределения идентификаторов
- •2. Таблица распределения идентификаторов
- •Примеры программирования циклических вычислительных процессов с заданным диапазоном изменения переменной
- •3. Блок-схема программы
- •Примеры программирования вычислительных процессов, выполняемых до достижения заданной точности
- •Лабораторная работа №4 Программирование комбинированных вычислительных процессов.
- •Примеры программирования комбинированных вычислительных процессов
- •2. Таблица распределения идентификаторов
- •2. Блок-схема программы
- •3. Таблица распределения идентификаторов
- •2. Таблица распределения идентификаторов
- •Приложение 1 Структура программы
- •Приложение 2 Основные функции
- •Приложение 3 Основные элементы блок-схемы
- •Приложение 4
4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
Рис. 7. Блок-схема программы |
Program Primer; Uses Crt; Var x: integer; Begin Write('Vvedite X = '); Readln(x); case x of 5..8: Writeln ('Morning'); 9..15: Writeln ('Day'); 16..21: Writeln ('Evening'); 22..24, 0..4: Writeln ('Night') end; writeln; end.
5. Протокол работы программы. Результаты протокола работы программы и контрольного просчета равны. Vvedite X = 7 Morning
Vvedite X = 19 Evening 6. Содержание отчета (см. задача 1). |
Лабораторная работа №3 Программирование циклических вычислительных процессов
Цель работы: изучение особенностей алгоритмизации и программирования циклических вычислительных процессов.
Общие положения
Цикл – это последовательность операторов, которая может выполняться многократно, при различных значениях переменных.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Простейшие вычислительные процессы классифицируются по характеру условий повторения циклов. По этому признаку выделяют:
- циклы с заранее заданным числом повторений;
- циклы с заданным интервалом изменения переменной;
- циклы, выполняемые до достижения заданной точности вычислений.
В языке Pascal существуют следующие конструкции для организации циклов:
• оператор цикла со счетчиком (параметром).
• оператор цикла с предварительным условием (предусловием);
• оператор цикла с последующим условием (постусловием);
Оператор цикла со параметром (for-to-do).
Циклы со счетчиком составляют класс задач, в которых группа операторов должна повторяться заранее определенное число раз. Часто этот оператор повтора называют оператором цикла с параметром, т. к. как число повторений задается переменной, называемой параметром цикла.
Общая форма записи оператора:
1) for i= A to B do
begin
<оператор – тело цикла >;
end;
2) for i := A downto B do
begin
<оператор – тело цикла>;
end;
где i – параметр цикла (переменная порядкового типа);
А, В – начальное и конечное значения параметра цикла (порядкового типа);
for (для), to (до), to (выполнить) – служебные слова;
<оператор – тело цикла > – любой оператор языка Паскаль.
Конструкция for-to-do используется, если переменная цикла увеличивается на единицу, а for-downto-do – если уменьшается на единицу.
При использовании
цикла for
компьютер выполняет за программиста
черновую работу по инициализации
управляющей переменной и по ее увеличению
(уменьшению) при каждом повторении
цикла. Параметр цикла не должен изменяться
какими-либо операторами внутри цикла.
К нему можно о
Рис. 8. Алгоритмическая
конструкция
бращаться
и использовать в вычислениях, но нельзя
присваивать новое значение. Присваивания
могут выполняться только механизмом
самого цикла.
Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer.
Оператор for-to-do реализует алгоритмическую конструкцию, представленную на рис. 8.
Оператор цикла с предусловием (while-do).
Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.
При выполнении оператора while определенная группа операторов выполняется до тех пор, пока заданное в операторе условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.
Общая форма записи следующая:
while <условие> do
begin
< оператор – тело цикла >;
end;
где while (пока), do (выполнить) – служебные слова;
<условие> – логическое выражение;
< оператор – тело цикла > – любой оператор языка Паскаль.
Оператор while-do реализует алгоритмическую конструкцию «Цикл с предусловием» (рис. 9).
Рис. 9. Алгоритмическая
конструкция
Операторные скобки ставят, чтобы отделить от остальной программы группу операторов, которую нужно повторить в цикле. Если в цикле нужно выполнить только один оператор, то операторные скобки не ставят.
При использовании цикла с предусловием надо помнить следующее:
начальное значение переменной цикла должно быть определено до начала цикла;
если значение условия истинно, то выполняется тело цикла, после чего повторяется проверка условия. Если условие ложно, то происходит выход из цикла;
хотя бы один из операторов, входящих в тело цикла, должен влиять на значение условия цикла, иначе цикл будет повторяться бесконечное число раз.
Цикл с постусловием (repeat-until).
Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла repeat-until.
repeat повторяй
операторы операторы
until <условие>; до тех пор, пока условие ложно
Для выполнения в теле цикла repeat-until нескольких операторов не следует помещать операторы в операторные скобки begin ... end. Зарезервированные слова repeat и until действуют как операторные скобки.
К
Рис.
10. Алгоритмическая
конструкция
онструкция
repeat-until
работает аналогично циклу while.
Различие заключается в том, что цикл
while проверяет
условие до выполнения действий, в то
время как repeat
проверяет условие после выполнения
действий. Это гарантирует хотя бы одно
выполнение действий до завершения
цикла.
Оператор repeat-until реализует алгоритмическую конструкцию «Цикл с постусловием» (рис. 10). При использовании цикла с постусловием надо помнить следующее:
начальное значение переменной цикла должно быть определено до начала цикла;
если значение условия ложно, то выполняется тело цикла, после чего повторяется проверка условия. Если условие истинно, то происходит выход из цикла;
хотя бы один из операторов, входящих в тело цикла, должен влиять на значение условия выполнения цикла, иначе цикл будет повторяться бесконечное число раз.
