Основы алгоритмизации и вычислений: Учебно-практическое пособие, страница 24

Пример 1.

Рассмотрим процесс алгоритмизации на том же примере поиска максимального числа из последовательности из N чисел.

Определимся с алгоритмической системой. Для этого, проанализируем исходные данные, исходными данными у нас будут представлены как:

  1. N - количество элементов последовательности. В качестве типа объектов, представляющих исходных данных определяем множество целых чисел. Сразу заметим, что количество должно быть положительным, то есть строго больше нуля.
  2. M – сама последовательность чисел. В качестве типа объектов, представляющих исходных данных определяем множество вещественных чисел.

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

  1. Mmax – максимальное число из заданной последовательности.

Свойства исполнителя, такие как инструменты и язык пока учитывать не будем.

Построим математическую модель, то есть опишем процесс поиска языком математических формул:

            Математическая модель процесса поиска максимального числа из последовательности вещественных чисел M размерностью N построена.

            Разрабатываем алгоритм в виде описательных инструкций:

  1. Начало алгоритма;
  2. Получить количество элементов последовательности N и саму последовательность M.
  3. Присвоить значению Mmax, значение элемента последовательности M1.
  4. Присвоить счетчику элементов i – значение равное двум. Начинаем перебор со второго элемента, так как первый у нас уже и так считается максимальным.
  5. Если не дошли до конца массива, то есть i<=N, то:
    1. Если Mi > Mmax, то считаем это элемент максимальным Mmax = Mi.
    2. Переходим к следующему элементу, для этого увеличиваем значение номера элемента i на единицу.
    3. Переходим к пункту 5.
  6. Записываем результат работы алгоритма Mmax;
  7. Конец алгоритма.

Итак, мы разработали алгоритм, с помощью которого можно найти максимальное число в последовательности M имеющей количество элементов N.

Следующим этапом идет проверка правильности работы алгоритм. Для этого возьмем произвольную последовательность {1,6,2} размерностью 3 и «проиграем» этот алгоритм пошагово, заранее зная ответ (Mmax=6):

ü  Начало алгоритма;

ü  Получаем количество элементов последовательности N=3 и саму последовательность M={1,6,2};

ü  Присваиваем Mmax значение первого элемента Mmax= M1=1;

ü  Присваиваем счетчику элементов значение номера второго элемента i=2;

ü  Не дошли до конца последовательности? 2<=3? «да»;

ü  Сравниваем текущий элемент с максимальным Mi> Mmax? или 6>1? «да», значит тот элемент который мы считали максимальным таковым не является. Теперь будем считать максимальным второй элемент последовательности Mmax= Mi= M2=6;

ü  Увеличиваем значение счетчика элементов на единиц i=i+1, то есть теперь значение счетчика равно 3;

ü  Не дошли до конца последовательности? 3<=3? «да»;

ü  Сравниваем текущий элемент с максимальным Mi> Mmax? или 2>6? «нет», не выполняем никаких действий;

ü  Увеличиваем значение счетчика элементов на единиц i=i+1, то есть теперь значение счетчика равно 4;

ü  Не дошли до конца последовательности? 4<=3? «нет»;

ü  Записываем результат работы алгоритма. На данном шаге получили, что Mmax=6.