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

2.4 Графическое представление результатов

Запуск программы нажатием двойным щелчком мыши по исполняемому файлу (рисунок 2.2).

Рисунок 2.2 – Запуск программы

Открытие файла и последующая загрузка текста из него осуществляется с помощью кнопки «Загрузить текст» (рисунки 2.3 – 2.6).

Рисунок 2.3 – Открытие файла

Рисунок 2.4 – Открытие файла

Рисунок 2.5 – Исходный файл

Рисунок 2.6 – Загрузка текста

Определение сложности предложений и сохранения результатов в файл осуществляется с помощью кнопки «Выполнить» (рисунки 2.7 - 2.10).

Рисунок 2.7 – Определение сложности предложений

Рисунок 2.8 – Сохранение результатов

Рисунок 2.9 – Сохранение результатов

Рисунок 2.10 – Файл результатов

Вывод информации о разработчике представлена на рисунке 2.11.

Рисунок 2.11 – Информация

2.5 Анализ результатов

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

Заключение

При решении поставленной задачи, были приобретены навыки по созданию объектов среды программирования Delphi. Приобретены различные подходы при написании алгоритмов, обобщены знания по управляющим операторам языка Pascal, практическим навыкам работы с файлами, в организации ввода/вывода значений комбинированных типов данных, навыков программирования задач с использованием записей и файлов в среде Delphi.

В процессе создания курсовой работы разработан алгоритм решения поставленной задачи. Составлена программа, определяющая сложность предложений на русском языке. В данном приложении предусмотрены:

  1. Возможность использовать в качестве источника текста для удобства уже готовый файл, так как программой предусмотрена работа с файлами.

  2. Возможность изменять исходный текст вручную.

  3. Сохранение исходного текста и результатов определения сложности предложений в новый файл.

На основе этого алгоритма в среде разработки Delphi 7 составлена и отлажена программа. Разработанная программа является полностью работоспособной и простой в использовании.

Список использованных источников

1. Архангельский, А.Я. Программирование в Delphi 7 / А.Я.Архангельский. - М.: ЗАО «Издательство БИНОМ», 2003.-412с.

2. Бронштейн, И.Н. Справочник по высшей математике для инженеров и учащихся втузов / И.Н. Бронштейн. – М.: Наука , 1981г.- 850с.

3. Волосевич, А.А. Язык Object Pascal и Система программирования в Delphi: учебное пособие / А.А. Волосевич. - Мн.: БГУИР, 2003. – 60 с.

4. Культин, Н.Б. Основы программирования в среде Delphi 7: учебное пособие / Н.Б. Культин. – БХВ-Петербург, 2003.- 608 с.

5. Немнюгин, С.А. Turbo Pascal. 2–е изание / С.А.Немнюгин. – Минск, 2004г.-877с.

6. Фаронов, В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов / В.В. Фаронов. - Питер, 2006. – 640 с.

7. Эбнер, М.М. Delphi 5. Руководство разработчика: Пер. с нем / М.М.Эбнер.-К.: Издательская группа BHV, 2003. – 480 с., ил.

ПРИЛОЖЕНИЕ А

Исходный код программы представлен ниже:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

Memo2: TMemo;

SaveDialog1: TSaveDialog;

OpenDialog1: TOpenDialog;

Button2: TButton;

Button4: TButton;

Label5: TLabel;

Button3: TButton;

Label1: TLabel;

N2: TMenuItem;

procedure N3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);

begin

if MessageDlg('Вы точно хотите выйти ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then Application.Terminate;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if MessageDlg('Открыть файл ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then

begin

if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName+opendialog1.Filter);

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

memo1.Clear;

memo2.Clear;

end;

procedure TForm1.Button4Click(Sender: TObject);

var

text:string;

arr_word:array[0..1000] of integer;

arr_punkt:array[0..1000] of integer;

arr_slog:array[0..1000] of double;

arr_max:array[0..1000] of char;

start:array[0..1000] of integer;

result,k,col_w,col_p:integer;

str:string;

n,j,predl,nomer,finish,nom:integer;

buf:double;

i : LongWord;

begin

n:=0;

predl:=-1;

col_w:=-1;

col_p:=-1;

Text:=memo1.Text;

for i:=1 to length(Text) do

if (Text[i]='/')

then

n:=i;

result:=0;

memo2.Text:=memo1.Text;

for i:=1 to n do

begin

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;

start[col_w]:=i+1;

result:=0;

inc(predl);

end;

end;

end;

result:=0;

for i:=0 to n do

begin

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;

end;

end;

for i:=0 to predl do

begin

arr_slog[i]:=arr_punkt[i]+arr_word[i];

memo2.Lines.Add('¹'+inttostr(i+1)+': кол-во слов: '+inttostr(arr_word[i])+', кол-во знаков: '+inttostr(arr_punkt[i])+', сложность: '+floattostr(arr_slog[i]));

end;

buf:=0;

for i:=0 to predl do

buf:=buf+arr_slog[i];

buf:=buf/(predl+1);

memo2.Lines.Add('Средняя сложность по предложениям: '+floattostr(buf));

buf:=0;

for i:=0 to predl do

begin

if (buf<arr_slog[i]) then

begin

buf:=arr_slog[i];

nomer:=i;

end;

end;

nom:=0;

for j:=0 to predl do

begin

if(j=nomer-1) then

begin

for i:=start[j] to n do

if (text[i]<>'.') then

begin

arr_max[nom]:=text[i];

inc(nom);

end else if (text[i]='.') then break;

end;

end;

for i:=0 to nom do

str:=str+arr_max[i];

memo2.Lines.Add('Максимальная сложность предложения: '+floattostr(buf)+' = '+str);

if MessageDlg('Сохранить результаты ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then

if savedialog1.Execute then memo2.Lines.SaveToFile(savedialog1.Filename+savedialog1.Filter);

end;

procedure TForm1.N2Click(Sender: TObject);

begin

form2.show;

end;

end.

26

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