Теоретико-множественное представление пакетов прикладных программ
Введение
Windows поддерживает два типа приложений: основанные на графическом интерфейсе(graphicaluserinterface,GUI) и консольные (consoleuserinterface,CUI). Приложения первого типа создают окна, имеют меню, взаимодействуют с пользователем через диалоговые окна. Почти все стандартные программы Windows являются GUI-приложениями. Приложения консольного типа работают в текстовом режиме.
Теоретико-множественное представление пакетов прикладных программ
D– пакет прикладных программ
L – входной язык. В ППП особенностью входных языков является, то , что они представлены в виде пользовательского интерфейса, который включает в себя текстовые редакторы для формирования исходного текса программ на заданном множестве принятой символики (операторов).
P –множество проблемных (предметных) программ, которые ориентированы на отладку программы.
F – системная часть (управляющие программы). Системная часть реализует интерфейс между общими системными программами и пакетом.
По заданию предлагается рассмотреть ППП BorlandTurboC++ пакет отладки (системы программирования). Этот пакет использовался в лабораторной работе №1 для двоичных форм представления данных типовыми средствами ЭВМ
Р={Ed,Comp,Run}
· Еd- Текстовый редактор
Первый тип ориентирован на работу с последовательностью символов в текстовых файлах. Такие редакторы обеспечивают расширенную функциональность — подсветку синтаксиса, сортировку строк, шаблоны, конвертацию кодировок, показ кодов символов и т. п. Иногда их называют редакторы кода, так как основное их предназначение — написание исходных кодов компьютерных программ.
MicrosoftWord (часто — MS Word, WinWord или просто Word) — это текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов. Текстовый процессор, выпускается корпорацией Microsoft в составе пакетаMicrosoftOffice. Первая версия была написана Ричардом Броди (RichardBrodie) для IBM PC, использующих DOS, в 1983 году. Позднее выпускались версии для AppleMacintosh (1984), SCO UNIX и MicrosoftWindows (1989).
· Сomp- компилятор в качестве транслятора – служит для получения из двоичного кода объектного файла, т.е. кодирование в двоичные коды команд (объектные коды), а также подключает библиотеки. Компилятор транслирует программу сразу целиком и лишь после этого возможно ее выполнение. Интерпретатор – более простой транслятор, он последовательно транслирует операторы программы и также по частям ее выполняет.
· Run – программа загрузчик – создает загрузочный файл.
Загрузчик (англ. loader) — в информатике, программа, отвечающая за загрузку исполнимых файлов и запуск соответствующих новых процессов. Обычно является частью операционной системы, но может быть и самостоятельной программой — к примеру, позволяющей операционной системе запускать программы, скомпилированные для других операционных систем.
При запуске новой программы загрузчик должен:
- Считать данные из запускаемого файла.
- Если необходимо — загрузить в память недостающие динамические библиотеки.
- Заменить в коде новой программы относительные адреса и символические ссылки на точные, с учётом текущего размещения памяти, то есть выполнить связывание адресов (англ. Relocation).
- Создать в памяти образ нового процесса и запланировать его к исполнению.
Программное обеспечение — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. Также — совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением
Программное обеспечение принято по назначению подразделять на:
1)Системные программы – фирменные разработки (ОС). Привязаны к типу аппаратной реализации функциональных блоков ЭВМ (арифметических блоков и интерфейсных модулей). Интерфейсные модули обеспечивают основу взаимодействия ЭВМ с внешними устройствами.
2)Прикладное программное обеспечение, непосредственно обеспечивающее выполнение необходимых пользователям работ.
3)Инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Сложились следующие группы программного обеспечения:
- операционные системы.
- системы программирования.
- инструментальные системы.
- интегрированные пакеты.
- динамические электронные таблицы.
- системы машинной графики.
- системы управления базами данных (СУБД).
- прикладное программное обеспечение.
Теоретические сведения
Пакет прикладных программилипакет программ— набор взаимосвязанныхмодулей, предназначенных для решения задач определённого класса некоторойпредметной области.
Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Классификация ППП:
1)Проблемно-ориентированные ППП
Программные продукты данного класса можно классифицировать по разным признакам:
- типам предметных областей;
- типам информационным системам;
- функциям и комплексам задач, реализуемых программным способом, и др.
2)ППП автоматизированного проектирования
Программы этого класса предназначены для поддержания работы конструкторов и технологов, занимающихся построением чертежей, схем, диаграмм, графическим модулированием и конструированием, созданием библиотеки стандартных элементов чертежей и их многократным использованием, созданием демонстрационных иллюстраций и мультфильмов.
3)ППП общего назначения
Данный класс содержит широкий перечень программных продуктов, поддерживающих преимущественно информационные технологии конечных пользователей. Кроме конечных пользователей, этими программными продуктами, благодаря встроенным средствам технологии программирования, могут пользоваться и программисты для создания усложненных программ обработки данных.
· Серверы баз данных
· Генераторы (серверы) отчётов
· Текстовые процессоры
· Табличный процессор (электронные таблицы)
· Средства презентационной графики
· Интегрированные пакеты
4)Методо-ориентированные ППП
Данный класс включает программные продукты, обеспечивающие, независимо от предметной области и функции информационных систем, математические, статические и другие методы решения задач. Наиболее распространены методы математического программирования, решение дифференциальных уравнений, имитационного моделирования, исследования операций.
5)Офисные ППП
Данный класс программных продуктов включает программы, обеспечивающие организационное управление деятельностью офиса:
· Органайзеры (планировщики)
· Программы-переводчики, средства проверки орфографии и распознавания текста
· Коммуникационные ППП
6)Интеллектуальные системы
Данный класс программных продуктов реализует отдельные функции интеллекта человека. Основными компонентами систем искусственного интеллекта являются базы знаний, интеллектуальный интерфейс с пользователем и программа формирования логических выводов.
7)Программные средства мультимедиа
Этот класс является относительно новым, он сформировался в связи с изменением среды обработки данных, появлением лазерных дисков высокой плотности записи с хорошими техническими параметрами по доступным ценам, развитием сетевой технологии обработки, появлением региональных и глобальных информационных сетей, располагающих мощными информационными ресурсами.
8)Настольные издательские системы
Данный класс программ включает программы, предназначенные для профессиональной издательской деятельности
Интегрированная среда разработки BorlandTurboC++ 3.0
Входной язык ППП BorlandTurboC++ - это проблемные языки программирования высокого уровня (Си и С++). Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры).
В области проблемных программ данного пакета можно выделить:
- Текстовый редактор исходного текста программы (Ed)
- Компилятор (Comp)
- Отладчик
- Программа загрузчик (Run)
Текстовый редактор (Editor) для создания и редактирования исходного кода программ может быть отдельным приложением, или встроенным в интегрированную среду разработки (IDE). На выходе текстового редактора образуется двоично-кодированный текстовый файл исходных текстов.
Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования исходного кода, если они не не имеют расширенных возможностей, автоматизирующих или упрощающих ввод и модификацию кода, то они не могут называться «редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
Описание пользовательского интерфейса:
Группа команд File
Первая группа меню команд под названием File (Файл) изображена на рис.1.
Рис.1. Группа команд File
Команды этого меню осуществляют работу с файлами и предоставляют доступ к операциям создания (New) новых форм (окон) и приложений, открытия (Open), сохранения (Save) и закрытия (Close) файлов и проектов, печати текстов программ (Print) и добавления заголовочных модулей (Include), то есть файлов с расширением h.
Группа команд Edit
Вторая по порядку группа команд меню называется Edit (Редактор), она изображена на рис.2.
Рис.2. Группа команд Edit
В этом меню собраны команды редактирования, такие как отмена (Undelete) и повторение (Redo) операций, вырезание (Cut), копирование (Сору), вставка (Paste) и удаление (Delete) фрагментов текста. А также команды выделения всего текста (SelectAll), выравнивания компонентов (Align) и настройки редактора кода (текста программы).
Группа команд Search
Следующая группа команд Search (Поиск) изображена на рис.3.
Рис.3. Группа команд Search
Команды данного меню позволяют осуществить поиск текста в файле, продолжить поиск после первого вхождения, произвести автоматическую замену, а также быстро перейти к строке кода, задав ее номер.
Группа команд View
Группа команд View (Вид) изображена на рис.4.
Рис.4. Группа команд View
Из этого пункта меню вызываются основные диалоговые окна управления проектом и компонентами, такие как менеджер проектов (ProjectManager), список компонентов (ComponentList) и список окон (WindowList). Также из этого пункта меню открываются все окна отладки программ (DebugWindows), работу с которыми мы рассмотрим позже.
Группа команд Project
Группа команд Project (Проект) приведена на рис.5.
Рис.5. Группа команд Project
В этой группе меню собраны команды управления проектом. С их помощью можно добавлять и удалять модули (файлы с текстами программ), добавлять библиотеку компонентов VCL, откомпилировать проект и т. д.
Группа команд Run
Группа команд Run (Выполнить) изображена на рис.6.
Рис.6. Группа команд Run
С помощью команд этого меню выполняется запуск и остановка программ, запуск программ в непрерывном и пошаговом режимах, добавление переменных для просмотра, установка точек остановка и другие действия по отладке программы.
Группа команд Component
Группа команд Component (Компонент) представлена на рис.7.
.
Рис.7. Группа команд Component
Из этого меню вызываются команды добавления в систему новых компонентов и конфигурации их палитры.
Группа команд Tools
Группа Tools (Инструменты) изображена на рис.8.
Рис.8. Группа команд Tools
В этом меню собраны команды как по настройке параметров программы, так и команды вызова различных дополнительных утилит.
Группа команд Windows
Группа Windows (Окна) приведена на рис.9.
Рис.9 Группа команд Windows
С помощью команд данного меню производится управление окнами интерфейса.
Группа команд Help
Замыкает главное меню группа команд Help (Помощь), представленная на рис. 10
Рис.10. Группа команд Help
В нее включены команды, с помощью которых можно получить справку как о языке C++, так и о работе с пакетом Borland C++ Builder 6 и всеми его компонентами- Выбрав в данном меню команду About, вы увидите сведения о данном пакете и о вашем компьютере. Это окно изображено на рис.11.
Рис. 11. Окно команды About
Рис 1. Текстовый редактор
Транслятор - это программа, обеспечивающая перевод исходного текста на символику промежуточных языков. Он работает под управлением ОС, которая и обеспечивает связь его с устройствами и блоками электронно-вычислительных машин.
Компиляция – перевод программы, составленной на исходном языке высокого уровня, в машинный код.
Процесс компиляции состоит из следующих этапов:
1. Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем.
2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.
3. Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) — например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
4. Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла. Оптимизация может быть на разных уровнях и этапах — например, над промежуточным кодом или над конечным машинным кодом.
5. Генерация кода. Из промежуточного представления порождается код на целевом языке.
В конкретных реализациях компиляторов эти этапы могут быть разделены или, наоборот, совмещены в том или ином виде.
Рис.2 Компиляция программы
Отладчик — программный модуль, предназначенный для поиска ошибок в программах и других видах кода. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.
Загрузчик - это программа, выполняющая загрузку. Многие загрузчики обеспечивают, кроме того, перемещение и связывание. В некоторых системах функция связывания отделена от функций перемещения и загрузки. Связывание выполняется специальной программой связывания (или редактором связей), перемещение и загрузка - загрузчиком.
Связывание - это связывание двух или более отдельных оттранслированных программ.
Перемещение - это модификация объектной программы так, чтобы она могла загружаться с адреса, отличного от первоначального.
Функции загрузчика:
a) распределение ОП;
b) перемещение программы;
c) связывание модулей;
d) загрузка программ в ОП и запуск на выполнение.
Рис. 3 Программа загрузчик
Технология отладки программы пользователя:
Исходный текст программы |
Исходный текст программы |
Текстовый редактор |
f.txt |
Исходный текст в двоичных кодах обработки информации(ASCII) |
Компилятор(имеет доп.возможности:диагностика программы) |
f.obj |
Run |
f.exe |
Ed |
Compile |
Объектный файл в двоичных кодах команд |
Загрузчик программы |
Загрузочный файл(исполняемый модуль) |
Вывод: в процессе данной лабораторной работы был рассмотрен пакет прикладных программ BorlandTurboC++, особенности структурного построения пакета и функциональные возможности программ в составе пакета.