Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 .Delphi циклы и массивы.doc
Скачиваний:
4
Добавлен:
16.12.2018
Размер:
335.36 Кб
Скачать

18

Федеральное агентство по образованию

ГОУ ВПО Тульский государственный университет

Технологический факультет

Кафедра "Автоматизированные станочные системы"

Курс "Информатика"

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ

СТУДЕНТАМИ НАПРАВЛЕНИЯ 230100

ТУЛА 2007

Разработал:

к.т.н., доц. Троицкий Д.И.

Рассмотрено на заседании кафедры АСС

1 сентября 2007, протокол №1

Зав. кафедрой АСС д.т.н., проф.

_______________ Иноземцев А.Н.

Содержание

1. Задачи с циклами 5

2. Цикл с предусловием 5

2.1 Вечный цикл 7

3. Цикл с постусловием 8

4. Цикл с переменной 9

5. Дополнительные операторы управления циклами 11

6. Вложенные циклы 13

7. Статические массивы 14

8. Многомерные статические массивы 15

9. Ввод-вывод массивов 16

9.1 Ввод с клавиатуры 16

9.2 Считывание массива из файла 19

10. Поиск максимума и минимума 20

  1. Задачи с циклами

После поворота событий от плохого к худшему цикл повторится.

Из законов Мэрфи

Цикл в программировании позволяет выполнить одну и ту же последовательность операторов несколько раз. Циклы используются в трех случаях:

  1. Обработка массивов данных, когда одни и те же операции выполняются над многими данными.

  2. Возврат "вверх" (к началу программы). Например, после выдачи результата программа спрашивает пользователя "Повторить?" и при утвердительном ответе повторяет расчет. Это реализуется только с помощью цикла.

  3. Повторение операторов до наступления какого-то заданного условия (нажатия клавиши, достижения требуемой точности вычислений и т.д.)

Кроме того, в ряде случаев циклы позволяют избежать повторения одних и тех же операторов. Если в программе есть повторяющиеся фрагменты – она написана неправильно.

  1. Цикл с предусловием

Две интересные передачи всегда идут в одно и то же время.

Из законов Мэрфи.

Наиболее общим в 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.