Скачать 455.54 Kb.
|
МИНИСТРЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОУ НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Р.Е. АЛЕКСЕЕВА ИНСТИТУТ РАДИОЭЛЕКТРОНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ КАФЕДРА "ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ" Дисциплина "Программирование на языках высокого уровня" Пояснительная записка к курсовой работе Тема: "Консольный текстовый редактор" Выполнил: Сидоренко О.О. студент группы: 10-В-1 Проверил: Мартынов Д.С. Нижний Новгород 2011 Содержание. Состояние вопроса Назначение и классификация ТР........................................................3 Функционально-близкие аналоги.......................................................5 Анализ алгоритмов работы ФБА........................................................9 Введение.........................................................................................................11 Разработка технического задания................................................................13 Разработка концептуальной модели............................................................15 Разработка логической модели....................................................................16 Описание программы....................................................................................17 Руководство пользователя Описание..............................................................................................18 «Горячие» клавиши и клавиши управления.....................................18 Ограничения при работе с программой и возможные сбои...........19 Прочее...................................................................................................20 Руководство программиста Общее....................................................................................................21 Общие сведения об исходном коде...................................................21 Описание глобальных переменных...................................................22 Количество выделяемой памяти........................................................22 Описание функций..............................................................................22 Обработка введённых данных...........................................................24 Таблица сообщений программы........................................................24 Разработка текстового примера Пример1...............................................................................................27 Пример2...............................................................................................30 Примеры ошибок................................................................................34 Заключение....................................................................................................36 Список сокращений......................................................................................37 Список используемой литературы..............................................................38 Приложение...................................................................................................39 Состояние вопроса.
Основное назначение текстовых редакторов - создавать текстовые файлы, редактировать тексты, просматривать их на экране, изменять формат текстового документа, распечатывать его на принтере. Набираемый на клавиатуре компьютера текст воспроизводится на экране дисплея в рабочем поле редактора. Специальный значок - курсор указывает то место на экране, на которое пользователь в данный момент может оказывать воздействие (создавать, изменять символы и т. д.) с помощью редактора. Работая с текстовым редактором, можно получить на экране информацию о текущем состоянии курсора, т.е. его координатах на экране (номер строки и позиции в строке), а также о номере страницы текста, его формате, используемом шрифте и т.д. Интерфейс практически каждого текстового редактора позволяет иметь на экране меню команд управления редактором - изменение режимов работы, обращение за помощью, форматирование текста, печати и т. д. Как правило, меню имеет не только текстовую форму, но и форму пиктограмм, указывающих на выполняемую команду. Классификация текстовых редакторов. I. По возможностям 1) Качество печатной машинки, небольшой набор возможностей по работе с текстом.
2) Издательское качество. Реализация принципа WYSIWYG — What You See Is What You Get.
Для работы с такими редакторами требуется ПК не ниже AT 486 DX с 8Мб оперативной памяти. 3) Технические редакторы —Tex, Latex и т.д. II. По типу файлов, с которыми работают ТР.
Возможны и другие варианты классификации текстовых редакторов, например редакторы печатных текстов и редакторы электронных документов и т.д. В большинстве случаев для создания деловых документов достаточно качества печатной машинки. Поэтому широкое распространение получил редактор текстов Лексикон для MS DOS. В общем случае для оценки удобства работы с ТР могут служить следующие параметры: - количество необходимых нажатий клавиш для выполнения конкретной операции(колеблется от 1-2 до 20-30); - скорость отображения измененного текста на экране при загрузке, перемещениях по тексту, редактировании - вставке, копировании и удалении фрагментов, смене шрифтов и т.д.; - удобство работы с помощью, т.е. скорость вызова подсказок, их полнота, и структура; - возможность реализации WYSIWYG, т.е. получение на экране точной копии будущего печатного документа — текста без управляющих и разметочных символов; - ограничения на длину файлов; - количество одновременно обрабатываемых текстовых файлов; - возможности использования новых шрифтов и алфавитов, их расширения и дополнения; - требования к аппаратному обеспечению — например, к объему оперативной памяти ПК.
Рассмотрим консольный текстовый редактор. Существует множество консольных текстовых редакторов и функционально близких им аналогов. В основном такие редакторы больше всего разрабатываются для платформ Linux, т.к. администратору машины чаще приходится работать со средствами командной строки, нежели с полностью графическим интерфейсом. Примером могут служить такие редакторы как joe, vi, Emacs, GNU Nano, так же нельзя не упомянуть встроенный редактор оболочки Midnight Commander – Cooledit. Во многих дистрибутивах Linux в качестве общесистемного редактора предлагается GNU Nano. Он очень прост в использовании, нежели vi, emacs и прочие более продвинутые редакторы. Но в то же время он наполнен большим функционалом: поиск и замена, подсветка синтаксиса, проверка орфографии, копирование и вставка строк, вставка других файлов в текущий. Верхняя часть окна – строка состояния. В ней отображается информация о редакторе и текущем файле. Она статична и перемещается вместе с экраном, такие же по свойству строки меню, расположенные внизу экрана. Состоят из названия команды и клавиши, при нажатии на которую будет исполнена команда. Редактор joe обладает полноценным интерфейсом в консольном режиме. И имеет достаточно широкие возможности: подсветка синтаксиса, открытие для редактирования нескольких файлов, запуск внутренних команд, использование комбинации клавиш. Верхнюю строку занимает строка состояния, в которой содержится состояние нажатых управляющих клавиш, имя редактируемого файла, положение курсора (строка и колонка), текущее время. Основной объём экрана занимает рабочая область редактирования текста. Курсор может перемещаться с помощью стандартных клавиш: стрелок, PgUp / PgDn и т.п.. Внизу экрана находится командная строка, в которой выводятся вопросы или сообщения редактора. Редактор joe имеет ряд встроенных команд. При этом joe может быть запущен в качестве потокового редактора, когда на стандартный вход подаётся последовательность команд по изменению или созданию текста. Для вычисления простых математических функций и выражений используется встроенный калькулятор, вызываемый по нажатию ESC+M. У редактора vi имеется несколько потомков, которые в чем-то его улучшают и усовершенствуют. Это такие редакторы как Vim, bvi, Nvi и т.д. Среди этой серии Vim более распространён, т.к. это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации. Одна из главных особенностей редактора — применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов). В редакторе имеется поддержка Unicode, возможность работы со многими файлами одновременно, неограниченная глубина отмены (undo) и возврата (redo) действий, подсветка синтаксиса, автоматическое определение величины отступа для каждой строки в зависимости от языка программирования, поддержка языка сценариев; возможность написания модулей расширения — плагинов, распознавание и преобразование файлов различных форматов, поддержка языков с письмом справа налево (арабских и других), сворачивание (folding) текста для лучшего обзора. Строка состояния в Vim располагается снизу и отображает сведения о файле и положения курсора. CoolEdit имеет более приятный интерфейс: привычный, для работавших с редактором Norton Commander’а, синий фон с белыми буквами, статусная строка в верхней части экрана и линейка нумерованных (по функциональным клавишам) операций - внизу. Привычно работают клавиши Home и End, delete и backspace. Этот редактор обеспечивает выполнение большинства функций редактирования, присущих полноэкранным редакторам текста. С его помощью можно редактировать файлы практически любого размера, поскольку верхняя граница для размера редактируемого файла составляет 16 Мбайт. Обеспечивается редактирование исполняемых (двоичных) файлов без потери данных. Поддерживается копирование, перемещение, удаление, вырезание и вставка блоков текста, отмена предыдущих операций, вставка файлов, поиск и замена по регулярным выражениям, а также собственный вариант операций поиска и замены, основанный на функциях scanf-printf, выделение текста комбинацией клавиш +<�стрелки> .
Все редакторы более или менее приближены к одному и тому же алгоритму работы:
В цикле:
Например: если нажата клавиша Enter, то перемещение курсора на одну строку вниз на начало этой строки, если Backspace – удаление предыдущего символа от курсора и перемещение его на позицию влево, так же происходит сдвиг всех символов перед курсором на одну позицию влево. Аналогично, если введён буквенный символ, то он отображается на экран, сдвигая курсор и все символы за курсором. Параллельно с этим меняется содержимое символьного массива, в котором и располагается текст. Алгоритмы некоторых основных функций редактора: Вывод текста на экран:
Открытие файла:
Сохранение файла:
Переход вверх/вниз на строку:
Переход к началу/концу строки осуществляется аналогичными способами. Поиск дальше по документу:
Например, алгоритм Бойера-Мура. Описание: Сначала строится таблица смещений для искомого шаблона. Совмещается начало текста (строки) и шаблона, проверка начинается с последнего символа шаблона. Если последний символ шаблона и соответствующий ему при наложении символ строки не совпадают, то образец сдвигается относительно строки на величину, полученную из таблицы смещений. Причем символ берётся из строки и ищется соответствующий сдвиг в таблице. После сдвига начинается проверка с последнего символа. Если символы совпадают, производится сравнение предпоследнего символа шаблона и т. д. Если все символы шаблона совпали с наложенными символами строки, значит была найдена подстрока и поиск окончен. Если же какой-то не последний символ шаблона не совпадает с соответствующим символом строки, шаблон сдвигается на один символ вправо и снова начинается проверка с последнего символа. Весь алгоритм выполняется до тех пор, пока либо не будет найдено вхождение искомого образца, либо не будет достигнут конец строки.
Выделение фрагмента текста:
|
Инструкция для формирования заявок и запросов на получение электронной подписи В разделе Информация для клиентов, в подразделе Пользователям сэд. Рисунок внимание!!! Для работы программы необходим текстовый редактор... |
4. Текстовый редактор Microsoft Office Word Текстовый редактор Microsoft Office Word предназначен для создания и обработки текстовых документов |
||
Количество ... |
«Кодирование», «Текстовый редактор», «Графический редактор». 38 |
||
Algorithm Builder fo avr, Начинаем Графический ассемблер Только он позволяет максимально использовать ресурсы кристалла. Однако работать на ассемблере не слишком удобно. Существенным барьером... |
Основы розничной торговли Главный редактор Заведующий редакцией Выпускающий редактор Художественный редактор Корректоры Верстка |
||
Практикум по конфликтологии 2-е издание, дополненное и переработанное Главный редактор Заведующий редакцией Руководитель проекта Литературный редактор Художественный редактор Корректор Верстка |
Технология построения трехмерной модели Вана на базе приложений, входящих в состав гис карта 2005. К таким приложениям относятся: Редактор карты, Редактор классификатора,... |
||
Научный редактор Редактор Художественный редактор Корректоры Верстка... Москва • Санкт-Петербург • Нижний Новгород • Воронеж Ростов-на-Дону • Екатеринбург • Самара • Новосибирск Киев • Харьков • Минск... |
Инструкция по составлению списка доверенных контрагентов Для составления... Сэр «Клиент-Банк». Если Вы намерены воспользоваться данной формой, необходимо включить макросы. После того как, Вы распечатаете заполненный... |
||
Главный редактор Зав психологической редакцией Зам зав психологической... Учебное пособие предназначено для психологов, психофизиологов, педагогов, а также для студентов и аспирантов психологических и педагогических... |
Ведущий редактор Художник обложки Корректоры Верстка Е. Строганова... Главный редактор Заведующий редакцией Руководитель проекта Ведущий редактор Художник обложки Корректоры Верстка |
||
Известия высших учебных заведений Ответственный редактор Л. Н. Морокова Редактор, оператор электронной верстки Н. В. Шуваева Адрес редакции: 625000, Россия, г. Тюмень,... |
Известия высших учебных заведений Ответственный редактор Л. Н. Морокова Редактор, оператор электронной верстки Н. В. Шуваева Адрес редакции: 625000, Россия, г. Тюмень,... |
||
Известия высших учебных заведений Ответственный редактор Л. Н. Морокова Редактор, оператор электронной верстки Н. В. Шуваева Адрес редакции: 625000, Россия, г. Тюмень,... |
В. Земских I Редактор Н. Дмитревская Художественный редактор в земских... Перевел с английского А. Токарев Под научной редакцией д э н., профессора И. В. Андреевой |
Поиск |