
- •Технология программирования вложенных циклов
- •Правила работы с вложенными циклами:
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Описание многомерных массивов
- •Обозначение элементов многомерного массива
- •Создание двумерного массива
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Параллельно вложенные циклы
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Программирование задачи с графическим интерфейсом
- •Сортировка элементов массивов
- •Ранжирование числовых массивов
- •Ранжирование по убыванию основным методом
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование по возрастанию методом «пузырька»
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование символьных массивов
- •Ранжирование символов в строке по алфавиту
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование массива символьных строк по алфавиту
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
-
Параллельно вложенные циклы
В реальной практике наряду с задачами, использующими последовательно вложенные циклы, существуют и требуют решения варианты с параллельным вложением. Анализ большинства транспортных задач показывает, что в соответствии с конкретной постановкой, форма вложений циклов может изменяться. Типичное подтверждение этого – откорректированная задача (9.3) о доставке грузов.
-
Постановка задачи
В городе имеется N продуктовых магазинов. Продукты поставляет один хлебозавод. Производство ориентировано на два вида продукции: хлебобулочную и кондитерскую. Каждый магазин заказывает конкретный ассортимент (количество К хлебобулочных и массу М кондитерских изделий). Требуется рассчитать суммарное количество хлебобулочных изделий и массу кондитерских, поставляемых в каждый магазин.
-
Формирование математической модели
Исходные данные
N |
[шт] |
– число магазинов; |
||
Т |
[шт] |
– максимальный ассортимент хлебобулочных продуктов; |
||
P |
[шт] |
– максимальный ассортимент кондитерских изделий; |
||
Kil ,
1 |
[шт] |
– количество хлебобулочных продуктов для каждого магазина; |
||
Mij ,
1 |
[кг] |
– массы кондитерских изделий для каждого магазина; |
Расчётные зависимости
|
[шт] |
– суммарное количество хлебобулочных изделий, поставляемых в i-й магазин; |
|
[кг] |
– суммарная масса кондитерских изделий, поставляемых в i-й магазин; |
1 |
– диапазоны изменения индексов; |
|
i = i + 1, l = l+1, j = j + 1 |
– законы изменения индексов. |
-
Выбор метода решения
Математическая модель позволяет решить задачу двумя вариантами:
-
осуществить расчёт суммарного количества хлебобулочных изделий и суммарной массы кондитерских изделий по всему ассортименту, доставляемых в один магазин, а затем повторить вычисления для всех оставшихся магазинов;
-
осуществить расчёт суммарного количества хлебобулочных изделий по всему ассортименту, доставляемых в один магазин, повторив вычисления для всех оставшихся магазинов, а затем осуществить расчёт суммарной массы кондитерских изделий по всему ассортименту, доставляемых в один магазин, повторив вычисления для всех оставшихся магазинов.
Выбор варианта не влияет на результаты решения, но предполагает различные схемы вложенных вычислений:
-
первый – с двумя параллельно вложенными циклами;
-
второй – с двукратно реализуемыми простейшими (одно вложение) последовательно вложенными циклами.
В соответствии с целью раздела выбираем первый вариант. Тогда в качестве внешнего цикла используется перебор магазинов, в качестве внутренних – изменения количества хлебобулочных изделий (изменение параметра l), завозимых в i-й магазин и изменения массы кондитерских изделий (изменение параметра j), завозимых в i-й магазин.
Следовательно, в качестве метода решения необходима структура вложенных циклов, содержащая один общий внешний и два параллельно вложенных в него внутренних цикла.