- •Содержание
- •1.Задачи с циклами
- •2.Цикл с предусловием
- •2.1Вечный цикл
- •3.Цикл с постусловием
- •4.Цикл с переменной
- •5.Дополнительные операторы управления циклами
- •6.Вложенные циклы
- •7.Статические массивы
- •8.Многомерные статические массивы
- •9.Ввод-вывод массивов
- •9.1Ввод с клавиатуры
- •9.2Считывание массива из файла
- •10.Поиск максимума и минимума
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Политехнический институт
Кафедра «Автоматизированные станочные системы»
Методические указания к
лабораторной работе №6
Программирование алгоритмов с циклами
по дисциплине
ИНФОРМАТИКА
Направление подготовки: 220700 Автоматизация технологических процессов и производств
Профиль подготовки: Автоматизация технологических процессов и производств в машиностроении
Формы обучения очная, заочная
Тула 2011 г.
Методические указания к лабораторным работам составлены доц. А.В. Анцевым и обсуждены на заседании кафедры «Автоматизированные станочные системы» механико-технологического факультета
протокол № 1 от " 31 " августа 2011 г.
Зав. кафедрой________________А.Н. Иноземцев
Методические указания к лабораторным работам пересмотрены и утверждены на заседании кафедры «Автоматизированные станочные системы» механико-технологического факультета
протокол №___ от "___"____________ 20___ г.
Зав. кафедрой________________ А.Н. Иноземцев
Содержание
Тула 2011 г. 1
1. Задачи с циклами 4
2. Цикл с предусловием 4
2.1 Вечный цикл 6
3. Цикл с постусловием 6
4. Цикл с переменной 8
5. Дополнительные операторы управления циклами 10
6. Вложенные циклы 11
7. Статические массивы 12
8. Многомерные статические массивы 13
9. Ввод-вывод массивов 14
9.1 Ввод с клавиатуры 14
9.2 Считывание массива из файла 17
10. Поиск максимума и минимума 18
1.Задачи с циклами
После поворота событий от плохого к худшему цикл повторится.
Из законов Мэрфи
Цикл в программировании позволяет выполнить одну и ту же последовательность операторов несколько раз. Циклы используются в трех случаях:
Обработка массивов данных, когда одни и те же операции выполняются над многими данными.
Возврат "вверх" (к началу программы). Например, после выдачи результата программа спрашивает пользователя "Повторить?" и при утвердительном ответе повторяет расчет. Это реализуется только с помощью цикла.
Повторение операторов до наступления какого-то заданного условия (нажатия клавиши, достижения требуемой точности вычислений и т.д.)
Кроме того, в ряде случаев циклы позволяют избежать повторения одних и тех же операторов. Если в программе есть повторяющиеся фрагменты – она написана неправильно.
2.Цикл с предусловием
Две интересные передачи всегда идут в одно и то же время.
Из законов Мэрфи.
Наиболее общим в Delphi является цикл с предусловием, реализуемый оператором WHILE…DO. Вот его общий вид:
WHILE условие DO
оператор;
В качестве условия может выступать любое логическое выражение или переменная типа BOOLEAN. Работает такой цикл следующим образом. Сначала проверятся условие (отсюда и название – цикл с предусловием). Если условие истинно, то выполняется оператор (он называется "тело цикла"), а затем программа "пятится назад", снова оказывается на операторе WHILE..DO, снова проверяет условие… и так далее до тех пор, пока условие не станет ложным. Как только это случится, цикл прекращается, и начинает выполняться оператор, следующий за телом цикла.
Цикл с предусловием имеет интересную особенность: если в начале его работы условие оказалось ложным, то цикл вообще не будет выполняться ни разу.
Рассмотрим пример использования цикла WHILE. Пусть мы суммируем ряд натуральных чисел 1+2+3+… и хотим узнать, на каком числе этого ряда сумма превысит 100. Программа будет выглядеть следующим образом:
VAR s:WORD; { сумма }
i: WORD; { текущее число ряда }
BEGIN
s:=0; { сумму обязательно обнуляем!!! }
i:=1; { начинаем суммировать с единицы }
WHILE s<100 DO
BEGIN
s:=s+i;
i:=i+1
END;
Label1.Caption:='Сумма превысит 100 при i='+IntToStr(i)
end;
Кстати, сумма превысит 100 при i=15, так как . Обратите внимание на операторные скобки BEGIN..END. Они позволяют поместить в тело цикла более одного оператора (разумеется, если в теле цикла только один оператор, BEGIN…END не нужны).
Рис. 1. Обозначение цикла с предусловием на блок-схемах.
На блок-схемах все циклы изображаются в виде крышки гроба, самого гроба и лежащего в нем тела цикла. Обозначения же зависят от вида цикла. Для цикла с предусловием блок-схема выглядит, как показано на Рис. 1.