Альметьевский государственный нефтяной институт
Кафедра информатики
КУРСОВЯ РАБОТА
ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»
РАЗДЕЛ: Алгоритмический язык Pascal
НА ТЕМУ:
«Разработка в среде Turbo Pascal программы сортировки элементов строк матрицы»
Альметьевск 2010 год
Решения задачи графическим и программным способами по теме «двумерные массивы»
Тема курсовой работы: «Разработка в среде Turbo Pascal программы сортировки элементов строк матрицы».
Элементы четных строк матрицы размером n x m упорядочить по возрастанию, элементы нечетных строк- по убыванию. Для отладки программы элементы двумерного массива сформировать с помощью генератора случайных чисел.
Исходными данными являются элементы двумерного массива, которые должны быть созданы по условию задачи с помощью генератора случайных чисел Random. Функция Random без параметра формирует вещественные числа в диапазоне [0,1]. Так как по условию задачи элементами массива должны быть целые числа, то воспользуемся формулой Random(b-a+1)+a, которая будет выдавать случайные целые числа из диапазона [a,b].
В результате решения задачи будет найден четные строки матрицы, элементы которой будут упорядочены по возрастания, и найдены нечетные строки, элементы которой будут упорядочены по убыванию. Для сортировки (упорядочивания) строки массива по возрастанию или убыванию используем алгоритм сортировки обменом.
В программе решается 3 подзадачи:
1. Заполнение двумерного массива;
2. Сортирование элементов четных строк по возрастанию, нечетных строк по убыванию;
3. Вывод преобразованного массива.
Как оговаривалось в постановке задачи, ввод элементов двумерного массива будем осуществлять с помощью генератора случайныхчисел. Возьмем, к примеру, интервал от -5 до 15. Тогда, используяформулу Random(b-a+1)+a, получим Random(21)-5. Таким образом, каждый очередной элемент массива будет представлять собой целоечисло из диапазона [-5, 15] и выводится на экран. Цикл работает додостижения переменной i значения n, то есть до конца массива. Алгоритм заполнения массива соответствующими числами указан ниже:
Сортирование элементов четных строк по возрастанию работает следующим образом: в начале определяем, является ли строка четной. Это определяется с помощью условия If I mod 2 =0, если строка четная, то номер строки делится на 2 без остатка.
В начале находим элемент с наименьшим значением (min) во всей строке и ставится на первое место, а первый элемент при этом ставится на место, где располагался наименьший элемент. Затем наименьший элемент отыскивается уже среди чисел со второго по n элемент, и также меняются местами минимальный среди них и второй элемент и т.д. Для того чтобы не терялись значение элементов массива вместо которых ставятся элементы с наименьшим значение, введена переменная S. Если условие If I mod 2 =0 произошло с остатком, то строка нечетная и начинается сортировка по убыванию. Находим элемент с наименьшим значение во всей строке. Ставим его на последнее место, а последний элемент при этом ставится на место, где располагался наименьший элемент. Чтобы элемент не терялся используем переменную S.
После сортировки выводим полученный массив на экран. Вывод элементов двумерного массива осуществляется при помощи цикла с параметром.
Блок-схема алгоритма
Программа начинается со служебного слова Program, после которого следует заголовок программы. В данном случае это massiv. Далее включаем раздел Uses для использования модуля CRT, который применяется для управления работой экрана в текстовом режиме. После названия программы и идентификации используемых модулей следует раздел объявления констант (const) и переменных (var).
В данной программе в разделе констант объявлены константы n=4 (количество строк массива) и m = 5 (количество столбцов массива). В разделе переменных описан целочисленный массив под именем a, целочисленные переменные i, j – счетчики циклов, min – минимальный элемент, imin – индекс минимального элемента, minst – минимальный элемент столбца, k – вспомогательная переменная длясортировки элементов.
Тело программы или раздел операторов начинается со слова begin и заканчивается end. В этом разделе описываем действия, которые должна выполнить программа согласно выбранного алгоритма. Так как в программе подразумевается ввод данных с экрана и вывод полученных результатов на экран, перед началом программы его необходимо очистить от ненужной информации. Это проделываетпроцедура clrscr, которая описана в модуле Crt.
Перед первым обращением к функции random необходимо с по-мощью вызова процедуры randomize инициализировать программный генератор случайных чисел, иначе при каждом запуске программы датчик будет выдавать одни и те же числа.
Для того, чтобы прокоммен
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.