Войти
Портал компьютерных советов - Hiper-ru
  • Оптимизация ОС: Программа для дефрагментации диска
  • Как включить подсветку клавиатуры на Макбуке?
  • Не включается компьютер: ПК включается и сразу выключается
  • Как добавить или убрать звуковую дорожку в программе Sony Vegas Удаление из dvd файлов ненужной звуковой дорожки
  •  не удается установить сетевое подключение Ошибка не удается установить соединение сервером
  • Как выгрузить контрагентов из 1с 8
  • Задачи и функции инструментального программного обеспечения. Инструментальные системы разработки программного обеспечения инструментальное программное обеспечение Инструментальное по примеры программ

    Задачи и функции инструментального программного обеспечения. Инструментальные системы разработки программного обеспечения инструментальное программное обеспечение Инструментальное по примеры программ

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

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

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

    2. Перевод текста создаваемой программы в машинно-ориентированный код, доступный для распознавания ЭВМ. В случае значительного объема создаваемой программы, она разбивается на отдельные модули и каждый из модулей переводится отдельно.

    3. Соединение отдельных модулей в единый исполняемый код, с соблюдением необходимой структуры, обеспечение координации взаимодействия отдельных частей между собой.

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

    Виды инструментального программного обеспечения

    Исходя из задач, поставленных перед инструментальным программным обеспечением, можно выделить большое количество различных по назначению видов инструментального программного обеспечения:

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

    2) Интегрированные среды разработки

    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 или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.

    Частный случай ИСР -- среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.

    SDK (от англ. Software Development Kit) или «devkit» -- комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, видеоигровых консолей, операционных систем и прочих платформ.

    Программист, как правило, получает SDK непосредственно от разработчика целевой технологии или системы. Часто SDK распространяется через Интернет. Многие SDK распространяются бесплатно для того, чтобы поощрить разработчиков использовать данную технологию или платформу.

    Поставщики SDK иногда подменяют термин Software в словосочетании Software Development Kit на более точное слово. Например, «Microsoft» и «Apple» предоставляют Driver Development Kits (DDK) для разработки драйверов устройств, а «PalmSource» называет свой инструментарий для разработки «PalmOS Development Kit (PDK)».

    Примеры SDK:

    5) Java Development Kit

    6) Opera Devices 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), во время исполнения машинного кода предварительно транслируют его во внутренний формат (в последовательность микроопераций).

    Алгоритм работы простого интерпретатора:

    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 Visual Studio -- среда разработки программного обеспечения, включающая средства отладки от корпорации 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 и других.

    Документирующие комментарии.

    Документирующий комментарий -- это особым образом оформленный

    Исходя из задач, поставленных перед инструментальным программным обеспечением, можно выделить большое количество различных по назначению видов инструментального программного обеспечения:

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

    2) Интегрированные среды разработки

    4) Компиляторы

    5) Интерпретаторы

    6) Линковщики

    7) Парсерыигенераторы парсеров(см.Javacc)

    8) Ассемблеры

    9) Отладчики

    10) Профилировщики

    11) Генераторы документации

    12) Средства анализа покрытия кода

    13) Средства непрерывной интеграции

    14) Средства автоматизированного тестирования

    15) Системы управления версиямии др.

    Следует отметить, что оболочки для создания прикладных программ создаются также инструментальными программами и поэтому могут быть отнесены к прикладным программам. Рассмотрим кратко назначения некоторых инструментальных программ.

    Заключение

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

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

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

    Именно это позволит опытному пользователю компьютера, но не профессиональному программисту, создавать некие приложения и небольшие исполняемые в среде Microsoft Office файлы, используемые в первую очередь для целей учета и обеспечения документооборота в небольших компаниях.

    Именно с этой целью Microsoft был разработан программный комплекс Visual Basic for Application, позволяющий облегчить процесс программирования и давший возможность заниматься прикладным программированием пользователям, а не программистам. Данная возможность была реализована в первую очередь путем создания раздела программы – «Редактор сценариев» и возможности записывать и исполнять «Макросы», как отдельную разновидность графически программируемых модулей. Реализована возможность создания приложений сграфическим интерфейсомдля MSWindows. Также достоинством данного вида инструментального программного обеспечения является простойсинтаксис, позволяющий очень быстро освоить язык, и применять его для программирования во всех стандартных приложениях Microsoft Office.

    Поэтому трудно переоценить значение инструментального обеспечения в целом, и Visual Basic for Application в частности, хотя недостатки, а о них было сказано выше, также имеют место. Но это скорее даже не негативные стороны продукта, а ориентиры для дальнейшего совершенствования инструментального обеспечения в лице Visual Basic for Application.

    Список использованных источников

    1. Алгоритмические языки реального времени /Под ред. Янга С./ 2004 г.

    2. Журнал PC Magazine Russian Edition №2 2008г. Компьютер сегодня.

    3. Информатика. /Под ред. Могилев А.В., Пак Н.И., Хеннер Е.К/ – М.: ACADEMIA, 2000.

    4. Информатика и информационные технологии: Учебник /Под ред. Романова Д.Ю./ ООО «издательство «Эксмо», 2007.

    5. Новейшая энциклопедия персонального компьютера /Под ред. Леонтьева В. /Москва, 1999 год. – 271 с.

    6. Новые языки программирования и тенденции их развития /Под ред. Ушковой В./ 2001 г.

    7. Педагогика /Под ред. Пидкасистого П.И./ – М.: Педагогическое общество Россия, 2000.

    8. Программирование для Microsoft Excel 2000 за 21 день. /Под ред. Хариса М./ – М.: Вильямс, 2000.

    9. Симонович С. Информатика: базовый курс. Учеб. для ВУЗов. СПб, Питер, 2002 г.

    10. С Excel 2000 без проблем. /Под ред. Ковальски/ – М.: Бином, 2000.

    11. «Эффективная работа в Windows 98» /Под ред. Стинсона К./ 2000 год. – 247 с.

    12. Языки программирования. кн.5 /Под ред. Ваулина А.С./ 2003 г.

    13. Языки программирования: разработка и реализация /Под ред. Терренса П./ 2001 г.

    14. Электронный учебник по информатике. Алексеев Е.Г.http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html \

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

    Системы программирования – это комплексы программ и прочих средств, предназначенных для разработки и эксплуатации программ на конкретном языке программирования для конкретной архитектуры ПК (платформы).

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

    Язык программирования – это искусственный язык, с помощью которого записывается алгоритм решения задачи в виде, понятном ПК.

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

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

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

    Рис. 6.2. Схема процесса создания загрузочного модуля программы

    Различают следующие виды трансляторов: интерпретатор, компилятор.

    Интерпретатор берёт очередной оператор языка из текста программы, анализирует его структуру и сразу исполняет. Потом переходит к следующему оператору. Компилятор переводит всю программу в машинные команды.

    Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java).

    Для каждого из этих языков программирования сегодня имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows: Microsoft Visual Basic; Borland Delphi; Borland C++Builder; Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

    Современные системы программирования позволяют создавать программы, вызываемые при просмотре Web-страниц в глобальной электронной сети Интернет.

    Особым классом систем программирования являются системы для создания приложений типа клиент-сервер. Эти системы позволяют быстро создавать информационные системы для подразделений и даже крупных предприятий. В них содержатся средства для создания пользовательского интерфейса, описания процедур обработки данных, заготовки для выполнения типовых действий по обработке данных и т.д. Эти системы, как правило, позволяют работать с самыми различными СУБД – Oracle, Sybase, Microsoft SQL Server и др. Среди наиболее популярных систем такого рода можно назвать PowerBuilder фирмы Sybase, Delphi фирмы Borland, Visual Basic фирмы Microsoft. Разумеется, средства для создания приложений типа клиент-сервер имеются и в составе СУБД типа клиент-сервер (Oracle, Sybase и др.), но они ориентированы только на данную СУБД.

    Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

    Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

    Размещено на http://www.allbest.ru/

    Задание 1

    Инструментальное программное обеспечение, его назначение и состав

    Задание 2

    Первый этап - постановка задачи

    Второй этап - экономико-математическое описание задачи и выбор метода ее решения

    Третий этап - алгоритмизация

    Четвертый этап - программирование

    Пятый этап - отладка

    Список используемой литературы

    Задание 1

    Инструментальное программное обеспечение, его назначение и состав

    Программное обеспечение

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

    Программное обеспечение, можно условно разделить на три категории:

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

    прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.

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

    Системное ПО

    Это программы общего пользования не связаны с конкретным применением ПК и выполняют традиционные функции: планирование и управление задачами, управления вводом-выводом и т.д.

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

    К системному ПО относятся:

    операционные системы (эта программа загружается в ОЗУ при включении компьютера) метод использование прикладной программа

    программы - оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)

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

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

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

    диспетчеры файлов или файловые менеджеры

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

    средства просмотра и воспроизведения

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

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

    средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).

    Необходимо отметить, что часть утилит входит в состав операционной системы, а другая часть функционирует автономно. Большая часть общего (системного) ПО входит в состав ОС. Часть общего ПО входит в состав самого компьютера (часть программ ОС и контролирующих тестов записана в ПЗУ или ППЗУ, установленных на системной плате). Часть общего ПО относится к автономными программам и поставляется отдельно.

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

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

    Пакеты прикладных программ - это система программ, которые по сфере применения делятся на проблемно - ориентированные, пакеты общего назначения и интегрированные пакеты. Современные интегрированные пакеты содержат до пяти функциональных компонентов: тестовый и табличный процессор, СУБД, графический редактор, телекоммуникационные средства.

    К прикладному ПО, например, относятся:

    Комплект офисных приложений MS OFFICE

    Бухгалтерские системы

    Финансовые аналитические системы

    Интегрированные пакеты делопроизводства

    CAD - системы (системы автоматизированного проектирования)

    Редакторы HTML или Web - редакторы

    Браузеры - средства просмотра Web - страниц

    Графические редакторы

    Инструментальное ПО

    Инструментальное ПО или системы программирования - это системы для автоматизации разработки новых программ на языке программирования.

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

    1. Текстовый редактор для создания файла с исходным текстом программы.

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

    Исполнимый код - это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ.

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

    Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

    Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

    Borland C++ Builder - это отличное средство для разработки DOS и Windows приложений

    Microsoft Visual Basic - это популярный инструмент для создания Windows-программ

    Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows.

    Задание 2

    Сформируйте и заполните накопительную ведомость начисления оплаты номеров гостиницы "Старт" за март 2004 года. Номера в гостинице 1-местные стоят для каждого клиента 750 руб. в день, 2-местные - 650 руб. с каждого клиента. Номер можно забронировать. Бронь в гостинице может быть двух видов: групповая и индивидуальная и оплачивается отдельно. При бронировании на группу оплата за первый день проживания увеличивается на 25% от стоимости номера, в тех случаях, когда брони нет или она индивидуальная, доплаты нет.

    Тип брони и количество дней проживания в каждом номере представлены в таблице.

    Рассчитайте оплату за бронь для каждого номера, если такая есть. Рассчитайте оплату за все дни проживания по каждому номеру гостиницы. Рассчитайте итоговые данные по гостинице: оплату за бронь, количество дней проживания в месяц, полную оплату по гостинице за месяц. Определите среднее количество дней проживания, величину максимальной и минимальной оплаты за дни проживания.

    Ведомость начисления оплаты номеров гостиницы "Старт" за март 2004 г.

    Номер комнаты

    Тип занимаемого номера

    Тип брони

    Оплата за бронь (руб.)

    Кол-во дней проживания

    1-местный

    1-местный

    1-местный

    2-местный

    2-местный

    2-местный

    2-местный

    Итого:

    Постройте диаграммы:

    · Круговую диаграмму по графе "Количество дней проживания".

    · Гистограмму по графе "Оплата за дни проживания".

    Ведомость начисления оплаты номеров гостиницы "Старт" за март 2004 г.

    Необходимо сформировать и заполнить ведомость начисления оплаты номеров гостиницы "Старт" за март 2004 года.

    Рассмотрим этапы подготовки решения задачи на ПК.

    Первый этап - постановка задачи

    Целью решения данной задачи является расчет оплаты за бронь и дни проживания постояльцев гостиницы "Старт" за март 2004 года.

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

    Второй этап - экономико-математическое описание задачи и выбор метода ее решения

    Рассматриваемая задача решается методом прямого счета.

    Обозначим исходные данные:

    ОБ - оплата за бронь;

    ТБ - тип брони;

    СНЧД - стоимость номера с человека в день;

    КДП - количество дней проживания;

    ОДП - оплата за дни проживания;

    Оплата за бронь рассчитывается следующим образом:

    ОБ = 0,25*СНЧД,

    если ТБ = «группа», иначе 0.

    Оплата за дни проживания рассчитывается следующим образом:

    ОДП = ОБ + СНЧД*КДП.

    Для решения этой задачи воспользуемся Microsoft Excel.

    Третий этап - алгоритмизация

    Запустим программу Excel. Работу будем выполнять на Листе 1.

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

    В столбцы A, B, C, D и F введем данные, указанные в задании. Далее произведем необходимые расчеты с использованием формул. Ниже представлена расчетная таблица в формульном и числовом виде.

    Таблица в формульном виде.

    Номер комнаты

    Тип занимаемого номера

    Стоимость номера с человека в день (руб.)

    Тип брони

    Оплата за бронь (руб.)

    Кол-во дней проживания

    Оплата за дни проживания (руб.)

    1-местный

    ЕСЛИ(D2="группа";0,25*C2;0)

    1-местный

    ЕСЛИ(D3="группа";0,25*C3;0)

    1-местный

    ЕСЛИ(D4="группа";0,25*C4;0)

    2-местный

    ЕСЛИ(D5="группа";0,25*C5;0)

    2-местный

    ЕСЛИ(D6="группа";0,25*C6;0)

    2-местный

    ЕСЛИ(D7="группа";0,25*C7;0)

    2-местный

    ЕСЛИ(D8="группа";0,25*C8;0)

    Итого:

    =СУММ(E2:E8)

    =СУММ(F2:F8)

    =СУММ(G2:G8)

    В итоге получим следующие результаты.

    Номер комнаты

    Тип занимаемого номера

    Стоимость номера с человека в день (руб.)

    Тип брони

    Оплата за бронь (руб.)

    Кол-во дней проживания

    Оплата за дни проживания (руб.)

    1-местный

    1-местный

    1-местный

    2-местный

    2-местный

    2-местный

    2-местный

    Итого:

    537,50р.

    18 737,50р.

    Определим среднее количество дней проживания, величину максимальной и минимальной оплаты за дни проживания. Для этого воспользуемся статистическими функциями СРЗНАЧ(), МАКС() и МИН() соответственно. Ниже представлена таблица с дополнительными расчетами в формульном и числовом виде.

    Таблица с дополнительными расчетами в формульном виде представлена ниже.

    Ниже представлены круговая диаграмму по графе «Кол-во дней проживания» и гистограмма по графе «Оплата за дни проживания».

    Четвертый этап - программирование

    Для решения этой задачи программирование не требуется.

    Пятый этап - отладка

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

    Рассчитаем контрольные значения для комнаты 31.

    ОБ = 0,25*750 = 187,5, так как ТБ = «группа».

    ОДП = 187,5 + 750*4 = 3187,5.

    Рассчитаем контрольные значения для комнаты 35.

    ОБ = 0, так как ТБ не равно «группа».

    ОДП = 650*1 = 650.

    Эти контрольные значения совпадают со значениями, рассчитанными в таблице, следовательно, задание выполнено верно.

    Список используемой литературы

    1. Илюшечкин В., Костин А. Системное программное обеспечение - М.: Высшая школа, 2008. 127 с.

    2. Руденко В.Д. Курс информатики. - К.: Феникс, 2008. - 368 с.

    3. Степанов А. Информатика: Учебник для вузов. 3-е издание. 2003. - 768 с.

    Размещено на Allbest.ru

    Подобные документы

      Системное, прикладное и инструментальное программное обеспечение. Наиболее распространённые пакеты прикладных программ. Назначение и структура системных программ. Заполнение таблицы и работа с итогами в Excel, фильтрация данных и построение диаграммы.

      контрольная работа , добавлен 29.01.2014

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

      реферат , добавлен 01.04.2010

      Определение понятия и сущности программного обеспечения. Рассмотрение основ интерпретируемых и компилируемых программ. Особенности несвободных, открытых, свободных, системных, прикладных и инструментальных программ; основные принципы их применения.

      реферат , добавлен 06.11.2014

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

      контрольная работа , добавлен 18.01.2011

      Развитие интегрированных пакетов прикладных программ, механизмы, такие, как OLE и OpenDoc, обеспечивающие их совместную работу. Анализ наиболее известных комплексов, состоящих из прикладных программ, работающих как самостоятельно, так и интегрированно.

      реферат , добавлен 03.03.2012

      Совокупность программ, используемых в работе на компьютере. Функциональное назначение программного обеспечения, правовые нормы его использования. Операционная система и сервисные программы. Разработка компьютерных программ на языке программирования.

      презентация , добавлен 10.10.2016

      Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.

      курсовая работа , добавлен 29.06.2010

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

      презентация , добавлен 23.12.2010

      Основные виды программного обеспечения. Характеристика пакетов прикладных программ. Виды и группы систем счисления. Перевод целых и дробных чисел из одной системы счисления в другую. Арифметические операции в двоичной системе. Компьютерные преступления.

      шпаргалка , добавлен 19.01.2014

      Классификация программного обеспечения, его особенности, назначение. Программное обеспечение для работы с текстом, изображением, прикладное, офисное, для работы в Интернете. Системы программирования, специфика программного обеспечения, что такое вирусы.

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

    Пример. Рассмотрим инструментальную среду – графический редактор, который позволяет визуализировать графические объекты двумя основными способами: векторно или растрово. Векторный подход динамически постепенно формирует на экране (который рассматривается как некоторое координатное пространство) объект по его представлению, составленному из графических примитивов. Растровый подход формирует на экране весь объект целиком на основе его макета (шаблона, графических примитивов в видеопамяти), состоящего из отдельных кластеров пикселей в некоторой пиксельной двухмерной матрице (аналоге листа для рисования с декартовой системой координат). В этой матрице записывается информация о яркости и цвете кластера изображения (на один пиксель иногда 1-2 байта и более), а сама матрица может иметь размерность 1024x1024 пикселей и более. Сформированное в пиксельной матрице изображение хранится в видеопамяти дисплея и выводится на экран в режиме кадровой регенерации. Изображение в цвете (рисование в цвете) – это манипуляция пикселями этой матрицы. Графические 3D-редакторы изображений позволяют не только конструировать 3D-объекты, но и перемещать их по задаваемой траектории, то есть осуществлять анимацию. Одной из мощных графических сред является пакет 3D-Studio Max фирмы Autodesk. Кроме этого пакета, широко используются графические пакеты:

    GRAFLotus Freelance – для работы с деловой и компьютерной графикой;

    Splash и Fanta – для работы в области дизайна и компьютерных фильмов;

    AutoCAD – для автоматизации проектно-конструкторских работ;

    CorelDraw, PaintBrush, AdobeIllustrator – для разнообразных приложений.

    Трансляторы подробно рассматриваются нами ниже.

    Рассмотрим интерфейсные системы обеспечения дружественного интерфейса между пользователями и программами).

    Пример. Наиболее ранняя интерфейсная система – Norton Commander (Нортон Коммандер, автор – Питер Нортон). Системы, подобные Norton Commander (NC), называются операционными оболочками и их можно отнести к инструментальным средам (инструментарий более удобного, комфортного интерфейса с ОС, с файловой системой, минуя утомительный командный язык ОС). Такая система позволяет визуально и удобно выполнять копирование, создание, удаление, переименование, перемещение, просмотр и поиск файлов и т.д. NC использует управляющие и функциональные клавиши, которым соответствуют определенные операции и отклики системы:

    Esc – отмена выполняемой функции;

    Enter – выполнение функции;

    Тab – смена текущей (активной) панели на другую (ранее пассивную);

    PgUp (PgDn) – переход на страницу вперед (назад);

    Home (End) – установка на начало (конец) каталога;

    , , , – клавиши перемещения курсора влево, вверх, вправо, вниз;

    Ctrl-S (одновременное нажатие клавиш Ctrl и S) - на символ влево;

    Ctr-D (Ctr-A,Сtrl-F) – на символ вправо (на слово влево, на слово вправо);

    F1 – клавиша помощи, подсказки по активному состоянию (клавиша help);

    F2 – запись на диск активного файла;

    F3 – просмотр содержимого активного файла;

    F4 – редактирование активного файла;

    F5 – копирование активного файла в активный каталог на другой панели;

    F6 – переименование (перенос) активного файла;

    F7 – создание нового каталога (подкаталога);

    F8 – удаление активного файла;

    F9 – активизация команд панели (системного меню) NC;

    F10 – выход из NC.

    Более развитым отечественным аналогом NC для Windows-систем является, например, оболочка FAR-менеджер.

    Проблемно-ориентированные инструментальные системы служат для решения достаточно широкого класса задач некоторой профессиональной, проблемной ориентации: САПР – системы автоматизации проектирования, АСУ – автоматизированные системы управления, АРМ – автоматизированные рабочие места, СУБД – система, обеспечивающая интерфейс программ пользователя и данных из базы данных, ЭС – экспертные системы, системы накопления, хранения и актуализации опыта, знаний, умений, навыков (экспертных суждений) экспертов и др.

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

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

    Пакет прикладных программ (ППП) состоит из следующих обязательных частей:

    описание, представление класса задач, решаемых с помощью ППП;

    комплекс программ, обеспечивающих построение прикладных программ ППП (технологической цепочки);

    комплекс прикладных программ, обеспечивающих решение задач из предметной области ППП;

    входной язык (язык запросов) ППП;

    база данных для хранения данных, передача их модулям ППП;

    монитор (управляющая программа) ППП, обеспечивающая ввод задания (запроса), его расшифровку и построение технологической цепочки из модулей ППП для поиска ответа.

    Пример. Простым и универсальным студенческим пакетом статистического анализа данных является пакет SPSS. Интерфейс пользователя с SPSS для Windows реализуется с помощью простых меню и диалоговых окон, то есть SPSS свободна от использования специально изучаемого командного языка пакета. Имеется редактор Data Editor для визуального контроля вводимых данных, функционально аналогичный редакторам табличных процессоров, например, Excel. По столбцам отображаются варьируемые переменные, а по строкам – наборы их вариации, причем с каждой из переменных можно ознакомиться путем вызова ее имени. Ввод данных – аналогичен вводу данных табличного типа (например, в Excel). В диалоговых окнах можно определять (вводить или вычислять) сложные выражения, используемые далее в расчетах. Есть возможность применения различных законов случайного распределения. Более мощным (но и более сложным в изучении и использовании) является математический пакет MathCAD.

    Функциональная система интегрированного пакета программ состоит не из модулей (как в ППП), а из ППП.

    Пример. Наиболее распространенный интегрированный пакет прикладных программ – MS Office (пакет автоматизации работы в офисе). В его ядро входят следующие пакеты: Word – текстовый редактор, Excel – электронная таблица, Access – СУБД, PowerPoint – система презентации и др.

    Специальное (или уникальное) ПО разрабатывается для решения очень важных, уникальных проблем.

    Пример. К такому классу ПО можно отнести программную систему управления кораблем "Буран".