Разработка программы на языке Pascal




Постановка задачи

Дана матрица A (N, M).

. В массив C записать все элементы из матрицы A, неравные числу, введённому с клавиатуры, и подсчитать число таких элементов.

. Расположить элементы массива C, стоящие на чётных местах по убыванию.

Для отладки программы элементы массива сформировать с помощью генератора случайных чисел.

 

Описание алгоритма решения задачи графическим способом

 

Укрупненная схема алгоритма


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

В программе решаются следующие задачи:

. Ввод элементов массива.

. Нахождение определённых элементов.

. Сортировка элементов.

. Вывод отсортированного массива.

 

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

Ввод элементов массива выполняется в цикле. На каждом шаге генерируется и сразу выводится значение элемента массива. Фрагмент блок-схемы:

 

 

Нахождение определённых элементов

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


Фрагмент блок-схемы

 

Сортировка элементов

 

Сортировка массива производится с помощью пузырькового метода.

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

 

 

Разработка программы на языке Pascal

 

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

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

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

В разделе переменных var описан целочисленный массив под именем a и целочисленная переменная i - счетчик цикла.

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

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: