АвтокорректорРефераты >> Программирование и компьютеры >> Автокорректор
Содержание
1. Описание постановки задачи
1.1 Характеристика задачи
1.2 Выходная информация
1.3 Входная информация
2. Описание алгоритма
2.1 Функциональная структура задачи
2.2 Алгоритм решения
3. Описание программы
3.1 Общие сведения
3.2 Функциональное назначение
3.3 описание логической структуры
3.4 Используемые технические средства
3.5 Вызов и загрузка
3.6 Входные данные
3.7 Выходные данные
4. Текст программы
5. Описание результатов испытаний программы
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Приложение 5
Приложение 6
Приложение 7
1. Описание постановки задачи.
1.1 Характеристика задачи.
Задача автокоррекции решается с целью проверки орфографии в текстах на русском языке. Исходными для решения задачи данными является словарь, содержащий русские слова. В начале решения задачи пользователем задаётся файл, содержащий текст на русском языке и нуждающийся в проверке.
1.2 Выходная информация.
Выходной информацией при решении задачи является текстовый файл «ОТВЕТ», содержащий проверенный текст.
1.3 Входная информация.
Исходная для решения задачи информация содержится в текстовых наборах данных на магнитном диске и в указываемом (вводимом в ЭВМ) в начале решения задачи запросе пользователя.
Запрос пользователя представляет собой:
«Введите имя обрабатываемого файла: »
«Слова <…> нет в словаре (ENTER-пропустить, «Пробел»-изменить)»
«Введите правильное слово --»
2. Описание алгоритма.
2.1 Функциональная структура задачи.
На рисунке (2.1) представлена схема иерархии процедур задачи «автокоррекции», полученная в результате её декомпозиции.
|
Рис. 2.1
2.2 Алгоритм решения.
В приложение 1 представлены схемы обобщённого алгоритма задачи «получения информации о студенте» и алгоритмов отдельных процедур её.
3. Описание программы.
3.1 общие сведения.
Программа получения информации обеспечивает решения задачи «получения информации о студенте» (или «одноимённой задачи»). Программа исполняется в операционной системе программирования MS-DOS 6.22. Исходный текст программы на языке Turbo Pascal 7.0.
3.2 Функциональное назначение.
Программа предназначена для решения задачи, постановка которой описана в разделе 1 настоящей пояснительной записки.
3.3 Описание логической структуры.
Программа получения информации обеспечивает решения задачи автокоррекции по алгоритму, описанному в разделе 2 настоящей пояснительной записки.
Структура исходного текста программы (состав и взаимосвязь модулей) приведена в приложение 1. Функциональная структура программы (состав и взаимосвязь программ) приведена на рисунке 2.1. Ниже указано содержание модулей программы и их взаимосвязь (модульная структура).
Модуль ас содержит текст основной программы (и обеспечивает вызов последующих модулей).
Модуль dic.txt – словарь.
3.4 Используемые технические средства.
Для исполнения программы получения информации необходима ПЭВМ типа 486DX с монитором, клавиатурой.
3.5 Вызов и загрузка.
Программа получения информации вызывается для исполнения стандартными средствами. Имя исполняемого модуля – ac.
3.6 Входные данные.
До начала исполнения программы должны быть сформированы на магнитном диске наборы данных (файлы) с именем dic.txt. В начале исполнения программы предусматривается ввод пользователем запроса, конкретизирующего вариант (условия) решения задачи (см. раздел 1 настоящей пояснительной записки (подраздел)).
3.7 Выходные данные.
Результат выполнения программы получения информации – текстовые данные. Возможен вывод на экран монитора следующих сообщений:
«Ошибка при открытии файла:»
4. Текст программы.
Исходный текст программы получения информации (её модулей) приведён в приложении 1.
5. Описание результатов испытаний программы.
В ходе испытания (тестирования) программы автокоррекции использовался тестовый набор текстовых данных (текстовый файл) на магнитном диске с именем lena текст которого приведён в приложении 2. Результат испытания приведён в приложении 2.
Сопоставление исходных данных с полученными по программе результатами свидетельствуют и правильности программы.
Приложение 1.
Исходный текст программы:
program ac;
uses crt;
var input_file,output_file,dictionary:text;
in_file_name,tmp_file_name,line:string;
i:word;
function is_rus_alpha(symbol:char):boolean;
begin
if ((symbol>='А') and (symbol<='п')) or
((symbol>='р') and (symbol<='я')) then is_rus_alpha:=true
else is_rus_alpha:=false;
end;
function to_upper(symbol:char):char;
begin
if ((symbol>='а') and (symbol<='п')) then
to_upper:=chr(ord(symbol)-32)
else
if ((symbol>='р') and (symbol<='я')) then to_upper:=chr(ord(symbol)-80)
else
if ((symbol>='a') and (symbol<='z')) then to_upper:=chr(ord(symbol)-32)
else to_upper:=symbol;
end;
function str_to_upper(s:string):string;
var pos:byte; rs:string;