Введение
(подчеркивается актуальность темы, пути ее разработки и краткое содержание работы -1-1,5стр.)
О Delphi, о программировании, о работе;
О создании в Delphi программных продуктов;
работа с некоторыми компонентами;
интерфейс среды разработчика;
набор компонентов для работы.
О массиве как о структуре данных.
…
В данной работе разработана и реализована программа для обработки элементов двумерных массивов средствами Delphi (качественно и на хорошую оценку, самостоятельно, надеюсь!!!, очень!!!!).
Теоретическая часть
Математическая постановка задачи
Условие задачи
…
Описание метода
(Вводятся размеры двумерной матрицы матрицы n и m, где n – количество строк, m – количество столбцов. Максимальные размеры матрицы – 50 х 50. Элементы матрицы вещественного типа.
При размере матрицы n х m и исходных данных массива Х и т.д. … (Куда что вносим-переносим, присваиваем, перестраиваем…, т.е. все манипуляции с элементами массива.)
(Если за основу взят алгоритм «стандартный», то его название).
Решение примера заданным методом
Задаем размер матрицы 4 х 5 (n х m) и исходные данные массива Х и т.д. … Вносим-переносим, присваиваем, перестраиваем…, т.е. все манипуляции с элементами массива в математическом(!!!) виде до получения конечного результата (не менее 2 примера).
Программная часть
Схема алгоритма
На рис. 1 изображена блок-схема основной части алгоритма решения задачи -- поиск минимального элемента в массиве A и формирование массива B (полностью назвать эту часть подпрограммы, т.е. что там выполняется, и дать название подпрограммы в программе без пояснений по компонентам, т.к. они будут в описание программы).
Блоки начало/конец не использовать, т.к. это блок-схема подпрограммы!!!!!
Рис. 1 Блок-схема подпрограммы InputArray …
Описание схемы алгоритма
Дать пояснения всем переменным, которые использованы в алгоритме, какие блоки используются, что в них выполняется.
Схема алгоритма основной программы приведена на рис.1. В блоке 2 вызываем функцию ввода данных эксперимента и, если подпрограмма возвратила ошибку, то завершаем работу основной программы в блоке 3.
В блоке 4 вызываем функцию формирования нового массива В. Его вывод организован с помощью функции в блоке 5.
…
Программа на языке Delphi
Листинг программы
Тип шрифта листинга программы не менять. Все выравнивания текста программы желательно выполнить в Delphi перед копированием в Word. Выравнивание текста должны быть обязательно. Оно должно отражать структуру используемых операторов и логическую структуру программы. Рекомендую использовать комментарии для пояснения: основных моментов обработки данных; частей программы; назначения процедур; в разделе описания назначения переменных для расшифровки типа и функционального назначения переменных.
program kurs;
{$APPTYPE CONSOLE
Uses SysUtils;
type //раздел описания типов данных
tArray=array [1..20,1..40] of byte; //описание типа двумерного
//массива 20x40 элементов
tArray2=array [1..400] of byte; // описание типа массива из 400
//элементов
var //раздел объявления переменных
A:tArray; //массив с результатами эксперимента
B:tArray2; //сформированный одномерный массив
n, //количество столбцов массива A
m, //количество строк массива A
k:byte; //размер массива B
d:byte; //количество искомых элементов
S:real; //среднее арифметическое элементов массива В
//===========================================
// Функция ввода массива. Возвращает размер массива n, m и //введенный массив Z
Function InputArray(var Z:tArray; var m, n:byte):boolean;
var
i,j:byte; // индексные переменные
begin
//вывод сообщения о вводе n
writeln('Введите размер массива n:');
//вводим n
readln(n);
…
end;
//Процедура вывода одномерного массива Y размерностью k
Procedure OutputArray(Y:tArray2; k:byte);
var i:byte; //индекс массива
begin
…
end;
//Процедура создания одномерного массива Y
//из двумерного Х по заданной схеме
Procedure Create(X:tArray; m:byte; n:byte; var Y:tArray2; var k:byte);
var
i, //индекс массива
j:byte; //индекс массива
l,t:byte; //индексы массива
s:set of byte; //множество элементов массива
f:boolean; //флаг наличия схожего элемента
//в нижней части массива
begin
…
end;
end; //конец процедуры
//Процедура поиска среднего арифметического
Function SrZnach(X:tArray2; n:byte):real;
var
i:byte; //индекс массива
Sr:real; //переменная для подсчета среднего арифметического
begin
…
end;
//Процедура подсчета в массиве Х элементов,
//которые отличаются от значения Sr больше чем на 50%.
//Возвращает количество искомых элементов k
Procedure Calc(X:tArray2; n:byte; Sr:real; var k:byte);
var
i:byte; //индексы массива
begin
i:=1; //задаем начальный индекс массива
k:=0;
…
end;
//начало основной программы
begin
…
end. //конец программы
Описание программы
Дать пояснения всем переменным, которые использованы в программе и их типы. На какие подпрограммы разделен весь алгоритм: что в них выполняется, какие переменные используются, типы переменных.
В начале основной программы вызывается функция ввода исходного массива InputArray. Если указанная подпрограмма возвратила ошибку – то выдаем сообщение об ошибке и производим выход из программы.
Функция InputArray запрашивает размер массива и производит его ввод. При этом если введенный размер n меньше 3 – то выдается соответствующее сообщение и возвращается значение False в основную программу.
При описании программы используются рисунки с изображением: дерева объектов формы(форм); списка свойств объектов; окно программы в конструкторском режиме.
…