Системы программирования и прикладное программное обеспечение компьютера
Системы программирования – это средства разработки, называемые инструментами программиста.
К средствам разработки программных продуктов относятся следующие системы:
— Системы процедурного (алгоритмического) программирования, трансляторы языков программирования, например, QBASIC, Turbo Pascal;
— Системы объектно-ориентированного визуального программирования, например, VisualBasic, Delphi;
— Системы логического программирования, например, Пролог;
— Средства поддержки программирования в системах управления базами данных (СУБД), например,dBase, Access;
— Средства создания Web–страниц, например, FrontPage, Home Site.
Основой системы процедурного программирования является транслятор. Системы процедурного программирования являются традиционными средствами разработки программ на алгоритмических языках программирования.
Современные системы визуального программирования позволяют сделать процесс программирования более наглядным за счёт использования графического интерфейса.
Системы логического программирования реализуют декларативный способ представления знаний, когда программист лишь формулирует задачу с помощью фактов и правил. Система логического программирования с помощью механизма логического вывода получает все возможные следствия, т.е. ищет решение задачи.
Системы управления базами данных (СУБД) позволяют создавать, редактировать и модифицировать базы данных.
Инструментальные средства создания Web–страниц используются большим количеством профессионалов для поиска неуловимых данных Internet. Здесь применяется гипертекст, позволяющий просматривать темы и документы, и связывает слова с другими документами, содержащими родственную информацию. Например, в документе об Австралии вы можете перейти к статье о кенгуру, а затем к рассказу о сумчатых животных, т.е. ко всему, связанному с темой.

Прикладное программное обеспечение (приложения) — это программы для пользователя.
К ним относятся:
1.Офисные приложения, например, Microsoft Office:
— Текстовый редактор Word;
— Электронные таблицы Excel;
— Мастер презентаций PowerPoint;
— и др.
2.Базы данных;
3.Системы компьютерной графики, например,CorelDraw, Animator Pro; они позволяют создавать и редактировать изображения, а также создавать анимацию.
4.Системы автоматизированного проектирования (САПР), например, AutoCad;; они позволяют разрабатывать проекты и создавать чертежи и схемы различных объектов (машин и механизмов, зданий, электронных схем и т.д.).
5.Сетевые приложения, например, Internet Explorer, Netscape Communicator, Opera;
6.Утилиты, например
— Антивирусные программы,например, Dr.Web;
— Архиваторы, например, WinRAR, Arj;
7. Обучающие программы;
8. Энциклопедии, справочники;
9. Программы распознавания текста, например, FineReader;
10. Программы-переводчики с иностранных языков, например, Stylus;
11. Игры и др.
Наибольшее количество пользователей работает с офисными приложениями и создаёт текстовые файлы, включая элементы графики, использует электронные таблицы и системы подготовки презентаций. Квалифицированный пользователь может создавать простые базы данных и работать с ними.
Для работы во всемирной компьютерной сети Internet используются специальные сетевые приложения, такие, как браузеры, позволяющие «путешествовать» по Всемирной паутине, почтовые программы, необходимые для работы с почтой и доступа к телеконференциям, и др.
Всё большее количество пользователей применяет обучающие программы для самообразования и в учебном процессе. Большую пользу приносят различные мультимедиа-энциклопедии и справочники на CD-дисках, которые содержат огромный объём информации и средства быстрого поиска.
Программы распознавания текста позволяют преобразовывать отсканированные страницы текста из графического формата в текстовый формат.
Программы-переводчики позволяют производить автоматический перевод текстов с русского на иностранный язык или наоборот.
Компьютерные игры бывают самых различных типов (логические, стратегические и т. д.). Они помогают развивать мышление и реакцию играющих.
Можешь пополнить материал раздела актуальной информацией. Пиши на e-mail: leniza@hotbox.ru
Какие бывают системы программирования
Виды систем программирования
Для современных программных средств основными являются три системы программирования (СП) — машинно-ориентированная, проблемно-ориентированная и процедурно-ориентированная. Каждая из них характеризуется различной степенью готовностью «выходного продукта» к немедленному «машинному» использованию, объемом требуемого дополнительного программного обеспечения (ПО), степенью «понятности» и «близости» пользователю. Дадим понятие каждой системе.
1) Машинно-ориентированная СП содержит средства для программирования на языке машинных команд, автокоде или языке ассемблерного типа. Для ее использования требуется сравнительно немного дополнительного ПО, ее характеризует сильная платформенная зависимость и плохая «читабельность» со стороны пользователя. Однако в силу больших возможностей по управлению аппаратными средствами эта СП наиболее важна для решения задач системного программирования.
2) Проблемно-ориентированная СП получила свое название в те времена, когда языковые средства программирования привязывались к конкретным классам решаемых прикладных задач («проблем») — для научно-технических инженерных задач — язык FORTRAN, для экономических — COBOL, для «начинающих» — BASIC. Поэтому проблемно-ориентированная СП использует какой-либо язык высокого уровня, ей требуется дополнительное сложное ПО (компиляторы, интерпретаторы), её «выходной продукт» слабо связан с платформой разработки и достаточно понятен человеку-пользователю.
3) Процедурно-ориентированные СП предназначены для выполнения каких-либо сложных процедур, инициированных пользователем, поэтому они представляют собой сложные обрабатывающие системы со своим входным языком — таковыми являются различные информационно-справочные системы, системы управления данными. Например, к ним можно отнести известную систему продажи и бронирования железнодорожных билетов.
Машинно-ориентированная СП характеризуется следующим набором из пяти групп параметров:
— организация оперативной памяти, минимально-адресуемая единица, общий объем доступного адресного пространства, способы структуризации (слова, двойные слова и т.п.).
— организация регистров — общее их число, доступность, назначение, формат
— форматы данных — поддерживаемые типы данных, формы их представления в памяти
— система команд — форматы, способы доступа к памяти, виды адресации, группы по выполняемым функциям
— специальные средства (наличие средств защиты, системы прерываний, организация ввода вывода и т.п.).
Основные компоненты системы программирования
Система программирования представляет собой совокупность реализации языка и окружающей её операционной среды — это базовые средства, доступные при работе на данном компьютере в данной системе.
Реализация же языка — это комплект программ, которым обеспечивается:
— поддержка операций с исходной программой: ввод, редактирование, сохранение текста; анализ синтаксических ошибок;
— подготовка синтаксически правильной программы к исполнению на конкретном вычислителе;
— поддержка на конкретном вычислителе всех возможных действий абстрактного вычислителя.
Помимо этого в реализацию языка могут входить другие программы, удовлетворяющие требования, логически связанные с вышеперечисленными.
Система программирования обязательно должна включать следующие компоненты:
1) Файловая система для хранения текста программ — как правило, это общая часть программного обеспечения для различных систем на данном компьютере.
2) Редактор для ввода текста программы как последовательности символов и исправление её (текстовый редактор). При этом возможно как использование редактора, специализированного для составления программ на данном языке, так и универсального, предназначенного для набора различных текстов.
3) Транслятор для преобразования текста программы к виду, в котором она может исполняться, и указания ошибок, если преобразование не удаётся. Транслятором может быть не одна программа.
Существует два больших класса программ-трансляторов: компиляторы и интерпретаторы. При использовании компиляторов весь исходный текст программы преобразуется в машинные коды, и именно эти коды записываются в память микропроцессора. При использовании интерпретатора в память микропроцессора записывается исходный текст программы, а трансляция производится при считывании из памяти программ очередного оператора. Быстродействие интерпретаторов намного ниже по сравнению с компиляторами, так как при использовании оператора в цикле он транслируется многократно.
Применение интерпретатора может обеспечить выигрыш только в случае его разработки для ЯВУ. В этом случае может быть сэкономлена внутренняя память программ, а также облегчен процесс отладки программ (при применении языка программирования BASIC) или облегчен перенос программ с одного типа процессора на другой (при применении языка программирования JAVA).
При программировании на языке программирования ASSEMBLER применение интерпретатора приводит к проигрышу по всем параметрам, поэтому для языков программирования низкого уровня применяются только программы-компиляторы.
4) Библиотеки периода трансляции, которые используются в процессе преобразования программного текста, к примеру, для включения в него стандартизованных фрагментов (чтобы программисту не нужно было их повторять в своих программных текстах).
5) Библиотеки периода исполнения, содержащие программы стандартных действий абстрактного вычислителя (её еще называют библиотека поддержки языка). Они связывают язык в операционной средой.
6) Отладчик — программа, отслеживающая ход вычислений программ на данном языке. С его помощью можно последовательно выполнять отдельные операторы исходного текста по шагам, наблюдая при этом, как меняются значения различных переменных. Без отладчика разработать крупное приложение очень сложно.
Кроме перечисленных компонентов система программирования, как правило, включает в себя:
7) Пользовательские библиотеки, которые содержат программы на данном языке (в текстовом или преобразованном виде), используемые в составляемых программах для задания специальных вычислений (они зависят от среды программирования).
8) Редакторы внешних связей, собирающие программы из модулей.
10) Оптимизаторы, позволяющие автоматически улучшать программу, написанную на определённом языке.
11) Профилировщики, которые определяют, какой процент времени выполняется та или иная часть программы. Это позволяет выявить наиболее интенсивно используемые фрагменты программы и оптимизировать их (например, переписав на языке Ассемблера).
К информационному обеспечению системы программирования относятся различные структурированные описания языков, служебных программ, библиотек модулей и т.п. Без хорошего информационного обеспечения современные системы программирования работать не могут. Каждый пользователь неоднократно работал с этой компонентой системы программирования, нажимая функциональную клавишу F1 или выбирая из меню пункт Help (Помощь).
На рисунке 1 показана общая схема прохождения программы пользователя через систему программирования. Программные модули пользователя на этом рисунке заключены в прямоугольники, а системные программы — в прямоугольники с закруглёнными углами.

Рисунок 1. Общая схема прохождения программы через систему программирования
Основные требования к системам программирования
Рассмотрим главные требования, которые предъявляются к современной системе программирования.
1) Требование согласованности интерфейсов и непротиворечивости результатов работы компонентов этих систем. Именно это согласование превращает наборы системных программ в единую систему, нацеленную на решение своей основной задачи — поддержку единого процесса подготовки программ.
2) Полнота набора системных компонентов. Данное требование является важным, но вторичным. В мире существуют несколько систем программирования, которые обеспечивали бы поддержкой весь процесс проектирования, разработки и сопровождения программных продуктов. Однако имеется некоторый уже обязательный круг компонентов, лакуны в котором недопустимы. Невозможно представить себе систему программирования, в которой отсутствовали бы трансляторы. Уже давно обязательным компонентом считается редактор связей (компоновщик), позволяющий объединять раздельно созданные модули в единую программу. Наличие системных библиотек также является обязательным требованием к составу систем программирования. Среди современных систем программирования уже трудно найти системы без интерактивных отладчиков и справочных систем. В то же время, отсутствие компонентов, ответственных за первые этапы проектирования программ — от фиксации первичных требований к разрабатываемому программному продукту до разработки подробных спецификаций и структурированных описаний программ, в настоящее время еще не считается существенным недостатком систем программирования, и многие из них обходятся без таких компонентов, оставляя их системам проектирования другого рода. Можно ожидать, что в будущем, по мере внедрения автоматизированных технологий разработки программного обеспечения, системы, предназначенные для автоматизации различных стадий общего процесса проектирования и разработки, будут объединяться в единые комплексы.
3) Требование удобства работы с системами программирования и отдельными их компонентами. Важными являются возможности по поддержке работы в различных режимах, а также по поддержке ведения в системе нескольких разных проектов разработки программного обеспечения. От систем программирования требуется поддерживать как режим отладки программ, так и режим получения наиболее эффективного варианта программ.
Поддержка нескольких проектов позволяет пользователям систем сохранять в архивах сделанные ими настройки и установки режимов для ведущихся ими проектов разработки и быстро извлекать их оттуда, легко восстанавливая сохраненный контекст.
Системы программирования
Система программирования — это система для разработки новых программ на конкретном языке программирования.
Специалисты с помощью сервисных возможностей систем программирования могут разрабатывать собственные компьютерные программы. При этом компьютерная программа состоит из совокупности указаний автоматизированной вычислительной системы, в результате выполнения которой получается требуемый результат.
Наиболее полное определение системы программирования и ее составляющих представлено в документе ГОСТ 19781-90. Согласно ему:
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Определение
Система программирования — система, образуемая языком программирования, компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.
Системы программирования позволяют программистам заниматься разработкой компьютерных программ. Данная задача значительно облегчается совершенствованием систем программирования, в которых постоянно расширяются пользовательские возможности, создается удобная среда для работы и оптимизируется процесс разработки программ.
Что входит в состав комплекса, основные компоненты
Система программирования обычно включает в себя следующие компоненты:
- Компилятор или интерпретатор.
- Интегрированная среда разработки.
- Средства создания и редактирования текстов программ.
- Библиотеки стандартных программ и функций.
- Отладочные программы, помогающие находить и устранять ошибки.
- Диалоговая среда.
- Многооконный режим работы.
- Мощные графические библиотеки.
- Утилиты для работы с библиотеками.
- Ассемблер.
- Справочная служба.
Определение
Компилятор — это особый вид транслятора, который переводит тексты с языка программирования высокого уровня (с того языка, которым пользуется программист при написании текста программы) на машинный язык (в машинный код, который понятен компьютеру).
Например, если пользователь пишет код на языке высокого уровня, таком как Java, и хочет его выполнить, то ему необходимо использовать специальный компилятор, разработанный для Java. Он занимается сканированием всей программы, транслированием ее в машинный код, который выполняется процессором компьютера, после чего выполняются необходимые задачи.
Определение
Интерпретатор — это исполняемый файл, который поэтапно читает программу, а затем обрабатывает, сразу выполняя ее инструкции. Он осуществляет программу поэтапно как часть собственного исполняемого файла.
Каждый раз, когда интерпретатор получает на выполнение код языка высокого уровня, то перед его конвертацией в машинный код, он преобразовывает этот код в промежуточный язык. Части кода последовательно интерпретируются и выполняются отдельно; при нахождении ошибок в составляющих кода процесс интерпретации останавливается.
Основные отличия компилятора от интерпретатора:
- Компилятор занимается трансляцией всей программы, когда интерпретатор транслирует и выполняет по частям.
- Интерпретатор в случае возникновения ошибки способен остановить процесс интерпретации, когда компилятор выдает отчет об ошибках только после трансляции.
- Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня.
Определение
Интегрированная среда разработки — это набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.
Функции жизненного цикла разработки программы:
- Набор кода и его редактирование.
- Компиляция или интерпретация.
- Автоматизация сборки.
- Отладка.
- Профилирование.
Основные компоненты интегрированной среды разработки:
- Текстовый редактор, позволяющий редактировать код программы.
- Система поддержки сборки, выполняющая компиляцию проектов из исходных кодов.
- Компоновщик, который заботится об упорядочивании объектов в адресном пространстве программы. Это может включать перемещение кода, предполагающего определенный базовый адрес, на другую базу.
- Отладчик, который представляет собой набор инструментальных средств, позволяющий отлаживать программы на уровне исходного текста.
Определение
Компоновщик — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.
В системе программирования компоновщик необходим для связывания объектного и машинного кодов, а также подготовки объектной программы (файла) к работе в конкретной программной среде.
Библиотеки стандартных программ и функций состоят из совокупности подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм.
Важным компонентом понятия системы программирования являются отладочные программы.
Определение
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
Программный модуль отладки позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Отладка позволяет последовательно и пошагово выполнять итоговые программы, просматривать значения объявленных переменных, устанавливать контрольные точки, трассировку для того, чтобы идентифицировать места и виды ошибок в разработке.
Справочная система, входящая в состав системы программирования, предназначена для предоставления пользователю справочной информации по конкретной системе программирования.
Машинно-ориентированные системы программирования
Определение Машинно–ориентированные системы — это системы, в которых язык программирования, наборы операторов и изобразительные средства существенно зависят от особенностей архитектуры компьютера.
Классификация машинно-ориентированных систем:
- Машинные языки — совокупность машинных команд, отличающаяся количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнять машина. Каждый компьютер имеет свой машинный язык.
- Языки символического кодирования — они схожи с машинными языками и являются командными, однако представляют собой не последовательности двоичных и восьмеричных цифр, а символический код в виде идентификаторов, предназначенные для облегчения запоминания смыслового содержания операции.
- Автокод — языки, включающие в себя все возможности символического кодирования, посредством расширенного введения макрокоманд. Макрокоманда — программный алгоритм действий, записанный пользователем.
- Макрос — набор команд и инструкций, группируемых вместе в виде единой команды для автоматического выполнения задачи. Основное назначение макроса — сокращение последовательности символов, описывающих выполнение требуемых действий ЭВМ, для более сжатого вида.
Машинно-независимые системы программирования
Определение
Машинно-независимые системы программирования — системы, позволяющие описывать алгоритмы решения задач и информацию, подлежащую обработке. Системы часто используются в широких кругах пользователей и не требуют особых знаний организации функционирования ЭВМ.
Виды языков программирования в машинно-независимых системах:
- процедурно-ориентированные;
- проблемно-ориентированные языки;
- объектно-ориентированное программирование.
Определение
Процедурно-ориентированные являются основными языками описания алгоритмов, которые обеспечивают математические функции многих современных вычислительных машин.
Они включают в себя такие популярные языки как:
- Fortran — один из старейших языков программирования высокого уровня, который используется для приложений с интенсивными вычислениями. Fortan часто применяется в процессе научного и инженерного вычисления. Он удобен благодаря большой программной базе, возможностью работы с документами и библиотекам с открытым исходным кодом, доступных под свободными лицензиями. Язык может осуществлять интуитивную запись в виде массива, которая упрощает запись быстрых векторизованных вычислений.
- Бейсик является одним из самых простых языков программирования. Он был создан с целью обучения студентов основам решения задач с помощью написания кода, поэтому программа ориентировалась на пользователей, для которых скорость выполнения программ была не очень важна, и которым первостепенно необходима возможность использовать компьютер для решения своих задач, не имея специальной подготовки. В России сегодня наиболее популярна разновидность Turbo-Basic фирмы Borland.
- Язык программирования Cи был создан как язык высокого уровня для разработки операционной системы UNIX и стал популярен благодаря своей простоте и эффективности. Си существенно повлиял на развитие индустрии программного обеспечения; его синтаксис стал основой для современных и востребованных языков C++, C#, Java.
- Паскаль — язык высокого уровня общего назначения, который был первоначально разработан Никлаусом Виртом в начале 1970-х годов. Он разрабатывался с целью создания платформы для обучения программированию, поэтому Паскаль недостаточно удобен при решении сложных задач и широко используется для математических операций. Разновидность языка Паскаль АБС стала полноценной системой для начинающих, которая сегодня используется для обучения студентов и школьников.
Определение
Проблемно-ориентированные языки — это формальные языки, предназначенные для описания данных (информации) и алгоритмов их обработки (программ) на вычислительной машине.
Основные проблемно-ориентированные языки:
- ЛИСП — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Так как исходный код состоит из списков, программы на ЛИСПе позволяют его изменять как структуру данных и создавать макросистемы, позволяющие программистам формировать новый синтаксис или новые предметно-ориентированные языки, встроенные в ЛИСП. В настоящее время ЛИСП применяется в экспертных системах, системах аналитических вычислений и т.д.
- Prolog — язык логического программирования, который обеспечивает решение задач, выраженных в терминах объектов и отношений между ними. Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь».
Определение
Объектно-ориентированное программирование основано на методологии представления программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Примеры объектно-ориентированных языков:
- JavaScript — язык сценариев, который позволяет создавать интерактивные html-документы, производить вычисления, выполнять проверку допустимости данных без обращения к серверу. Скрипты программы позволяют взаимодействовать с сайтами: заполнять формы обратной связи, оставлять комментарии, просматривать всплывающие подсказки и т.д.
- Objective—C — один из языков программирования, который активно используется для разработки мобильных приложений. Он используется корпорацией Apple и необходим для операционных систем OS X и iOS, их программных интерфейсов.
- Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Он универсален, поэтому подходит для решения разнообразных задач и многих платформ, начиная с iOS и Android и заканчивая серверными ОС. Python используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, парсинг и другие.
- Perl — это язык программирования общего назначения, который изначально был разработан для работы с текстовой информацией, но в дальнейшем стал способен решать широкий круг задач, например, системное администрирование, веб-разработка, сетевое программирование, разработка графического интерфейса пользователя и т.д.
Примеры систем программирования
Актуальные системы программирования:
- Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений, которая часто используется как платформа для разработки расширений. Eclipse является платформой с особым фундаментом для построения и запуска интегрированных инструментов разработки сквозного программного обеспечения. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
- IntelliJ IDEA — мощная универсальная среда программирования, поддерживающая язык Java. Она позиционирует себя как умная и удобная система программирования для Java (и других языков) с поддержкой всех последних технологий и фреймворков. У этой среды разработки есть мощные аналитические возможности. Система включает в себя набор инструментов для изменения внутренней структуры программы, который позволяет быстро реорганизовывать исходные тексты. Дизайн среды ориентирован на продуктивность работы программистов и позволяет оптимизировать простые рутинные задачи, чтобы дать возможность специалистам сконцентрироваться на достижение функциональных целей.
- Delphi — среда разработки прикладных программ, предназначенных для запуска в ОС Windows, MacOS, а также в мобильных операционных системах — iOS и Android. Delphi отличается простотой и может использоваться в учебных целях. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Программа предназначена, в первую очередь, для разработки приложений в архитектуре клиент-сервер.
- SymantecCafe — первая интегрированная среда визуальной разработки для создания приложений и интернет-страниц. Symantec Cafe позволяет разрабатывать приложения на языке Java, которые могут затем встраиваться в интернет-страницы для повышения их функциональности.
Насколько полезной была для вас статья?
Какие бывают системы программирования
Системы программирования и прикладное программное обеспечение
Системы программирования
Программирование — это процесс создания программ, разработки всех типов программного обеспечения.
Комплекс программных средств, предназначенных для разработки компьютерных программ на языке программирования, называют системой программирования.
Назначение систем программирования:
· Создание, отладка и выполнение
· программ с целью:
· решения вычислительных задач
· обработки текстов и графики
· создания системного ПО
· создания прикладного ПО
Режим работы систем программирования:
• ввод текста программы
• редактирование
• работа с файлами
• режим помощи
Прикладное программное обеспечение
Наибольшее распространение получили следующие офисные пакеты: Microsoft Office для операционных систем Windows и Mac OS; OpenOffice.org для операционных систем Windows и Linux.


Правовые нормы использования программного обеспечения