Частотный исследование текста
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ственно. Например:
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>