Реферат по предмету "Информатика, программирование"


Сущность и особенности использования инструментального программного обеспечения

/>Реферат
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — совокупность программ системы обработки информации и программных документов,необходимых для эксплуатации этих программ (ГОСТ 19781-90). Также —совокупность программ, процедур и правил, а также документации, относящихся кфункционированию системы обработки данных (СТ ИСО 2382/1-84).
ИНСТРУМЕНТАЛЬНОЕПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ – программное обеспечение, предназначенное дляиспользования в ходе проектирования, разработки и сопровождения программ.Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладногои системного программного обеспечения.
КОМПИЛЯТОР – транслятор, выполняющий преобразование программы,составленной на исходном языке, в объектный модуль.
ИНТЕРПРЕТАТОР – программа(иногда аппаратное средство), анализирующая команды или операторы программы итут же выполняющая их.
ОПЕРАЦИОННАЯ СИСТЕМА — комплекс управляющих и обрабатывающих программ, которые, с одной стороны,выступают как интерфейс между устройствами вычислительной системы и прикладнымипрограммами, а с другой — предназначены для управления устройствами,управления вычислительными процессами, эффективного распределения вычислительныхресурсов между вычислительными процессами и организации надёжных вычислений.
ПРИКЛАДНАЯ ПРОГРАММА — программа,предназначенная для выполнения определенных пользовательских задач ирассчитанная на непосредственное взаимодействие с пользователем.
VISUAL BASIC — средство разработки программного обеспечения,разрабатываемое корпорацией Microsoft и включающее язык программирования и средуразработки.
VISUAL BASIC FOR APPLICATION — немного упрощённая реализация языкапрограммирования Visual Basic, встроенная в линейку продуктов Microsoft Office(включая версии для Mac OS), а также во многие другие программные пакеты, такиекак AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS.
Цель работы –исследование видов, функций программного обеспечения, в частности,инструментального.
Классификацияпрограммного обеспечения:
a) Прикладныепрограммы, непосредственно обеспечивающие выполнение необходимых пользователямработ;
b) системныепрограммы, предназначены для управления работой вычислительной системы,выполняют различные вспомогательные функции, например:
c) инструментальныепрограммные системы, облегчающие процесс создания новых программ длякомпьютера./>/>/>/>/>/>/>/>/>Виды инструментального программного обеспечения:
1) Текстовыередакторы
2) Интегрированныесреды разработки
3) SDK
4) Компиляторы
5) Интерпретаторы
6) Линковщики
7) Парсеры и генераторыпарсеров (см. Javacc)
8) Ассемблеры
9) Отладчики
10) Профилировщики
11) Генераторыдокументации
12) Средства анализа покрытиякода
13) Средства непрерывнойинтеграции
14) Средстваавтоматизированного тестирования
15) Системыуправления версиями и др.
Для созданияпрограммы на выбранном языке программирования нужно иметь следующие компоненты:
1. Текстовыйредактор для создания файла с исходным текстом программы.
2. Компиляторили интерпретатор. Исходный текст с помощью программы-компилятора переводится впромежуточный объектный код.
3. Редакторсвязей или сборщик, который выполняет связывание объектных модулей и формируетна выходе работоспособное приложение — исполнимый код.
Результат работы: Рассмотренопрограммное обеспечение, его функции и виды, в частности инструментальноепрограммное обеспечение, его сущность, задачи. В третьей главе рассмотрен MicrosoftVisual Basic как средство разработки программного обеспечения и егодиалект — Microsoft Visual Basic for Application. Вкурсовой работе реализован алгоритм решения финансово-экономической задачи сиспользованием языка программирования Pascal.
Введение
В современном мире уже неодин человек, попробовавший блага цивилизации, не может представить свою жизньбез использования компьютерной техники. Ее использование происходит в любойсфере человеческой жизнедеятельности: производстве, торговле, обучении, развлечениии общении людей, их научной и культурной деятельности. Все это благодарявозможности подбора компьютерной техники для решения любой, даже самой сложнойзадачи.
Однако и универсальностьи специализированность компьютерной техники обеспечивается использованием набазе практически любой ЭВМ различного набора программного обеспечения,обеспечивающих решение любых поставленных задач.
Все мы видим огромноемногообразие компьютерных программ и ошеломляющие темпы их роста исовершенствования, и лишь малая часть из нас представляет невидимую сторону поих проектированию, разработке и созданию. Однако данная сфера компьютерныхтехнологий является на наш взгляд наиболее важной, так как именно от ееразвития будет зависеть бедующее компьютерных технологий.
А так как разработкалюбой компьютерной программы происходит с использованием Инструментальногопрограммного обеспечения, то в нашей курсовой работе хотелось бы подробноостановиться именно на нем, выделив его из всего программного обеспечения ираскрыв его сущность и особенности.
Для наглядности мырассмотрим инструментальное программное обеспечение (объект исследования) напримере программного комплекса Visual Basic for Application (предмет исследования), применяемогодля программирования в среде Microsoft Office – самогораспространенного и популярного офисного пакета.
1.  Программное обеспечение1.1 Понятие и сущность программногообеспечения
Программноеобеспечение (ПО) – неотъемлемая часть компьютерной системы. Оно являетсялогическим продолжением технических средств любого компьютера. Сфера примененияконкретного компьютера определяется созданным для него ПО. Сам по себекомпьютер не обладает знаниями ни в одной области применения. Все эти знаниясосредоточены в выполняемых на компьютерах программах, которые имеют наборопределенных функциональных возможностей и предназначены для выполнения конкретных,в большинстве случаев, узкоспециализированных функций, таких например каксоздание и обработка графических изображений или звуковых файлов.
Программноеобеспечение в настоящее время составляет сотни тысяч программ, которыепредназначены для обработки самой разнообразной информации с самыми различнымицелями.
К программному обеспечению (ПО) относится также вся областьдеятельности по проектированию и разработке ПО:
1) технологияпроектирования программ (например, нисходящее проектирование, структурное иобъектно-ориентированное проектирование);
2) методытестирования программ;
3) методыдоказательства правильности программ;
4) анализ качестваработы программ;
5) документированиепрограмм;
6) разработка ииспользование программных средств, облегчающих процесс проектированияпрограммного обеспечения, и многое другое.
Существует множество различныхопределений ПО. Вообще, программное обеспечение — совокупность программ системыобработки информации и программных документов, необходимых для эксплуатацииэтих программ (ГОСТ 19781-90). Также — совокупность программ, процедур и правил,а также документации, относящихся к функционированию системы обработки данных(СТ ИСО 2382/1-84).
Программноеобеспечение является одним из видов обеспечения вычислительной системы, нарядус техническим (аппаратным), математическим, информационным, лингвистическим,организационным и методическим обеспечением.
В компьютерномсленге часто используется слово софт от английского слова software, которое вэтом смысле впервые применил в статье в American Mathematical Monthly математикиз Принстонского университета Джон Тьюки (англ. John W. Tukey) в 1958 году.
Другие определения:
1) ПРОГРАММНОЕОБЕСПЕЧЕНИЕ — это совокупность программ, позволяющих осуществить на компьютереавтоматизированную обработку информации.
2) ПРОГРАММНОЕОБЕСПЕЧЕНИЕ (математическое обеспечениеэлектронной вычислительной машины), совокупность программ системы обработкиданных и программныхдокументов, необходимых для реализации программ на электронной вычислительноймашине.
3) ПРОГРАММНОЕОБЕСПЕЧЕНИЕ — совокупность программ для управления процессом работы компьютера,автоматизации программирования.
4) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — комплекс компьютерных программ,обеспечивающий обработку или передачу данных.
Все определения похожи иотражают суть программного обеспечения – организация взаимодействия аппаратной(технической) части, в виде различных встроенных узлов и периферических устройств,их контроль и координация общего взаимодействия компьютерной системы междусобою и с пользователем.
1.2 Функции программногообеспечения
Приведенные выше понятияпрограммного обеспечения обуславливают функции, выполняемые программнымобеспечением в процессе функционирования компьютерной техники. Перечень данныхфункций весьма разнообразен, но условно их можно разбить на следующие пятьтипов:
1.Аппаратно-механические. Осуществляют сопряжение различных компонентовкомпьютера, обеспечивают передачу аппаратного сигнала от одного компонента кдругому.
2. Машинно-Логические.Обрабатывают и интерпретируют набор электромагнитных импульсов аппаратногообеспечения в логически осознанный программный код, обладающий определеннойструктурой и свойствами.
3. Информационно-командные.Осуществляют проверку соответствия программного кода принципам системы и созданиелогической структуры информации и осуществляют его исполнение.
4. Интерфейсные.Обеспечивают обработку и интерпретацию программного кода в формат отображениядоступный для восприятия пользователем. Создает благоприятную среду длявзаимодействия «Компьютер-Человек, Человек-Компьютер».
5. Прикладные.Осуществляет математические, логические, физические и другие действия с наборомимеющихся данных, другими словами обработку имеющейся информации для решенияопределенных задач.
Данный перечень являетсядалеко не исчерпывающим, что говорит о многообразии и неоднозначности функций,выполняемых программным обеспечением.
1.3 Виды программногообеспечения
В зависимости от функций,обеспечиваемым определенным компонентом компьютера, возникает необходимостьсоздания для него своего специализированного программного обеспечения, что иявляется основополагающим мотивом создания программного обеспечения различныхвидов, приведенных на (рис.1):
/>
Виды ПО:
a) Прикладныепрограммы, непосредственно обеспечивающие выполнение необходимых пользователямработ;
b) системныепрограммы, предназначены для управления работой вычислительной системы,выполняют различные вспомогательные функции, например:
1) управлениересурсами компьютера;
2) создание копийиспользуемой информации;
3) проверкаработоспособности устройств компьютера;
4) выдача справочнойинформации о компьютере и др.;
c) инструментальныепрограммные системы, облегчающие процесс создания новых программ длякомпьютера.
Системное программноеобеспечение обеспечивает функционирование и обслуживание компьютера, а такжеавтоматизацию процесса создания новых программ. К системному программномуобеспечению относятся: операционные системы и их пользовательский интерфейс;инструментальные программные средства; системы технического обслуживания.
Операционная система —обязательная часть специального программного обеспечения, обеспечивающаяэффективное функционирование персонального компьютера в различных режимах,организующая выполнение программ и взаимодействие пользователя и внешнихустройств с ЭВМ.
Пользовательскийинтерфейс (сервисные программы) — это программные надстройки операционнойсистемы (оболочки и среды), предназначенные для упрощения общения пользователяс операционной системой.
Программы, обеспечивающиеинтерфейс, сохраняют форму общения (диалог) пользователя с операционнойсистемой, но изменяют язык общения (обычно язык команд преобразуется в языкменю). Сервисные системы условно можно разделить на интерфейсные системы,оболочки операционных систем и утилиты.
Интерфейсные системы —это мощные сервисные системы, чаще всего графического типа, совершенствующие нетолько пользовательский, но и программный интерфейс операционных систем, вчастности, реализующие некоторые дополнительные процедуры разделениядополнительных ресурсов.
Оболочки операционныхсистем предоставляют пользователю качественно новый по сравнению с реализуемымоперационной системой интерфейс и делают необязательным знание последнего.
Утилиты автоматизируютвыполнение отдельных типовых, часто используемых процедур, реализация которыхпотребовала бы от пользователя разработки специальных программ. Многие утилитыимеют развитый диалоговый интерфейс с пользователем и приближаются по уровнюобщения к оболочкам.
Инструментальныепрограммные средства (системы программирования) — обязательная частьпрограммного обеспечения, с использованием которой создаются программы.Инструментальные программные средства включают в свой состав средства написанияпрограмм (текстовые редакторы); средства преобразования программ в вид,пригодный для выполнения на компьютере (ассемблеры, компиляторы,интерпретаторы, загрузчики и редакторы связей), средства контроля и отладкипрограмм.
Текстовые редакторыпозволяют удобно редактировать, формировать и объединять тексты программ, анекоторые — и контролировать синтаксис создаваемых программ.
Программа, написанная наалгоритмическом языке, должна быть преобразована в объектный модуль, записанныйна машинном языке (в двоичных кодах). Подобное преобразование выполняетсятрансляторами (ассемблером — с языка Assembler и компиляторами — с языковвысокого уровня). Для некоторых алгоритмических языков используются интерпретаторы,не создающие объектный модуль, а при каждом очередном выполнении программы,переводящие каждую ее отдельную строку или оператор на машинный язык. Объектныймодуль обрабатывается загрузчиком — редактором связей, преобразующие его висполняемую машинную программу.
Средства отладкипозволяют выполнять трассировку программ (пошаговое выполнение с выдачейинформации о результатах исполнения), производить проверку синтаксиса программыи промежуточных результатов в точках останова, осуществлять модификацию значенийпеременных в этих точках.
Системы технического исервисного обслуживания представляют собой программные средства контроля,диагностики и восстановления работоспособности компьютера, дисков и т. д.
Прикладное программноеобеспечение обеспечивает решение пользовательских задач. Ключевым понятиемздесь является пакет прикладных программ.
Пакет прикладных программ— это совокупность программ для решения круга задач по определенной тематикеили предмету. Различают следующие типы пакетов прикладных программ:
1) общего назначения— ориентированы на автоматизацию широкого круга задач пользователя (текстовыепроцессоры, табличные редакторы, системы управления базами данных, графическиепроцессоры, издательские системы, системы автоматизации проектирования и т.д.);
2)  методо-ориентированные — реализацияразнообразных экономико-математических методов решения задач (математическогопрограммирования, сетевого планирования и управления, теории массовогообслуживания, математической статистики и т. д.);
3)  проблемно-ориентированные —направлены на решение определенной задачи (проблемы) в конкретной предметнойобласти (банковские пакеты, пакеты бухгалтерского учета, финансовогоменеджмента, правовых справочных систем и т. д.).
К прикладномупрограммному обеспечению относятся сервисные программные средства, которыеслужат для организации удобной рабочей среды пользователя, а также длявыполнения вспомогательных функций (информационные менеджеры, переводчики и т.д.).
Припостроении классификации ПО нужно учитывать тот факт, что стремительноеразвитие вычислительной техники и расширение сферы приложения компьютеров резкоускорили процесс эволюции программного обеспечения. Если раньше можно былолегко перечислить основные категории ПО — операционные системы, трансляторы,пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.Развитие ПО пошло как вглубь (появились новые подходы к построению операционныхсистем, языков программирования и т.д.), так и вширь (прикладные программыперестали быть прикладными и приобрели самостоятельную ценность). Соотношениемежду требующимися программными продуктами и имеющимися на рынке меняется оченьбыстро. Даже классические программные продукты, такие, как операционныесистемы, непрерывно развиваются и наделяются интеллектуальными функциями,многие из которых ранее относились только к интеллектуальным возможностямчеловека.
2.  Инструментальное программноеобеспечение2.1 Сущность и понятие инструментальногопрограммного обеспечения
Инструментальноепрограммное обеспечение (ИПО) — программное обеспечение, предназначенное для использования в ходе проектирования,разработки и сопровождения программ.
Применяетсяинструментальное обеспечение в фазе разработки. Инструментальное программноеобеспечение — это совокупность программ, используемых для помощи программистамв их работе, для помощи руководителям разработки программного обеспечения в ихстремлении проконтролировать процесс разработки и получаемую продукцию. Наиболееизвестными представителями этой части программного обеспечения являютсяпрограммы трансляторов с языков программирования, которые помогаютпрограммистам писать машинные команды. Инструментальными программами являютсятрансляторы с языков Фортран, Кобол, Джо-виал, Бейсик, АПЛ и Паскаль. Ониоблегчают процесс создания новых рабочих программ. Однако трансляторы с языковэто только наиболее известная часть инструментальных программ; существует же ихвеликое множество.
Использованиевычислительных машин для помощи в создании новых программ далеко не очевиднодля людей, не являющихся профессиональными программистами. Часто же бывает так,что профессионалы рассказывают об инструментальном (фаза разработки) исистемном (фаза использования) программном обеспечении на едином дыхании, предполагая,что не посвященному в тайны их мастерства известно об этой ролиинструментального программного обеспечения. Так же как и в фазе использования(для прикладных программ), системное обеспечение работает и в фазе разработки,но только совместно с инструментальным обеспечением.        Инструментальное ПОили системы программирования — это системы для автоматизации разработки новыхпрограмм на языке программирования.
В самом общемслучае для создания программы на выбранном языке программирования (языкесистемного программирования) нужно иметь следующие компоненты:
1. Текстовыйредактор для создания файла с исходным текстом программы.
2. Компиляторили интерпретатор. Исходный текст с помощью программы-компилятора переводится впромежуточный объектный код. Исходный текст большой программы состоит изнескольких модулей (файлов с исходными текстами). Каждый модуль компилируется вотдельный файл с объектным кодом, которые затем надо объединить в одно целое.
3. Редакторсвязей или сборщик, который выполняет связывание объектных модулей и формируетна выходе работоспособное приложение — исполнимый код.
Исполнимыйкод — это законченная программа, которую можно запустить на любом компьютере,где установлена операционная система, для которой эта программа создавалась.Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ.
В последнеевремя получили распространение визуальный методы программирования (с помощьюязыков описания сценариев), ориентированные на создание Windows-приложений.Этот процесс автоматизирован в средах быстрого проектирования. При этомиспользуются готовые визуальные компоненты, которые настраиваются с помощьюспециальных редакторов.
Наиболеепопулярные редакторы (системы программирования программ с использованиемвизуальных средств) визуального проектирования:
1) Borland Delphi — предназначен для решения практически любых задачи прикладного программирования.
2) Borland C++Builder — это отличное средство для разработки DOS и Windows приложений.
3) Microsoft VisualBasic — это популярный инструмент для создания Windows-программ.
4) Microsoft VisualC++ — это средство позволяет разрабатывать любые приложения, выполняющиеся всреде ОС типа Microsoft Windows
Таким образом,сущность инструментального программного обеспечения заключается в созданиилюбой исполняемой программы, путем преобразования формально логическихвыражений в исполняемый машинный код, а также его контроль и корректировка.2.2 Задачи и функцииинструментального программного обеспечения
Для инструментальногопрограммного обеспечения, как особой разновидности программного обеспечения,характерны общие и частные
функции, как и для всегопрограммного обеспечении в целом. Общие функции рассмотрены нами выше, аспециализированными функциями, присущими только данному типу программ,являются:
1. Создание текстаразрабатываемой программы с использованием специально установленных кодовыхслов (языка программирования), а также определенного набора символов и ихрасположения в созданном файле — синтаксис программы.
2. Перевод текстасоздаваемой программы в машинно-ориентированный код, доступный дляраспознавания ЭВМ. В случае значительного объема создаваемой программы, онаразбивается на отдельные модули и каждый из модулей переводится отдельно.
3. Соединение отдельныхмодулей в единый исполняемый код, с соблюдением необходимой структуры,обеспечение координации взаимодействия отдельных частей между собой.
4. Тестирование иконтроль созданной программы, выявление и устранение формальных, логических исинтаксических ошибок, проверка программ на наличие запрещенных кодов, а такжеоценка работоспособности и потенциала созданной программы.2.3 Виды инструментальногопрограммного обеспечения
Исходя из задач,поставленных перед инструментальным программным обеспечением, можно выделитьбольшое количество различных по назначению видов инструментального программногообеспечения:
1) Текстовыередакторы
2) Интегрированныесреды разработки
3) SDK
4) Компиляторы
5) Интерпретаторы
6) Линковщики
7) Парсеры и генераторыпарсеров (см. Javacc)
8) Ассемблеры
9) Отладчики
10) Профилировщики
11) Генераторыдокументации
12) Средства анализа покрытиякода
13) Средства непрерывнойинтеграции
14) Средстваавтоматизированного тестирования
15) Системыуправления версиями и др.
Следует отметить, чтооболочки для создания прикладных программ создаются также инструментальнымипрограммами и поэтому могут быть отнесены к прикладным программам. Рассмотримкратко назначения некоторых инструментальных программ. />
Текстовые редакторы.
Текстовыйредактор — компьютернаяпрограмма, предназначенная для обработки текстовых файлов, такой как создание ивнесение изменений./>/>/>/>/>/>Типытекстовых редакторов.
Условновыделяют два типа редакторов: потоковые текстовые редакторы и интерактивные./>/>/>/>/>/>/>1) Потоковые текстовые редакторы
Потоковыетекстовые редакторы представляют собой компьютерные программы, которыепредназначены для автоматизированной обработки входных текстовых данных,полученных из текстового файла, в соответствии с заранее заданными пользователямиправилами. Чаще всего правила представляют собой регулярные выражения, наспецифичном для данного конкретного текстового редактора диалекте. Примеромтакого текстового редактора может служить редактор Sed./>/>/>/>/>/>/>2) Интерактивные текстовые редакторы
Интерактивныетекстовые редакторы — это семейство компьютерных программ предназначенных длявнесения изменений в текстовый файл в интерактивном режиме. Такие программыпозволяют отображать текущее состояние текстовых данных в файле и производитьнад ними различные действия.
Частоинтерактивные текстовые редакторы содержат значительную дополнительнуюфункциональность, призванную автоматизировать часть действий по редактированию,или внести изменение в отображение текстовых данных, в зависимости от их семантики.Примером функциональности последнего рода может служить подсветка синтаксиса.
Текстовые редакторы предназначеныдля создания и редактирования текстовых документов. Наиболее распространеннымиявляются MS WORD, Лексикон. Основными функциями текстовых редакторов являются:
1) работа сфрагментами документа,
2) вставка объектовсозданных в других программах
3) разбивка текстадокумента на страницы
4) ввод иредактирование таблиц
5) ввод иредактирование формул
6) форматированиеабзаца
7) автоматическоесоздание списков
8) автоматическоесоздание оглавления.
Известны десяткитекстовых редакторов. Наиболее доступными являются NOTEPAD(блокнот), WORDPAD,WORD. Работа конкретного редактора текста определяется обычно функциями,назначение которых отражено в пунктах меню и в справочной системе.
Интегрированнаясреда разработки
Интегрированнаясреда разработки, ИСР—система программных средств, используемая программистами для разработки программногообеспечения (ПО). Обычно среда разработки включает в себя:
1) текстовый редактор
2) компилятор и/или интерпретатор
3) средстваавтоматизации сборки
4) отладчик.
Иногдасодержит также средства для интеграции с системами управления версиями иразнообразные инструменты для упрощения конструирования графического интерфейсапользователя. Многие современные среды разработки также включают браузерклассов, инспектор объектов и диаграмму иерархии классов — дляиспользования при объектно-ориентированной разработке ПО. Хотя, и существуютсреды разработки, предназначенные для нескольких языков программирования —такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или MicrosoftVisual Studio, обычно среда разработки предназначается для одного определённогоязыка программирования — как, например, Visual Basic, Delphi, Dev-C++.
Частныйслучай ИСР — среды визуальной разработки, которые включают в себявозможность визуального редактирования интерфейса программы./>/>/>/>/>/>/>SDK.
SDK (от англ. Software Development Kit) или «devkit» — комплект средств разработки,который позволяет специалистам по программному обеспечению создавать приложениядля определённого пакета программ, программного обеспечения базовых средствразработки, аппаратной платформы, компьютерной системы, видеоигровых консолей,операционных систем и прочих платформ.
Программист,как правило, получает SDK непосредственно от разработчика целевой технологииили системы. Часто SDK распространяется через Интернет. Многие SDKраспространяются бесплатно для того, чтобы поощрить разработчиков использоватьданную технологию или платформу.
ПоставщикиSDK иногда подменяют термин Software в словосочетании Software Development Kitна более точное слово. Например, «Microsoft» и «Apple» предоставляют DriverDevelopment Kits (DDK) для разработки драйверов устройств, а «PalmSource»называет свой инструментарий для разработки «PalmOS Development Kit (PDK)»./>/>/>/>/>/>/>Примеры SDK:
1) Adobe Flex
2) DirectX
3) Eclipse
4) iPhone SDK
5) Java DevelopmentKit
6) Opera Devices SDK
7) Source SDK
Компиляторы.
Компилятор —
1) Программа илитехническое средство, выполняющее компиляцию.
2) Машиннаяпрограмма, используемая для компиляции.
3) Транслятор,выполняющий преобразование программы, составленной на исходном языке, в объектныймодуль.
4) Программа,переводящая текст программы на языке высокого уровня в эквивалентную программуна машинном языке.
5) Программа,предназначенная для трансляции высокоуровневого языка в абсолютный код или,иногда, в язык ассемблера. Входной информацией для компилятора (исходный код)является описание алгоритма или программа на проблемно-ориентированном языке, ана выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированномязыке (объектный код).
Компиляция —
1) Трансляцияпрограммы на язык, близкий к машинному.
2) Трансляцияпрограммы, составленной на исходном языке, в объектный модуль. Осуществляется компилятором.
Компилировать — проводить трансляцию машиннойпрограммы с проблемно-ориентированного языка на машинно-ориентированный язык. />/>/>/>/>/>/>Виды компиляторов:
1) Векторизующий. Транслирует исходный код в машинныйкод компьютеров, оснащённых векторным процессором.
2) Гибкий. Составлен по модульному принципу,управляется таблицами и запрограммирован на языке высокого уровня илиреализован с помощью компилятора компиляторов.
3) Диалоговый.
4) Инкрементальный. Повторно транслирует фрагментыпрограммы и дополнения к ней без перекомпиляции всей программы.
5) Интерпретирующий(пошаговый).Последовательно выполняет независимую компиляцию каждого отдельного оператора(команды) исходной программы.
6) Компиляторкомпиляторов.Транслятор, воспринимающий формальное описание языка программирования игенерирующий компилятор для этого языка.
7) Отладочный. Устраняет отдельные виды синтаксическихошибок.
8) Резидентный. Постоянно находится в основнойпамяти и доступен для повторного использования многими задачами.
9) Самокомпилируемый. Написан на том же языке, с которогоосуществляется трансляция.
10) Универсальный. Основан на формальном описаниисинтаксиса и семантики входного языка. Составными частями такого компилятораявляются: ядро, синтаксический и семантический загрузчики./>/>/>/>/>/>/>Виды компиляции:
1) Пакетная. Компиляция нескольких исходныхмодулей в одном пункте задания.
2) Построчная.
3) Условная. Компиляция, при которойтранслируемый текст зависит от условий, заданных в исходной программе. Так, взависимости от значения некоторой константы, можно включать или выключатьтрансляцию части текста программы./>/>/>/>/>/>/>Структура компилятора.
Процесскомпиляции состоит из следующих этапов:
1) Лексическийанализ. На этом этапе последовательность символов исходного файла преобразуетсяв последовательность лексем.
2) Синтаксический(грамматический) анализ. Последовательность лексем преобразуется в дереворазбора.
3) Семантическийанализ. Дерево разбора обрабатывается с целью установления его семантики(смысла) — например, привязка идентификаторов к их декларациям, типам,проверка совместимости, определение типов выражений и т. д. Результатобычно называется «промежуточным представлением/кодом», и может бытьдополненным деревом разбора, новым деревом, абстрактным набором команд иличем-то ещё, удобным для дальнейшей обработки.
4) Оптимизация.Выполняется удаление излишних конструкций и упрощение кода с сохранением егосмысла. Оптимизация может быть на разных уровнях и этапах — например, надпромежуточным кодом или над конечным машинным кодом.
5) Генерациякода. Из промежуточного представления порождается код на целевом языке.
В конкретныхреализациях компиляторов эти этапы могут быть разделены или совмещены в том илиином виде./>/>/>/>/>/>/>Трансляция и компоновка.
Важнойисторической особенностью компилятора, отражённой в его названии (англ. compile — собирать вместе, составлять),являлось то, что он мог производить и компоновку (то есть содержал двечасти — транслятор и компоновщик). Это связано с тем, что раздельнаякомпиляция и компоновка как отдельная стадия сборки выделились значительнопозже появления компиляторов. В связи с этим, вместо термина «компилятор»иногда используют термин «транслятор» как его синоним: либо в старойлитературе, либо когда хотят подчеркнуть его способность переводить программу вмашинный код (и наоборот, используют термин «компилятор» для подчёркиванияспособности собирать из многих файлов один).
Интерпретаторы.
Интерпретатор (языка программирования) —
1) Программа илитехническое средство, выполняющее интерпретацию.
2) Вид транслятора,осуществляющего пооператорную (покомандную) обработку и выполнение исходнойпрограммы или запроса (в отличие от компилятора, транслирующего всю программубез её выполнения).
3) Программа (иногдааппаратное средство), анализирующая команды или операторы программы и тут жевыполняющая их.
4) Языковыйпроцессор, который построчно анализирует исходную программу и одновременновыполняет предписанные действия, а не формирует на машинном языкескомпилированную программу, которая выполняется впоследствии. />/>/>/>/>/>/>Типы интерпретаторов.
Простойинтерпретаторанализирует и тут же выполняет (собственно интерпретация) программу покомандно(или построчно), по мере поступления её исходного кода на вход интерпретатора.Достоинством такого подхода является мгновенная реакция. Недостаток —такой интерпретатор обнаруживает ошибки в тексте программы только при попыткевыполнения команды (или строки) с ошибкой.
Интерпретаторкомпилирующего типа —это система из компилятора, переводящего исходный код программы в промежуточноепредставление, например, в байт-код или p-код, и собственно интерпретатора,который выполняет полученный промежуточный код (так называемая виртуальнаямашина). Достоинством таких систем является большее быстродействие выполненияпрограмм (за счёт выноса анализа исходного кода в отдельный, разовый проход, иминимизации этого анализа в интерпретаторе). Недостатки — большеетребование к ресурсам и требование на корректность исходного кода. Применяетсяв таких языках, как Java, PHP, Python, Perl (используется байт-код), REXX(сохраняется результат парсинга исходного кода), а также в различных СУБД(используется p-код).
В случаеразделения интерпретатора компилирующего типа на компоненты получаютсякомпилятор языка и простой интерпретатор с минимизированным анализом исходногокода. Причём исходный код для такого интерпретатора не обязательно должен иметьтекстовый формат или быть байт-кодом, который понимает только данныйинтерпретатор, это может быть машинный код какой-то существующей аппаратнойплатформы. К примеру, виртуальные машины вроде QEMU, Bochs, VMware включают всебя интерпретаторы машинного кода процессоров семейства x86.
Некоторыеинтерпретаторы (например, для языков Лисп, Scheme, Python, Бейсик и других)могут работать в режиме диалога или так называемого циклачтения-вычисления-печати (англ. read-eval-print loop, REPL).В таком режиме интерпретатор считывает законченную конструкцию языка (например,s-expression в языке Лисп), выполняет её, печатает результаты, после чегопереходит к ожиданию ввода пользователем следующей конструкции.
Уникальнымявляется язык Forth, который способен работать как в режиме интерпретации, таки компиляции входных данных, позволяя переключаться между этими режимами впроизвольный момент, как во время трансляции исходного кода, так и во времяработы программ.
Следует такжеотметить, что режимы интерпретации можно найти не только в программном, но и аппаратномобеспечении. Так, многие микропроцессоры интерпретируют машинный код с помощьювстроенных микропрограмм, а процессоры семейства x86, начиная с Pentium(например, на архитектуре Intel P6), во время исполнения машинного кодапредварительно транслируют его во внутренний формат (в последовательностьмикроопераций)./>/>/>/>/>/>/>Алгоритм работы простогоинтерпретатора:
1. прочитатьинструкцию;
2. проанализироватьинструкцию и определить соответствующие действия;
3. выполнитьсоответствующие действия;
4. если недостигнуто условие завершения программы, прочитать следующую инструкцию иперейти к пункту 2./>/>/>/>/>/>/>Достоинства и недостаткиинтерпретаторов./>/>/>/>/>/>/>Достоинства:
1) Большая переносимостьинтерпретируемых программ — программа будет работать на любой платформе,на которой есть соответствующий интерпретатор.
2) Как правило,более совершенные и наглядные средства диагностики ошибок в исходных кодах.
3) Упрощение отладкиисходных кодов программ.
4) Меньшие размерыкода по сравнению с машинным кодом, полученным после обычных компиляторов./>/>/>/>/>/>/>Недостатки:
1) Интерпретируемаяпрограмма не может выполняться отдельно без программы-интерпретатора. Саминтерпретатор при этом может быть очень компактным.
2) Интерпретируемаяпрограмма выполняется медленнее, поскольку промежуточный анализ исходного кодаи планирование его выполнения требуют дополнительного времени в сравнении снепосредственным исполнением машинного кода, в который мог бы бытьскомпилирован исходный код.
3) Практическиотсутствует оптимизация кода, что приводит к дополнительным потерям в скоростиработы интерпретируемых программ./>/>/>/>/>/>/>Компоновщик.
Компоновщик (также редактор связей, линкер) —программа, которая производит компоновку — принимает на вход один илинесколько объектных модулей и собирает по ним исполнимый модуль.
Длясвязывания модулей компоновщик использует таблицы имён, созданные компиляторомв каждом из объектных модулей. Такие имена могут быть двух типов:
1) Определённые или экспортируемые имена —функции и переменные, определённые в данном модуле и предоставляемые дляиспользования другим модулям.
2) Неопределённые или импортируемые имена —функции и переменные, на которые ссылается модуль, но не определяет их внутри себя.
Работакомпоновщика заключается в том, чтобы в каждом модуле разрешить ссылки нанеопределённые имена. Для каждого импортируемого имени находится егоопределение в других модулях, упоминание имени заменяется на его адрес.
Компоновщикобычно не выполняет проверку типов и количества параметров процедур и функций.Если надо объединить объектные модули программ, написанные на языках со строгойтипизацией, то необходимые проверки должны быть выполнены дополнительнойутилитой перед запуском редактора связей./>/>/>/>/>/>/>Ассемблер.
Ассемблер (от англ. assembler — сборщик) — компьютернаяпрограмма, компилятор исходного текста программы, написанной на языкеассемблера, в программу на машинном языке.
Как и самязык (ассемблера), ассемблеры, как правило, специфичны конкретной архитектуре, операционнойсистеме и варианту синтаксиса языка. Вместе с тем существуютмультиплатформенные или вовсе универсальные (точнее, ограниченно-универсальные,потому что на языке низкого уровня нельзя написать аппаратно-независимыепрограммы) ассемблеры, которые могут работать на разных платформах иоперационных системах. Среди последних можно также выделить группу кросс-ассемблеров,способных собирать машинный код и исполняемые модули (файлы) для другихархитектур и ОС.
Ассемблированиеможет быть не первым и не последним этапом на пути получения исполняемогомодуля программы. Так, многие компиляторы с языков программирования высокогоуровня выдают результат в виде программы на языке ассемблера, которую вдальнейшем обрабатывает ассемблер. Также результатом ассемблирования может бытьне исполняемый, а объектный модуль, содержащий разрозненные и непривязанныедруг к другу части машинного кода и данных программы, из которого (или изнескольких объектных модулей) в дальнейшем с помощью программы-компоновщика(«линкера») может быть скомпонован исполнимый файл.
Отладчик или дебаггер является модулем средыразработки или отдельным приложением, предназначенным для поиска ошибок в программе.Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливатьили изменять значения переменных в процессе выполнения программы, устанавливатьи удалять контрольные точки или условия остановки и т. д./>/>/>/>/>/>/>Список отладчиков.
1) AQtime —коммерческий отладчик для приложений, созданных для .NET Framework версии 1.0,1.1, 2.0, 3.0, 3.5 (включая ASP.NET приложения), а также для Windows 32- и64-битных приложений.
2) DTrace — фреймворкдинамической трассировки для Solaris, OpenSolaris, FreeBSD, Mac OS X и QNX.
3) Electric Fence — отладчикпамяти.
4) GNU Debugger(GDB) — отладчик программ от проекта GNU.
5) IDA — мощный дизассемблери низкоуровневый отладчик для операционных систем семейства Windows и Linux.
6) Microsoft VisualStudio — среда разработки программного обеспечения, включающая средства отладкиот корпорации Microsoft.
7) OllyDbg —бесплатный низкоуровневый отладчик для операционных систем семейства Windows.
8) SoftICE —низкоуровневый отладчик для операционных систем семейства Windows.
9) Sun Studio —среда разработки программного обеспечения, включающая отладчик dbx для ОС Solarisи Linux, от корпорации Sun Microsystems.
10) Dr. Watson —стандартный отладчик Windows, позволяет создавать дампы памяти.
11) TotalView — одиниз коммерческих отладчиков для UNIX.
12) WinDbg —бесплатный отладчик от корпорации Microsoft.
Генератордокументации — программаили пакет программ, позволяющая получать документацию, предназначенную для программистов(документация на API) и/или для конечных пользователей системы, по особымобразом комментированному исходному коду и, в некоторых случаях, по исполняемыммодулям (полученным на выходе компилятора).
Обычногенератор анализирует исходный код программы, выделяя синтаксическиеконструкции, соответствующие значимым объектам программы (типам, классам и ихчленам/свойствам/методам, процедурам/функциям и т. п.). В ходеанализа также используется мета-информация об объектах программы, представленнаяв виде документирующих комментариев. На основе всей собранной информацииформируется готовая документация, как правило, в одном из общепринятыхформатов — HTML, HTMLHelp, PDF, RTF и других./>/>/>/>/>/>Документирующие комментарии.
Документирующийкомментарий — это особым образом оформленный комментарий к объектупрограммы, предназначенный для использования каким-либо конкретным генераторомдокументации. От того, какой генератор документации применяется, зависит синтаксисконструкций, используемых в документирующих комментариях.
Вдокументирующих комментариях может содержаться информация об авторе кода,описываться назначение объекта программы, смысл входных и выходныхпараметров — для функции/процедуры, примеры использования, возможныеисключительные ситуации, особенности реализации.
Документирующиекомментарии, как правило, оформляются как многострочные комментарии в стилеязыка Си. В каждом случае комментарий должен находиться перед документируемымэлементом. Первым символом в комментарии (и вначале строк комментария) долженбыть *.Блоки разделяются пустыми строками.
3. Visual Basic forApplications
программныйобеспечение операционный системный3.1 Сущность Visual Basicи его краткая история
MicrosoftVisual Basic (VB) — средство разработки программногообеспечения, разрабатываемое корпорацией Microsoft и включающее языкпрограммирования и среду разработки. Язык Visual Basic унаследовал дух, стиль иотчасти синтаксис своего предка — языка Бейсик, у которого есть немалодиалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированныхи компонентно-ориентированных языков программирования. Среда разработки VBвключает инструменты для визуального конструирования пользовательскогоинтерфейса. (см. табл.).
Visual Basic (основныехарактеристики)Класс языка:
процедурный,
объектно-ориентированный,
компонентно-ориентированный Тип исполнения: компилируемый, интерпретируемый Появился в 1991 г. Релиз: Visual Basic 6.0 (1998) Типизация данных: не строгая Основные реализации: Microsoft Visual Basic for DOS, Microsoft Visual Basic for Windows Диалекты: Visual Basic for Application, 1993; Visual Basic Script, 1996 Испытал влияние: QuickBasic, 1985 Повлиял на: VB.net, 2001
Visual Basicсчитается хорошим средством быстрой разработки прототипов программы, для разработкиприложений баз данных и вообще для компонентного способа создания программ,работающих под управлением операционных систем семейства Microsoft Windows./>/>/>/>/>/>/>/>/>/>/>/>В процессе эволюции Visual Basic прошел рядпоследовательных этапов, позволивших ему стать одним из самых популярных языковпрограммирования на сегодняшний день. Итак, эволюция Visual Basic шла следующим путем:
1. май 1991 — выпущен Visual Basic 1.0 для Microsoft Windows. За основу языка был взят синтаксис QBasic,а новшеством, принесшим затем языку огромную популярность, явился принцип связиязыка и графического интерфейса.
2. сентябрь 1992 —выпущен Visual Basic 1.0 под DOS. Он не был полностью совместим сWindows-версией VB, поскольку являлся следующей версией QuickBASIC и работал втекстовом режиме экрана.
3. ноябрь 1992 —выпущен Visual Basic 2.0. Среда разработки стала проще в использовании иработала быстрее.
4. летом 1993 —вышел в свет Visual Basic 3.0 в версиях Standard и Professional. Ко всемупрочему, в состав поставки добавился движок для работы с базами данных Access.
5. август 1995 —Visual Basic 4.0 — версия, которая могла создавать как 32-х, так и16-разрядные Windows-программы.
6. февраль 1997 —Visual Basic 5.0 — начиная с этой версии, стало возможно, наряду собычными приложениями, разрабатывать COM-компоненты.
7. В середине 1998 —вышла Visual Basic 6.0. После этого Microsoft резко изменила политику вотношении языков семейства Basic. Вместо развития Visual Basic, был созданабсолютно новый язык Visual Basic .NET.
8. В 2005 годувышла новая версия Visual Basic, в комплекте Visual Studio. Порадовала онановым интерфейсом и возможностями. Язык основан на Visual Basic.NET.
9. В конце 2007 Microsoftвыпустила новую версию Visual Basic — Visual Basic 2008, которая такжебыла основана на Visual Basic.NET.
Исходя из функциональныхвозможностей и специфики применения, можно выделить следующие разновидностиуказанной программы:
1. Классический Visual Basic (версии 5-6) Этот язык очень сильно привязан ксвоей среде разработки и к операционной системе Windows, являясь исключительноинструментом написания Windows-приложений
2. Visual Basic for Applications (VBA) Это средство программирования,практически ничем не отличающееся от классического Visual Basic, котороепредназначено для написания макросов и других прикладных программ дляконкретных приложений. Наибольшую популярность получил благодаря своемуиспользованию в пакете Microsoft Office. Широкое распространение Visual Basicfor Applications в сочетании с изначально недостаточным вниманием к вопросамбезопасности привело к широкому распространению макровирусов.
3. Visual Basic Scripting Edition (VBScript) Скриптовый язык, являющийся несколькоусечённой версией обычного Visual Basic. Используется в основном дляавтоматизации администрирования систем Windows, а также для создания страниц ASPи сценариев для Internet Explorer.3.2 Visual Basic for Applicationинтерфейс, основные функции и возможности
Создавая Visual Basic for Application, корпорация Microsoft ставила своей основной задачейсоздание инструментального обеспечения, доступного для пользователей, неявляющихся профессиональными программистами, но в то же время достаточноквалифицированных для разработки и проектирования прикладных программ иприложений на базе Microsoft Office. Именно решая указанную задачу,разработчики создали VBA,наделив его рядом уникальных особенностей. Одной из таких, наиболее ценных дляпользователя является возможность создавать и использовать в программахнестандартные (настраиваемые) диалоговые окна, добавляя объект UserForm впроект, а так же удобный пользовательский интерфейс.
Интерфейс программы Visual Basic for Application состоит из комплекса различных окон и вкладок, используемыхпри проектировании создаваемого приложения, основными из которых являются:
1) окно Проекта(рис.2), отображающее структуру создаваемого проекта.
2) окно Программногокода (рис. 3), отображающее программный код создаваемого проекта и дающеевозможность писать программу классическим способом при помощи встроенногоредактора кодовых слов, которых в VBA более 16 тысяч. Также данное окно позволяет редактировать код ипроверять его на наличие ошибок.
3) закладка Свойств(рис. 4), отображающая установленные к указанному объекту параметры и дающаявозможность изменить указанные настройки.
Перемещаясь между окнамии закладками, пользователь может легко настраивать созданный проект.
Используя создаваемыепользователем формы VBA, можно создавать нестандартные диалоговые окна дляотображения данных или получения значений от пользователя программы в том виде,который наиболее соответствует потребностям программы. Например, можно создатьтест, отобразить диалоговое окно для отображения вопросов с вариантами ответови предоставить пользователю возможность выбрать один из вариантов ответа,который он считает верным.
Нестандартные диалоговыеокна позволяют программе взаимодействовать с её пользователем самым сложнымобразом и обеспечивают разнообразную форму ввода и вывода данных.
Нестандартное диалоговоеокно создаётся в VBA посредством добавления объекта UserForm в проект. Этотобъект представляет собой пустое диалоговое окно; оно имеет строку заголовка икнопку закрытия, но в нём отсутствуют какие-либо другие элементы управления.Нестандартное диалоговое окно создаётся путем добавления элементов управления вобъект UserForm и обычно называемый просто формой (Рис. 5).
Каждый объект UserFormимеет свойства, методы и события, наследуемые им от класса объектов UserForm.
Каждый объект UserFormтакже содержит модуль класса, в который пользователь добавляет собственныеметоды и свойства или вписывает процедуры обработки событий для данной формы.
Возможность создавать создатьсобственный интерфейс, независимый от среды программы-приложения, напримерExcel, при помощи экранных форм является одной из наиболее ценных возможностей вVBA.
Экранные формы — это окнаразличного назначения и вида, созданные пользователем для своего приложения.Они содержат элементы управления, позволяющие пользователю обмениватьсяинформацией с приложением.
VBA использует созданныйграфический дизайн формы — с настройками свойств формы и элементов управления — для получения всей информации, необходимой для отображения диалогового окна:размеров диалогового окна, элементов управления в нём и т.п. В результате VBAпозволяет отобразить форму диалогового окна с помощью единственной инструкции.
Для отображениянестандартного диалогового окна используется метод Show объекта UserForm. Еслив настоящий момент форма не загружена в память, метод Show загружает форму иотображает её. Если форма уже загружена, метод Show просто отображает её.
Отображенияодного диалогового окна для выполнения задачи обычно недостаточно. Почти всегдатребуется определить состояние элементов управления диалогового окна с цельювыяснить, какие данные или опции выбрал пользователь. Например, если диалоговоеокно используется для получения от пользователя информации о том, по какимстолбцам и строкам должно выполняться упорядочение рабочего листа, необходимоиметь возможность выяснить, какие значения пользователь ввел после закрытиядиалогового окна и до действительного начала операции упорядочивания.
В других случаях можетпотребоваться динамическое изменение заголовков кнопок (или других элементовуправления) диалогового окна, динамическое обновление надписи или поля,связанного со счетчиком, или динамическое подтверждение введенных в диалоговоеокно данных.
В VBA появляется возможность значительнорасширить набор функций встроенных в стандартное приложение, например Microsoft Excel, а также создавать функции, значения которых зависятот некоторых условий и событий.
VBA позволяет программировать табличныефункции. Чтобы создать отдельный рабочий лист для программного модуля, предусмотреназакладка Insert Module из меню Visual, команда Module из меню Insert Macro.После этого появится новый рабочий лист «Modele1». В программноммодуле нужно описать функцию на языке VBA. В окне программного модуля можноработать, как в окне небольшого текстового редактора.
Встраивание функцийосуществляется командой Object Browser из меню View. Функции, определенныепользователем, рассматриваются в программе как самостоятельные объекты. VBA обладает значительным набором встроенныхфункций, разделяя их на типы.
Visual Basic позволяетрезервировать переменные, с указанием размера и без него, работать с различнымитипами данных, использовать константы, работать с математическими операторами ифункциями, использовать дополнительные операторы. Предусмотрено использованиеоператоров циклов For Next, Do, объектов типа “таймер” (невидимый секундомер впрограмме). Точность установления времени в программе составляет 1миллисекунду, или 1/1000 сек. Запущенный таймер постоянно работает — т.е.выполняется соответствующая процедура обработки прерывания через заданныйинтервал времени — до тех пор, пока пользователь не остановит таймер или неотключит программу.
В VBA можно задать любое свойство дляформы, включая заголовок, размер, тип рамки, цвет фона и символов, шрифт текстаи фоновый рисунок.
Если обобщить все функциипрограммы, то Visual Basic for Applicationпозволяет:
1) работать сосредствами управления
2) работать с меню идиалоговыми окнами
3) работать сформами, принтерами и обработчиками ошибок
4) добавлятьхудожественное оформление и спецэффекты
5) использоватьмодули и процедуры
6) работать снаборами элементов и массивами
7) работать стекстовыми файлами и базами данных
8) взаимодействоватьс Microsoft Office.
Помимо этого Visual Basicfor Application предоставляет три очень полезныхобъекта для предоставления доступа к файловой системе. Это списки дисковыхнакопителей, которые позволяют пролистывать доступные диски в системе; спискидиректорий, которые позволяют ориентироваться в папках на выбранном диске, исписки файлов, позволяющие выбрать нужный файл в папке.3.3 Достоинства, недостатки икритика Visual Basic for Application/>/>/>/>/>/>/>/>/>/>/>/>Достоинства:
1. Высокая скоростьсоздания приложений с графическим интерфейсом для MS Windows.
2. Простой синтаксис,позволяющий очень быстро освоить язык.
3. Возможность компиляциикак в машинный код, так и в P-код (по выбору программиста). В режиме отладкипрограмма всегда (вне зависимости от выбора) компилируется в P-код, чтопозволяет приостанавливать выполнение программы, вносить значительные измененияв исходный код, а затем продолжать выполнение: полная перекомпиляция иперезапуск программы при этом не требуется.
4. Защита от ошибок,связанных с применением указателей и доступом к памяти. Этот аспект делаетVisual Basic приложения более стабильными, но также является объектом критики.
5. Возможностьиспользования большинства WinAPI функций для расширения функциональныхвозможностей приложения. Данный вопрос наиболее полно исследован ДэномЭпплманом, написавшим книгу «Visual Basic Programmer's Guide to the Win32 API»./>/>/>/>/>/>/>/>/>/>/>/>Недостатки:
1. Поддержкаоперационных систем только семейства Windows и Mac OS X (Исключение — VB1for DOS).
2. Отсутствиемеханизма наследования реализации объектов[2]. Существующее в языкенаследование позволяет наследовать только интерфейсы, но не их реализацию.
3. Требуетустановленную msvbvmXX.dll для работы программы.
4. Медленнаяскорость работы, обусловленная тем, что практически все встроенные функцииязыка реализованы через библиотеку времени исполнения (runtime library),которая, в свою очередь, производит много «лишней» работы по проверке и/илипреобразованию типов./>/>/>/>/>/>/>/>/>/>/>/>Критика:
1. Часто критикеподвергаются такие аспекты Visual Basic, как возможность отключить средстваслежения за объявленными переменными, возможность неявного преобразованияпеременных, наличие типа данных «Variant». По мнению критиков, это даётвозможность писать крайне плохой код. С другой стороны, это можно рассматриватькак плюс, так как VB не навязывает «хороший стиль», а даёт больше свободы программисту.
2. Отсутствие указателей,низкоуровневого доступа к памяти, ASM-вставок. Несмотря на то, что парадигмаVisual Basic позволяет среднему VB-программисту обходиться без всего этого,перечисленные вещи также нередко становятся объектами критики. И хотя,используя недокументированные возможности и определённые ухищрения, всё этоможно реализовать и на VB (например, с помощью функций для получения указателейVarPtr(), StrPtr() и ObjPtr()); пользоваться этими трюками гораздо сложнее,чем, например, на Си++.
Однако стоитотметить, что все недостатки языка вытекают из его основного достоинства —простоты разработки графического интерфейса. Поэтому многие программистыиспользуют Visual Basic для разработки интерфейса пользователя, афункциональность программы реализуют в виде динамически подключаемых библиотек(DLL), написанных на другом языке (чаще всего C++).
4. Практическаячасть 4.1 Постановка задачи
Составить блок-схему инаписать программу на языке Pascal.Рассчитать внутреннюю стоимость ценных бумаг. Внутренняя стоимость активаопределяется будущим потоком доходов от этого актива
/>
pv – текущая внутренняя стоимость акции
c – ожидаемое поступление от рассматриваемогоактива
r – норма доходности, ожидаемаяинвестором для дохода с соответствующим уровнем риска
n – фактор времени (в месяцах).
Выполнить анализ рынка иупорядочить результат по возрастанию полученных данных. 4.2 Текст программы на языке Pascal
Program Ann;
var
pv: array [1..5] of real;
x, s: real;
i, j: integer;
c, r: real;
begin
s:=0
for i:=1 to 5 do
begin
writeLn (‘Введите ожидаемое поступление от‘,i,’-го актива c:’);
readLn (c);
writeLn (‘Введите норму доходности, ожидаемуюинвестором r:’);
readLn (r);
pv:=c/exp(ln(1+r)*i);
writeLn (‘текущая внутренняя стоимостьактива равна’, pv[i]:1:3);
s:=s+pv[i];
end;
writeLn (‘Внутренняя стоимость активаравна’, s);
for i=1 to 5do
begin
for j:=1 to 4do
begin
if pv[j] >pv[j+1] then
begin
x:=pv[j];
pv[j]:=pv[j+1];
pv[j+1]:=x;
end;
end;
end;
readLn;
writeLn (‘Стоимость активов, отсортированнаяпо возрастанию’);
for i:=1 to 5do
begin
writeLn(pv[i]:1:3);
end;
readLn;
end.
4.3 Контрольный пример
/>
/>
4.4Результат выполнения программы на контрольном примере
/>
Заключение
 
Итак, подытожив все вышесказанное,следует отметить, что инструментальное программное обеспечение является однимиз видов программного обеспечения, обладая его общими задачами и функциями.
Однако, являясь узкоспециализированнымвидом программного обеспечения, обладает определенным набором уникальныхсвойств и функций, обеспечивающих решение свойственных ему задач.
Необходимо отметитьнаметившуюся тенденцию к упрощению процесса программирования и созданияопределенного подкласса – полупрофессиональное программирование для прикладныхцелей.
Именно это позволитопытному пользователю компьютера, но не профессиональному программисту,создавать некие приложения и небольшие исполняемые в среде Microsoft Office файлы, используемые в первую очередь для целей учетаи обеспечения документооборота в небольших компаниях.
Именно с этой целью Microsoft был разработан программный комплекс Visual Basic for Application, позволяющий облегчить процесспрограммирования и давший возможность заниматься прикладным программированиемпользователям, а не программистам. Данная возможность была реализована в первуюочередь путем создания раздела программы – «Редактор сценариев» и возможностизаписывать и исполнять «Макросы», как отдельную разновидность графическипрограммируемых модулей. Реализована возможность создания приложений с графическиминтерфейсом для MS Windows. Также достоинством данного вида инструментальногопрограммного обеспечения является простой синтаксис, позволяющий очень быстроосвоить язык, и применять его для программирования во всех стандартныхприложениях Microsoft Office.
Поэтому труднопереоценить значение инструментального обеспечения в целом, и Visual Basic for Application в частности, хотя недостатки, а оних было сказано выше, также имеют место. Но это скорее даже не негативныестороны продукта, а ориентиры для дальнейшего совершенствованияинструментального обеспечения в лице Visual Basic for Application.
Список использованных источников
1. Алгоритмическиеязыки реального времени /Под ред. Янга С./ 2004 г.
2. Журнал PC Magazine RussianEdition №2 2008г. Компьютер сегодня.
3.  Информатика. /Под ред. Могилев А.В.,Пак Н.И., Хеннер Е.К/ – М.: ACADEMIA, 2000.
4. Информатика иинформационные технологии: Учебник /Под ред. Романова Д.Ю./ ООО «издательство«Эксмо», 2007.
5. Новейшаяэнциклопедия персонального компьютера /Под ред. Леонтьева В. /Москва, 1999 год.– 271 с.
6. Новые языкипрограммирования и тенденции их развития /Под ред. Ушковой В./ 2001 г.
7.  Педагогика /Под ред. ПидкасистогоП.И./ – М.: Педагогическое общество Россия, 2000.
8.  Программирование для Microsoft Excel2000 за 21 день. /Под ред. Хариса М./ – М.: Вильямс, 2000.
9. Симонович С.Информатика: базовый курс. Учеб. для ВУЗов. СПб, Питер, 2002 г.
10.  С Excel 2000 без проблем. /Под ред.Ковальски/ – М.: Бином, 2000.
11.  «Эффективная работа в Windows 98»/Под ред. Стинсона К./ 2000 год. – 247 с.
12.  Языки программирования. кн.5 /Подред. Ваулина А.С./ 2003 г.
13.  Языки программирования: разработка иреализация /Под ред. Терренса П./ 2001 г.
14.  Электронный учебник по информатике.Алексеев Е.Г. www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\
15.  www.wikipedia.org


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Кастрычніцкая рэвалюцыя 1917 года на Беларусі
Реферат Международные отношения в Восточной Азии
Реферат Валютная и налоговая политика государства в обеспечении условий возврата капитала в Россию и его эффективного функционирования
Реферат Смешивание масс на машинах «АНОД-4» и «Айрих»
Реферат Разработка программного обеспечения корпоративной информационной системы
Реферат Междуцарствие. План государственного переворота
Реферат Охранительные идеи господствующего класса в 18 веке
Реферат Хронотоп. Целое-становление-связь
Реферат Сталінські репресії
Реферат Политико-территориальное и административное устройство Республики Беларусь
Реферат Прогнозирование возможной радиационной обстановки и её оценка
Реферат Исторический аспект введения нового государственного праздника в Р
Реферат Морфология человека
Реферат О содержании понятия "мёртвые языки"
Реферат Око, глядящее в окно