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

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

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

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

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

Система программирования представляет собой комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Языки программирования искусственные языки. От естественных они отлича­ются ограниченным числом «слов» и очень строгими правилами записи команд (операторов).

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

Читайте также:  Универсальный пульт came программирование

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

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

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

В реальных системах программирования перемешаны технологии и компиляции, и интерпретации.

В состав системы программирования, как правило, входят следующие средства:

– трансляторы с языков высокого уровня;

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

– макроассемблеры (машинно-ориентированные языки);

– отладчики машинных программ.

Такими средствами, в первую очередь, являются:

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

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

запускатель программ (Run), осуществляющий процесс выполнения программы;

компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;

отладчик (Debug), выполняющий сервисные функции по отладке и тестирова­нию программы;

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

Кратко подведем итог по третьему учебному вопросу:

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

Источник

4.Понятие и состав систем программирования.

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

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

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

1. Текстовые редакторы, предназначенные для набора и исправления текстов программ на языках программирования (обычно это исходные модули). 2. Трансляторы (компиляторы) для перевода с одного языка на другой 3. Редакторы внешних связей, собирающие загрузочный модуль из объектных модулей в схеме счета со статической загрузкой и статическим связыванием. 4. Статические и динамические загрузчики, запускающие программы на счет. 5. Отладчики, помогающие пользователям в диалоговом режиме искать и исправлять ошибки в своих программах. 6. Оптимизаторы, позволяющие автоматически улучшать программу, написанную на определенном языке. Бывают оптимизаторы программ как на исходном языке программирования , так и на машинном языке. 7. Профилировщики, которые определяют, какой процент времени выполняется та или иная часть программы. Это позволяет выявить наиболее интенсивно используемые фрагменты программы и оптимизировать их или на исходном языке, или, например, пе- реписав эти фрагменты на Ассемблер. 8. Библиотекари, которые позволяют создавать и изменять файлы-библиотеки процедур , файлы-библиотеки макроопределений, и т.д. 9. Интерпретаторы, которые могут выполнять программы без перевода их на другие языки . 10. И другие служебные программы.

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

Источник

Введение

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

  1. ЧТО ТАКОЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ, ИХ СОСТАВ
  • Трансляторы с языков высокого уровня;
  • Средства редактирования, компоновки и загрузки программ;
  • Макроассемблеры (машинно-ориентированные языки);
  • Отладчики машинных программ.
  • Текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;
  • Загрузчик программ(Load), позволяющий выбрать из директория нужный текстовый файл программы;
  • Запускатель программ (Run), осуществляющий процесс выполнения программы;
  • Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;
  • Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы;
  • Диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение и т.п.

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

  • Фортран (FORmula TRANslating system — система трансляции формул); старейший и по сей день активно используемый в решении задач математической ориентации язык.
  • Бейсик (Beginner’s All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилие плохо совместимых версий – самый популярный по числу пользователей.
  • Алгол (ALGOrithmic Language – алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.
  • ПЛ/1 (PL/1 Programming Languagе – язык программирования первый). Многоцелевой язык; сейчас почти не используется.
  • Си (С – «си»); широко используется при создании систеьного программного обеспечения.
  • Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. На его базе созданы несколько более мощных языков (Модула, Ада, Дельфи).
  • Кобол (Common Business Oriented Language – язык, ориентированный на общий бизнес); в значительной мере вышел из употребления.
  • Дельфи (Delphi) – язык объективно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен.
  • Джава (Java) – платформенно — независимый язык объективно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц.
  • Липс (Lips);
  • Пролог (PROgramming in LOGic);
  • Оккам (назван в честь философа У.Оккама).

Источник

Оцените статью