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

Содержание

Слайд 2

Средства инструментального программирования(2) В команде указывается: вид действия (код команды); место

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

В команде указывается:
вид действия (код команды);
место

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

Средства инструментального программирования(3) Достоинство МЯ: они обладают необходимой точностью; достаточно формализованы

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

Достоинство МЯ:
они обладают необходимой точностью;
достаточно формализованы

для адекватного представления алгоритма задачи;
программы на МЯ работают очень быстро.
Недостатки:
1) Неудобство использования:
двоичная система счисления;
знание устройства машины и процессов, происходящих в ней;
знание организации памяти.
2) Сложность отладки и ее трудоемкость:
синтаксис (неправильные команды и адреса)
логические ошибки (многократный прогон и пошаговое вып.)
Слайд 4

Средства инструментального программирования(4) Машинно-ориентированные языки (МОЯ). Это группа языков, в основе

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

Машинно-ориентированные языки (МОЯ).
Это группа языков, в основе которых

по-прежнему лежит система команд какой либо машины (ассемблер ЕС ЭВМ, ЯСК «Минск-32», автокод М-222).
Отличия от МЯ:
введение символических адресов (кодирование отделено от распределения памяти);
введение символических (мнемонических) имен команд (каждая группа команд имеет свои имена).
Достоинства:
Упрощение составление программ
за счет мнемонических команд и адресов;
за счет макрогенерации (сокращение длины команд);
удобных средств описания полей данных;
автоматического синтаксического анализа
Слайд 5

Средства инструментального программирования(5) Недостатки: синтаксис МОЯ далек от записи формул (чтобы

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

Недостатки:
синтаксис МОЯ далек от записи формул (чтобы

запрограммировать формулу – много мелких операций);
время написания и отладки программ по-прежнему велико;
программа достаточно большая по объему.
Алгоритмические языки (ЯВУ).
Создание ЯВУ позволило предоставить программистам средства значительно более гибкой и разнообразной структуры.
Применение этих языков приблизило описание алгоритмов для ЭВМ к общепринятой форме записи методов решения задач определенного класса.
Слайд 6

Средства инструментального программирования(6) Свойства ЯВУ: позволяют удобно и экономично записывать формулы,

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

Свойства ЯВУ:
позволяют удобно и экономично записывать формулы,

определяющих вычислительную часть задачи;
позволяют определять и задавать структуру и формат данных различных видов;
позволяют статически и динамически выделять память под информацию;
достаточно точны и формализованы для автоматического перевода программ на машинный язык;
легко позволяет найти и устранить ошибку;
удобен для изучения.
ЯВУ служат:
средством мышления;
средством общения;
посредником между человеком и ЭВМ.
Слайд 7

Средства инструментального программирования(7) Однако: программирование на ЯВУ требует от языка кодировать

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

Однако:
программирование на ЯВУ требует от языка кодировать

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

Средства инструментального программирования(8) Классификация компилирующих программ Транслятор – программа, которая переводит

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

Классификация компилирующих программ
Транслятор – программа, которая переводит програм-му, написанную

на одном языке, в эквивалентную ей программу, написанную на другом языке.
Компилятор – транслятор с языка высокого уровня на машинный язык или язык ассемблера.
Ассемблер – транслятор с языка Ассемблера на ма-шинный язык.
Интерпретатор – программа, которая принимает ис-ходную программу и выполняет ее, не создавая про-граммы на другом языке.
Макрогенератор (для компиляторов – препроцессор) – программа, которая обрабатывает исходную про-грамму, как текст, и выполняет в нем замены ука-занных символов на подстроки. Макрогенератор обрабатывает программу до трансляции.
Слайд 9

Средства инструментального программирования(9) Существует множество алгоритмических языков программирования. Это определяется множеством

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

Существует множество алгоритмических языков программирования.
Это определяется множеством

сфер применения компьютеров и, как следствие, множеством классов решаемых на компьютере задач.
Среди этого множества можно отметить такие языки, как:
Fortran (Formula translator), ориентированный на написание программ, решающих научные или вычислительные задачи;
COBOL, предназначенный для разработки бизнес-приложений;
Pascal, язык общего назначения;
С, являющийся стандартным процедурным языком программирования.
Слайд 10

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

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

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

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

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

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

Особое место занимают библиотеки, в состав которых входят

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

Средства инструментального программирования(12) Естественно-ориентированные языки (ЕОЯ). Эти языки позволяют преодолеть психологический

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

Естественно-ориентированные языки (ЕОЯ).
Эти языки позволяют преодолеть психологический барьер

между человеком и машиной.
ЕОЯ позволяют специалисту общаться с машиной в терминах его проблемной области, близких и понятных ему.
Эти языки, в отличие от ЯВУ, не являются универсальными, а ориентированы на применение в каких либо областях знаний.
Примерами естественно-ориентированных языков программирования могут служить
Утопист, Симула, Модула, ПРОЛОГ.
Слайд 13

Средства инструментального программирования(13) Среды программирования. Разработка системного и прикладного программного обеспечения

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

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

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

Средства инструментального программирования(14) Процесс повторяется, пока все синтаксические ошибки не будут

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

Процесс повторяется, пока все синтаксические ошибки не будут

исправлены.
После этого компилятор создает объектный код программы на МЯ (*.OBJ). Однако, к нему еще не присоединены библиотечные и стандартные программы.
Для их подключения используется специальная программа компоновщик (редактор связей). Ее нужно вызвать на выполнение и передать ей в качестве исходного файла объектный код.
Компоновщик подсоединит библиотеки и создаст исполнительный файл программы (*.EXE).
Однако, если при компоновке возникли ошибки, повторяется весь процесс начиная от редактора текстов.
После исправления всех ошибок компоновки, программа запускается на выполнение.
Слайд 15

Средства инструментального программирования(15) Однако, в процессе выполнения программы пользователь может получить

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

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

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

Средства инструментального программирования(16) Интегри́рованная среда́ разрабо́тки, ИСР (IDE, Integrated development environment

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

Интегри́рованная среда́ разрабо́тки, ИСР (IDE, Integrated development environment

или integrated debugging environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно среда разработки включает в себя:
Текстовый редактор
Компилятор и/или интерпретатор
Средства автоматизации сборки
Отладчик
Информационную помощь.
Появление сред программирования дало новую жизнь многим популярным языкам программирования таким как С,Pascal.
Слайд 17

Средства инструментального программирования(17) Интегрированные среды разработки были созданы для того, чтобы

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

Интегрированные среды разработки были созданы для того, чтобы

максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами.
Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки.
Однако, так как IDE является сложным программным комплексом, то лишь после долгого процесса обучения среда разработки сможет качественного ускорить процесс разработки ПО.
Обычно IDE ориентирована на определенный язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования.
Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState, Komodo, последние версии Microsoft Visual Studio, WinDew и Xcode.
Слайд 18

Средства инструментального программирования(18) Частный случай ИСР — среды визуальной разработки, которые

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

Частный случай ИСР — среды визуальной разработки, которые включают

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