Частотный исследование текста

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование




?ственно. Например:

type= classText: string;

constructor Create;

destructor Destroy;

end;

Для того, чтобы создать обьект, необходимо применить метод-конструктор к классу обьекта: varMyObject: TSample;

begin:= TSample. Create;

end;

Если создается класс-потомок и при его создании планируется осуществить некоторые дополнительные действия, отсутствующие у класса-родителя, то в конструкторе класса-потомка следует сначала вызвать конструктор своего родителя, а уже потом осуществлять дополнительные действия. Вызвать любой перекрытый метод родительского класса можно при помощи зарезервированного слова inherited(унаследованный). Например, если в классе TDescedant имеется свой собственный конструктор typeTDescedant = class(TBase) FMark: Boolean;

constructor Create (Mark: Boolean);

end;

то его реализация могла бы быть такой: constructor TDescedant. Create (Mark: Boolean);

begin

inherited Create;:= Mark;

end;

где вызов родительского конструктора осуществляется оператором inherited Create; а оператор Emark:= Mark; Осуществляет дополнительные действия. Кроме деструктора Destroy, в базовом классе Tobject определен метод Free, который прежде проверяет, был ли обьект на самом деле реализован и только потом вызывает метод Destroy. Если обьект не был создан конструктором, то обращение к деструктору, приведет к генерации исключительной ситуации. Следовательно, для уничтожения ненужного обьекта удобнее использовать метод Free, например: MyObject. Free; В классе могут быть определены методы, которые могут вызываться без создания и инициализации обьекта. Эти методы называются методами класса, и для их обьявления используется зарезервированное слово class. Например:

type= class(Tobject)

class function ChildClassInfo: string;

end;: string;

begin:= ChildClassInfo;

end;

Как правило, методы класса предназначены для справочной информации о классе-имени класса, предке класса, размере класса и т.д.

События

Событие-это то, что происходит в процессе работы программы. В Delphi определенно несколько десятков типовых событий. Рассмотрим, что представляют собой события с точки зрения языка Object Pascal. Событие-это свойство процедурного типа, и его значением является указатель на некоторый метод. Присвоить такому свойству значение означает указать адрес метода, который будет выполняться в момент наступления события. Такие методы называются обработчиками событий. В качестве примера рассмотрим, как описаны стандартные события OnDblClick (возникает при двойном щелчке левой кнопкой мыши), OnMouseDown (возникает при нажатии кнопки мыши) и OnMouseMove (возникает при перемещении мыши) в классе TControl: Tcontrol = class(Tcomponent) Private FonDblClick: TnotifyEvent; FonMouseDown: TmouseEvent; FonMouseMove: TmouseMoveEvent protected property OnDblClick: Tnotify read FonDblClick writeFonDblClick; Property OnMouseDown: TmouseEvent read FonMouseDown writeProperty OnMouseMove: TmouseMoveEvent read FonMouseMove writeFonMouseMove; end; Назначение зарезервированных слов private и protected мы рассотрим позже, а пока отметим следующее. Поля FonDblClick, FonMouseDown и FonMouseMove, используемые при описании свойств-событии, предназначенны для хранения указателя на метод, являющийся обработчиком соответствующего события. Используемые при описаний полей процедурные типы определяются следующим образом: TypeTnotifyEvent = procedure (Sender: Tobject) of object; TmouseEvent = procedure (Sender: Tobject; Button: TmouseButton; Shift: TshiftState; x, y: Integer) of object; TmouseMoveEvent = procedure (Sender: Tobject; Shift: TshiftState; X, y: Integer) of object; Общим для всех процедурных типов является параметр Sender, содержащий указатель на обьект-источник события. Параметр Button содержит информацию, какая клавиша мыши была нажата. Параметр Shift содержит код клавиши, нажатой на клавиатуре.x и y - текущие координаты мыши в пределах компонента.

Поля

Полями называются инкапсулированные в классе данные. Поля класса подобны полям записи, но в отличие от них могут быть любого типа, в том числе классами, например: type TchildClass = class Fone: Integer; Ftwo: String; Fthree: TObject; end; Исходя из принципа инкапсуляции, обращение к полям должно осуществляется при помощи методов и свойств класса. Вместе с тем, в Object Pascal допускается обращаться к полям и непосредственно. Для того чтобы обратиться к полю, необходимо записать составные имя, состоящее из имени класса и имени поля, разделенных точкой, например: var MyObject: TChildClass; begin MyObject. Fone:= 16; MyObject. Ftwo:= 'Некоторое строковое значение'; end; Обычно имя поля такое же, как и имя соответствующего свойства, но к имени поля в качестве первой буквы добавляют букву F.

2. Практическая часть

.1 Постановка задачи

Частотный анализ текста (пословный). (Подiитывается относительная частота встречаемости каждого слова в тексте; границами слов являются символы: точка, запятая, двоеточие, точка с запятой, пробел, скобки, тире, вопросительный и восклицательный знаки.)

А) Текст вводится из текстового файла произвольной длины; вывод результатов на экран, принтер или в файле по желанию пользователя.

Б) Текст вводится с клавиатуры, должна быть возможность записи его в файл; вывод результатов на экран, принтер или в файл по желанию пользователя.

В) Текст вводится по выбору пользователя с клавиатуры (при этом должна быть возможность записи его в файл), либо из текстового файла; вывод результатов - на экран, принтер или в файл по желанию пользователя.

Г) Текст вводится по выбору пользователя с клавиатуры (при этом должна быть возможность записи его в файл), либо из текстового файла; должна быть возможность анализа как всего текста, так и любой его части (часть, подлежащая анализу, выделяется с помощью клавиш со стрелками). Вывод результатов - на экран, принтер или в файл по желанию пользователя.

2.1.1 Основа?/p>