Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[Alekseev_A.P.]_Informatika_2015(z-lib.org)

.pdf
Скачиваний:
220
Добавлен:
26.01.2020
Размер:
8.07 Mб
Скачать

Языки программирования

161

__________________________________________________________________________________

Первая версия Visual Basic появилась в 1991 г. Язык близок к объект- но-ориентированным языкам, но по-прежнему остается процедурным языком. Этот язык широко распространен, он интегрирован в пакеты Microsoft Office: СУБД MS Access, электронные таблицы MS Excel, текстовый редак-

тор MS Word.

Язык гипертекстовой разметки HTML (HyperText Markup Language) был предложен Тимом Бернерсом-Ли в 1989 г. в качестве основного компонента технологии распределенной гипертекстовой системы World Wide Web (WWW).

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

Теги (иногда таги или тэги) — это скобки, между которыми записаны команды, указывающие, как отображать данный фрагмент текста Webстраницы.

Для придания Web-страницам интерактивности используется язык программирования PERL. Язык является интерпретируемым. Он создан программистом Лари Уоллом (Larry Wall) для обработки текстов и файлов. PERL расшифровывается, как Practical Extraction and Report Language (язык для практического извлечения данных и составления отчетов).

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

Сходными возможностями с языком PERL обладает язык PHP (Power Hypertext Preprocessor). Однако последний был разработан для преимущественного использования в сетевых технологиях (для создания интерактивных средств). Язык PHP служит для создания сценариев, выполняемых на стороне сервера. Первая версия языка PHP (Пи-Эйч-Пи) была разработана в 1994 году программистом Расмусом Лердорфом (Rasmus Lerdorf). В разработке последующих версий участвовало большое число специалистов.

Язык моделирования виртуальной реальности Virtual Reality Modelling Language (VRML), предназначен для описания сред, имитирующих трехмерное пространство. Он является расширением гипертекстового языка разметки HTML, используемого для описания плоских изображений.

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

Чаще всего язык VRML применяется в архитектуре для моделирования и проектирования зданий и помещений, в торговле — для выбора вари-

162 Языки программирования

__________________________________________________________________________________

антов удобной компоновки мебели и оборудования, в химии — для визуализации молекул в процессе синтеза.

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

Язык Java является объектно-ориентированным языком. Он во многом сохраняет синтаксис и стиль программирования языков С и С++.

Достоинством языка является то, что он независим от конкретной архитектуры ЭВМ, и Java-приложения могут работать на различных типах ЭВМ (на различных процессорах), под управлением различных операционных систем: Windows, UNIX и Macintosh и др. Такое свойство особенно привлекательно при работе в глобальной сети, состоящей из множества ЭВМ, реализованных на различных платформах.

Язык поддерживает технологию клиент-сервер. С помощью языка Java сложные приложения разбиваются на небольшие модули, которые называются компонентами (приложениями) или апплетами (applets). Компоненты располагаются на сервере и при работе передаются по сети на ЭВМ клиента (пользователя), где и исполняются.

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

Корпорации SUN Microsystems и Netscape Communications создали язык JavaScript. Он относится к языкам сценариев, которые позволяют «склеивать» готовые компоненты (вызывать подпрограммы при совершении каких-то событий). Например, 16,4 % исходного кода браузера Mozilla Firefox написано на JavaScript. Язык JavaScript - не единственный язык управления сценариями просмотра документов. Язык VBScript, созданный на основе языка Visual Basic, используется для решения таких же задач.

Языки программирования (ЯП) по своим возможностям и времени создания принято делить на несколько поколений (Generation Language - GL). Каждое из последующих поколений по своей функциональной мощности качественно отличается от предыдущего. К сегодняшнему дню насчитывается пять поколений ЯП.

Сведения о некоторых языках программирования приведены в табл. 1.

Языки программирования

163

__________________________________________________________________________________

Язык

Годы

Автор

разработки

 

 

Ada

1979—1980

Jean Ichbiah

Algol

1960

 

APL

1961—1962

Kenneth Iverson,

АПЛ

Adin Falkoff

 

DELPHI

1995

 

BASIC

1964—1965

John Kemeny,

Бейсик

Thomas Kurtz

 

С

1972—1973

Dennis Ritchie

C++

1980

Bjarne Stroustrup

C#

2002

Андерс Хейлсберг

COBOL

1959—1961

Grace Murray Hopper

FORT

1971

Charles H. Moore

FORTRAN

1950—1958

John Backus

HTML

1989

Тим Бернерс-Ли

LISP

1956—1960

John McCarthy

LOGO

1968—1970

Сеймур Пейперт,

ЛОГО

Идит Харель

 

Pascal

1967—1971

Niklaus Wirth

Паскаль

 

 

PERL

1986

Larry Wall

PHP

1994

Rasmus Lerdorf

PL/1

1964—1966

 

PROLOG

1978

Алан Калмероэ

SIMULA

1967

Оле-Йохан Дал,

Симула

Кристен Нигаард

 

Smalltalk

1970

А. Кэй, Д. Ингаллс,

Т. Кэглер, А. Голдберг,

 

 

Java

1996

Джеймс Гослинг

JavaScript

1995

Brendan Eich

 

 

 

Таблица 1

Фирма, организация

Cii-Honeywell Bull International commitee

IBM

Borland

Dartmouth College

Bell Laboratories

Bell Laboratories

Microsoft

IBM

CERN, (Женева)

Massachusetts Institute

of Techn.

Federal Institute of

Technology

IBM

Норвежский ВЦ

Xerox PARC

Sun Microsystems

Netscape Communica-

tions

164 Основные свойства и способы представления алгоритма

__________________________________________________________________________________

5.4.2. Основные свойства и способы представления алгоритма

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

Любой алгоритм должен обладать следующими свойствами:

повторяемостью (неизменностью) получаемого результата при многократных расчетах с одними и теми же исходными данными;

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

массовостью — возможностью получения результата при различных исходных данных для некоторого класса сходных задач;

дискретностью — возможностью разбиения алгоритма на отдельные элементарные действия.

Существуют следующие формы представления алгоритма:

словесная (вербальная, текстуальная);

графическая;

на языках программирования.

Словесная форма представления алгоритма имеет ряд недостатков. Для достаточно сложных алгоритмов словесное описание становится слишком громоздким и ненаглядным. Эта форма представления обычно используется лишь на начальных стадиях разработки алгоритма.

Приведем пример словесной формы описания алгоритма.

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

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

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

Основные свойства и способы представления алгоритма

165

__________________________________________________________________________________

Таблица 1

 

 

 

 

 

 

 

 

Процесс

 

b

a

Решение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,15a

 

 

 

 

Предопреде-

 

 

 

 

 

 

 

ленный

 

 

 

a

 

процесс

 

 

 

Ввод-вывод

(подпро-

 

 

 

 

 

 

 

грамма)

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Линии

 

 

Модифика-

потока

 

 

ция

 

R=0,25a

 

 

 

 

 

 

Начало-

 

 

 

0,5a Комментарии

конец

 

 

 

 

 

 

 

 

 

 

 

 

b

Внутри-

 

0,5a

Межстранич-

страничный

 

 

 

 

ный соедини-

соединитель

 

 

 

 

тель

 

 

 

 

a

 

b

 

a

b

0,25a

 

 

a

 

a

 

b

 

a

 

5

0,5a

0,5a

0,2a

Примечание. Значение a принимается из ряда чисел 10; 15; 20… мм; b = 1,5 а.

166 Основные свойства и способы представления алгоритма

__________________________________________________________________________________

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

Рассмотрим блок-схему алгоритма решения квадратного уравнения ax2 + bx + c = 0.

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

ds d

 

 

 

 

 

 

a,b,c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b ds

 

 

 

 

 

 

 

 

 

 

 

 

d = b2

 

 

 

Вычисление

 

x1

 

4ac

 

 

 

x1

 

 

 

 

 

2a

 

 

 

 

 

 

 

 

 

 

 

 

b ds

d 0 ?

 

да

 

Вычисление

 

x2

 

 

 

 

 

 

 

x2

 

 

 

 

 

2a

 

нет

 

 

 

 

 

 

 

 

 

 

Вывод:

 

 

Вывод

 

 

 

 

 

 

«Корней

 

 

 

 

 

 

 

 

 

 

x1 и x2

 

 

 

 

 

 

нет»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

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

Алгоритм, записанный на каком-либо языке программирования, назы-

вается программой.

Базовые структуры программирования

167

__________________________________________________________________________________

5.4.3. Базовые структуры программирования

Алгоритм любой сложности может быть представлен комбинацией трех базовых структур:

следование;

разветвление (альтернатива, если — то — иначе);

цикл (повторение).

Характерной особенностью этих структур является наличие у них одного входа и одного выхода.

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

Под оператором понимается формальная запись предписания для выполнения некоторой последовательности действий.

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

Возможные пути выполнения алгоритма помечают метками: истина - ложь, да - нет, 1 - 0 и т. д.

В частном случае может оказаться, что для одного из выбранных путей действий предпринимать не нужно. Такая структура получила название «обход» или структура «если — то».

 

Вход

 

Вход

 

да

Пров.

нет

да

Пров.

нет

 

услов.

 

 

услов.

 

Оператор 1

Оператор 2

Оператор

 

 

Выход

 

Выход

 

Структура Если — То —

Структура Если — То (об-

Иначе

 

 

ход)

 

 

168 Базовые структуры программирования

__________________________________________________________________________________

Алгоритм, в состав которого входит базовая структура «разветвление», называется разветвляющимся. Если в алгоритме имеется три и более направления ветвления, то его можно представить в виде совокупности нескольких базовых структур «если — то — иначе». Такую разновидность структуры «разветвление» часто называют «множественный выбор».

Третья базовая структура «цикл» обеспечивает многократное выполнение одних и тех же операторов. Группа операторов, повторяющаяся в цикле, называется телом цикла. Различают две разновидности этой структуры: «цикл — пока» и «цикл — до».

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

В «цикле пока» операторы тела цикла выполняются до тех пор, ПОКА справедливы (истинны) условия. В «цикле до» тело цикла выполняется ДО тех пор, пока справедливы заданные условия.

Вход

 

Вход

Пров.

нет

 

Тело

услов.

 

 

цикла

да

 

 

 

 

 

Тело

 

да

Пров.

цикла

 

 

 

 

 

 

услов.

 

Выход

 

нет

 

 

Выход

Цикл — Пока

 

Цикл — До

Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными циклами. Алгоритмы, имеющие в своём составе базовую структуру «цикл», называются циклическими.

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

Текстовые редакторы

169

__________________________________________________________________________________

6.Прикладное программное обеспечение

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

6.1.Текстовые редакторы

Иногда слова, напечатанные курсивом, много несправедливее тех, которые напечатаны прямым шрифтом.

К. Прутков

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

Текстовые редакторы (ТР) позволяют:

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

просматривать и корректировать (редактировать) существующие документы;

разделять имеющийся документ на части и, наоборот, объединять несколько документов в один;

изменять масштаб изображения редактируемого документа;

производить поиск и замену имеющихся цепочек символов;

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

выполнять несложные вычисления непосредственно в тексте;

разбивать текст на страницы нужной длины и автоматически нумеровать их;

работать сразу с несколькими документами (многооконный ре-

жим);

170 Текстовые редакторы

__________________________________________________________________________________

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

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

реализовать обтекание текста вокруг вставленного объекта;

использовать имеющиеся стили;

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

одно их перечисление может занять недопустимо большой объем публикации.

Редактор Microsoft Word for Windows (MS Word) использует принци-

пы, заложенные в операционную систему MS Windows, например, механизм связывания и встраивания объектов — OLE.

Для издания книг и других типографских материалов используются издательские системы Adobe Page Maker, QuarkXPress и Adobe

FrameMaker.

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

Современные ТР имеют возможность отменить выполнение некоторого числа ошибочно сделанных операций (такой режим называется откатом).

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

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

ТР помогают сортировать слова по алфавиту, например,

До сортировки

После сортировки

Воронов

Андреев

Галкина

Борисов

Борисов

Воронов

Андреев

Галкина

ТР может автоматически подсчитывать число символов, слов, строк, абзацев в документе (вести статистику).

Редакторы обладают искусственным интеллектом: они способны дописывать некоторые слова, например, понедельник, вторник, январь, февраль и т. д. Кроме того, редакторы «умеют» делать расстановку переносов, проверять правописание и подсказывать, как правильно писать то или иное слово,