Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
620251-ПБ / МУ_ЛР_Информатика / ЛР №6 Delphi циклы и массивы.doc
Скачиваний:
45
Добавлен:
16.03.2016
Размер:
234.5 Кб
Скачать

17

Министерство образования и науки РФ

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

учреждение высшего образования

«Тульский государственный университет»

Политехнический институт

Кафедра «Технология машиностроения»

Методические указания к лабораторной работе №6 Программирование алгоритмов с циклами

по дисциплине

Информатика-1

Направление подготовки: 15.03.04 Автоматизация технологических процессов и производств

Профиль подготовки: Автоматизация технологических процессов и производств в машиностроении

Формы обучения: очная

Тула 2015 г.

Методические указания к лабораторным работам составлены доц. А.В. Анцевым и обсуждены на заседании кафедры «Технология машиностроения» политехнического института

протокол №1 от "28" августа 2015 г.

Зав. кафедрой________________А.А. Маликов

Методические указания к лабораторным работам пересмотрены и утверждены на заседании кафедры «Технология машиностроения» политехнического института

протокол №___ от "___"____________ 20___ г.

Зав. кафедрой________________А.А. Маликов

Содержание

1. Цели и задачи работы 4

2. Теоретические сведения 4

2.1 Цикл с предусловием 4

2.2 Вечный цикл 6

2.3 Цикл с постусловием 7

2.4 Цикл с переменной 8

2.5 Дополнительные операторы управления циклами 10

2.6 Вложенные циклы 12

2.7 Статические массивы 13

2.8 Многомерные статические массивы 14

2.9 Ввод-вывод массивов 15

2.10 Ввод с клавиатуры 15

2.11 Считывание массива из файла 18

2.12 Поиск максимума и минимума 19

3. Объекты исследования, оборудование, материалы и наглядные пособия 20

4. Задание на работу 20

5. Порядок выполнения работы 20

6. Содержание отчета 21

7. Список использованных источников 21

  1. Цели и задачи работы

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

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

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

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

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

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

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

  1. Теоретические сведения

    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.