Здравствуйте уважаемые форумчане столкнулся с проблемой. Учусь в ВУзе. Дали вот такое задание:
Задача «Организация основной памяти»
* информационные объекты: страницы оперативной памяти (свойства – НомерСтраницы, Состояние)
* страницы объединяются в рамках объекта Сегмент (свойство – РазмерСегмента)
* сегменты объединяются в рамках объекта-контейнера ОсновнаяПамять (свойство – тип ОС).
Я описал классы, вот что получилось:
Код:
класс TMemory
type
TMemory = class(TObject)
private
// поля
FNumber: integer; // приватное поле
FPriznak: Boolean; // приватное поле
public
// Конструктор
Constructor Create (const Number: integer; Priznak: boolean);
// методы чтения и записи свойств
function GetNumber: integer; // получаем номер
procedure SetNumber (const Value: integer); // задаём номер
function GetPriznak: boolean; // получаем состояние
procedure SetPriznak (const Value: boolean); // задаём состояние
end;
Код:
класс TElement
type
TElement = class(TObject)
private
// поля
FMemory: TMemory; // приватное поле
FNext: TElement; // приватное поле, указатель на следующий элемент
public
// конструкторы и деструкторы
constructor Create (const Memory: TMemory);
destructor Destroy; override;
// методы чтения и записи свойств
function GetNext: TElement; // получаем следующий элемент стека
procedure SetNext (const Value: TElement); // задаём следующий элемент стека
function GetMemory: TMemory; // возвращаем значение поля FMemory
end;
Код:
класс TSegment
type
TSegment = class(TObject)
private
// поля
FFirst: byte; // приватное поле, вершинный элемент
FNum: integer; // приватное поле, номер сегмента
public
// конструкторы и деструкторы
constructor Create (const Num: integer);
destructor Destroy; override;
// методы чтения и записи свойств
function GetFirst; TSegment; // получаем головной элемент
function GetNum: integer; // получаем номер сегмента
procedure SetNum (const Value: integer); // задаем номер сегмента
// методы
procedure AddMemory (const Memory: TMemory); // добавляем элемент в стек
function DelFirst: TElement; // удаляем вершинный элемент
procedure Clear; // очищяем стек
end;
Код:
класс TSomeMemory
type
TSomeMemory = class(TObject)
Private
// поля
FSome: array of TMemory (динамический массив экземпляров класса TMemory)
FCount: real (приватное поле, количество сегментов)
// конструкторы и деструкторы
Constructor Create (initianCount)
Destructor Destroy; override
// методы получения и установки значений свойств
Function GetMemory (index: integer): TMemory (возвращаем объект класса TMemory)
Function GetCount: integer (получаем количество сегментов)
// методы
Function SegmentNO (No: integer):TSegment
Function AddSL (No: integer): integer (добавляем в массив сегмент)
Function DeleteSL (No: integeer): integer (удаляем из массива сегмент)
Procedure SaveFile (const FileName: string) (сохраняем список в файле)
Procedure LoadFile (const FileName: string) (загружаем список из файла)
function WinInfo(Root_Key: HKEY; Key_Open, Key_Read: string): string
WinVers = 'Software\Microsoft\Windows\CurrentVersion' (читаем всё из реестра)
Преподаватель прокоментировал следующие ошибки: 1.Класс TMemory: название класса не соответствует его назначению
2.Класс TSegment: поле FFirst имеет неправильный тип
3.Класс TSomeMemory: массив имеет неправильный тип
первые 2 вродебы исправил, а с массивом проблемы. Подскажите пожалуйста. Спасибо.