Green-sell.info

Новые технологии
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Современные системы программирования

Современные системы программирования

Алгоритмизация и программирование Языки программирования. Системы программирования. Структурное программирование

Основные этапы решения задачи

1.Постановка задачи. Задача формулируется на естественном языке

2. Разработка мат. модели.

3.Выбор численного метода решения задачи.

4.Разработка алгоритма.

5.Составление программы на выбранном языке программирования.

6.Тестирование и отладка программы.(Отладка – этоустранение ошибок. Тестирование- проверка правильности работы.) Разработка тестов и контрольных примеров.

7. Оценка полученных результатов. Сопоставление реальных и ожидаемых результатов.Если результаты неудовлетворительны, возврат к некоторым предыдущим этапам.

8. Разработка документации.Текстовое описание программы. Разработка инструкций пользователю – лицу, применяющему разработанную программу в своей работе.

Жизненным циклом программы называют весь период ее разработки и эксплуатации.

Алгоритм

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

Свойства алгоритма

1. Определенность. Каждый шаг точно определяет какое-либо действие. Не допускается двусмысленность, аппеляции к «здравому смыслу» и т.п.

2. Детерминированность. После окончания выполненного шага должно быть однозначно определено какой шаг будет следующим.

3. Конечность (или результативность). Алгоритм должен (для корректно заданных исходных данных) приводить к решению задачи за конечное число шагов.

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

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

Свойство массовости может нарушаться, если алгоритм используется для получения одного конкретного результата или в демонстрационных целях. В этом случае алгоритм использует только данные, определяемые самим алгоритмом и не использует исходных данных, вводимых пользователем при запуске программы.

Способы описания алгоритмов

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

2. Псевдокод. Способ точного описания алгоритма предложениями на естественном языке. Применяется наиболее часто.

Современные системы программирования

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

Такие комплексы, как правило, включают следующие программные модули.

1.Текстовые редакторы, служащие для создания текстов исходных программ.

2.Компиляторы, предназначенные для перевода исходного текста на входном языке в язык машинных кодов. В результате создаются объектные модули. Это программы на машинном языке, они записываются на диск с расширением .exe.

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

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

5. Библиотеки прикладных программ, содержащие в себе наиболее часто используемые подпрограммы в виде готовых объектных модулей.

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

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

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

Близко по смыслу к этому понятию понятие компилятор.

Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей объектную программу на языке машинных команд или языке ассемблера (.exe файл). Таким образом, компилятор отличается от транслятора тем, что его результирующая программа написана обязательно на языке машинных команд или языке ассемблера. Результирующая программа транслятора в общем случае может быть написана на любом языке (например, транслятор с языка Pascal на язык С). Таким образом, компиляторы – это вид трансляторов.

Напомним также, что существует еще принципиально отличное понятие: интерпретатор.

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

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

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

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

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

Язык Макроассемблер является расширением языка Ассемблера.

Программирование становилось более продуктивным, да и вообще, более привлекательным. Но даже на ассемблере программировать было не очень-то приятно, кроме того, ассемблеры аппаратно зависимы — то есть, если планировалось использовать программы на компьютере от Dec, а не Intel, их приходилось переписывать заново. Почему же ассемблер используется до сих пор?

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

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

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

Языки высокого уровня не зависят от архитектуры компьютера. Чем более язык ориентирован на человека, тем выше его уровень.

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

Структура современной системы программирования;

Система подсказок и справок

Состоит из трех основных частей:

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

2. подсказку по работе с самой системой программирования

3. справку о функциях библиотек, входящих в состав системы программирования.

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

Основные тенденции – внедрение в них средств разработки на основе т.н. языков 4-го поколения 4GL и поддержка средств быстрой разработки ПО – RAD.

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

Читать еще:  Языки программирования классификация и история развития

Описание программы, построенное на основе языка 4GL, транслируется затем в исходный текст и файл описания ресурсов интерфейса, представляющий собой обычный текст на соответствующим языке высокого уровня. С этим текстом уже работает программист. Далее все идет традиционным путем.

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

Языки 4GL составляют часть средств автоматизированного проектирования и разработки ПО, поддерживают все этапы жизненного цикла CASE-систем.

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

Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путём ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате программирование во многом заменяется на проектирование — подобный подход называется ещё визуальным программированием.

Компоненты достаточно легко создавать самостоятельно, поэтому в мире сегодня распространяются тысячи бесплатных и платных компонентов для наиболее известных RAD-сред, из них формируются библиотеки компонентов — объектные репозитории. Компоненты выступают в роли «строительных кирпичиков», позволяющих собирать готовое приложение с богатыми возможностями, написав всего десяток строк исходного кода, и такой компонентный подход к созданию программ считается очень перспективным, потому что без лишних усилий и на законных основаниях допускает повторное использование чужого труда.

Компьютер с нуля

Системы программирования и инструментальные среды

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

Система программированиякомплекс языковых и программных средств, предназначенных для автоматизации процесса составления, отладки программы и подготовки ее к выполнению.

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

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

Язык, который понятен процессору, состоит из 0 и 1. Поэтому программа, записанная таким образом, носит название машинного кода .

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

Общая классификация языков программирования

Уровни языков программирования

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

На схеме изображен состав системы программирования.

Состав системы программирования

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

Синтаксис языка программирования это перечень правил записи программ из элементов этого языка.

В настоящее время существует несколько сотен языков высокого уровня, получивших название алгоритмических языков. Каждый из этих языков имеет свой синтаксис и ориентирован на решение задач определенного класса. К наиболее популярным относятся Basic, Pascal, C++, Prolog.

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

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

Транслятор (translator) — это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.

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

Этап превращения программы, написанной на языке высокого уровня, в машинный код реализуется в двух вариантах.

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

2. Во втором случае транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и сразу исполняет эту команду. Такой транслятор называют интерпретатором . К интерпретируемым языкам относятся: Бейсик, Пролог, Лисп и др.

Современные инструментальные среды (системы программирования), как правило, используют компилятор. В связи с этим не лишним будет представление о том, как же объектный модуль превращается в исполняемую программу, которая и хранится в файле с расширением ЕХЕ или СОМ.

Алгоритм получения исполняемой программы

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

Редактор связей это программа, осуществляющая преобразование объектного модуля в исполняемую программу.

Объектный модуль представляет собой схему будущей программы. В нем отсутствует масса важных вещей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п. Редактор связей берет из специальной библиотеки (ее принято называть системной библиотекой подпрограмм) все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ «склеивает» исполняемую программу из объектного модуля и этих блоков.

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

  • текстовые редакторы (редакторы программ);
  • трансляторы (компиляторы, интерпретаторы);
  • редакторы связей.

Инструментальные среды

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

Если на каком-либо этапе подготовки программы была допущена ошибка, все приходилось начинать заново. Таким образом, отладка программы была достаточно длительным, трудоемким и утомительным процессом.

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

Читать еще:  Что такое системы программирования

Инструментальная среда – это интегрированная система, которая позволяет писать, редактировать, отлаживать и запускать программы на выполнение, не выходя из самой среды.

В качестве примеров программных продуктов этого типа можно привести широко известные пакеты TurboBASIC, BorlandPascalwithObjects 7.0, Borland C++ (продукты фирмы BorlandInternationalInc.), а также QuickBASIC, QuickPascal, Quick С (продукты фирмы Microsoft) и многие другие.

Инструментальные системы программирования.

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

· компилятор и/или интерпретатор;

· интегрированная среда разработки;

· средства создания и редактирования текстов программ;

· обширные библиотеки стандартных программ и функций;

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

· диалоговая среда для пользователя;

· многооконный режим работы;

· мощные графические библиотеки; утилиты для работы с библиотеками

· встроенная справочная служба.

Популярные инструментальные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, Delphy, Builder.

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

Язык Паскаль был разработан в 1970г. Никласом Виртом как язык обучения студентов программированию.
Паскаль вырабатывает навыки строгого стиля программирования (называемого структурным программированием), упрощающего разработку сложных программ.
Мощным языком программирования является расширенный вариант этого языка – Turbo Pascal.

Язык Си (разработан Деннисом Ритчи в 1972 г.) соединяет свойства языка высокого уровня с возможностями эффективного использования ресурсов компьютера, которые обычно достигаются только при программировании на языке Ассемблера. Язык Сипозволяет создавать сложные и весьма эффективные программы.

В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений, например, Borland Delphi.

· пакет Borland Delphi (Дельфи) —наследник семейства компиляторов Borland Pascal, предоставляющий удобные средства визуальной разработки. Его быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.

· пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.

· пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.

Инструментальные программы.

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

· средства компоновки программ;

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

· вспомогательные программы, реализующие часто используемые системные действия;

· графические пакеты программ и т.п.

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

Текстовый редактор.

Этими данными могут быть текст исходной программы или какой-либо документ или же книга. Редактируемый текст выводится на экран, и пользователь может в диалоговом режиме вносить в него свои изменения.

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

· редактирование строк текста;

· возможность использования различных шрифтов символов;

· копирование и перенос части текста с одного места на другое или из одного документа в другой;

· контекстный поиск и замена частей текста;

· задание произвольных межстрочных промежутков;

· автоматический перенос слов на новую строку;

· автоматическая нумерацию страниц;

· обработка и нумерация сносок;

· выравнивание краев абзаца;

· создание таблиц и построение диаграмм;

· проверка правописания слов и подбор синонимов;

· построение оглавлений и предметных указателей;

· распечатка подготовленного текста на принтере в нужном числе экземпляров и т.п.

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

Наиболее известный текстовый редактор — Microsoft Word.

Полнофункциональные издательские системы — Microsoft Publisher, Corel Ventura и Adobe PageMaker. Издательские системы незаменимы для компьютерной верстки и графики. Значительно облегчают работу с многостраничными документами, имеют возможности автоматической разбивки текста на страницы, расстановки номеров страниц, создания заголовков и т.д. Используются для создания макетов любых изданий — от рекламных листков до многостраничных книг и журналов.

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

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

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

Пользуется известностью Corel DRAW— мощный графический редактор с функциями создания публикаций, снабжённый инструментами для редактирования графики и трёхмерного моделирования.

Системы деловой графики позволяют выводить на экран различные виды графиков и диаграмм :

· круговые и секторные диаграммы и т.д.

Системы научной и инженерной графики позволяют в цвете и в заданном масштабе отображать на экране следующие объекты:

· графики двумерных и трехмерных функций, заданных в табличном или аналитическом виде;

· системы изолиний, в том числе, и нанесённые на поверхность объекта;

· сечения, проекции, карты и т.д.

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

Табличный процессор.

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

Примером может служить электронная таблица Microsoft Excel

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

Графам и строкам можно присваивать наименования. На экране монитора можно рассматривать таблицу целиком или по частям.

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

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

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

Самым популярным является табличный процессор — Microsoft Excel.

В Microsoft Excel автоматизированы многие рутинные операции, специальные шаблоны помогают создавать отчёты, импортировать данные и многое другое.

Назначение, структура и классификация систем программирования.

СОДЕРЖАНИЕ

1. Введение. Программное обеспечение и состав программного обеспечения вычислительной техники. Требование программного обеспечения к ресурсам вычислительной техники. 3

1.2 Назначение, структура и классификация систем программирования. 7

1.2. Алгоритм. Определения. Свойства. Правило записи блок-схем согласно ЕСПД(единой системы программных продуктов). 15

Блок схема алгоритма программы.. 19

1.3. Архитектура современных ЭВМ. 21

1.4. Архитектура микропроцессоров. 27

1.5. Методология объектно-ориентированного программирования. Основы программирования на языке Ассемблер на примере учебной модели ЭВМ с компилятором Е97 (блок-схемы алгоритмов, кодирование алгоритмов, тестовые программы и оценка правильности работы программы). 32

1.6. Архитектура микропроцессоров Intel. Система команд МП серии i80x86. 39

1.7.Решение задач: 47

2. Заключение (тенденции развития методов и систем программирования). 58

Читать еще:  Системы программирования на си примеры программ


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

К прикладному программному обеспечению (Application software) относятся компьютерные программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки — пример прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами.

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

4. программные средства общего назначения

5. Текстовые редакторы

6. Системы компьютерной вёрстки

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

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

10. Экспертные системы

11. Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)

12. Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)

13. Системы управления содержимым

14. программные средства профессионального уровня

20. Геоинформационные системы

21. Биллинговые системы

24. По сфере применения

Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)

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

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

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

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

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

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

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

Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design — CAD), автоматизированное проектирование (computer aided engineering — CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).

Назначение, структура и классификация систем программирования.

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

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

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

Компоненты системы программирования

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

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

1. Текстовые редакторы, предназначенные для набора и исправления текстов программ на языках программирования (обычно это исходные модули).

2. Трансляторы (компиляторы) для перевода с одного языка на другой (например, программа Ассемблера транслирует исходный модуль с языка Ассемблер на язык объектных модулей).

3. Редакторы внешних связей, собирающие загрузочный модуль из объектных модулей в схеме счёта со статической загрузкой и статическим связыванием.

4. Статические и динамические загрузчики, запускающие задачи на счёт.

5. Отладчики, помогающие пользователям в диалоговом режиме искать и исправлять ошибки в своих программах.

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

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

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

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

10. И другие служебные программы.

3. Информационное обеспечение системы программирования. Сюда относятся различные структурированные описания языков, служебных программ, библиотек модулей и т.п. Без хорошего информационного обеспечения современные системы программирования эффективно работать не могут. Каждый пользователь неоднократно работал с этой компонентой системы программирования, нажимая функциональную клавишу F1 или выбирая из меню пункт Help (Помощь). На рис.1 показана общая схема прохождения программы пользователя через систему программирования. Программные модули пользователя на этом рисунке заключены в прямоугольники, а системные (служебные) программы –в прямоугольники с закруглёнными углами. На этой схеме можно проследить весь путь, по которому проходит программа от написания её текста на некотором языке программирования, до этапа счёта.

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

Рис.1. Общая схема прохождения программы через систему программирования.

На этом мы закончим описание состава системы программирования и перейдём к описанию характеристик исполняемых модулей.

Дата добавления: 2018-02-18 ; просмотров: 594 ;

Ссылка на основную публикацию
Adblock
detector