Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2010, 20:13   #1
кристина19
 
Регистрация: 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]
кристина19 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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