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

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.