Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Инструментальное ПО. Автоматизированные системы создания программных продуктов. Трансляция, интерпретация и компиляция. Компоновщики, отладчики и редакторы связей.




1) Инструмента́льноепрогра́ммноеобеспе́чение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.
К этой категории относятся программы, предназначенные для разработки программного обеспечения:

ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.
трансляторы — программы или технические средства, выполняющие трансляцию программы.
компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.
препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор
отладчики (debugger) являются модулями среды разработки или отдельными приложениями, предназначенными для поиска ошибок в программе.
текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.
специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки (IDE).
библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения.
редакторы графического интерфейса.
Перечисленные инструменты могут входить в состав интегрированных сред разработки
Виды инструментального ПО:
Текстовые редакторы
Интегрированные среды разработки
SDK
Компиляторы
Интерпретаторы
Линковщики
Парсеры и генераторы парсеров (см. Javacc)
Ассемблеры
Отладчики
Профилировщики
Генераторы документации
Средства анализа покрытия кода
Средства непрерывной интеграции
Средства автоматизированного тестирования
Системы управления версиями
Системы управления проектами
Системы отслеживания ошибок
и другие.
2)Разработка программных продуктов любого типа, будь то ОС или любое приложение, осуществляется на основе какого-либо языка программирования, который включает в себя не только определенный набор команд, но и трансляторы, языковые интерпретаторы, компиляторы и т. д. (иногда даже дисассемблеры). Многие языки используют ручной ввод команд в текстовом режиме, можно найти даже целые специализированные платформы, позволяющие работать с языками вроде Delphi или Java без специальных знаний, так сказать, на интуитивном уровне. Кстати, то же самое касается и веб-разработки сайтов, когда страницы и их взаимосвязи создаются на основе встроенных возможностей, которыми обладают такие программные продукты. Пример: редактор MS OfficeWord, WordPress и др.
3)Трансляция программы - преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.

Язык, на котором представлена входная программа, называется исходным языком, а сама программа исходным кодом. Выходной язык называется целевым языком или объектным кодом.
Трансляторы подразделяют:

Адресный. Функциональное устройство, преобразующее виртуальный адрес (англ. Virtualaddress) в реальный адрес (англ. Memoryaddress).

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

Многопроходной. Формирует объектный модуль за несколько просмотров исходной программы.

Обратный. То же, что детранслятор. См. также: декомпилятор, дизассемблер.

Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.

Оптимизирующий. Выполняет оптимизацию кода в создаваемом объектном модуле.

Синтаксически-орие

Алгоритмы и их основные (5) свойства. Средства представления алгоритмов. Визуализация и язык (блок)-схем алгоритмов. Словесно-формульная запись алгоритма и этапы его программирования.

Понятие алгоритма

Цель алгоритмизации - научить компьютер решать те задачи, которые он самостоятельно и изначально решать не умеет. Что же для этого нужно?

А что, например, следует сделать, если нужно привлечь к решению задачи человека (назовем его исполнитель), не знакомого с ее решением?

В общем виде последовательность действий в этих случаях следующая:

1) выбрать способ (метод) решения задачи и изучить его во всех подробностях;

2) сообщить исполнителю выбранный метод в абсолютно понятном для него виде.

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

Второй этап значительно сложнее. Дело в том, что если способ (метод) решения задачи описан произвольно, то нет гарантии, что он будет верно понят исполнителем.

Именно поэтому описание метода следует выполнять в соответствии с определенными правилами, а именно:

— выделить величины, являющиеся исходными для задачи;

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

— указать порядок выполнения этапов;

— указать признак окончания процесса решения задачи;

— указать во всех случаях, что является результатом решения задачи.

Описание метода, выполненное в соответствии с этими правилами, называется алгоритмом решения задачи.

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

Итак, мы подошли к центральному понятию информатики — алгоритму. Более строго это понятие можно дать следующим образом:

 

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

Или, кратко: «Алгоритм — это строго определенная последовательность действий, необходимых для решения данной задачи.»

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

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

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

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

3. Результативность алгоритма. Свойство алгоритма, состоящее в том, что он всегда приводит к результату через конечное число шагов.

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

Действительно, рассмотрим приведенный выше алгоритм варки картофеля с точки зрения его свойств.

Данный алгоритм дискретен, так как весь процесс разбит на отдельные шаги, которых у нас оказалось 11.

Алгоритм определен, так как каждая команда описана просто, коротко и достаточно понятно для исполнителя. Более того, команды даны именно в той последовательности, которая необходима для решения данной задачи. Действительно, попробуйте, например, поменять местами пункты 5 и 7 алгоритма. Вряд ли в этом случае вы получите нужный результат.

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

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

 Способы представления (записи) алгоритмов

Существует несколько способов описания алгоритмов:

1) словесно-формульное описание алгоритма, т. е. описание алгоритма с помощью слов и формул;

2) графическое описание алгоритма, т.е. описание с помощью специальных графических схем алгоритмов — блок-схемы;

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

4) запись алгоритма на одном из языков программирования (Pascal, Basic и т.п.).

Рассмотрим два способа описания алгоритмов для следующего примера.

Блок-схема алгоритма

Фигура Обозначает Начало или конец работы алгоритма. Внутри фигуры пишут «начало» или «конец» Команда, или несколько команд, выполняемых последовательно. Внутри блока пишут команды, разделяя их точкой с запятой Ветвление. Внутри блока пишут проверяемое условие. Из блока выходят две стрелки. Около каждой из них пишут результат проверки условия. Например «да» и «нет». Ввод и вывод данных. Если алгоритм принимает исходные данные или рассчитывает результат, в таком блоке пишутся команды ввода исходных данных и вывода результата. Цикл с заданным количеством повторений. Цикл с проверкой условия продолжения/завершения обозначается при помощи ветвления

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

 

Блок-схема алгоритма

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

Начало или конец работы алгоритма. Внутри фигуры фигуры пишут «начало» или «конец».  

Команда, или несколько команд, выполняемых последовательно.

 Внутри блока пишут команды, разделяя их точкой с запятой 

Ветвление. Внутри блока пишут проверяемое условие.

 Из блока выходят две стрелки. Около каждой из них пишут

результат проверки условия. Например «да» и «нет».   

Ввод и вывод данных. Если алгоритм принимает исходные

 данные или рассчитывает результат, в таком блоке пишутся

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

Цикл с заданным количеством повторений.

Цикл с проверкой условия продолжения/завершения

 обозначается при помощи ветвления                                        

 

Блок-схема алгоритма построения треугольника

 

Блок-схема алгоритма решения квадратного уравнения

 

Блок-схема алгоритма сортировки карточек картотеки





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 577 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2201 - | 2158 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.