Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algoritmizatsia_i_programmirovanie_VBA_polnaya_...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
12.34 Mб
Скачать

Равным плану d в виде блок-схемы

Представим алгоритм определение максимального оборота предприятия за данный период в виде блок-схемы (рисунок 2.21):

Рисунок 2.21 – Алгоритм определение максимального оборота предприятия за данный период

Представим алгоритм организации нового массива в виде блок-схемы (рисунок 2.22):

Рисунок 2.22 – Алгоритм организации нового массива

В блок-схеме цикл вывода результативного массива реализуется через блок модификации аналогично циклу ввода.

Пример №15

Имеются данные о продуктах на складе. Определить общий вес продуктов, срок хранения которых менее 1 месяца и вывести их список.

Выполним построение математической модели и алгоритма решения функциональной задачи хранения продуктов на складе.

а) Обозначения переменных:

N – количество продуктов;

Р(N) – массив наименований продуктов;

K(N) – массив веса продуктов;

С(N) – массив сроков хранения;

i – счётчик цикла, номер продукта в таблице;

P(i), K(i), C(i) – наименование, вес, срок хранения i-того продукта;

S – общий вес продуктов, срок хранения которых меньше месяца.

б) Тип переменных:

N, i – простые переменные целого типа;

Р(N) – массив символьного (строкового) типа;

K(N), С(N) – массив вещественного типа;

P(i), K(i), C(i) – переменные с индексом;

S – простая переменная вещественного типа.

в) Классификация по группам:

исходные данные: N, Р(N), K(N), С(N);

промежуточный результат: i; результат: S.

г) Система расчетных формул:

S= 0 обнуление К

i = 1 начальный номер элемента (рисунок 2.23).

Рисунок 2.23 – Блок-схема алгоритма к примеру №15

Таблица 2.3 – Исходные данные для примера №15

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

Достоинство упорядоченного массива состоит в значительном облегчении поиска нужного элемента по сравнению с неупорядоченным массивом. Методы сортировки можно подразделить на три группы: обменные сортировки, сортировки посредством выбора и сортировки вставками.

Рассмотрим алгоритмы сортировки из каждой группы. При этом будем использовать массив вещественных чисел и выполнять сортировку по возрастанию значений элементов. Сортировка по убыванию производится аналогичным образом, отличия лишь в знаке операции отношения.

Сортировка «пузырьком» (обменная) состоит в сравнении каждого элемента со следующим за ним стоящим элементом ( и ) и обмена (перестановки) их, если элементы стоят не в нужном порядке ( > ). После первого такого просмотра массива наибольший элемент переместится в нужную позицию (на последнее место в массиве). Затем подобная процедура выполняется для массива на один элемент короче, и т.д. На каждом просмотре новый элемент помещается в требуемую позицию, следовательно, для сортировки массива из n элементов нужно не более n-1 просмотра.

Исходными данными являются: целочисленное значение n и элементы массива , i=1,2,...,n; результат уже отсортированный массив x. Учтем с помощью переменной fl тот факт, что если на каком-то промежуточном этапе массив уже отсортирован, то при просмотре его элементов не происходит ни одной перестановки и дальнейшие просмотры не нужны. Если выполняется ветвь алгоритма, в которой происходит перестановка (обмен) элементов, то переменной fl присваивается значение 1. Алгоритм в виде блок-схемы (в соответствии с рисунком 2.23).

Сортировка посредством выбора состоит в последовательном выборе элементов массива и помещении их в соответствующие позиции. В ней наибольший элемент помещается в позицию n, следующий по величине элемент в позицию n-1 и т.д.

Исходными данными являются: целочисленное значение n и элементы , i=1,2,...,n; результат уже отсортированный массив a.

Внешний цикл (счетчик i) «перебирает укорачивающиеся массивы, количество которых n-1 и переставляет наибольший элемент на последнее место массива (i-тое). Внутренний цикл (счетчик j) в рассматриваемом массиве находит значение Be и место nBe максимального элемента. Представим этот алгоритм в виде блок-схемы (рисунок 2.24).

Вложенным циклом или циклом в цикле называется такая структура, когда телом одного цикла является другой.

В блок-схемах (рисунок 2.23, рисунок 2.24, рисунок 2.25) приведён укрупнённый цикл вывода массива в виде одного блока.

Рисунок 2.24 – Блок-схема алгоритма обменной сортировки

Рисунок 2.25 – Блок-схема алгоритма сортировки посредством выбора

Пример №16

По условию примера №15 провести сортировку элементов массива К(N) – веса продуктов в порядке возрастания.

Выполним построение математической модели и алгоритма решения задачи сортировки методом вставки.

а)-б)-в) В дополнение к ранее объявленным переменным введём вспомогательные переменные, которые являются промежуточными результатами:

  • l – сохраняет номер продукта с наименьшим весом на определённом этапе сортировки, простая переменная целого типа;

  • j – счётчик внутреннего цикла, простая переменная целого типа;

  • Pr – сохраняет наименьший вес продукта на определённом этапе сортировки, простая переменная вещественного типа.

г) Система расчетных формул:

Представим алгоритм сортировки методом вставки в виде самой обычной блок-схемы (рисунок 2.26):

Рисунок 2.26 – Алгоритм сортировки методом вставки в виде блок-схемы

(алгоритмы обработки двумерных информационных массивов)

Многомерные массивы широко используются в статистике и математике, такие массивы имеют более одного измерения (индекса). Таким образом, двумерный массив представляет собой набор данных одинакового типа, в котором доступ к любому его элементу осуществляется по двум индексам: номеру строки и номеру столбца. Количество индексов определяет размерность массива. Например, размерность двумерного массива равна произведению числа строк на число столбцов. Двумерные массивы являются логической структурой данных удобной для решения задач связанных с обработкой величин зависящих от двух параметров.

Элемент многомерного массива обозначается именем массива с индексами, например, X(i, j). Индексы представляют собой выражения целого типа. Обращаться к элементам массива можно в произвольном порядке, задавая значения индексов. Причем, первый индекс всегда нумерует строки, второй столбцы.

Для того чтобы обработать элементы массива (присвоить, ввести, вывести значения), необходимо организовать вложенные циклы, в которых перебираются все комбинации значений индексов.

Рассмотрим пример алгоритма реализующего ввод двумерного массива по строкам в виде блок-схемы (рисунок 2.27).

Рисунок 2.27 – Фрагмент блок-схемы ввода двумерного

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]