Программы для программирования презентация
Презентация на тему: " Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования." — Транскрипт:
1 Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования Вопросы по теме
11 Вопрос 1 Интегрированная система программирования включает компонент для набора исходного текста программы (исходного кода), который называется. редактором связей отладчиком конструктором текстовым редактором библиотекой далеедалее
12 Ответ на вопрос1 Интегрированная система программирования включает компонент для набора исходного текста программы (исходного кода), который называется. редактором связей отладчиком конструктором текстовым редактором библиотекой далеедалее
13 Вопрос 2 Интегрированная система программирования включает компонент для перевода исходного текста программы в машинный код, который называется. текстовым редактором редактором связей построителем кода компилятором Далее Далее
14 Ответ на вопрос2 Интегрированная система программирования включает компонент для перевода исходного текста программы в машинный код, который называется. текстовым редактором редактором связей построителем кода компилятором ДалееДалее
15 Вопрос 3 Компилятор отличается от интерпретатора тем, что… создает объектный код проверяет синтаксис исходной программы анализирует текст исходной программы проверяет правильность семантики исходной программы Далее Далее
16 Ответ на вопрос3 Компилятор отличается от интерпретатора тем, что… создает объектный код проверяет синтаксис исходной программы анализирует текст исходной программы проверяет правильность семантики исходной программы Далее Далее
17 Вопрос 4 Процесс трансляции всей программы без ее выполнения осуществляет … драйвер ассемблер компилятор интерпретатор Далее Далее
18 Ответ на вопрос 4 Процесс трансляции всей программы без ее выполнения осуществляет … драйвер ассемблер компилятор интерпретатор Далее Далее
19 Вопрос 5 Система программирования предоставляет программисту возможность … анализа существующих программных продуктов по соответствующей тематике автоматической сборки разработанных модулей в единый проект автоматического построения математической модели исходя из постановки задачи выбора языка программирования ДалееДалее
20 Ответ на вопрос 5 Система программирования предоставляет программисту возможность … анализа существующих программных продуктов по соответствующей тематике автоматической сборки разработанных модулей в единый проект автоматического построения математической модели исходя из постановки задачи выбора языка программирования ДалееДалее
21 Вопрос 6 Пошаговую трансляцию и немедленное выполнение операторов исходной программы осуществляет … интерпретатор ассемблер компилятор драйвер Далее Далее
22 Ответ на вопрос 6 Пошаговую трансляцию и немедленное выполнение операторов исходной программы осуществляет … интерпретатор ассемблер компилятор драйвер Далее Далее
23 Вопрос 7 И компилятор, и интерпретатор,- оба выполняют … непосредственное исполнение исходной программы создание объектного кода создание программы на языке высокого уровня анализ текста исходной программы Далее Далее
24 Ответ на вопрос 7 И компилятор, и интерпретатор,- оба выполняют … непосредственное исполнение исходной программы создание объектного кода создание программы на языке высокого уровня анализ текста исходной программы Далее Далее
25 Вопрос 8 Программа, которая объединяет объектные модули отдельных частей программы и добавляет к ним стандартные модули подпрограмм стандартных функций, в единую программу, готовую к исполнению, называется … библиотекой редактором связей текстовым редактором отладчиком Далее Далее
26 Ответ на вопрос 8 Программа, которая объединяет объектные модули отдельных частей программы и добавляет к ним стандартные модули подпрограмм стандартных функций, в единую программу, готовую к исполнению, называется … библиотекой редактором связей текстовым редактором отладчиком Далее Далее
27 Вопрос 9 Системами программирования являются: a)Ms Dos б)Java в)Adobe PhotoShop г)Visual C++ д)Borland Delphi а,г в,д а,в б,г,д ДалееДалее
28 Ответ на вопрос 9 Системами программирования являются: a)Ms Dos б)Java в)Adobe PhotoShop г)Visual C++ д)Borland Delphi а,г в,д а,в б,г,д ДалееДалее
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
311 лекций для учителей,
воспитателей и психологов
Получите свидетельство
о просмотре прямо сейчас!
«Как закрыть гештальт: практики и упражнения»
Свидетельство и скидка на обучение каждому участнику
Описание презентации по отдельным слайдам:
IDE (интегрирующая среда разработки) Канарейкин А. И.
Что это такое? Интегрированная среда разработки integrated development environment, IDE — класс ПО, обеспечивающий организацию процесса разработки ПО через объединение основных необходимых для этого компонентов за общим “фасадом” (пользовательским интерфейсом).
Среда разработки включает в себя: Текстовый редактор Транслятор (компилятор и/или интерпретатор Средства автоматизации сборки Отладчик (дебаггер). Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. ИСР обычно предназначены для нескольких языков программирования — такие как IntelliJ IDEA, NetBeans, Eclipse, Xcode, Microsoft Visual Studio, но есть и IDE для одного определённого языка программирования — как, например, Visual Basic, Delphi, Dev-C++.
Обзор Использование ИСР для разработки программного обеспечения является прямой противоположностью способу, в котором используются несвязанные инструменты, такие как текстовый редактор, компилятор, и т. п. Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако так как ИСР является сложным программным комплексом, то среда разработки сможет качественно ускорить процесс разработки ПО лишь после специального обучения. ИСР обычно представляет собой единственную программу, в которой проводится вся разработка. Она, как правило, содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель интегрированной среды заключается в том, чтобы объединить различные утилиты в одном модуле, который позволит абстрагироваться от выполнения вспомогательных задач, тем самым позволяя программисту сосредоточиться на решении собственно алгоритмической задачи и избежать потерь времени при выполнении типичных технических действий (например, вызове компилятора). Таким образом, повышается производительность труда разработчика. Например, ИСР позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках.
Спасибо за внимание.
Краткое описание документа:
Использование ИСР для разработки программного обеспечения является прямой противоположностью способу, в котором используются несвязанные инструменты, такие как текстовый редактор, компилятор, и т. п. Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако так как ИСР является сложным программным комплексом, то среда разработки сможет качественно ускорить процесс разработки ПО лишь после специального обучения.
Описание среды программирования Паскаль, общее описание работы среды программирования, описание этапов разработки программ на языке Паскаль.
Вложение | Размер |
---|---|
chto_takoe_sreda_programmirovaniya_-_vvedenie_v_programmirovanie.pptx | 642.75 КБ |
Предварительный просмотр:
Подписи к слайдам:
Что такое среда программирования - Введение в программирование Подготовила преподаватель Коробкина В. М. ГБПОУ ВО «Воронежский индустриальный колледж» Воронеж 2020
Тест «Верно ли, что. » Бесконечная последовательность шагов – это алгоритм? Алгоритм, в котором команды выполняются последовательно друг за другом – это циклический алгоритм? Исполнитель – это только человек? Алгоритм – это конечная последовательность, имеющая ожидаемый результат? Алгоритм, в котором некоторые команды повторяются – это алгоритм с ветвлениями? Компьютерная программа – это алгоритм? Машина не может быть исполнителем алгоритма? Овал в блок-схеме означает начало алгоритма ? Алгоритм можно записать только схемой? Шаги в алгоритме должны быть записаны на понятном исполнителю языке? Человек может выполнить любой алгоритм? Для записи алгоритмов существует специальная среда?
Компьютер – автомат, выполняющий вложенные в него инструкции (алгоритмы). Непосредственным исполнителем алгоритмов в компьютере является центральный процессор (ЦП), способный выполнять несколько десятков команд, записанных в двоичном коде. Данный набор команд называется системой команд процессора . Систему команд процессора, в основном образуют простейшие операции перемещения данных между ячейками ОЗУ и регистрами ЦП, выполнения арифметических и простейших логических операций.
По способу перевода трансляторы делятся на две группы: интерпретаторы , осуществляющие перевод текста программы в машинные коды по одной команде с немедленным выполнением данной команды; компиляторы, выполняющие полный перевод всего текста программы в машинные коды и последующее выполнение полученного программного модуля. Ясно, что компилирующие языки программирования дают более быстрый код и, как следствие, в настоящее время они чаще всего применяются на практике.
Классификация языков программирования: I . по способу перевода: интерпретаторы; компиляторы. II. По степени близости к человеческому языку: машинно-зависимые: машинные коды, ассемблеры, макроассемблеры, алгоритмические языки низкого уровня; машинно-независимые: алгоритмические языки высокого уровня. III. По методам решения поставленных задач: императивные (процедурные) – описывают процедуру решения задачи; декларативные (описательные) – описывают имеющиеся данные, цели задачи, а алгоритм решения компьютер строит самостоятельно.
Язык программирования Паскаль – процедурный язык модульного программирования высокого уровня, разработанный в 1971 г. швейцарским учёным Никлаусом Виртом . Первоначально предназначался для обучения программированию. Однако, позже на его базе были построены современные инструментальные средства, обладающие всеми необходимыми средствами и возможностями для логически последовательного, модульного и объектно-ориентированного программирования.
Среды программирования (или как их еще называют, среды разработки ) - это программы, в которых программисты пишут свои программы. Иными словами, среда программирования служит для разработки ( написания) программ и обычно ориентируется на конкретный язык или несколько языков программирования (в этом случае языки, обычно, принадлежат одной языковой группе, например, Си-подобные).
Интегрированная среда программирования содержит в себе все необходимое для разработки программ: редактор с подсветкой синтаксиса конкретного языка программирования . В нем программист пишет текст программы, так называемый программный код; компилятор. Он, как мы уже с вами знаем, транслирует программу, написанную на высокоуровневом языке программирования в машинный язык (машинный код), непосредственно понятный компьютеру. Язык С++ относится к компилируемым языкам, поэтому для обработки текстов его программ служит компилятор, иногда вместо компилятора (либо вместе с ним) используется интерпретатор, для программ, написанных на интерпретируемых языках программирования; отладчик. Служит для отладки программ. Как мы все знаем, ошибки в программах допускают абсолютно все: и новички, и профессионалы - они могут быть синтаксическими (обычно они выявляются еще на стадии компиляции) и логическими. Для тестирования программы и выявления в ней логических ошибок служит отладчик.
Общее описание работы среды программирования выполнить программу на С++, надо пройти шесть этапов: Первый этап - редактирование ; Второй этап - предварительная (препроцессорная ) обработка ; Третий этап - компиляция ; Четвертый этап - компоновка ; Пятый этап - загрузка ; Шестой этап - выполнение .
Редактирование. Это первый этап разработки программы в среде программирования и представляет он собой редактирование файла (исходного файла, который в последствии будет содержать код программы ). Он выполняется с помощью редактора программ , который напоминает нам обычный текстовый редактор, такой как блокнот, word и т.д . Программист набирает в этом редакторе свою программу на С++ и, если это необходимо, вносит в нее различные изменения или исправления. Одним словом, работает с кодом программы как с обычным текстом. Имена файлов программ на С++ часто оканчиваются расширением .с или . срр .
Компиляция . На этом этапе компилятором проверяется текст программы на наличие синтаксических ошибок и затем, если все хорошо, текст программы с подстановками, сделанными на предыдущем этапе, преобразуется в машинный код ( код на языке, уже непосредственно понятный компьютеру ). Иногда его еще называют объектным. На этом этапе создается файл с расширением . obj . Также в вашей программе могут использоваться кусочки уже готового машинного кода, расположенного в иных библиотеках (например, в файлах с расширением . lib ). На этапе компиляции эти библиотеки еще не будут подключены к только что созданному машинному коду. Они подключаются на следующем этапе.
Компоновка . Следующий этап называется компоновка . Программы на С++ обычно содержат ссылки на функции, определенные где-либо вне самой программы, например, в стандартных библиотеках или в личных библиотеках групп программистов, работающих над данным проектом . Объектный код, созданный компилятором, обычно содержит «дыры» из-за этих отсутствующих частей. Компоновщик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей). Получаем в итоге файл с расширением . exe (для Windows ), либо . out (для Linux ).
Загрузка . Следующий этап называется загрузка . Перед выполнением программа должна быть размещена в оперативной памяти компьютера. Это делается с помощью загрузчика, который забирает исполняемый загрузочный модуль с диска (наш файл с расширением . exe ) и перемещает его в оперативную память.
Выполнение . И наконец, рассмотрим самый последний этап - выполнение. С этого момента компьютер под управлением своего ЦПУ (центральное процессорное устройство) начинает последовательно выполнять в каждый момент времени по одной команде программы . Эти моменты времени носят название такт, каждый процессор имеет свою тактовую частоту, которую задает его внутренний тактовый генератор. Чем более высокая частота работы вашего процессора, тем, соответственно, лучше и тем быстрее выполняются ваши программы . На маленьких программах это, конечно же, не очень ощутимо, но когда запускаете какую-нибудь новомодную игрушку, то все очень даже заметно.
Запомнить: Среда программирования - это программа, в которой программисты разрабатывают свои программы. Основные компоненты среды программирования - это редактор, компилятор и отладчик. В редакторе набирается текст программы. Редактор имеет подсветку синтаксиса конкретного языка программирования. Компилятор переводит программу, набранную в редакторе, в машинный язык, непосредственно понятный компьютеру. Отладчик служит для нахождения ошибок в программе. А без ошибок в программах не бывает даже у очень опытных программистов.
ОСНОВНЫЕ ПОНЯТИЯ Программирование для компьютера – процесс создания программ управления работой компьютера. Программа – последовательность действий (команд), которую должен выполнить компьютер, чтобы решить задачу по обработке информации.
ОСНОВНЫЕ ПОНЯТИЯ Язык программирования – фиксированная система обозначений и правил для описания программ. Сегодня существуют сотни языков программирования. Их можно разделить на три основных типа: Машинные языки Языки низкого уровня Языки высокого уровня
МАШИННЫЙ ЯЗЫК (ЯЗЫК МАШИННЫХ КОМАНД) Машинный язык (ЯМК) – управляющий код для конкретной машинной операции (команды), определяющий, откуда взять исходные данные и куда поместить результаты выполнения операции. 00101000 00000010 11000000 11000100 11011000 Адрес команды Код операции 1-й адрес 2-й адрес 3-й адрес Исходные данные и команды представлялись в форме двоичного кода Пример: (Сложить два числа и результат занести в 3-й адрес)
ЯЗЫК ПРОГРАММИРОВАНИЯ НИЗКОГО УРОВНЯ Язык программирования низкого уровня - это язык программирования, структура команд которого определяется форматом команд и данных машинного языка, а также архитектурой ЭВМ. Пример: ( Сложить два числа и результат занести в 3-й адрес) ADD a, b, c
Ярким представителем языка программирования низкого уровня является язык Ассемблер , который был разработан в 50-е годы прошлого века и позволяет писать программы с использованием специальных обозначений машинных кодов - мнемоники. Ассемблер широко применяется в программах, где необходимо высокое быстродействие. Ассемблеры ориентированы на определенные типы процессоров. Поскольку разные типы ЭВМ имели разные системы команд процессора, то и ассемблеры у них были разные. Поэтому Ассемблер и является машинно-ориентированным языком. Такие программы нельзя переносить для исполнения на другие типы ЭВМ.
ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ Язык программирования высокого уровня - это язык программирования, средства которого допускают описание задачи в наглядном, легко воспринимаемом виде. Каждый язык высокого уровня определяется системой записи и набором правил, определяющих синтаксис. Грубо говоря, это набор слов (словарь) и правил составления предложений.
ПРИМЕРЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Фортран Бейсик Паскаль Си Делфи Ява
Языки программирования высокого уровня освобождают пользователя от программирования в машинных кодах. Однако такую программу не понимает компьютер, ему доступен только машинный язык. Поэтому для трансляции (перевода) программ с языка высокого уровня в машинные коды используются специальные программы – трансляторы .
ТРАНСЛЯТОР Транслятор – программа, которая преобразует (переводит) текст программы в язык машинных команд («0» и «1»). Программа на языке высокого уровня транслятор Программа на языке машинных команд
производит покомандную и выполнение исходной программы преобразует всю программу целиком на машинный язык и потом выполняет
ЗАЧЕМ СТОЛЬКО ЯЗЫКОВ ПРОГРАММИРОВАНИЯ? Для решения одной и той же задачи часто можно использовать несколько различных языков программирования. Для выбора, конечно, можно руководствоваться принципом: какой знаю - на том и пишу. Но есть еще несколько других критериев: 1. Скорость выполнения задачи. 2. Объем памяти, занимаемой исполняемым кодом. 3. Длина (например, в строках) исходного текста. 4. Простота составления программ.
БЕЙСИК (BASIC) Самый демократичный язык в мире. При создании программ на этом языке не требуется обязательное предварительное описание ее элементов, в том числе и типов переменных. А тут и до анархии не далеко. Лучше этими свободами не злоупотреблять. Иначе возможны ошибки, поиск которых при отладке программ - не самое полезное для нервов занятие. Мы будем изучать язык программирования Паскаль!
Презентация на тему: " 1 Современные системы программирования Системное и прикладное программное обеспечение Малышенко Владислав Викторович." — Транскрипт:
1 1 Современные системы программирования Системное и прикладное программное обеспечение Малышенко Владислав Викторович
2 2 Понятия о системе программирования Любой компилятор не существует сам по себе, а решает задачи в рамках всего системного программного обеспечения. Основная цель компиляторов: обеспечить разработку новых прикладных и системных программ с помощью языков высокого уровня. Компиляторы – это средства, служащие для создания программного обеспечения на этапах кодирования, тестирования и отладки.
3 3 Основные технические средства, используемые в комплексе с компилятором Текстовые редакторы, служащие для создания текстов исходных программ; Компоновщики, позволяющие объединять несколько объектных модулей в единой целое; Библиотеки прикладных программ; Загрузчики; Отладчики; Другие программные средства. Комплекс программно-технических средств называется системой программирования.
4 4 Возникновение систем программирования Первоначально компиляторы разрабатывались и поставлялись вне связи с другими техническими средствами. Первоначально совместно с компилятором поставлялись только библиотеки стандартных функций.
5 5 Задачи разработчика 1. Подготовить тексты исходной программы; 2. Подать данные в виде текста исходной программы на вход компилятора; 3. Получить от компилятора набор объектных файлов; 4. Подать набор объектных файлов на вход компоновщику; 5. Получить от компоновщика единый файл программы; 6. Поставить программу на выполнение.
6 6 Возникновение систем программирования 1. Возникновение командных файлов; 2. Поставка компиляторов в наборе со всеми необходимыми техническими средствами; 3. Стандартизация формата объектного файла; 4. Разработка специального командного языка выполняемого программой make. 5. Последовательность действий описывается в файле Makefile.
7 7 Появление интегрированных сред разработки Интегрированная среда разработки преимущества: единый интерфейс для написания, редактирования и отладки программ; Пример: Turbo Pascal; Создание развитых средств интерфейса пользователя Снижение требований к профессиональным навыкам разработчиков Распространение развитых средств графического интерфейса пользователя GUI Поддержка функций API Дизайн интерфейса
8 8 Структура современной системы программирования Системой программирования будем называть весь комплекс программных средств, предназначенных для кодирования, тестирования и отладки программного обеспечения.
9 9 Общая структура и этапы развития систем программирования 1 этап Объектная программа Компоновщик (редактор связей) Библиотеки … … Исполняемый файл Загрузчик 2 этап Текстовый редактор Исходная программа Компилятор 3 этап Редактор языка 4GL Исходный код ресурсов Редактор ресурсов Компилятор ресурсов Ресурсы интерфейса
10 10 Общая структура систем программирования Текстовый редактор позволяет готовить и вносить изменения в тексты исходных программ Редактор ресурсов позволяет готовить ресурсы пользовательского интерфейса для результирующей программы Компилятор переводить исходные программы в двоичный код. Система программирования может содержать несколько компиляторов Библиотеки программ: библиотека функций исходного языка и библиотека функций целевой ОС
11 11 Общая структура систем программирования Компоновщик обеспечивает объединение всех исходных моделей в единый файл Загрузчик обеспечивает подготовку результирующей программы к выполнению. Отладчик способствует поиску и локализации ошибок в программе.
12 12 Модификация структуры систем программирования В настоящее время развитие систем программирования идет в направлении повышения дружественности и сервисных возможностей. Основное направление развития систем программирования: снижение трудозатрат; Поддержка всего жизненного цикла ПО.
13 13 Современные системы программирования Средства разработки на основе так называемых «языков четвертого поколения» - 4GL (Fourth Generation Languages) Системы «быстрой разработки программного обеспечения» - RAD.
14 14 Языки 4GL Языки четвертого поколения – 4GL – представляют собой широкий набор средств, ориентированных на проектирование и разработку ПО. Они строятся на основе оперирования графическими образами. При таком уровне проектировать и разрабатывать прикладное ПО может пользователь, не являющийся квалифицированных программистом, но имеющий представление о предметной области.
15 15 Языки 4GL Описание программы на языке 4GL транслируется затем в исходный текст и файл описания ресурсов на языке высокого уровня. Языки 4GL реализованы в системах типа RAD и CASE-системах.
16 16 Принципы функционирования систем программирования
17 17 Текстовый редактор Интеграция текстового редактора в систему программирования Результат интеграции – пошаговая отладка Лексический анализ «на лету» Системы гиперссылок подсказок и справок Пояснение и вариант кода
18 18 Компилятор Запуск модуля компиляции скрыт от пользователя Автоматическая или интерфейсная настойка параметров компиляции Системы программирования могут содержать в своем составе целый набор других компиляторов и трансляторов Технические характеристики компилятора влияют на эффективность создаваемого ПО
19 19 Компоновщик. Назначение и функции компоновщика Назначение: связывание между собой объектных файлов, порождаемых компилятором, а также фалов библиотек, входящих в состав системы программирования. Объектный файл не может быть исполнен до тех пор, пока все модули и секции не будут в нем увязаны между собой. Результатом работы компоновщика является файл на языке машинных кодов.
20 20 Компоновщик. Задача компоновщика Обход всего кода программы, от точки входа до точки выхода Найти все вызовы внешних процедур и функций, связать их процедурами, функциями и переменными Разрешение всех адресных пространств вызовов и процедур – редактор связей.
21 21 Компоновщик. Ход работы компоновщика 1. Выбор из первого объектного модуля программной секции и присвоение ей начального адреса; 2. Выравнивание всех остальных объектных модулей относительно данного адреса; 3. Создание секции данных, таблицы идентификаторов и внешних имен; 4. Разрешение межсекционных ссылок; 5. Определение ошибок на связывание объектов и переменных.
22 22 Загрузчик. Функции загрузчика Загрузчик выполняет трансляцию адресов в момент запуска программы Динамические загрузчики позволяют использовать динамические библиотеки и ресурсы пользовательского интерфейса
23 23 Отладчик. Функции отладчика Отладчик – это программный модуль, который позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Функции: Последовательное пошаговое выполнение; Выполнение программы до достижения ею одной из точек останова; Выполнение программы до наступления некоторых условий; Просмотр содержимого областей данных.
24 24 Отладчик. Функции отладчика Развитие отладчиков: Отладка программ в терминах исходного языка программирования; Интеграция со средами программирования; Появление возможностей аппаратной поддержки средств отладки во многих вычислительных системах.
25 25 Библиотеки подпрограмм Библиотеки подпрограмм составляют существенную часть систем программирования. Состав библиотеки: Объектный файл; Описание вызовов на входном языке; Описание на естественном языке.
26 26 Статические библиотеки подпрограмм Статические библиотеки подпрограмм и функций представляют собой часть объектного кода, которая подключается к результирующей программе на этапе ее разработки. Недостатки использования: При наличии ошибок в библиотеке они будет проявляться во всех программах, которые используют эту библиотеку; Объектный код статических библиотек встраивается в исполняемый файл.
27 27 Динамические библиотеки подпрограмм Динамические библиотеки подключаются к результирующей программе в момент ее выполнения. Два основных варианта загрузки динамических библиотек при выполнении: Загрузка библиотеки сразу же после запуска на выполнение программы; Загрузка только в момент обращения к подпрограмм библиотеки. Соответственно, два варианта освобождения памяти.
28 28 Формат файлов динамических библиотек Формат близок к исполняемых файлам; Описание функций на входном языке; Отсутствует код программы обращения к функциям; Вызов осуществляется с помощью функций ОС.
29 29 Преимущества динамические библиотеки Не требуется включение в результирующую программу объектного кода часто используемых функций; Существенно сокращается объем кода.
30 30 Недостатки динамические библиотеки Программа связана с объектным кодом, не входящим в ее состав; Наличие всех используемых библиотек; Зависимость от кода библиотеки; Реализация библиотеки и программы
31 31 Ресурсы пользовательского интерфейса. Ресурсами пользовательского интерфейса называется множество данных, обеспечивающих внешний вид интерфейса пользователя результирующей программы, не связанных напрямую с логикой ее выполнения. Размещение (хранение) ресурсов: в программе; в динамической библиотеке; в отдельном файле.
32 32 Ресурсы пользовательского интерфейса. Работа с ресурсами. С помощью функций ОС: Загрузка ресурса; Освобождение памяти; Отображение на экране; Специальный набор наиболее часто используемых ресурсов интерфейса называют системными.
33 33 Ресурсы пользовательского интерфейса. Язык описания ресурсов. Язык описания ресурсов – это, как правило, простой язык, построенный на основе регулярной грамматики. Но строить описание ресурса в таком виде неэффективно, удобнее формировать в виде графических образов. Современные системы программирования имеют в своем составе графические средства редактирования ресурсов пользовательского интерфейса.
35 35 Мобильность и переносимость программного обеспечения Мобильностью программного обеспечения будем называть способность программного обеспечения выполнять свои функции на различных вычислительных системах.
36 36 Факторы, влияющие на мобильность Состав специализированных аппаратных средств и периферийных устройств; Тип ОС; Состав и функции динамически загружаемых библиотек; Структура и формат хранения ресурсов пользовательского интерфейса; Перечень внешних программ и модулей. Чем меньше зависимость, тем выше мобильность.
37 37 Мобильность и переносимость программного обеспечения Основной фактор мобильности – зависимость от используемых специализированных аппаратных средств и периферийных устройств. Зависимость от ОС и других программных факторов исключить невозможно.
38 38 Обеспечение переносимости исходного кода программ Добиться мобильности результирующей программы невозможно, но можно добиться переносимости исходных кодов программ.
39 39 Правила для переносимости исходных кодов Не использовать в коде прямые обращения к периферийным устройствам; Не включать в код прямые обращения к функциями ОС; Использовать только широко распространенные динамические библиотеки; Подключать динамически загружаемые библиотеки только средствами программирования; Использовать только средства системы программирования для создания ресурсов пользовательского интерфейса;
40 40 Правила для переносимости исходных кодов Исключить взаимодействие с внешними программами и модулями или ограничить его только программами, доступные во всех типах ОС; Не использовать для взаимодействия с внешними программами и модулями прямые обращения к средствам ОС.
41 41 Структура приложения, соответствующего стандарту переносимости Стандарт POSIX (IEEE Std ) Приложение, соответствующие Стандарту переносимости Библиотеки стандарта Библиотеки исходного языка программирования Операционная система (ОС)
42 42 Правила для систем программирования Поддержка выбранного стандарта; Ориентация на все типы ОС; Языки С и С++, поддерживают стандарт POSIX.
43 43 Мобильность на основе интерпретаторов При использовании интерпретаторов ограничения на прямое использование функций ОС должны соблюдаться точно так же, как и для компиляторов. Недостатки: 1. Исходный текст программ может быть выполнен только интерпретатором; 2. Скорость выполнения кода интерпретатором значительно ниже, чем при выполнении откомпилированного объектного кода.
44 44 Мобильность на основе интерпретаторов. Второй способ. Исходная программа Целевая вычислительная система Компилятор исходного языка Интерпретатор Промежуточного кода Промежуточный двоичный код
45 45 Преимущества и недостатки переносимости программ Преимущества: Широкий рынок сбыта; Снижение зависимость от архитектуры. Недостатки: Потеря эффективности.
Читайте также: