Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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




Система программирования - это инструментальное ПО, предназначенное для поддержки разработки программных систем на этапах программирования и отладки. Каждая система программирования должна иметь некоторый встроенный в нее язык, предназначенный для общения с человеком - разработчиком программной системы. Такие языки называются языками программирования.

Виды языков программирования. Выделяют машиннозависимые и машиннонезависимые языки программирования. Написанная на машиннозависимом языке программа способна функционировать лишь на ЭВМ одного типа, либо на ЭВМ из достаточно узкого класса. Написанная на машиннонезависимом языке программа способна функционировать на ЭВМ различных типов из достаточно широкого класса.

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

Выделяют универсальные и специализированные языки программирования. Универсальные служат для описания широкого класса систем, специализированные - систем из некоторого узкого класса.

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

Наиболее популярные языки программирования. Наиболее популярными универсальными языками программирования высокого уровня в настоящее время являются Visual Basic (VB - язык программирования сверхвысокого уровня), Java, C++, C#, Object Pascal. Из специализированных можно выделить: языки описания сценариев - Visual Basic for Application (VBA - язык программирования сверхвысокого уровня), Perl, 3D Studio Max (язык программирования сверхвысокого уровня); языки описания WWW-сайтов Internet - XML, HTML, Visual Basic Script (VBS), Java Script (JS); языки управления базами данных - SQL, QBE (язык программирования сверхвысокого уровня), Fox Pro и др.

Наиболее популярные системы программирования - это разработанные фирмами Microsoft (MS) и Inprise (Borland - старое название этой фирмы) системы:

- на основе языка VB - система программирования VB (разработка MS);

- на основе языка Java - системы программирования Visual Java (VJ - разработка MS), Java Builder (JB - разработка Inprise);

- на основе языков С++ и С# - системы программирования Visual С++, Visual С# (VС++, VC# - разработка MS), С++ Builder (СB - разработка Inprise);

- на основе языка Fox Pro - система управления базами данных (СУБД) Visual Fox Pro (VFP - разработка MS);

- на основе языка Object Pascal - системы программирования Delphi (разработка Inprise для Windows), Kylix (разработка Inprise для Linux).

Microsoft Visual Studio (VS) - это разработанный Microsoft пакет инструментальных программ, включающий CASE-систему VM, системы программирования VB, VJ, VC++, VC#, VFP, различные вспомогательные средства для разработки ПО. Последняя Net-версия VS вышла в 2003 году. Она содержит Net-версии указанных выше систем программирования и моделирования, кроме VJ.

Языки кодовых команд физического и виртуального процессоров. Изученный нами ранее раздел "Теория кодирования" дает ясное представление о языке кодовых команд физического процессора, который представляет собой техническое устройство в составе ЭВМ. Если файл содержит программу на языке кодовых команд процессора, то эти команды могут непосредственно из файла подаваться на процессор для выполнения, причем скорость выполнения такой программы максимальна. Однако физические процессоры различных типов могут иметь различные языки кодовых команд, а значит, кодовая программа, пригодная для одной ЭВМ, может быть не пригодна для другой. Особенно актуальна эта проблема сейчас вследствие широкого распространения компьютерных сетей, объединяющих ресурсы ЭВМ различных типов, в частности мировой глобальной сети Internet. Чтобы эту проблему решить, используют так называемые виртуальные процессоры.

Виртуальный процессор - это выполняемая физическим процессором программа, которая переводит набор в некотором смысле общепринятых кодовых команд в эквивалентный набор кодовых команд данного физического процессора и немедленно отдает их последнему для выполнения. Таким образом, мы имеем единый общепринятый входной язык команд виртуального (т. е. воображаемого) процессора, причем программы на этом языке могут выполняться на любой ЭВМ. Для этого необходимо для различных типов физических процессоров иметь различные программы-переводчики (виртуальные процессоры), поскольку выходные языки последних - это различные языки команд соответствующих физических процессоров. При этом, естественно, виртуальный процессор работает медленнее физического. В настоящее время наиболее известны 2 различных входных языка кодовых команд виртуальных процессоров, это так называемые пи-код и байт-код. Пи-код лежит в основе сетевой технологии DCOM, разработанной фирмой Microsoft. Байт-код лежит в основе сетевой Java-технологии, разработанной фирмой Sun. ОС семейства Windows до последнего времени поддерживали обе технологии, имея в своем составе виртуальные процессоры, называемые интерпретаторами пи-кода и байт-кода. Виртуальный процессор байт-кода называют также виртуальной Java-машиной (Virtual Java Machine - VJM).

В ОС Windows XP и в Internet Explorer версии 6 Microsoft отказалась от поддержки Java-технологий. В настоящее время путем расширения языка пи-кода и технологии DCOM фирмой Microsoft разработаны и широко используются в Net-версии VS, в Windows XP и в Internet Explorer версии 6 язык Common Language Runtime (CLR) и технология Net соответственно. Главный конкурент Net-технологии - это Jini-технология фирмы Sun, разработанная на основе Java-технологий. В связи с вышесказанным Java и Jini-технологии могут использоваться программистами более или менее широко лишь в ОС семейства Linux, а это работа лишь на 10% пользователей!

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

1. исполняемые файлы;

2. динамические библиотеки;

3. ActiveX-элементы;

4. Java-апплеты.

Исполняемый файл содержит программу на языке кодовых команд физического процессора, эта программа может запускаться на выполнение из среды операционной системы пользователем ЭВМ. В операционных системах семейства Windows такие файлы имеют расширения EXE или COM.

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

ActiveX-элемент или элемент управления - это файл, содержащий пи-код и предназначенный для работы в компьютерных сетях, поддерживающих технологию DCOM. Такой элемент может выполняться на ЭВМ с виртуальным процессором пи-кода. Отсюда широкое применение этих элементов в сети Internet: в частности их используют как динамические элементы WWW-страниц. ActiveX-элементы также используются аналогично динамическим библиотекам. В операционных системах семейства Windows такие файлы обычно имеют расширения OCX, ZIP, CAB. В случае расширений ZIP и CAB файлы ActiveX-элементов находятся в упакованном (сжатом) состоянии для облегчения их пересылки по сети. При этом распаковка кода происходит "на лету" непосредственно в процессе его выполнения.

Java-апплет - это файл, содержащий байт-код. Такой элемент может выполняться на любой ЭВМ, где есть виртуальный процессор байт-кода, т. е. виртуальная Java-машина (Virtual Java Machine - VJM). Отсюда широкое применение этих элементов в сети Internet: в частности, их используют как динамические элементы WWW-страниц аналогично ActiveX-элементам. В операционных системах семейства Windows такие файлы обычно имеют расширение CLASS. Java-апплеты могут создаваться только основанными на языке Java системами программирования (VJ, JB и т. п.).

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

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

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

Пример исходного проекта для языка и системы программирования сверхвысокого уровня Visual Basic (VB). Рисунок 3.11 показывает пример работы простейшего Windows-приложения Hello2 (назовем так наш проект). На экране появляется специальное окно (дадим ему имя Form1). На окне имеется надпись "Как Вас зовут?" (дадим ей имя Label1). В специальное поле (дадим ему имя Text1) пользователь может впечатать свое имя, например, "Марина". После щелчка по кнопке OK (дадим ей имя Command1) на другой надписи (дадим ей имя Label2) появляется приветствие, в нашем случае это "Привет,Марина!" После щелчка по кнопке "Выход" (дадим ей имя Command2) окно скрывается с экрана, и Windows-приложение Hello2 завершает свою работу.

После запуска VB мы попадаем в среду, обладающую функциями и графического и текстового редактора (Рисунок 3.12), где мы рисуем окно Form1 c 5 объектами в нем: Label1; Label2; Text1; Command1; Command2 - всего у нас 6 объектов. Кроме того, мы пишем приведенные ниже два текста процедур (т. е. вспомогательных программ).

 

Sub Command1_Click

   Label2.Caption = "Привет," + Text1.Text + "!"

End Sub

 

Sub Command2_Click

   End

End Sub

 

Рисунок 3.11. Работа Windows-приложения Hello2

Всякая процедура языка Visual Basic имеет следующую структуру:

 

Sub ИмяПроцедуры (ОписаниеПараметров)

   КомандыПроцедуры

End Sub

Процедуры Command1_Click и Command2_Click соответственно содержат команды, которые должны выполняться при щелчке мышью по кнопкам Command1 (ОК) и Command2 (Выход). При щелчке по кнопке ОК команда (Label2.Caption = "Привет," + Text1.Text + "!") присваивает свойству Caption (надпись) объекта Label2 в нашем случае строку "Привет,Марина!" - результат операции конкатенации строки "Привет," с атрибутом Text объекта Text1 (в нашем случае это "Марина") и с односимвольной строкой "!" При щелчке по кнопке "Выход" будет выполнена команда End, означающая завершение всей нашей программы.

 

Рисунок 3.12. Работа с проектом Hello2 в среде системы программирования Visual Basic

Исходный проект представляет собой папку Hello2 с файлами Form1.frm (содержит описание внешнего вида окна, всех объектов на нем, а также их поведения - процедур Command1_Click и Command2_Click) и Hello2.vbp (интегрирующий файл проекта). Здесь были приведены взятые по умолчанию системой программирования VB имена объектов и файлов, в принципе мы могли бы дать им и другие имена.

Основными функциями универсальных систем программирования являются:

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

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

3. Отладка - это дополнительные функции, облегчающие поиск семантических ошибок: пошаговое выполнение программы; выделение точек прерывания выполнения программы и т. п.

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

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

Так, программа "1С Бухгалтерия" должна после приобретения настраиваться под конкретную организацию, поскольку бухгалтерия в вузе, в магазине, на заводе не одинакова. Этим занимаются настройщики программы "1С Бухгалтерия", которые знают встроенный в нее язык сценарного программирования.

Microsoft почти во все свои программы (в том числе в программы пакета Microsoft Office: Excel, Word, Access и др.) встраивает язык сценарного программирования VBA. Работа пользователя, например, в Excel происходит путем последовательного вызова имеющихся в этой среде функций при помощи систем меню, пиктограмм и т. п.

Таблица 3.2. Расчет подоходного налога

ФИО КолИжд Доходы СоцВып ПодНал
Иванова И.П. 2 15000 5000 1124.5
Сидоров А.В. 25 1500 1000 0
Петрова Е.А. 0 25000 5000 2541.5
Кузнецов М.И. 1 10000 0 1183
Токарев К.А. 0 6450 0 780

Предположим, что пользователю при работе в Excel приходится многократно повторять довольно сложные действия, в которых видна некоторая закономерность. Пользователь может описать на языке VBA сценарий своих действий, написав так называемый макрос. Макрос затем можно запустить, при этом автоматически выполнятся все действия запрограммированного сценария. Тем самым в Excel фактически будет добавлена новая функция. На VBA можно даже написать макрос, который будет описывать сценарий работы с несколькими Windows-приложениями, например, такой макрос найдет и возьмет часть таблицы из Word, перенесет ее в Excel и сделает необходимые расчеты, а затем полученные данные запишет в базу данных Access, а часть из них в качестве WWW-страницы выведет для просмотра в Internet Explorer и т. п.

Пример сценарного программирования в Excel. Таблица 3.2 дает расчет подоходного налога, как это делают сейчас в бухгалтерии. Он зависит от полученных доходов, от входящих в них социальных выплат (они налогом не облагаются) и от количества иждивенцев (один МРОТ в любом случае не облагается налогом, а за каждого иждивенца не облагается налогом еще один МРОТ дополнительно).

Excel не имеет встроенной функции расчета подоходного налога в РФ, однако с помощью VBA можно создать такую пользовательскую функцию. Для этого нужно в среде Excel выбрать следующие пункты многоуровневого меню: Сервис, Макрос, Редактор Visual Basic. Затем в среде редактора Visual Basic нужно создать модуль (лист для программирования) при его отсутствии. Для этого нужно выбрать следующие пункты многоуровневого меню: Insert, Module. Затем на листе для программирования нужно напечатать следующее:

 

Function ПодНал (Доходы, СоцВып, КолИжд)

Dim СумОсвНал, СумОблНал, МРОТ

МРОТ = 450

СумОсвНал = СоцВып + (КолИжд + 1) * МРОТ

If СумОсвНал > Доходы Then

   ПодНал = 0

Else

   СумОблНал = Доходы - СумОсвНал

   ПодНал = СумОблНал * 13 / 100

End If

End Function

 

При этом мы используем следующие шаблоны VB и VBA:

 

Шаблон функции:

Function ИмяФункции (ОписаниеПараметров)

   КомандыФункции

End Function

Шаблон создания вспомогательных величин:

Dim СписокВспомогательныхВеличин

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

Шаблон присваивания:

Переменная = Выражение

Шаблон ветвления If:

If Условие Then

СерияКоманд1

Else

СерияКоманд2

End If

Прикладное ПО

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

Во-первых, прикладное ПО (ППО) принято подразделять на ППО общего назначения (программы, которые использует широкий класс пользователей, независимый от их профессиональной принадлежности: Word, Excel, Power Point и т. п.) и ППО специального назначения (программы, которые использует в основном узкий класс специалистов определенной профессиональной принадлежности: 1С Бухгалтерия, 1С Предприятие, Консультант Плюс и т. п.).

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

Мы остановимся на втором варианте классификации ППО. Заметим также, что ниже мы будем рассматривать лишь ППО для ОС семейства Windows, поскольку, как было сказано выше, оно и повсеместно распространенное, и самое богатое прикладными программами.










Последнее изменение этой страницы: 2018-04-12; просмотров: 726.

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