Теоретико-множественное представление пакетов прикладных программ

Введение

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++, особенности структурного построения пакета и функциональные возможности программ в составе пакета.