Строковый редактор текста

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?ней выведенной строки.

Модуль поиска строк последовательно сравнивает начало заданной пользователем строки со всеми строками текста и выводит первую соответствующую запросу строку.

) Используемые технические средства: ЭВМ, совместимые с IBM PC.

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

) Входные данные: текстовые файлы в соответствии со стандартом кодирования ASCII, символы, получаемые через стандартный поток входных данных DOS; предварительная подготовка: обеспечить соответствие ограничениям, указанным в пункте 2).

) Выходные данные: текстовые файлы в соответствии со стандартом кодирования ASCII, символы, передаваемые через стандартный поток выходных данных DOS.

) Выводы.

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

Недостатки: для многих задач интерфейс менее удобен, чем в не-строковых редакторах, малый размер редактируемых файлов.

Предложения по модернизации и расширению.

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

Литература

1. Строковый редактор текста. Метод. указания к лабораторным работам /Сост. А.Л.Симаков, А.В.Аникин. Чебоксары: Изд. Чуваш. ун-та. 1987. - 38 с.

. Работа в интегрированной среде программирования Turbo Pascal: Мутод. указания к лабораторным работам/ сост. А.Л.Симаков, Чебоксары: Изд. Чуваш. ун-та, 1993, 60с.

. Алгоритмические языки и программирование: Метод. указания к курсовой работе / Сост. А.Л.Симаков. Чебоксары: Изд. Чуваш. ун-та, 1995. - 36 с.

Приложение

Инструкция для пользователя (файл readme.txt).

======== Строковый редактор текста =========

Редактор текста предназначен для создания редактирования массивов символьной информации. Редактирование выполняется в режиме диалога пользователя с ЭВМ, ауправление редактированием осуществляется с помощью команд редактора текста.

Формат команды: [-][N][Буква] Enter

- Управление к началу редактируемого массива(по умолчанию знака минус нет)- целое число в восьмеричной системе iисления, указывает количество редактируемых строк текста

Буква - команда

Команды

----------------------------------------------------

Символ | Действие| переход в начало текста| вывод числа строк в редактируемом файле| удаление строк| переход в конец| вставка строк| перемещение| вывод строк| чтение файла| поиск строки с заданным началом| запись текста в файл| установка НОТ - начало области текста| установка КТ - адрес признака конца файла| установка КОТ - конец области текстаВасильев "адимир ИВТ-42-09

Тестовые данные.

1)Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,are now the most common variety of orange cultivated. The sweet orange will grow to different sizes andaccording to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:(запись файла).

Результирующий файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,are now the most common variety of orange cultivated. The sweet orange will grow to different sizes andaccording to local conditions, most commonly with ten carpels,or segments, inside.

Файл прочитан и записан без изменений.

2)Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,are now the most common variety of orange cultivated. The sweet orange will grow to different sizes andaccording to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:

B (в начало файла)

P (перемещение на 2 строки вперед);(удаление последней выведенной строки);

F (поиск: задана строка "sweet");(удаление последней выведенной строки);(запись файла).

Результирующий файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.according to local conditions, most commonly with ten carpels,or segments, inside.

3)Входной файл:

Директивы:(запись файла).

Результирующий файл:

Пояснение:

Открыт пустой файл и записан без редактирования.

4)Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,are now the most common variety of orange cultivated. The sweet orange will grow to different sizes andaccording to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:

F (поиск: задана строка "sweet");

D (удаление трех строк);(запись файла).

Результирующий файл:Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Главный модуль:ED_MAIN;Ed_MNT, Ed_Subr, Crt;: text;: boolean;;(F,Paramstr(1));

{$I-} Reset(F); {$I+}:=IOResult=0;(Result) and (Paramstr(1)<>'') then begin(F);(F);;;;;.

Модуль данных:Ed_Data;=array [boolean] of char;=#3;=#81;{Q}: boolean;: text;: array[0..20480] of word;: array[1..39] of word;,EKT : byte;: integer;: Char;, KT, HOT, YCC, YNC : word;.

Модуль Монитор

Unit Ed_MNT;

interfaceMonitor;Modul : char;: integer;Ed_Data, Ed_Subr, Crt;Monitor;:char;:byte;:=3;sost<>25 dosost of

: begin Writeln; EndProc:=True; Znak:='+'; Arg:=1;(11); Writeln('*'); NormVideo;:=6;

: begin:=Readkey;ch='-' then begin:=ch;(ch)else sost:=8;

: if ch=Otmena {const otmena ch=#3} then sost:=3 else sost:=9;

: if ch in ['0'..'9'] then sost:=14 else sost:=10;

: if ch in ['A'..'Z'] then begin:=18; Write(ch);else sost:=11;

: if ch=Vihod then sost:=25sost:=12;

: begin TextColor(11); Writeln('?'); NormVideo; sost:=3 end;

: begin_8chisla(ch);ch=otmena then sost:=3 else sost:=17;;

: if ch in ['A'..'Z'] then begin sost:=18; Write(ch)