|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.10.2010, 20:13 | #1 |
Регистрация: 08.05.2010
Сообщений: 8
|
Класс «матрица». Инкапсуляция.
Класс «матрица». Инкапсуляция.
1.1. Подключите к проекту модуль, в котором и опишите класс TMatrix. 1.2. В интерфейсной части модуля опишите класс TMatrix (матрица). Описание класса помещают в программе в раздел описания типов (type). а) В секции Private опишите поля, характеризующие матрицу: количество столбцов; количество строк; двумерный массив. б) В секции Private опишите методы, с помощью которых (по-средством свойств) будет осуществляться доступ (чтение, запись) к полям класса: SetCountCol, SetCountRow процедуры изменения соответственно количества столбцов и строк матрицы; SetArr(index1,index2:byte;AArr:inte ger) процедура изменения элемента матрицы с индексами index1, index2; GetArr(index1,index2:byte) функция, возвращающая значение элемента матрицы с индексами index1, index2. в) В секции Public опишите заголовки методов: Create конструктор объекта; GenerMatr генерирование матрицы (входные параметры: количество строк; количество столбцов; границы изменения значений генерируемых элементов); InputMatr заполнение матрицы (входные параметры: количество строк; количество столбцов; двумерный массив); Destroy деструктор. г) В секции Public опишите свойства: CountCol, CountRow количества столбцов и строк (чте-ние осуществляется непосредственно из соответствующего поля; изменение значения с помощью описанной процеду-ры: SetCountCol или SetCountRow); Arr свойство, с помощью которого можно обратиться (прочитать или изменить значение) к элементу по индексам. 1.3. Напишите реализацию всех методов в исполнительной части модуля. 1.4. В основном модуле (по умолчанию Unit1), соответствующем форме (Form1), объявите экземпляр класса-матрица. На форме расположите компонент MainMenu, с помощью которого организуйте проверку работы всех методов и свойств, соответствующих классу-матрица. 1.5. Проверьте работу приложения. 1.6. Откройте программный код (текст) модуля, в котором описан класс TMatrix. В описание класса TMatrix добавьте описание следующих методов: Transp процедура транспонирования матрицы; Simm процедура, проверяющая матрицу на симметричность (если она квадратная); InsRow процедура вставки строки в матрицу; InsCol процедура вставки столбца в матрицу; DelRow процедура удаления строки из матрицы; DelCol процедура удаления столбца из матрицы; Det функция вычисления определителя матрицы (если матрица квадратная). ВНИМАНИЕ: Некоторые методы могут быть предложены преподавателем. 1.7. Создайте два экземпляра класса-матрицы (согласованные матрицы) и найдите произведение этих матриц. ___________________________________ __________ Ребят, очень нужно решить эту лабораторную. я в объектно-ориентированном программировании вообще чайник ((( вот первая половина лабы, что получилось : [DELPHI]unit Unit2; interface const NUM=20; type massiv = array [1..NUM,1..NUM] of integer; TMatrix = class private m,n:integer; A:massiv; procedure SetCountCol(col: integer); procedure SetCountRow(row: integer); property CountRow:integer read m write SetCountRow; property Arr [i,j:integer]: integer read A write SetArr; end; implementation procedure TMatrix.SetCountCol(col: Integer); begin if (col<=NUM) and (col>=1) then n:=col end; procedure TMatrix.SetCountRow(row :Integer); begin if (row<=NUM) and (row>=1) then m:=row end; end.[/DELPHI] |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++: класс матрица. Действия с ними | MR_Andrew | Общие вопросы C/C++ | 6 | 21.07.2015 22:02 |
Класс - вещественная матрица | ne4eHbko | Общие вопросы .NET | 1 | 29.06.2010 23:34 |
Динамическая матрица через класс и перегрузка | artyom-d | Общие вопросы C/C++ | 0 | 03.04.2010 14:36 |
Класс матрица, вывод результатов на экран | Student_911 | Помощь студентам | 0 | 03.10.2009 20:55 |
Инкапсуляция | psycho-coder | Общие вопросы Delphi | 4 | 14.08.2009 13:04 |