Файл: Могилев А.В. Информатика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 6755

Скачиваний: 51

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

121 

 

program KvadUravn; 

var А, В, С, D, XI, Х2: REAL; 

begin 

writeln;  

writeln( 'введи А,В,С') ; read(A,B,C); 

D:=B*B-4*A*C; 

if D<0 then write('корней нет')  

else begin 

X1:=(-B+sqrt(D))/(2*A);  
X2:=(-B-sqrt(D))/(2*A);  
write('X1=', X1,' X2=', Х2);  

end  

end. 

 
Предположив, что этот текст (по отношению к процессу трансляции выступающий как

 ис-

ходный

 модуль) сформирован одним из текстовых редакторов, попытаемся отправить его на  вы-

полнение. Прежде всего его необходимо перевести в машинный двоичный код (называемый 

абсо-

лютным

 или 

загрузочным модулем

). Для этого на первых этапах осуществляется трансляция (в 

данном случае, как это реализовано в системах программирования Паскаля, компиляция) исходно-
го  текста  в  машинный  код  (

объектный  модуль

).  Однако,  объектный  модуль  не  может  быть  ис-

пользован для выполнения программы, поскольку в нем нет программ по выполнению процедур 
ввода (read) и вывода (write, writeln), а также вычисления функции извлечения квадратного

 

корня

 

(sqrt). В исходном тексте программы ссылки

 

на

 

указанные библиотечные подпрограммы отмечены 

знаком {*}. 

Следующий шаг трансляции - компоновка - заключается в подключении к исходному объ-

ектному модулю объектных модулей  соответствующих  подпрограмм в места ссылок на них (ис-
ходные тексты этих подпрограмм в системе вовсе отсутствуют). Другими словами, на место про-
цедуры  Write  помещается  подпрограмма,  осуществляющая  процедуру  вывода  данных  на  экран 
дисплея. Таким образом после компоновки (или, иначе, редактирования связей link editor) возни-
кает абсолютный модуль, намного превышающий по объему размер исходного текста программы, 
Он и является исполняемым компьютером после его запуска. Расширениями его файлового имени, 
как правило, являются .com или .ехе. 

В силу того, что объектные модули не предназначены для непосредственного исполнения, в 

них обычно нет привязки составляющих их машинных команд к конкретному месту в ОЗУ. Адре-
са машинных слов бывают условными, что помогает компоновщику размещать объектные модули 
в свободных

 

местах ОЗУ (заменяя условные адреса команд на конкретные). 

Многие системы программирования дополнительно содержат промежуточные этапы транс-

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

В современных системах программирования, например, Турбо-Паскаль, Турбо-Си весь этот 

сложный процесс трансляции с компоновкой подпрограмм скрыт от пользователя и осуществляет-
ся специальными компиляторами. 

Коротко об отладчиках.

 

Эти программы входят в современные системы программирования 

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

Заметим, что описанный процесс трансляции характерен для компиляции. Последовательно 

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

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

сам  вручную  оттранслировать  программу  (даже  столь  короткую,  как  вышеприведенная),  но  эле-


background image

 

122 

ментарное понимание этого сложного процесса необходимо. 

На  первом  этапе  транслятор  производит  синтаксический  анализ  исходной  программы  - 

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

Первой  фазой  синтаксического  анализа  является  лексический  анализ.  Он  заключается  в 

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

Даже  если  в  синтаксическом  смысле  исходная  программа  верна,  это  не  означает,  что  она 

имеет  смысл  в  рамках  данного  языка  программирования.  На  следующем  этапе  семантического 
анализа транслятор ищет ошибки такого рода: числа употребления слов BEGIN и END не совпа-
дают; переменные не описаны (в языке, требующем обязательного явного описания переменных), 
т.е. текст программы 

непонятен

 (семантика - смысловая сторона языка). 

Лишь после того, как в программе все синтаксически правильно и семантически понятно, 

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

Различные фазы компиляции могут быть как последовательными, так и частично перекры-

вающимися во времени. В зависимости от способа реализации компилятор читает и обрабатывает 
исходный текст один или

 

несколько раз, называясь соответственно однопроходным, двухпроход-

ным и т.д. 

 
Контрольные вопросы 

 
1. Назовите минимальный состав системы программирования, необходимый для разработки 

программы. 

2. Какие имеются сравнительные преимущества и недостатки у компиляторов и

 

интерпре-

таторов?  

3. Назовите основные этапы трансляции программы. 
 

§3. ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ  

ОБЩЕГО НАЗНАЧЕНИЯ 

 

3.1. КЛАССИФИКАЦИЯ 

 

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

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

Один из возможных вариантов классификации программных средств (ПС), составляющих 

прикладное программное обеспечение (ППО), отражен на рис.2.11. Как и почти всякая классифи-
кация, приведенная на рисунке не является единственно возможной. В ней представлены даже не 
все виды прикладных программ. Тем не менее, использование классификации полезно для созда-
ния общего представления о ППО. 


background image

 

123 

 

Рис.2. П.

 Классификация прикладного программного обеспечения 

 

3.2. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА  

ОБЩЕГО НАЗНАЧЕНИЯ 

 

Несмотря на широкие возможности использования компьютеров для обработки самой раз-

ной информации, самыми популярными являются программы, предназначенные для работы с тек-
стами  -  текстовые  редакторы  и  издательские  системы.  Текстовыми  редакторами  называют  про-
граммы для ввода, обработки, хранения и печатания текстовой информации в удобном для поль-
зователя виде. Эксперты оценивают использование компьютера в качестве печатающей машинки 
в 80%. 

Большую  популярность  приобрели  программы  обработки  графической  информации.  Ком-

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

Графические редакторы позволяют пользоваться различным инструментарием художника, 

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

Одним из наиболее перспективных направлений развития вычислительной техники являет-

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

баз данных

 используют

 системы управления базами данных.

 СУБД - это 

набор средств программного обеспечения, необходимых для создания, обработки и вывода запи-
сей баз данных. Различают несколько типов СУБД: 

иерархические, сетевые, реляционные. 

При ра-

боте с СУБД выделяют несколько последовательных этапов: 

• проектирование базы данных; 
• создание структуры базы

 

данных; 

• заполнение базы данных; 
• просмотр и редактирование базы

 

данных

;

 

• сортировку базы данных; 
• поиск необходимой записи;  

 выборку информации; 


background image

 

124 

• создание отчетов. 
Как  правило,  большинство  популярных  систем  управления  базами  данных  поддерживают 

эти этапы и предоставляют удобный инструментарий для их реализации. 

Желание объединить функции различных прикладных программ в единую систему привело 

к созданию интегрированных систем. Универсальные 

интегрированные системы

 разрабатывались 

по принципу единой системы, содержащей в качестве элементов текстовые и графические редак-
торы,  электронные  таблицы  и  систему  управления  базами  данных.  Примеры:  Framework,  Works, 
Мастер. Современная концепция интеграции программных средств - кооперация отдельных при-
кладных программных систем по типу широко известного пакета MicroSoft Office. Сами системы, 
входящие в пакет, являются независимыми, более того, они сами представляют локально интегри-
рованный пакет, поскольку помимо основной своей задачи поддерживают функции других систем. 
Например,  текстовый  редактор  Word  обладает  возможностью  манипулировать  с  электронными 
таблицами и базами данных, а в электронной таблице Excel встроен мощный текстовый редактор. 
Для сопряжения информационных данных из различных программных систем в них предусматри-
вают импорт-экспортную систему обмена с перекодировкой форматов представления данных. 

 

3.3. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА  

СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ 

 

Разработчики  создают  специальные  программные  системы  целевого  назначения  для  спе-

циалистов в некоторой предметной области. Такие программы называют авторскими инструмен-
тальными  системами.

  Авторская  система

  представляет  интегрированную  среду  с  заданной  ин-

терфейсной  оболочкой,  которую  пользователь  может  наполнить  информационным  содержанием 
своей предметной области. 

Экспертная  система

  -  это  программа,  которая  ведет  себя  подобно  эксперту  в  некоторой 

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

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

 

их

 

адаптив-

ность, т.е. изменчивость в процессе самообучения. 

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

распространение в науке (классификация животных и растений по видам, химический анализ), в 
медицине  (постановка  диагноза,  анализ  электрокардиограмм,  определение  методов  лечения),  в 
технике (поиск неисправностей в технических устройствах, слежение за полетом космических ко-
раблей и спутников), в политологии и социологии, криминалистике, лингвистике и т.д. 

В последнее время широкую популярность получили программы обработки гипертекстовой 

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

гипертекстовых системах

 информация 

напоминает текст энциклопедии, и доступ к любому выделенному фрагменту текста осуществля-
ется произвольно по ссылке. Организация информации в гипертекстовой форме используется при 
создании справочных пособий, словарей, контекстной помощи (Help) в прикладных программах. 

Расширение концепции гипертекста на графическую и  звуковую  информацию приводит  к 

понятию гипермедиа. Идеи

  гипермедиа

  получили  распространение  в  сетевых  технологиях, в  ча-

стности  в  Интернет-технологиях.  Технология  WWW  (World  Wide  Web)  позволила  структуриро-
вать громадные мировые информационные ресурсы посредством гипертекстовых ссылок. Появи-
лись программные средства, позволяющие создавать подобные Web-странички. Стали развиваться 
механизмы  поиска  нужной  информации  в  лабиринте  информационных  потоков.  Популярными 
поисковыми средствами в Интернет являются Yahoo, AltaVista, Magellan, Rambler и др. 

Мультимедиа

  (multimedia)  -  это  взаимодействие  визуальных  и  аудиоэффектов  под  управ-


background image

 

125 

лением интерактивного программного обеспечения. Появление и широкое распространение ком-
пакт-дисков (CD-ROM) сделало эффективным использование мультимедиа в рекламной и инфор-
мационной службе, сетевых телекоммуникационных технологиях,обучении. 

Мультимедийные игровые и обучающие системы начинают вытеснять традиционные «бу-

мажные библиотеки». Сегодня в библиотеках CD-ROM можно «гулять» по музеям, Московскому 
Кремлю и т.д. с помощью «электронного путеводителя». 

 

3.4. ПРОГРАММНЫЕ СРЕДСТВА ПРОФЕССИОНАЛЬНОГО УРОВНЯ 

 

Каждая прикладная программа этой группы ориентируются на достаточно узкую предмет-

ную область, но проникает в нее максимально глубоко. Так функционируют 

АСНИ

 - автоматизи-

рованные системы научных исследований, каждая из которых «привязана» к определенной облас-
ти науки, 

САПР

 - системы автоматизированного проектирования, каждая из которых также рабо-

тает  в  узкой  области, 

АСУ

  -  автоматизированные  системы  управления  (которых  в  60  -  70  годах 

были разработаны тысячи). 

Наконец,  еще  раз  подчеркнем  не  только  условность  предложенной  выше  классификации, 

но и наличие пересечений. Так, каждую конкретную экспертную систему вполне можно отнести к 
ППО профессионального уровня; принцип гипертекста реализован в ряде авторских систем и т.д. 

 

3.5. ОРГАНИЗАЦИЯ «МЕНЮ» В ПРОГРАММНЫХ СИСТЕМАХ 

 

Прикладные  программы  нацелены  на  широкий  круг  пользователей  (непрограммистов)  и 

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

Интерактивный  режим  в  прикладных  программах  осуществляется  по  двум  принципам: 

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

«Меню» представляет набор команд, указаний и данных, который в любой момент досту-

пен пользователю для выбора дальнейшего действия. Указатель (курсор) имеет возможность цик-
лически сканировать меню и управляется клавишами со стрелками и/или манипулятором «мышь». 
Выбор команды осуществляется установкой курсора на его пункт и нажатием клавиши ввода <En-
ter>,  или  указанием  стрелки «мыши»  и двойным  щелчком ее  клавиши.  Более быстрый выбор  ко-
манды может быть осуществлен нажатием специальных клавиш или их комбинацией. Как прави-
ло, в них участвуют клавиши с буквой, с которой начинается название команды. По своей органи-
зации  меню  представляет  иерархическую  структуру  с  системой  вложенных  подменю  («выплы-
вающие», «ниспадающие», «оконные» и пр.) с возможностью возврата из любого пункта в главное 
(основное) меню. 

Меню бывает текстовым и/или графическим с комментариями по каждому своему пункту. 

Прикладные  программы  дополнительно  имеют  функциональное  клавишное  меню  для  быстрого 
выполнения каких-либо команд («горячие клавиши» -«hot key»). Например, функциональная кла-
виша  F1  чаще  используется  для  экстренного  вызова  справочной  информации  (Help  -  помощь), 
клавиша F2 - для сохранения данных во внешней памяти. 

Фирмы-разработчики программных средств организуют программные меню по своим стан-

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