ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «Разработка в среде Turbo Pascal программы поиска максимального элемента матрицы»
(автор - student, добавлено - 20-06-2014, 20:46)
СКАЧАТЬ:
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «Разработка в среде Turbo Pascal программы поиска максимального элемента матрицы»
ОглавлениеОглавление.. 2 ПОСТАНОВКА ЗАДАЧИ.. ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ ГРАФИЧЕСКИМ СПОСОБОМ... 4 Укрупненная схема алгоритма. 5 Детализация укрупненной схемы……………………………………….6 алгоритма……………………………..........................................................7 Блок-схема алгоритма. 8 РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ PASCAL.. 9 Описание блоков укрупненной схемы алгоритма на языке Pascal 10 Листинг программы.. 13 Тестирование программы.. 15
1.ПОСТАНОВКА ЗАДАЧИ
Разработка в среде Turbo Pascal программы поиска максимального элемента матрицы Дана матрица А размера MxN Найти максимальный элемент среди минимальных элементов всех строк. Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.
2.ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ ГРАФИЧЕСКИМ СПОСОБОМ
Укрупненная схема алгоритма
Детализация укрупненной схемы алгоритма В программе решаются следующие задачи:
Ввод элементов массива
Ввод элементов массива Паскаля осуществляется последовательно, необходимо напечатать элементы строки. При этом хотелось бы, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку. Для этого необходимо выполнить следующую последовательность действий (приведена блок-схема):
Нахождение максимального элемента
Представим алгоритм, в котором мы максимальный элемент среди минимальных элементов всех строк. Это реализуется с помощью основного цикла, который переключает строки и вложенного, который ищет минимальные элементы в каждой строке. Затем идёт условие, которое проверяет каждый элемент на его величину, оставляя только наибольший. Все это можно представить в виде следующего фрагмента блок-схемы:
Вывод найденного элемента
После нахождения элементы мы выводим его на экран. Вывод элементов массива осуществляется при помощи цикла с параметром.
Блок-схема алгоритма
3.РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ PASCAL Программа начинается со служебного слова Program, после которого следует заголовок программы. Далее включаем раздел Uses для использования модуля CRT, который применяется для управления работой экрана в текстовом режиме. После названия программы и идентификации используемых модулей следует раздел переменных (var). В разделе переменных описан целочисленный массив под именем a, целочисленные переменные i, j – счетчики циклов, temp – вспомогательная переменная для сортировки элементов и т.д. Тело программы или раздел операторов начинается со слова begin и заканчивается end. В этом разделе описываем действия, которые должна выполнить программа согласно выбранному алгоритму. Так как в программе подразумевается ввод данных с экрана и вывод полученных результатов на экран, перед началом программы его необходимо очистить от ненужной информации. Это проделывает процедура clrscr, которая описана в модуле Crt. Перед первым обращением к функции random необходимо с помощью вызова процедуры randomize инициализировать программный генератор случайных чисел, иначе при каждом запуске программы датчик будет выдавать одни и те же числа.
Описание блоков укрупненной схемы алгоритма на языке Pascal
Ввод элементов массива. Рассмотренный фрагмент блок-схемы для реализации ввода элементов двумерного массива на языке Pascal будет представлен в следующем виде:
for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(20)-5; write(a[i,j]:3); end; writeln; end;
Запись write(a[i,j]:3) обозначает, что для вывода каждого элемента на экран отводится 3 позиции. Следующий оператор random с параметрами генерирует случайно взятое число и помещает его в текущий элемент массива. Так мы можем быстро заполнить массив интересующим нас диапазоном чисел. Добавим в конце оператор writeln без параметров для более удобного восприятия информации с экрана.
Вывод найденного элемента
После нахождения элемента с помощью нашего алгоритма, мы выводим значение на экран стандартными средствами вывода:
writeln('Максимальный элемент среди минимальных: ', max, '[', max_i, ',',max_j,']');
где write(…)– вывод элемента в строку с указанием количества занимаемых позиций.
Листинг программы Program xxx; uses crt; var i, j, max, min, max_i, max_j, min_i, min_j, m, n:integer; a:array [1..100, 1..100] of integer;
begin clrscr;randomize; write('Введите количество строк: ');readln(n); write('Введите количество столбцов: ');readln(m);
for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(20)-5; write(a[i,j]:3); end; writeln; end; writeln; writeln('Задание 1. Нахождение максимального элемента среди минимальных'); max:=-10; for i:=1 to n do begin min:=a[i,1]; min_i:=i; min_j:=j; for j:=1 to m do if a[i,j]<min then begin min:=a[i,j]; min_i:=i; min_j:=j; end; if min>max then begin max:=min; max_i:=min_i; max_j:=min_j; end; end;
writeln('Максимальный элемент среди минимальных: ', max, '[', max_i, ',',max_j,']'); readkey; end.
Тестирование программы Ниже приведены результаты выполнения программы на примере различных входных данных.
Похожие статьи:
|
|