Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Детализация укрупненной схемы алгоритма




В программе решается 4 подзадачи:

1. Заполнение двумерного массива;

2. Поиск минимального элемента в каждом столбце;

3. Поиск минимального элемента среди найденных минимальных элементов столбцов;

4. Сортировка столбца с минимальным элементом;

5. Вывод преобразованного массива.

Ввод элементов двумерного массива

Как оговаривалось в постановке задачи, ввод элементов двумерного массива будем осуществлять  с помощью генератора случайных чисел. Возьмем, к примеру, интервал от -5 до 15. Тогда, используя формулу Random (b - a +1)+ a,получим Random(21)-5. Таким образом, каждый очередной элемент массива будет представлять собой целое число из диапазона [-5, 15] и выводится на экран. Цикл работает до достижения переменной i значения n, то есть до конца массива.

Алгоритм заполнения массива соответствующими числами указан ниже:

 


Поиск минимального элемента

в каждом столбце двумерного массива

Представим алгоритм поиска минимального элемента в каждом столбце двумерного массива. Для хранения значения минимума столбца возьмем переменную minst, для хранения его номера в массиве - imin.

Так как поиск элемента в массиве должен осуществляться по столбцам (т.е. по j), то он должен быть организован как внешний цикл. Зафиксировав номер столбца min:= a [1, j ], начинаем перебирать элементы построчно: i:= 2, n, 1. Когда все строки будут рассмотрены, в результате сравнения их друг с другом, будет найден самый наименьший элемент. Этот элемент выведем на экран. Все это можно представить в виде следующего фрагмента блок-схемы:

 

 


Поиск минимального элемента

среди найденных минимальных элементов столбцов

После того, как будет найден минимальный элемент в столбце, с помощью условия minst < min находимминимальный элемент среди минимальных элементов столбцов. Таким образом, в каждом прохождении цикла запоминается значение min:= minst и номер элемента imin:= j, который будет меньше всех предыдущих. Как только будут рассмотрены все элементы массива, значение минимального элемента и его номера будут выведены на экран.

Соответствующий алгоритм в виде блок-схемы можно представить следующим образом:


Сортировка столбца с минимальным элементом

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

 

 


Вывод преобразованного массива

После сортировки выводим полученный массив на экран. Вывод элементов двумерного массива осуществляется при помощи цикла с параметром.  


Блок-схема алгоритма

 

 



 


РАЗРАБОТКА ПРОГРАММЫ

НА ЯЗЫКЕ PASCAL

 

Программа начинается со служебного слова Program, после которого следует заголовок программы. В данном случае это Primer.

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

После названия программы и идентификации используемых модулей следует раздел объявления констант (const) и переменных (var).

В данной программе в разделе констант объявлены константы n =4 (количество строк массива) и m = 5 (количество столбцов массива).

В разделе переменных описан целочисленный массив под именем a, целочисленные переменные i, j – счетчики циклов, min – минимальный элемент, imin – индекс минимального элемента, minst – минимальный элемент столбца, k – вспомогательная переменная для сортировки элементов.

Тело программы или раздел операторов начинается со слова begin и заканчивается end. В этом разделе описываем действия, которые должна выполнить программа согласно выбранного алгоритма.

Так как в программе подразумевается ввод данных с экрана и вывод полученных результатов на экран, перед началом программы его необходимо очистить от ненужной информации. Это проделывает процедура clrscr, которая описана в модуле Crt.

Перед первым обращением к функции random необходимо с помощью вызова процедуры randomize инициализировать программный генератор случайных чисел, иначе при каждом запуске программы датчик будет выдавать одни и те же числа.

 





Поделиться с друзьями:


Дата добавления: 2018-11-11; Мы поможем в написании ваших работ!; просмотров: 257 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2421 - | 2132 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.