logo
Gilyarevsky_R_S_Osnovy_informatiki

Прикладные программы подготовки текстов

Среди профессиональных программистов бытует мнение, что пользователям-непрограммистам не следует увлекаться програм­мированием, а лучше применять уже готовые программы. Это от­части противоречит высказанной в прошлой лекции идее о необ­ходимости формализации специальных знаний и том преимуществе, которое получают специалисты различных областей знания после овладения навыками работы с персональным компьютером. Но есть в этом мнении и рациональное зерно. Оно заключено в том, что в настоящее время разработано множество эффективных программ для решения самых разнообразных задач, и неразумно начинать по-дилетантски составлять программу, не убедившись, что она существует. Еще справедливее это в отношении обучения осно­вам информатики, когда, начиная со школы, учат только алго­ритмическому мышлению и одному из простейших языков, обычно Бейсику, и не дают представления о богатстве существующих прикладных программ.

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

Для нас наиболее важными являются те пакеты, которые применяются для подготовки текстов. Они получили название тексто­вых редакторов, но часто называются также текстовыми процессорами, системами обработки (подготовки) тек­стов. Текстовому редактору всего два с небольшим десятилетия. Его соз­дателем считается М. Шрейер, кинорежиссер из Нью-Йорка, который в 1975 г. реконструировал компьютер "Альтаир" и составил программу "Элек­трический карандаш", для подготовки руководств к своим программам. В 1978 г. нью-йоркские программисты С. Рубинштейн и Дж. Бар­нэби создали тек­стовый редактор "УордСтар", который определил стандарт таких программ для персональных компьютеров.

Ввод текста при помощи такой программы осуществляется как на пишущей машинке: буква за буквой с пробелами между слова­ми, а в конце строки (в современных программах – абзаца) нажимается клавиша возврата каретки (ВК, Ввод, Enter). Никакой каретки, конечно, в компьютере нет, а под воз­действием этой клавиши производится ввод набранной строки в память, а курсор (светящаяся или мигающая точка на экране) перемещается в начало следующей строки. Если набранный текст нужно исправить или отредактировать, курсор можно вернуть в любую его точку нажатием одной из редактирующих клавиш (управляющих команд): влево/вправо на одну букву, слово или в начало/конец строки, вверх/вниз на одну строку или же в начало/конец всего текста (см. рис 13).

Рис. 13. Процедуры исправления текста корректурными знаками и в текстовом редакторе компьютера (пример из черновой рукописи А. С. Пушкина).

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

Вставка и замена это не только процедуры исправления, но и режимы работы текстового редактора, в одном из которых про­грамма работает обычно ("по умолчанию"), а другой вводится специальной клавишей. В режиме вставки часть строки, начина­ющаяся с курсора, при нажиме буквенной клавиши отодвигается вправо, освобождая эту позицию для вводимой буквы. В режиме замены вводимая буква забивает прежнюю. Так же работают в этих режимах и клавиши стирания букв – со смыканием текста в позиции стертой буквы или же с заменой ее пробелом.

Здесь приводятся лишь самые элементарные процедуры элек­тронного редактирования. Возможности современных текстовых редакторов многообразны и зависят лишь от объема программы, соотносимой с размерами оперативной памяти компьютера. В их возможности входит дублирование строк и фрагментов текста, запоминание и выдача в нужный момент стандартных текстов лю­бого объема, набор текстов в нескольких окнах с последующим их совмещением в произвольном порядке, запоминание исходного (не редактированного) текста и многие другие процедуры.

По окончании редактирования текст может быть отформатиро­ван, т. е. выровнен по правому и левому краям, напечатан це­ликом или частями с отступом на любое число позиций. Для про­смотра текста на экране его можно сдвигать вверх или вниз по­строчно или постранично. Обычно на экране размещается до 25 строк (одна из них служебная) по 64 или 80 знаков в строке. Но имеются и такие редакторы, которые позволяют "верстать" широкую полосу в две колонки по 60 знаков с пробелом, сдви­гать текст на экране вправо/влево. Большинство программ осу­ществляют функцию поиска отдельных слов и словосочетаний по всему тексту с их заменой на другие слова и словосочетания.

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

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

Полиграммный метод основан на том, что все двух- и трех­буквенные сочетания проверяются на их допустимость в данном языке. Если в тексте встречаются слова с недопустимыми би- и триграммами, то они выводятся на экран как сомнительные. При словарном методе все набираемые слова сразу или после на­бора всего текста сопоставляются с находящимся в памяти маши­ны словарем, объем которого достаточно велик (обычно от 40 до 120 тыс. слов). Понятно, что такая программа должна учитывать всю парадигму словоизменения в данном языке, что гораздо про­ще сделать в английском, нежели в русском языке. Автоматиза­ция корректуры может состоять из обнаружения ошибок, предложений по их исправлению или же собственно их коррекции. По­нятно, что две последние возможности необходимы людям, неуве­ренным в своей грамотности, и требуют усложнения и значитель­ного увеличения программы.

Однако, стремясь сделать подготовку текста более комфорт­ной, а сами тексты более совершенными, а также учитывая воз­росшую потребность в составлении текстов на неродных для пи­шущего языках, составители программ идут на эти усложнения. Начали появляться программные системы, в которых словари содержат не только средства нормализации слов, но и такие смы­словые связи между ними, как синонимия, омонимия, полисемия, антонимия, отношения "род-вид", "часть-целое" и т. п. Спра­вочники, содержащие подобные сведения, составляются уже дав­но, применяются в информационном поиске и получили название т е з а у р у с о в. Они позволяют при написании текста на компьютере вести стилистическую правку, а главное, предла­гают автору выбор отдельных слов и выражений, продолжение фразы в стандартных оборотах, подсказывают устойчивые слово­сочетания, управление глаголов и предлогов и оказывают дру­гие лексические услуги.

Существуют сотни всевозможных программ с редакторами тек­стов, пакетов прикладных программ подготовки текстов с редак­торами, форматизаторами, автокорректорами. Многие из упомяну­тых языков программирования (Бейсик, Паскаль, Си) имеют ре­дакторы, пригодные для ввода не только программ на этих язы­ках, но и текстов на естественном языке. Программная среда, часто надстраиваемая над операционной системой и облегчающая использование ее средств (в персональных компьютерах ИБМ это обычно "Нортон коммандер"), тоже, как правило, имеет тексто­вый редактор. Пользователи ДОС‑совместимых машин предпочитали популярные полтора-два десятилетия назад пакеты, среди которых заслуживают упоминания: из американских – "Word5", "WordStar", "WordPerfect", "ChiWriter", а из оте­чественных – "Лексикон" (Москва, ВЦ РАН, 1985 г.).

Каждая из этих программ имели свои особенности и сферы применения. "Word" фирмы "Microsoft" располагал таким бо­гатством шрифтов и средств верстки, что при наличии лазер­ного принтера мог обеспечить настольную издательскую си­стему возможностями, превышающими полиграфические. "ChiWriter" был незаменим при наборе математических текстов, так как позволял легко писать формулы, под- и надстрочные индексы.

Для русскоязычных текстов получил широкое распространение "Лексикон" (автор Е. Н. Веселов) – многооконный текстовый про­цессор с русским знакогенератором (которым можно было пользовать­ся на компьютерах и принтерах западного производства без их переделки). Его версия "Лексикон-Ортодок" (авторы Е. Н. Веселев и А. Б. Борков­ский) осуществлял перенос русских слов, располагал словарем русского языка на 100 тыс. слов (на базе изве­стного словаря академика А. А. Зализняка). Другой русский спеллчеккер "Орфо" при помощи словаря в 120 тыс. слов не только проверя­л правописание, но и выявлял ошибки согласований в предло­жениях, находил опечатки в знаках препинания, легко "обуча­лся" новым словам.

Все это теперь история. Головокружительный прогресс наблюдается не только в развитии вычислительной техники и ее периферии, но и в программном обеспечении. В России и во всей Европе практическим стандартом и системных и прикладных программ стала продукция фирмы “Microsoft”, которая обновляется ежегодно. Это приводит к тому, что в обращении одновременно находятся сразу многие версии программ. Для системных программ – это Windows95, 98, Me, 2000, XP. Из прикладных программ большинство пользователей остановилось на Office97, хотя Office2000 и XP предоставляют значительно большие возможности, оставаясь совместимыми с программой 1997 г.

Статьи, монографии, деловые документы редко состоят из од­ного только текста. В них содержатся расчеты, таблицы, графики, диаграммы, указатели. Для выполнения всех этих элементов деловых бумаг недостаточно описанных возможностей текстового редактора, как бы ни были они велики. Поэтому к системе под­готовки текста примыкают еще три программы: "электронная та­блица", "диалоговая графика" и "база данных", которые вместе с текстовым редактором как бы образуют упряжку четырех "рабочих лоша­дей" для человека, использующего компьютер при подготовке разного рода документов и публикаций. В фирме “Microsoft” такой пакет и составляет Office.

Первая электронная таблица "Визикальк" была разработана Д. Бриклиным и Р.Фрэнкстоном в 1978 г. При составлении отче­та, например, или сметы часто приходится пересчитывать длин­ные колонки взаимозависимых чисел, что делает эту работу ве­сьма утомительной. Электронная таблица представляет собой прямоугольную матрицу, состоящую из ячеек, в каждой из кото­рых может быть помещено значение, зависящее от значений дру­гих ячеек (например, их сумма или разность). При изменении значения одной ячейки, в остальных значения пересчитываются автоматически в зависимости от ранее заданных формул. Таким образом, любая бухгалтерская, кадровая ведо­мость или инженерная таблица может всегда находиться в готовом виде, незави­симо от частоты введения в нее данных.

Таблицы всегда мало иллюстративны. Чтобы проследить дина­мику тех или иных изменений, можно изобразить их наглядно в виде графика или гистограммы, а статическое распределение лучше всего видно на диаграмме. Диалоговая графика позволяет перевести данные электронной таблицы в одну из этих изобра­зительных форм, причем они автоматически изменяются при из­менении данных таблицы. Первый такой промышленный пакет про­грамм был разработан для персональных компьютеров ИБМ М. Кэпором в 1982 г. под названием "Лотус 1-2-3". Эти программы позволяют также выполнять на компьютере любые рисунки: блок-схемы, чертежи, произвольные иллюстрации с заштриховкой или без нее, рамки, виньетки и другие украшения.

Наконец, еще одной широко распространенной программой, за­вершающей этот ряд, является "база данных". Она принадлежит к числу так называемых систем управления базами данных (СУБД) и позволяет создавать в машине структурированное хранилище большой емкости для информации. которую можно разыскивать по разным элементам. Создатели этого программного средства аме­риканцы У. Рэт­лифф, Дж. Тейт и Х. Лашли назвали его "диБейсII, хотя никакой "пер­вой" версии не существовало. Это был просто "ход" в рекламной кампании, развернутой в 1981 г. и увенчав­шейся миллионным успехом. Фирма "Тейт" рас­пространяет новые версии "диБейс", а программы данного типа повсеместно используются в персональных компьютерах для создания разного рода справочных и фактографических систем.

Рассказ об этой "большой четверке" самых употребительных прикладных программ нельзя закончить, не упомянув о том, что теперь они, как правило, объединяются в одну интегрированную систему. На Западе известны среди таких систем "ФреймУорк", "Нолидж­Ин", "ЛотусДжаз", "Парадокс", у нас подобную интег­рированную систему "Мастер" создал Е. Н. Веселов в 1989 г. для компьютеров с дисковой операционной системой (ДОС). Она объединяла текстовый редактор "Лексикон" с тремя другими опи­санными компонентами и распространялась советско-американским предприятием "Диалог" при ВЦ АН СССР. Она имела версию, работавшую под Windows, но не могла конкурировать с пакетом “Microsoft”. В настоящий момент наиболее распространенным интегрированным пакетом прикладных программ, как уже сказано, является «Офис» фирмы «Майкрософт». Русифицированные версии “Office”, включают текстовый редактор “Word ”, электронную таблицу “Excel ”, базу данных “Access” и редактор для презентации слайдов “PowerPoint”.

Быстрый прогресс программного обеспечения подготовки тек­стов объясняется рядом причин. Некоторые из них мы обсуждали в прошлой лекции. Делопроизводством, составлением, редактированием и изданием текстов в мире заняты сотни миллионов людей. В США 80‑х годов больше половины всего занятого населения бы­ло связано с обработкой текстов. Поэтому повышение производи­тельности труда в этой сфере, которую справедливо называют информационной, имеет большое значение. И любая мелочь, не предусмотренная стандартами, оборачивается огромными по­терями рабочего времени.

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

Эта неоднозначность была устранена с введением Американского стандарта кодирова­ния символов (ASCII), который стал международным. Но для русских букв коды в нем не были предусмотрены, а при их добавлении возникли варианты. Если учесть, что для других языков, поль­зующихся русским письмом (болгарского, сербскохорватского), были созданы новые варианты, то проблема кодирования кириллических букв никак не могла считаться решенной.

Если доба­вить к этому, что существовали два отечественных стандарта для расположения латинских букв на клавиатуре (старый и новый), по которым до недавнего времени изготавливались компьютеры разных типов, то актуальность стандартизации становится очевидной. В операционной системе “Windows” был использован новый американский стандарт (ANSII), в котором буквы русского письма получили постоянное место (под не вполне верным названием «кириллица»).

Но и на этом мытарства русского письма (как его надо правильно называть1) не закончились. При переходе от Office97 к Office2000 была изменена разрядность основных шрифтов (Times New Roman, Arial, Courier New, Thames), и русские буквы снова сменили свои кодовые номера, что создает затруднения при переходе от более поздних версий Office к более ранним.

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

На языке программи­стов такой "дружественный" интерфейс между машиной и пользо­вателем называется "ВИЗИВИГ" (аббревиатура английского выра­жения "Что вы видите, то вы получите" – What you see is what you get – WYSIWYG). Перефразируя это по-нашему, можно сказать, что электронные средства подготовки текстов позволяют "резать и клеить" тексты и рисовать на эк­ране, одновременно отражая это в оперативной памяти компью­тера.