Для преобразования двумерного массива в одномерный необходимо ввести дополнительную переменную k для индексирования элементов одномерного массива X. Затем поочередно переписываем элементы двумерного массива в одномерный по следующей схеме:
Вычисление суммы элементов одномерного массива
В данной подзадаче требуется вычислить сумму каждых третьих элементов второй четверти одномерного массива. Это можно представить в виде следующего фрагмента блок-схемы:
Поиск наибольшего элемента массива
Для определения наибольшего элемента массива Х, среди четных по значению, воспользуемся следующим фрагментом блок-схемы:
Сортировка заданной части одномерного массива.
В последнем пункте задачи требуется упорядочить четные по номеру ненулевые элементы первой половины одномерного массива по убыванию модулей обратных значений. Соответствующий фрагмент блок-схемы представлен ниже:
Блок-схема алгоритма
|
|
РАЗРАБОТКА ПРОГРАММЫ
НА ЯЗЫКЕ PASCAL
Программа начинается со служебного слова program,после которого записывается имя программы. В рассматриваемом примере в качестве имя программы записан идентификатор kr.
Описательная часть рассматриваемой программы состоит из следующих разделов:
uses – раздел указания подключаемых стандартных библиотечных модулей. Используется модуль crt,отвечающий за работу экрана в текстовом режиме;
const – раздел объявления констант. Объявлены константы: m =6 (размерность двумерного массива), n =36 (количество элементов одномерного массива), a =-10, b =10 (левая и правая границы интервала, используемого генератором случайных чисел);
var – раздел описания переменных. Описаны: целочисленный двумерный массив D, целочисленный одномерный массив Х, i, j -счетчикициклов, k – количество элементов одномерного массива Х, max – максимальный элемент, buf - буферная переменная для сортировки элементов одномерного массива, s – сумма элементов из заданной части одномерного массива.
Исполнительная часть (раздел операторов) программы заключена между словами begin и end. Здесь описаны действия, которые должна выполнить программа в соответствии с составленным алгоритмом.
Для очистки экрана от предыдущей информации используется процедура clrscr.
Для инициализации программного генератора случайных чисел используется процедура randomize. В программе это необходимо сделать до использования функции random.
Описание блоков