Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / ОТЧЕТ (2).docx
Скачиваний:
18
Добавлен:
23.07.2013
Размер:
652 Кб
Скачать
    1. Математическая модель объекта или процесса

Математическая модель процесса определения сложности предложений. Входные данные - исходный текст из файла. Выходные данные – исходный текст, описание результатов вычисления. Добавление текста из файла с помощью метода Memo1.Lines.LoadFromFile(OpenDialog1.FileName+opendialog1.Filter). При этом текст, сразу помещается в memo1. Определяется количество слов и знаков препинаний в каждом предложении, это достигается при помощи строк if (Text[i]=' ') then begin inc(result); if ((text[i-1]='.') or (text[i-1]='?') or (text[i-1]='!') or (text[i-1]=';')) then begin inc(col_w); arr_word[col_w]:=result; и if ((Text[i]=',') or (Text[i]=':') or(Text[i]='-') or (Text[i]='"')) then inc(result); if ((text[i]='.') or (text[i]='?') or (text[i]='!') or (text[i]=';')) then begin inc(col_p); arr_punkt[col_p]:=result; result:=0; inc(predl); соответственно, входящих в цикл перебора символов. Необходимым условием правильности работы приложения является корректное использование пробелов и знаков препинания. Считывание символов происходит до символа означающего конец текста ‘/’, после его цикл перебора символов не идет. Определяется количество слов и знаков препинания, с помощью ранее описанных блоков кода. Определяется сложность каждого предложения, суммируются слова и знаки препинания (arr_slog[i]:=arr_punkt[i]+arr_word[i]). Далее поиск максимального числа из полученных наборов для нахождения максимально сложного предложения (if (buf<arr_slog[i]) then buf:=arr_slog[i]). Определение средней сложности предложений (buf:=buf+arr_slog[i]; buf:=buf/(predl+1)). Далее вывод результатов в поле memo2 и сохранение в новый файл (memo2.Lines.SaveToFile(savedialog1.Filename+savedialog1.Filter)). Выход из приложения (Application.Terminate).

    1. Алгоритм решения задачи

Для реализации поставленной задачи используется следующий алгоритм ее решения:

  1. Открытие исходного файла с текстом.

  2. Нахождение количества слов и знаков препинания в каждом предложении текста до символа ‘/’.

  3. Запись полученных наборов в массив.

  4. Запись в отдельный массив позиции начала каждого предложения.

  5. Нахождение сложности предложений текста по формуле: количество слов + количество знаков препинания.

  6. Поиск предложений максимальной сложности.

  7. Подсчет средней сложности предложений входящих в текст по формуле: сумма всех сложностей / количество предложений.

  8. Вывод результатов на экран и в файл.

  9. Завершение программы.

    1. Блок-схема алгоритма решения задачи

Блок-схема нахождения сложности предложений представлена на рисунке 1.1.

Рисунок 1.1 – Блок-схема сложности предложений

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

2.1 Описание объектов, свойств, методов

При разработке указанного приложения использовались объекты и методы, представленные в таблицах 2.1 и 2.2 соответственно.

Таблица 2.1 – Описание объектов приложения

Memo1

Поле для вывода исходного текста, загруженного из файла.

Memo2

Поле для вывода результатов.

Button2

Загрузка текста из файла.

Button3

Очистить поля для вывода.

Button4

Определение сложности предложений.

Label1

Содержит надпись «Итоговый текст».

Label2

Содержит надпись «Результаты».

Таблица 2.2 – Описание основных методов приложения

Procedure TForm1.Button4Click()

Определение сложности предложений. Вывод результатов в поле memo2 и внешний файл.

Procedure TForm1.Button2Click()

Открытие исходного файла с текстом.

Procedure TForm1.N3Click()

Выход из программы.

procedure TForm1.Button3Click()

Очищает поля данных в memo1 и memo2.

Procedure TForm1.N2Click()

Открытие окна содержащего информацию об авторе.

Соседние файлы в папке Архив1