Мегаобучалка Главная | О нас | Обратная связь


Требования к программе



2016-01-05 441 Обсуждений (0)
Требования к программе 0.00 из 5.00 0 оценок




1)Требования к функциональным характеристикам

Программа должна выполнять следующие функции:

- вывод текста в окно программы из выбранного файла

- тексты формата .rtf, .txt

- поиск строки по шаблону;

- выделение найденной строки в тексте;

 

2) Требования к надежности

- Существование указанного файла;

- Файл должен быть с расширением *.txt, *.rtf;

- Верный ввод пути к файлу;

3) Требования к составу и параметрам технических средств

Минимальные требования: 250 MB RAM, процессор 2.2 GHz, мышь, клавиатура, монитор.

4) Требования к информационной и программной совместимости

Программа должна поддерживаться любой операционной системой семейства Windows.

Требования к программной документации

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

Стадии и этапы разработки

Этап Дата Результат выполнения Отметка о выполнении
Техническое задание до 30 октября Техническое задание  
Выбор языка и среды программирования до 30 октября Delphi, Object Pascal  
Теоретическое изучение реализуемых алгоритмов до 10 ноября Алгоритм Рабина-Карпа  
Описание логической структуры программы до 20 октября Алгоритм Рабина-Карпа  
Проектирование интерфейса пользователя до 20 октября Пользовательский интерфейс  
Первая версия программы до 1 декабря 50 %  
Тестирование до 15 декабря    
Окончательная версия программы до 15 декабря    
РПЗ до 20 декабря      

 

Порядок контроля и приемки

 

Этап Дата Отметка о выполнении
Техническое задание до 30 октября  
Выбор языка и среды программирования до 30 октября  
Теоретическое изучение реализуемых алгоритмов до 10 ноября  
Описание логической структуры программы до 20 октября  
Проектирование интерфейса пользователя до 20 октября  
Первая версия программы до 1 декабря  
Тестирование до 15 декабря  
Окончательная версия программы до 15 декабря  
РПЗ до 20 декабря  

 

 

Приложение 2

Общая схема

 

 

 

Приожение 2

Алгоритм Рабина-Карпа

 

 

Приложение 3

type

TForm1 = class(TForm)

RichEdit1: TRichEdit;

Edit1: TEdit;

Button1: TButton;

OpenDialog1: TOpenDialog;

Label1: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

Timer1: TTimer;

N7: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var DATA: TextFile;

 

Form1: TForm1;

 

implementation

 

uses Unit2, Unit3;

 

{$R *.dfm}

 

 

procedure TForm1.Button1Click(Sender: TObject);

var dlina_poiska, dlina_text, hashpoisk, hashtext, i, vid_text : integer;

str_poiska, str_text, bufer_text: string;

begin

RichEdit1.SelStart := 0;

RichEdit1.SelLength := length(RichEdit1.Text); // => очистка цвета

RichEdit1.SelAttributes.Color := clblack;

str_poiska := Edit1.Text;

dlina_poiska := length(str_poiska);

hashpoisk := 0;

str_text := RichEdit1.Text;

dlina_text := length(str_text);

 

for i := 1 to dlina_poiska do

begin

if ((str_poiska[i] = #184) or (str_poiska[i] = #168)) then

str_poiska[i] := 'е';

end;

 

for i := 1 to dlina_text do

begin

if ((str_text[i] = #184) or (str_text[i] = #168)) then

str_text[i] := 'е';

end;

 

str_text := AnsiUpperCase(str_text);

str_poiska := AnsiUpperCase(str_poiska);

 

for i := 1 to dlina_poiska do

begin

hashpoisk := hashpoisk + ord(str_poiska[i]);

end;

 

for vid_text := 0 to dlina_text - 1 do

begin

bufer_text := copy(str_text, vid_text + 1, dlina_poiska);

hashtext := 0;

for i := 1 to dlina_poiska do

hashtext := hashtext + ord(bufer_text[i]);

if hashpoisk = hashtext then

begin

if str_poiska = bufer_text then

begin

RichEdit1.SelStart := vid_text;

RichEdit1.SelLength := dlina_poiska;

RichEdit1.SelAttributes.Color := clRed;

end;

end;

end;

 

if RichEdit1.SelAttributes.Color = clblack then

ShowMessage('Такой строки нет');

end;

 

procedure TForm1.N5Click(Sender: TObject);

begin

Close;

end;

 

procedure TForm1.N3Click(Sender: TObject);

begin

If (opendialog1.Execute) then

Begin

AssignFile(DATA,OpenDialog1.FileName);

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

End;

end;

 

procedure TForm1.N6Click(Sender: TObject);

begin

RichEdit1.Clear;

Edit1.Clear;

end;

 

procedure TForm1.N4Click(Sender: TObject);

begin

Form2.Show;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Timer1.Enabled := False;

Form1.Visible := False;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

RichEdit1.SelStart := 0; //

RichEdit1.SelLength := length(RichEdit1.Text); // => очистка цвета

RichEdit1.SelAttributes.Color := clblack; //

end;

end.

 

Unit 2:

 

type

TForm2 = class(TForm)

Memo1: TMemo;

procedure FormCreate(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

 

{$R *.dfm}

 

procedure TForm2.FormCreate(Sender: TObject);

begin

Memo1.Lines.Add ( '1) Если вы хотите вывести текст из файла, то нажмите файл -> открыть');

Memo1.Lines.Add ( 'и выбирете нужный вам файл ( расширения .txt , .rtf )');

Memo1.Lines.Add ( 'если же нужно просто ввести текст вручную, то набирайте его в соответствующее поле');

Memo1.Lines.Add ( '2) Введите подстроку, которую нужно найти в тексте ( без учёта регистра и без учёта "е" и "ё")');

Memo1.Lines.Add ( '3) Нажмите кнопку "Найти" ');

Memo1.Lines.Add ( '4) Если нужно всё очистить, то нажмите файл -> очистить, если же нужно очистить выделение, то нажмите файл -> очистить выделение');

Memo1.Lines.Add ( '5)Для закрытия программы нажмите файл -> закрыть');

end;

 

end.

 

Unit 3:

 

type

TForm3 = class(TForm)

Timer1: TTimer;

Image1: TImage;

procedure Timer1Timer(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Timer1Timer(Sender: TObject);

begin

Timer1.Enabled := False;

Form1.Show;

Form3.Visible := False;

 

end;

 

end.

 

 

Приложение 4

Руководство пользователя

Общие сведения

Программа «Поиск подстроки в строке» предназначена для поиска строки по заданному пользователем шаблону в тексте.

Описание запуска

Для запуска программы необходимо воспользоваться файлом Search.exe.

Инструкция по работе

 

1. Открываем программу

2. В диалоговом окне выбираем текстовый файл, после выбора которого, текст выведется в окне

3. В строку под текстом вводим строку для поиска

4. Нажимаем кнопку «Найти»

4.1 Если такая строка есть, то она выделится красным цветом

4.2 Если строки нет, то будет выведено сообщение «Такой строки нет»

5. Для очистки окна с текстом выберете «очистить»

5.1 Для очистки выделения текста выберете «очистить выделение»

6. Для вывода справки по работе нажмите Справка -> Руководство к работе

7. Для завершения работы нажмите крестик в правом верхнем углу или нажмите Файл -> Закрыть

 



2016-01-05 441 Обсуждений (0)
Требования к программе 0.00 из 5.00 0 оценок









Обсуждение в статье: Требования к программе

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (441)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)