БИ ОСНОВЫ ИНФОРМАТИКИ. БИ_курс лекций. Р. С. Гиляревский основы информатики курс лекций
Скачать 1.65 Mb.
|
Работа с текстом на компьютере О языках программирования Когда мы по-русски говорим "компьютер", то представляем се- бе некоторое устройство, которое нужно запрограммировать, чтобы оно заработало. Американцы, которые, естественно, думают на своем английском, представляют себе компьютер сразу состоящим из двух частей – "твердой" ("хардуэр") и "мягкой" ("софтуэр"), что на русский язык казенно переводится как аппаратные и программные средства вычислительной машины. Это различие в понимании отражает и неко- торую реальную ситуацию: у нас первая составляющая компьютера стоит во много раз дороже второй. У них наоборот. Умственный труд они ценят много дороже промышленного, что обычно для развитых стран. В наши дни особое внимание уделяют составлению текстовых описаний к новым программам, поскольку освоение этих программ требует большого труда и занимает много времени. Возникла на- сущная проблема составления таких описаний к программам, которые были бы понятны обычному или даже начинающему пользователю. Она достигла столь большой остроты, что появилась специальная про- фессия "технических писателей", так как программисты не могут по- нять, что именно затрудняет пользователей при освоении их программ. Не будучи специалистом, трудно говорить о вычислительных машинах, но еще труднее об их программировании. Дело в том, что сама сущность программирования, кажущаяся такой простой на эле- ментарном уровне машинных кодов, оказывается крайне сложной для формулирования. Может быть, поэтому авторы, популяризирующие искусство (или науку, как полагают некоторые) программирования, так любят прибегать к аналогиям, которыми сами почти всегда остаются недовольны. Сравнение компьютера с автомобилем, а программирования – с управлением механистично и мало что объясняет, компьютера с теле- 202 визором, а программы – с передачей, которую он принимает, тоже от- ражает лишь внешнюю сторону дела. Пожалуй, ближе всего к сущест- ву отношений компьютера с его программой сравнение их с музыкаль- ным инструментом и нотами. Действительно, комбинацией нескольких нотных знаков можно записать любое музыкальное произведение, а пределов для творчества композиторов и исполнителей не существует. Так и программа, написанная на одном из специальных языков, в кото- ром используется ограниченный набор символов, служит для решения многих творческих задач, от простых вычислений до игры в шахматы. Но и здесь сходство сводится к идеальности и многообразию содержа- ния информации и материальности и ограниченности средств ее фик- сации и воспроизведения. Любая, самая сложная программа формальна и определяется ал- горитмом решения задачи. Вместе с тем, возможность или границы формализации человеческого мышления, которое стремятся моделиро- вать при помощи компьютера, пока еще не поддаются определению. В преодолении этого противоречия, в нахождении путей его разрешения скрыт важный фактор дальнейшего развития данной проблемной об- ласти. По всей вероятности, задача такого уровня должна решаться не одними программистами и информатиками, но всем научным сообще- ством. Это один из серьезных стимулов достижения всеобщей компь- ютерной грамотности. А. Кэй, из статьи которого взяты некоторые сведения о языках программирования, писал об этом в следующих вы- ражениях: "Грамотность применительно к компьютерам – это проникнове- ние в суть процессов программирования, причем достаточно глубокое, чтобы было легко и приятно производить вычисления и решать раз- личные задачи на ЭВМ, подобно тому, как истинно грамотный человек может свободно читать и писать. Как и в любом искусстве, здесь необ- ходимо хорошо знать и любить материал. Если мы полагаем важным овладеть литературой и искусством для развития человека и общества, то имеем ли мы право меньше усилий тратить на то, чтобы сделать вычислительные средства и методы частью нашей жизни" 1 История современных языков программирования насчитывает всего лишь пять десятилетий, если считать от момента создания языка Планкалкюль немецким инженером К. Цузе в 1946 г. С тех пор появи- лись сотни языков программирования, а с вариантами, возможно, ты- 1 Кэй А. Программное обеспечение ЭВМ // В мире науки. – 1984. – № 11. – С. 13. 203 сячи. Конечно, не все они употребляются на практике, и если бы их развитие шло другим путем, их могло бы быть и меньше. Но их много- образие оправдано, так как нельзя создать язык, пригодный для всех случаев. Язык должен быть пригоден для решения данной задачи на данном компьютере и удобен для программиста. При всех различиях языков программирования все они, в ко- нечном счете, сводятся к высоким и низким уровням электрического напряжения, соответствующим единицам и нулям двоичного кода. Комбинации единиц и нулей могут интерпретироваться компьютером как адрес в его памяти, фрагмент обрабатываемых данных или команда выполнить определенное действие. Язык самой машины – машинный код – очевиден и однозначен для каждого вида компьютеров. Но эта последовательность нулей и единиц противоестественна для памяти человека, хотя несколько поколений программистов работали только в машинных кодах. Программа может состоять из миллионов комбина- ций единиц и нулей, и ошибка лишь в одном знаке приведет к непра- вильной работе всей программы. Это повело к созданию языков а с с е м б л е р а , в которых дво- ичные последовательности были заменены символами и словами. Пер- вым таким языком был ассемблер компьютера "Эдсак", созданный в 1949 г. английским математиком М. Уилксом. Разумеется, ассемблеры проще и мнемоничнее машинных кодов, в них можно создавать инст- рукции для определенных действий. Однако каждая команда должна определяться отдельно и за ее прохождением в машине нужно следить, Кроме того, ассемблер жестко связан с типом компьютера, для которо- го он создан. Ограниченность ассемблеров была преодолена в языках более высокого уровня. Первым распространенным языком высокого уровня явился Ф о р т р а н, разработанный в 1954–1957 гг. Дж. Бекусом в фирме IBM и до сих пор применяемый для научных расчетов. По- скольку его применение занимало много времени "тихоходных" в то время машин, для него был создан компилятор, переводивший его про- граммы в машинный код. Это положило начало особым видам про- грамм – т р а н с л я т о р а м, которые для каждого типа компьютеров переводят программы, написанные на языке высокого уровня, в их машинный код. Они бывают двух видов – компиляторы и интерпретаторы. При использовании к о м п и л я т о р а весь цикл трансляции завершается до начала выполнения программы, так что прохождение этой про- 204 граммы требует меньше времени. Программа, составленная на и н - т е р п р е т а т о р е , записывается в оперативную память в виде команд на языке высокого уровня, каждая из которых транслируется в машин- ный код по мере прохождения программы. Это требует больше време- ни, но дает оператору возможность контролировать результат каждой операции. Все исследования в области программирования с 1957 г. сти- мулировались стремлением усовершенствовать Фортран, который под- вергался неоднократным переделкам. Стало появляться большое число языков, что беспокоило программистов, которые создали Междуна- родный комитет для выработки единого языка программирования (КОДАСИЛ). Результатом работы комитета явились два языка, до сих пор широко распространенные у пользователей, эксплуатирующих большие машины. Один из них, К о б о л был разработан для выполне- нии однородных операций над большими массивами чисел. Он приме- няется в сфере бизнеса и эффективен при простых арифметических вычислениях. Две трети конторских программ на Западе все еще напи- саны на Коболе. Но как универсальный язык, к которому по тем вре- менам все стремились, он был неудовлетворителен. Вторым языком стала первая версия А л г о л а (1956 г.), который хотя и не стал же- ланным универсальным языком, но в последующих версиях сохраняет значение многоцелевого средства. Тогда же Дж. Маккарти из Массачусетского технологического института создал язык Л и с п, в котором программы и данные пред- ставляются в виде списков. Его простота и сила определяются тем, что в нем применяется только один вид команд – вызов функции, а ее зна- чением может быть другая функция. С тех пор он стал популярным в исследованиях по искусственному интеллекту и послужил моделью для многих других языков. Для персональных компьютеров чаще всего используется Б е й с и к, разработанный в 1965 г. Дж. Кемени и Т. Курцем из Дартмутского колледжа в США. Он предназначался для изучения вводного курса программирования, но затем стал популяр- ным среди программистов-непрофессионалов. Каждая строка про- граммы на этом языке обозначается номером, а управление прохожде- нием программы в основном осуществляется путем указания этих но- меров. Близок к нему и язык П а с к а л ь, также первоначально создан- ный для обучения студентов в 1970 г. Н. Виртом, преподавателем Фе- дерального технологического института в Цюрихе. В отличие от Бей- 205 сика в нем необходимо объявлять каждую переменную и указывать ее тип, а процедуры и функции обозначать не номерами строк, а именами функций, что облегчает чтение программы. Решая какую-либо задачу, специалист не может оперировать двоичными кодами, регистрами и адресами машинной памяти. Он мыслит формулами своей науки, на- пример, "Площадь = длина X ширина", "Прибыль = доход – затраты". Действия, описываемые этими формулами, транслируются в машинные коды компиляторами и интерпретаторами, которые можно считать средствами реализации языка программирования. На этом и были основаны такие языки программирования, как Фортран, Паскаль, Бейсик. Эти и подобные им языки называются п р о ц е д у р н ы м и . Каж- дый такой язык как бы предоставляет программисту некую виртуаль- ную (воображаемую) машину. Составляя программу, пользователь ви- дит решение своей задачи как процесс вычисления, осуществляемый этой виртуальной машиной. Тем самым сразу описывается и задача, и метод ее решения. Появились непроцедурные стили программирова- ния – функциональный, логический – и соответствующие языки. Ос- новная идея л о г и ч е с к о г о программирования – отделение описания задачи от процесса ее решения – была выражена в уравнении одного из его авторов Р. Ковальского: "Алгоритм = логика + управление". Наиболее распространенный язык логического программирова- ния П р о л о г был создан в 1972 г. А. Колмари из Марсельского уни- верситета. Программа на Прологе состоит из описаний, задающих объ- екты и отношения между ними. Например, формула "Площадь = длина X ширина" описывается отношением "Произведение, длина, ширина, площадь". Описание это статическое и никаких вычислений оно не задает. Но компьютер производит их сам по запросу, и по любым в данном случае двум величинам может вычислить третью, т. е. по площади и ширине – длину. Независимо от зарубежных работ в СССР в 70-е годы В. Б. Бор- щевым и М. В. Хомяковым (ВИНИТИ) также разрабатывалась версия логического программирования. 206 Многие современные компьютерные системы используют язык С и, созданный в 1972 г. Д. Риччи в лабораториях "Белл Телефон" кор- порации АТТ в Мюррей-хилл (шт. Нью-Джерси). Первоначально он разрабатывался для программировании новой операционной системы Ю н и к с. Операционная система предназначена для приема, хранения и выдачи информации, а также для взаимодействия аппаратных средств компьютера с прикладными программами. Си стал популяр- ным как язык так называемого среднего уровня. В нем удобство, крат- кость и мобильность языков высокого уровня сочетаются с возможно- стью непосредственного доступа к машине, что традиционно обеспе- чивалось ассемблером, т. е. языком низкого уровня. Другая важная тенденция в развитии программирования связана с объектно-ориентированными языками. В них процессор машины ус- ловно делится на "объекты", которые могут программироваться инди- видуально, а затем соединяться друг с другом при помощи сообщений. В числе подобных языков: С и м у л а - 67 (О. Даль и К. Нигард из Норвежского ВЦ в Осло), С м о л л т о к (1970 г., А. Кей из фирмы Ксерокс, Пало-Альта), Э у р и с к о (1979 г., Д. Ленат из Стэнфордского университета). Прикладные программы подготовки текстов Среди профессиональных программистов бытует мнение, что пользователям-непрограммистам не следует увлекаться програм- мированием, а лучше применять уже готовые программы. Это отчасти противоречит высказанной в прошлой лекции идее о необходимости формализации специальных знаний и том преимуществе, которое по- лучают специалисты различных областей знания после овладения на- выками работы с персональным компьютером. Но есть в этом мнении и рациональное зерно. Оно заключено в том, что в настоящее время разработано множество эффективных программ для решения самых разнообразных задач, и неразумно начинать по-дилетантски составлять программу, не убедившись, что она существует. Еще справедливее это в отношении обучения основам информатики, когда, начиная со шко- лы, учат только алгоритмическому мышлению и одному из простей- ших языков, обычно Бейсику, и не дают представления о богатстве существующих прикладных программ. Программное обеспечение вычислительных машин можно ус- ловно разделить на системное и прикладное. К системному относятся операционные системы, о которых говорилось выше, и средства диаг- 207 ностики и контроля. Прикладное – это пользовательские программы решения разнообразных задач, которые объединяются в совокупности по классам решаемых задач и называются пакетами прикладных про- грамм. К ним примыкают также библиотеки стандартных программ, которые часто используются для вычислений, решения уравнений и операций обработки данных – их сортировки, копирования и т. п. Для нас наиболее важными являются те пакеты, которые приме- няются для подготовки текстов. Они получили название т е к с т о в ы х р е д а к т о р о в , но часто называются также текстовыми процессора- ми, системами обработки (подготовки) текстов. Текстовому редактору всего два с небольшим десятилетия. Его создателем считается М. Шрейер, кинорежиссер из Нью-Йорка, который в 1975 г. реконст- руировал компьютер "Альтаир" и составил программу "Электрический карандаш", для подготовки руководств к своим программам. В 1978 г. нью-йоркские программисты С. Рубинштейн и Дж. Барнэби создали текстовый редактор "УордСтар", который определил стандарт таких программ для персональных компьютеров. Ввод текста при помощи такой программы осуществляется как на пишущей машинке: буква за буквой с пробелами между словами, а в конце строки (в современных программах – абзаца) нажимается кла- виша возврата каретки (ВК, Ввод, Enter). Никакой каретки, конечно, в компьютере нет, а под воздействием этой клавиши производится ввод набранной строки в память, а курсор (светящаяся или мигающая точка на экране) перемещается в начало следующей строки. Если набранный текст нужно исправить или отредактировать, курсор можно вернуть в любую его точку нажатием одной из редактирующих клавиш (управ- ляющих команд): влево/вправо на одну букву, слово или в нача- ло/конец строки, вверх/вниз на одну строку или же в начало/конец все- го текста (см. рис 13). 208 Рис. 13. Процедуры исправления текста корректурными знаками и в текстовом редакторе компьютера (пример из черновой рукописи А. С. Пушкина). 209 Исправление производится при помощи одной из процедур: удаления, перемещения, вставки, замены. При удалении необходимо отметить начало и конец удаляемого фрагмента, программа по команде стирает слово и убирает пробел, сдвигая оставшуюся часть строки вле- во. Чтобы переместить фрагмент текста, нужно тоже его отметить, ус- тановить курсор в то место, куда фрагмент перемещается, и дать ко- манду, по которой программа изменит порядок считывания текста и соответственно перестроит его на экране. Вставка и замена это не только процедуры исправления, но и режимы работы текстового редактора, в одном из которых программа работает обычно ("по умолчанию"), а другой вводится специальной клавишей. В режиме вставки часть строки, начинающаяся с курсора, при нажиме буквенной клавиши отодвигается вправо, освобождая эту позицию для вводимой буквы. В режиме замены вводимая буква заби- вает прежнюю. Так же работают в этих режимах и клавиши стирания букв – со смыканием текста в позиции стертой буквы или же с заменой ее пробелом. Здесь приводятся лишь самые элементарные процедуры элек- тронного редактирования. Возможности современных текстовых ре- дакторов многообразны и зависят лишь от объема программы, соотно- симой с размерами оперативной памяти компьютера. В их возможно- сти входит дублирование строк и фрагментов текста, запоминание и выдача в нужный момент стандартных текстов любого объема, набор текстов в нескольких окнах с последующим их совмещением в произ- вольном порядке, запоминание исходного (не редактированного) тек- ста и многие другие процедуры. По окончании редактирования текст может быть отформатиро- ван, т. е. выровнен по правому и левому краям, напечатан целиком или частями с отступом на любое число позиций. Для просмотра текста на экране его можно сдвигать вверх или вниз построчно или постранично. Обычно на экране размещается до 25 строк (одна из них служебная) по 64 или 80 знаков в строке. Но имеются и такие редакторы, которые позволяют "верстать" широкую полосу в две колонки по 60 знаков с пробелом, сдвигать текст на экране вправо/влево. Большинство про- грамм осуществляют функцию поиска отдельных слов и словосочета- ний по всему тексту с их заменой на другие слова и словосочетания. Строго говоря, текстовый редактор служит для ввода текста в компьютер, а для вывода его на принтер служит другая программа сис- темы подготовки текста - ф о р м а т и з а т о р. Эта программа предна- 210 значена для оформления текста в соответствии с нормами, сложивши- мися в полиграфии, т. е. выравнивания правого края, абзацных отсту- пов, центровки заголовков, простановки номеров страниц, установки расстояний между строками. По мере совершенствования принтеров и форматизаторов стало возможно разнообразить шрифты, менять ши- рину отдельных букв, печатать подстрочные и надстрочные индексы и формулы в математических текстах, таблицы, верстать страницу с многоколонным набором и включением иллюстраций. Особая задача форматизатора – автоматически осуществлять перенос слов в соответ- ствии с грамматическими правилами. Все это позволяет приблизить набранный на компьютере текст к полиграфическому и в каждый мо- мент его написания и редактирования иметь его полностью готовым к печати. Все большее распространение в системах подготовки текстов получают программы, позволяющие непосредственно производить автоматическую корректуру – а в т о к о р р е к т о р ы (спеллеры или спеллчеккеры). Первоначально они строились на статистической осно- ве и давали возможность после набора всего текста вывести на экран слова, в которых сумма номеров букв оказывалась единичной. Такие слова, один раз встретившиеся в тексте, чаще всего содержали ошибки. Этот метод, не требовавший большой оперативной памяти компьюте- ра, не был особенно удобным и удовлетворительно работал только на сравнительно больших текстах. Поэтому с увеличением оперативной памяти он постепенно был заменен сначала полиграммным, а затем словарным методом. Полиграммный метод основан на том, что все двух- и трех- буквенные сочетания проверяются на их допустимость в данном языке. Если в тексте встречаются слова с недопустимыми би- и триграммами, то они выводятся на экран как сомнительные. При словарном методе все набираемые слова сразу или после набора всего текста сопостав- ляются с находящимся в памяти машины словарем, объем которого достаточно велик (обычно от 40 до 120 тыс. слов). Понятно, что такая программа должна учитывать всю парадигму словоизменения в данном языке, что гораздо проще сделать в английском, нежели в русском языке. Автоматизация корректуры может состоять из обнаружения ошибок, предложений по их исправлению или же собственно их кор- рекции. Понятно, что две последние возможности необходимы людям, неуверенным в своей грамотности, и требуют усложнения и значитель- ного увеличения программы. 211 Однако, стремясь сделать подготовку текста более комфортной, а сами тексты более совершенными, а также учитывая возросшую по- требность в составлении текстов на неродных для пишущего языках, составители программ идут на эти усложнения. Начали появляться программные системы, в которых словари содержат не только средст- ва нормализации слов, но и такие смысловые связи между ними, как синонимия, омонимия, полисемия, антонимия, отношения "род-вид", "часть-целое" и т. п. Справочники, содержащие подобные сведения, составляются уже давно, применяются в информационном поиске и получили название т е з а у р у с о в. Они позволяют при написании текста на компьютере вести стилистическую правку, а главное, предла- гают автору выбор отдельных слов и выражений, продолжение фразы в стандартных оборотах, подсказывают устойчивые словосочетания, управление глаголов и предлогов и оказывают другие лексические ус- луги. Существуют сотни всевозможных программ с редакторами тек- стов, пакетов прикладных программ подготовки текстов с редак- торами, форматизаторами, автокорректорами. Многие из упомянутых языков программирования (Бейсик, Паскаль, Си) имеют редакторы, пригодные для ввода не только программ на этих языках, но и текстов на естественном языке. Программная среда, часто надстраиваемая над операционной системой и облегчающая использование ее средств (в персональных компьютерах ИБМ это обычно "Нортон коммандер"), тоже, как правило, имеет текстовый редактор. Пользователи ДОС-совместимых машин предпочитали популярные полтора-два де- сятилетия назад пакеты, среди которых заслуживают упоминания: из американских – "Word5", "WordStar", "WordPerfect", "ChiWriter", а из отечественных – "Лексикон" (Москва, ВЦ РАН, 1985 г.). Каждая из этих программ имели свои особенности и сферы применения. "Word" фирмы "Microsoft" располагал таким богатством шрифтов и средств верстки, что при наличии лазерного принтера мог обеспечить настольную издательскую систему возможностями, пре- вышающими полиграфические. "ChiWriter" был незаменим при наборе математических текстов, так как позволял легко писать формулы, под- и надстрочные индексы. Для русскоязычных текстов получил широкое распространение "Лексикон" (автор Е. Н. Веселов) – многооконный текстовый про- цессор с русским знакогенератором (которым можно было пользовать- ся на компьютерах и принтерах западного производства без их пере- 212 делки). Его версия "Лексикон-Ортодок" (авторы Е. Н. Веселев и А. Б. Борковский) осуществлял перенос русских слов, располагал сло- варем русского языка на 100 тыс. слов (на базе известного словаря академика А. А. Зализняка). Другой русский спеллчеккер "Орфо" при помощи словаря в 120 тыс. слов не только проверял правописание, но и выявлял ошибки согласований в предложениях, находил опечатки в знаках препинания, легко "обучался" новым словам. Все это теперь история. Головокружительный прогресс наблю- дается не только в развитии вычислительной техники и ее периферии, но и в программном обеспечении. В России и во всей Европе практи- ческим стандартом и системных и прикладных программ стала про- дукция фирмы “Microsoft”, которая обновляется ежегодно. Это приво- дит к тому, что в обращении одновременно находятся сразу многие версии программ. Для системных программ – это Windows95, 98, Me, 2000, XP . Из прикладных программ большинство пользователей оста- новилось на Office97, хотя Office2000 и XP предоставляют значитель- но большие возможности, оставаясь совместимыми с программой 1997 г. Статьи, монографии, деловые документы редко состоят из од- ного только текста. В них содержатся расчеты, таблицы, графики, диа- граммы, указатели. Для выполнения всех этих элементов деловых бу- маг недостаточно описанных возможностей текстового редактора, как бы ни были они велики. Поэтому к системе подготовки текста примы- кают еще три программы: "электронная таблица", "диалоговая графи- ка" и "база данных", которые вместе с текстовым редактором как бы образуют упряжку четырех "рабочих лошадей" для человека, исполь- зующего компьютер при подготовке разного рода документов и публи- каций. В фирме “Microsoft” такой пакет и составляет Office. Первая электронная таблица "Визикальк" была разработана Д. Бриклиным и Р.Фрэнкстоном в 1978 г. При составлении отчета, на- пример, или сметы часто приходится пересчитывать длинные колонки взаимозависимых чисел, что делает эту работу весьма утомительной. Электронная таблица представляет собой прямоугольную матрицу, состоящую из ячеек, в каждой из которых может быть помещено зна- чение, зависящее от значений других ячеек (например, их сумма или разность). При изменении значения одной ячейки, в остальных значе- ния пересчитываются автоматически в зависимости от ранее заданных формул. Таким образом, любая бухгалтерская, кадровая ведомость или инженерная таблица может всегда находиться в готовом виде, незави- 213 симо от частоты введения в нее данных. Таблицы всегда мало иллюстративны. Чтобы проследить дина- мику тех или иных изменений, можно изобразить их наглядно в виде графика или гистограммы, а статическое распределение лучше всего видно на диаграмме. Диалоговая графика позволяет перевести данные электронной таблицы в одну из этих изобразительных форм, причем они автоматически изменяются при изменении данных таблицы. Пер- вый такой промышленный пакет программ был разработан для персо- нальных компьютеров ИБМ М. Кэпором в 1982 г. под названием "Ло- тус 1-2-3". Эти программы позволяют также выполнять на компьютере любые рисунки: блок-схемы, чертежи, произвольные иллюстрации с заштриховкой или без нее, рамки, виньетки и другие украшения. Наконец, еще одной широко распространенной программой, за- вершающей этот ряд, является "база данных". Она принадлежит к чис- лу так называемых систем управления базами данных (СУБД) и позво- ляет создавать в машине структурированное хранилище большой ем- кости для информации. которую можно разыскивать по разным эле- ментам. Создатели этого программного средства американцы У. Рэт- лифф, Дж. Тейт и Х. Лашли назвали его "диБейсII, хотя никакой "пер- вой" версии не существовало. Это был просто "ход" в рекламной кам- пании, развернутой в 1981 г. и увенчавшейся миллионным успехом. Фирма "Тейт" распространяет новые версии "диБейс", а программы данного типа повсеместно используются в персональных компьютерах для создания разного рода справочных и фактографических систем. Рассказ об этой "большой четверке" самых употребительных прикладных программ нельзя закончить, не упомянув о том, что теперь они, как правило, объединяются в одну интегрированную систему. На Западе известны среди таких систем "ФреймУорк", "НолиджИн", "Ло- тусДжаз", "Парадокс", у нас подобную интегрированную систему "Мастер" создал Е. Н. Веселов в 1989 г. для компьютеров с дисковой операционной системой (ДОС). Она объединяла текстовый редактор "Лексикон" с тремя другими описанными компонентами и распростра- нялась советско-американским предприятием "Диалог" при ВЦ АН СССР. Она имела версию, работавшую под Windows, но не могла кон- курировать с пакетом “Microsoft”. В настоящий момент наиболее рас- пространенным интегрированным пакетом прикладных программ, как уже сказано, является «Офис» фирмы «Майкрософт». Русифицирован- ные версии “Office”, включают текстовый редактор “Word ”, электрон- ную таблицу “Excel ”, базу данных “Access” и редактор для презента- 214 ции слайдов “PowerPoint”. Быстрый прогресс программного обеспечения подготовки тек- стов объясняется рядом причин. Некоторые из них мы обсуждали в прошлой лекции. Делопроизводством, составлением, редактированием и изданием текстов в мире заняты сотни миллионов людей. В США 80- х годов больше половины всего занятого населения было связано с обработкой текстов. Поэтому повышение производительности труда в этой сфере, которую справедливо называют информационной, имеет большое значение. И любая мелочь, не предусмотренная стандартами, оборачивается огромными потерями рабочего времени. Приведу примеры. В пишущей машинке при переводе рычага совмещены две операции: возврат каретки и перевод строки. В ком- пьютере этим операциям соответствуют два разных кода. В про- граммах эта избыточность устранялась по-разному: либо оставлялся для обеих операций код одной из них, либо вводился для них совме- щенный. Таким образом, существовали четыре варианта кодирования этой простейшей и повторяющейся на каждой строке команды, в ре- зультате чего тексты в машиночитаемой форме нельзя было прочитать в разных устройствах. Эта неоднозначность была устранена с введением Американско- го стандарта кодирования символов (ASCII), который стал междуна- родным. Но для русских букв коды в нем не были предусмотрены, а при их добавлении возникли варианты. Если учесть, что для других языков, пользующихся русским письмом (болгарского, сербскохорват- ского), были созданы новые варианты, то проблема кодирования ки- риллических букв никак не могла считаться решенной. Если добавить к этому, что существовали два отечественных стандарта для расположения латинских букв на клавиатуре (старый и новый), по которым до недавнего времени изготавливались компьюте- ры разных типов, то актуальность стандартизации становится очевид- ной. В операционной системе “Windows” был использован новый аме- риканский стандарт (ANSII), в котором буквы русского письма полу- чили постоянное место (под не вполне верным названием «кирилли- ца»). Но и на этом мытарства русского письма (как его надо правиль- 215 но называть 1 В заключение хотел бы подчеркнуть еще одно обстоятельство. Как мы выяснили, компьютеры берут на себя выполнение все более сложных процессов подготовки оригинал-макета для печати: перенос слов по правилам, размещение на странице заголовков, сносок, фор- мул, таблиц, рисунков, верстку полос и т. п. Все это теперь не требует специального программирования, а создается непосредственно на эк- ране при помощи клавиатуры, устройств "мышь" или "световой каран- даш". ) не закончились. При переходе от Office97 к Office2000 была изменена разрядность основных шрифтов (Times New Roman, Arial, Courier New, Thames ), и русские буквы снова сменили свои кодо- вые номера, что создает затруднения при переходе от более поздних версий Office к более ранним. На языке программистов такой "дружественный" интерфейс между машиной и пользователем называется "ВИЗИВИГ" (аббревиа- тура английского выражения "Что вы видите, то вы получите" – What you see is what you get – WYSIWYG). Перефразируя это по-нашему, можно сказать, что электронные средства подготовки текстов позво- ляют "резать и клеить" тексты и рисовать на экране, одновременно от- ражая это в оперативной памяти компьютера. |