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

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

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

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

Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд. Имеется два основных вида средств реализации языка: компиляторы и интерпретаторы.

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

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

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

Процесс создания программ:

Постановка задачи – Алгоритм – Программирование – Отладка – Программа-приложение

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

Дискретность – возможность разбиения процесса обработки информации на более простые этапы

Определенность – однозначность выполнения отдельного шага преобразования информации

Выполнимость – возможность получения желаемого результата за конкретное число шагов

Универсальность – пригодность алгоритма для решения определенного класса задач

Программирование – это теоретическая и практическая деятельность, связанная с описанием алгоритма решения задачи средствами конкретного ЯП и оформления полученных результатов в виде программы

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

Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языка PROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием. Так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами). В настоящее время для ПК существует около двух десятков реализации PROLOG’а, некоторые из которых оформлены в виде интегрированных сред.

Читайте также:  Фанук руководство программирования токарные

Объектно-ориентированное программирование. Корни ООП уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать Visual Basic и Delfi.

Сейчас уже невозможно представить себе жизнь в мире ПК без Интернета. Язык гипертекстовой разметки-HTML (Hyper Text Markur Language) позволяет создавать программы, с помощью которых можно блуждать по Сети.

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

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

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

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

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

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

Пример машинного кода и представления его на ассемблере

  • компиляторы — превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).
  • интерпретаторы — превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.
  • Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора.
  • результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.
  • значительное время разработки больших и сложных программ.
Читайте также:  Программирование робота для сумо

Источник

Урок 15
Системное программное обеспечение. Системы программирования
§40. Системное программное обеспечение. §41. Системы программирования

транслятор;
компоновщик (редактор связей, сборщик, англ, linker) — программа, которая собирает разные части (модули) создаваемой программы и функции из стандартных библиотек в единый исполняемый файл. На рисунке 6.16 показано, как собирается программа на языке Си, состоящая из двух модулей (исходные файлы qq.c и qql.c).

Рис. 6.16

отладчик (англ, debugger 1 ) — программа для поиска ошибок в других программах, позволяющая:
— выполнять программу в пошаговом режиме (по одной строке);
— выполнять программу до строки, где установлен курсор; устанавливать точки останова (англ, breakpoints);
— просматривать и изменять значения переменных в памяти;

1 Согласно одной из версий, это название связано с жучком, который попал между контактов реле компьютера Mark II в 1947 г. Дословно: debug — «удаление жучков».

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

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

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

Поэтому библиотеки таких функций хранятся на диске в виде отдельных файлов — динамически подключаемых библиотек, в системе Linux они имеют расширение so (от англ, shared objects — разделяемые объекты), а в Windows — расширение dll (от англ, dynamic-link library — динамически подключаемая библиотека). Когда программа вызывает функцию из такой библиотеки, библиотека загружается в память, и управление передаётся вызванной функции. Несколько программ могут обращаться к одной и той же копии библиотеки в памяти.

Набор стандартных структур данных и функций операционной системы, которые программисты могут использовать в прикладных программах, называется интерфейсом прикладного программирования (англ. API — Application Programming Interface). В ОС Windows применяется Windows API, а в Unix-подобных операционных системах — стандарт POSIX (англ. Portable Operating System Interface for Unix — переносимый интерфейс операционных систем Unix).

Читайте также:  Microsoft разработка web приложений

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

Многие современные интегрированные среды позволяют строить интерфейс программы (расположение элементов в окне) с помощью мыши. Они называются средами быстрой разработки приложений (англ. RAD — Rapid Application Development) или средами визуального программирования. На рисунке 6.17 показано окно RAD-среды Lazarus для программирования на объектной версии языка Паскаль.

Среди профессиональных RAD-сред нужно в первую очередь назвать Microsoft Visual Studio (msdn.microsoft.com/vstudio). Её профессиональная версия — коммерческая, но все желающие могут бесплатно скачать и использовать ограниченную версию (Express) для учебных целей.

Большой популярностью пользуются также среды Dev-C++ (wxdsgn.sourceforge.net) и Delphi (embarcadero.com). Кросс-платформенная среда Code::Blocks (www.codeblocks.org) распространяется бесплатно, существуют версии для Windows, Mac OS и Linux.

Рис. 6.17

Следующая страница Вопросы и задания

Источник

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

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

СД также можно использовать для описания синтаксиса ЯП. Они состоят из овалов, кружков и прямоугольников, соединяемых прямыми линиями со стрелками. Кружки и овалы служат для обозначения неделимых символов языка – терминальные силы. Прямоугольники обозначают ссылку на другую синтаксическую диаграмму. Указанные элементы объединены в более общую структуру, которая используется для описания синтаксиса конструкций языка. Типовыми объединениями элементов являются след. диаграммы: 1) А – имя диаграммы или определяемого понятия, а сама диаграмма означает, что по структуре конструкция А может состоять из конструкций описанных диаграммой А1 или А2 или … или АN. Знак арифметической операции: 2) A => [A1] => [A2] => … => [AN] Конструкция А представляет собой последовательную конструкцию А1, А2, …, АN. 3) Конструкцией А может содержать или элемент А1 или вообще не чего. 4) Определенная конструкция А может быть пустой или может содержать одну или несколько подряд идущих конструкций А1. 5) Конструкция А может содержать одну или несколько подряд идущих конструкций А1. Диаграммы являются более наглядным отображаем синтаксиса. Для изображения диаграмм требуются спец. средства и определения сложных конструкций требуются сложные диаграммы, которые будут слишком громоздкими. СД используются наряду с формулами БНФ. Для описания семантики (смысла) ЯП обычно используется неформальные пояснения на естественном языке или также специальные метаязыки. Для изучения ЯП необходимо изучить его синтаксис и семантику.

Источник

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