Программированиеи компьютеры /
←предыдущая следующая→
1 2
Автокорректор
Аннотация
В настоящей пояснительной записке приводятся результаты разработки про-граммы решения задачи автокоррекции, выполненной в соответствии с зада-нием по индивидуальной работе по дисциплине «Введение в информатику», - постановка указанной задачи, алгоритм и программа (на языке Турбо-Паскаль) её решения на ПЭВМ, результаты испытания (тестирования) программы.
Содержание
1. Описание постановки задачи..............................................................4
1.1 Характеристика задачи........................................................................4
1.2 Выходная информация........................................................................4
1.3 Входная информация...........................................................................4
2. Описание алгоритма.............................................................................4
2.1 Функциональная структура задачи.................................................... 4
2.2 Алгоритм решения...........................................................................…..4
3. Описание программы..........................................................................…5
3.1 Общие сведения...................................................................................…5
3.2 Функциональное назначение..............................................................…5
3.3 описание логической структуры............................................................5
3.4 Используемые технические средства....................................................5
3.5 Вызов и загрузка......................................................................................5
3.6 Входные данные......................................................................................5
3.7 Выходные данные...................................................................................6
4. Текст программы.....................................................................................6
5. Описание результатов испытаний программы.....................................6
Приложение 1..........................................................................................7
Приложение 2…………………………………………………………..9
Приложение 3………………………………………………………….10
Приложение 4………………………………………………………….10
Приложение 5…………………………………………………………11
Приложение 6………………………………………………………….12
Приложение 7………………………………………………………….14
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='р') and (symbol='а') and (symbol='р') and (symbol='a') and (symbol'' then
for pos:= 1 to ord(s[0]) do
rs:=rs+to_upper(s[pos]);
str_to_upper:=rs;
end;
function str_equal(s1:string; s2:string):boolean;
var equal:boolean; pos,len:byte;
begin
equal:=true;
len:=length(s1);
if lenlength(s2) then equal:=false
else begin
if len>0 then begin
for pos:=1 to len do begin
←предыдущая следующая→
1 2
|
|