Слайд 1Лекция № 7
Модели решения задач
и системы программирования
Слайд 2Компьютерное моделирование
Модели и их классификация
Модель – это некоторая абстракция, представление
объектов, процессов или явлений в виде формального описания. Такое формальное
описание может быть выполнено с помощью математических зависимостей, словесно, с использованием графиков, таблиц, диаграмм и др.
Моделирование - процесс создания и исследования модели. Никакая модель не может абсолютно точно воспроизвести свойства и поведение объектов. Получаемые на основе модели результаты соответствуют изучаемому объекту или процессу лишь приближённо, с некоторой степенью точности.
Слайд 3Компьютерное моделирование
Модели и их классификация
Создавая модель, учитывают не все свойства
объекта, а только те, которые представляют интерес, являются наиболее важными
для решаемой задачи.
Характеристиками объекта, не оказывающими существенного влияния на поведение объекта в рамках поставленной задачи, пренебрегают.
В зависимости от решаемой задачи, один и тот же объект можно описать разными моделями.
Классифицировать модели можно по разным признакам:
по предметной области;
в зависимости от поставленной задачи;
по применяемым средствам;
по используемым методам и др.
Слайд 4Компьютерное моделирование
Модели и их классификация
Существует большое количество классификаций моделей и
разные авторы придерживаются только некоторых из них.
Используют модели графические, натурные
(физические), математические, информационные, концептуальные, логические, эвристические, графовые и др.
Математическая модель описывает объект или процесс с помощью математических соотношений.
Информационно-логическая модель – это формальное описание объектов, допускающее их представление и обработку средствами ЭВМ.
Выбор метода моделирования и детализация модели зависит от целей, этапа проектирования, сложности системы и других параметров.
Слайд 5Компьютерное моделирование
Модели и их классификация
Модели характеризуются свойствами: адекватностью, полнотой, детальностью
и т.п.
Адекватность – это степень соответствия модели представляемым объектам.
Первоначально предложенные модели в процессе проектирования могут уточняться, детализироваться.
Используя созданные модели, при проектировании систем принимаются принципиальные решения, выбираются параметры, выполняется оптимизация.
Понятно, что ошибки на этапе формирования модели в дальнейшем исправить крайне сложно, а иногда и невозможно.
Слайд 6Компьютерное моделирование
Модели и их классификация
При разработке сложных систем в настоящее
время используется системный подход, который построен на переходе от общего
к частному.
При системном подходе к моделированию определяется
Структура системы – совокупность связей между подсистемами и элементами системы, отражающих их взаимодействие.
Структура подсистем - совокупность связей между элементами подсистемы, отражающих их взаимодействие.
Уточнение свойств элементов, входящих в состав системы и ее подсистем
Слайд 7Основные приёмы и методы математического моделирования
Математическое моделирование основано на использовании
аппарата соответствующих разделов математики.
Это могут быть:
линейная алгебра
и линейное программирование,
дифференциальное исчисление,
дифференциальные уравнения,
численные методы и др.
При проведении компьютерного математического моделирования могут использоваться различные средства:
языки программирования высокого уровня;
офисные пакеты – текстовый редактор и табличный процессор;
математические пакеты.
Выбор математического аппарата и средств для реализации модели, зависит от поставленной задачи, а так же от подготовленности и предпочтений исполнителей.
Слайд 8Формы представления результатов
Очень важной при выполнении работ по моделированию является
форма представления результатов.
Получаемые с помощью модели результаты могут быть
представлены
в численном виде,
в виде графиков,
таблиц,
диаграмм,
графов,
звуков и т.п.
Желательно предусмотреть возможность отображения результатов несколькими способами, чтобы можно было выбрать наиболее удобные для последующего использования. В некоторых случаях форма представления результатов зависит от программных средств, используемых при моделировании.
Поэтому при выборе программного обеспечения учитывают требования по отображению результатов.
Слайд 9ИНСТРУМЕНТАЛЬНЫЕ СРЕДЫ И СИСТЕМЫ ПРОГРАММИРОВАНИЯ
Система программирования – комплекс языковых и программных средств,
предназначенных для автоматизации процесса составления, отладки программы и подготовки ее
к выполнению.
Программа - это последовательность предписаний (команд), записанных на языке, понятном некоторому исполнителю (процессору).
Язык, который понятен процессору, состоит из 0 и 1. Поэтому программа, записанная последовательностью 0 и 1, называется машинным кодом.
Слайд 10ИНСТРУМЕНТАЛЬНЫЕ СРЕДЫ И СИСТЕМЫ ПРОГРАММИРОВАНИЯ
Машинный код труднопонимаем для человека. Поэтому
при написании первых программ процесс отладки и тестирования даже элементарных
программных действий занимал значительное время.
Для написания более сложных программ приходилось пользоваться библиотеками подпрограмм – специально оттестированными фрагментами часто встречающихся стандартных элементов программ
Поэтому были придуманы языки программирования высокого уровня - такое название было дано для того, чтобы отличить их от языков, непосредственно понятных машинам - которые позволяют быстро и понятно (для людей) записать последовательность действий, которые должен выполнить компьютер.
Слайд 11Классификация языков программирования
Слайд 12Уровни языков программирования
Уровень языка программирования определяет степень его удаленности от
языка процессора и приближенности к естественному или формальному языку, используемого
человеком. (Чем выше уровень, тем дальше он от компьютера и ближе к человеку).
1 уровень 2 уровень 3 уровень 4 уровень
Слайд 13Язык программирования
Язык программирования - это специально обусловленный набор символов, слов
и мнемонических (особым образом организованных и заранее оговоренных) сокращений, используемых
для записи набора команд (программы), воспринимаемых компьютером.
Синтаксис языка программирования - это перечень правил записи программ из элементов этого языка.
В настоящее время существует несколько сотен языков высокого уровня, получивших название алгоритмических языков. Каждый из этих языков имеет свой синтаксис и ориентирован на решение задач определенного класса. К наиболее популярным относятся Basic, Pascal, C++, Prolog.
Для подготовки текста программы на любом алгоритмическом языке требуется специальная программа, называемая текстовым редактором, который является первым инструментом в сложном деле написания программ.
Слайд 14Состав системы программирования
Система программирования
Язык программирования
Транслятор
Отладчик
Библиотеки подпрограмм
Загрузчик
Документация
Слайд 15Этапы программирования. 1.Трансляция
Текстовый редактор – требуется для подготовки текста программы
на любом алгоритмическом языке, является первым инструментом в сложном деле
написания программ.
Процессор понимает только язык машинных команд. Поэтому обязательным элементом любой системы программирования является транслятор.
Транслятор (translator) - это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.
Этап трансляции кода программы является обязательным.
Текст программы на языке программирования
Текст программы на машинном языке
транслятор
Слайд 16Этапы программирования. 1.Трансляция
Трансляторы бывают 2-х типов
1. Компиляторы. В этом случае
транслятор берет из файла программу на языке высокого уровня и
переводит в программу на машинном языке всю целиком, записывая ее в файл с расширением obj. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой перевод, называют компилятором. К компилируемым языкам относятся языки: Паскаль, Си, Фортран и др.
2. Интерпретаторы. Транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и сразу исполняет эту команду. Такой транслятор называют интерпретатором. К интерпретируемым языкам относятся: Бейсик, Пролог, Лисп и др.
Слайд 18Алгоритм получения исполняемой программы
Современные инструментальные среды (системы программирования), как правило,
используют компилятор.
Опишем как же объектный модуль превращается в исполняемую
программу, которая и хранится в файле с расширением ЕХЕ или СОМ.
Редактор связей – это программа, осуществляющая преобразование объектного модуля в исполняемую программу.
Объектный модуль представляет собой схему будущей программы. В нем отсутствует масса важных вещей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п.
Редактор связей берет из специальной библиотеки (ее принято называть системной библиотекой подпрограмм) все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ «склеивает» исполняемую программу из объектного модуля и этих блоков.
Слайд 19Таким образом, системы программирования предназначены для создания программ для компьютера
и включают следующие основные компоненты:
• текстовые редакторы (редакторы программ);
• трансляторы (компиляторы, интерпретаторы);
• редакторы
связей.
Слайд 20Инструментальные среды
Раньше разработчики прикладных программ на языках высокого уровня
Вводили
текст программы с помощью специального или подходящего текстового редактора.
Затем
использовали другую программу - транслятор (компилятор) для перевода написанной программы в объектный модуль.
Далее использовалась третья программа - редактор связей (называемая также сборщиком, или компоновщиком), которая позволяла собрать единый исполняемый файл из отдельных модулей, а также снабжала его специальными стандартными блоками, обеспечивающими связь программы с внешними устройствами.
В завершение, четвертая программа - загрузчик - загружала окончательно подготовленный исполняемый файл в оперативную память ЭВМ, который далее выполнялся по специальной команде.
Слайд 21Инструментальные среды
Если на каком-либо этапе подготовки программы была допущена ошибка,
все приходилось начинать заново. Таким образом, отладка программы была достаточно
длительным, трудоемким и утомительным процессом.
В настоящее время разработаны и успешно используются системы программирования, представляющие собой единую инструментальную среду (или Turbo-среду), где в рамках одного программного пакета осуществляются все перечисленные выше операции. Кроме того, пакет обычно снабжается удобными средствами отладки программ, системой контекстной помощи и рядом дополнительных сервисных возможностей.
Инструментальная среда – это интегрированная система, которая позволяет писать, редактировать, отлаживать и запускать программы на выполнение, не выходя из самой среды.
В качестве примеров программных продуктов этого типа можно привести широко известные пакеты Turbo BASIC, Borland Pascal with Objects 7.0, Borland C++ (продукты фирмы Borland International Inc.), а также Quick BASIC, Quick Pascal, Quick С (продукты фирмы Microsoft) и многие другие.
Слайд 22Вопросы
Дайте определение модели и процесса моделирования
Классификация моделей
Свойства моделей
Что такое системный
подход в моделировании
Что такое система программирования
Дайте определение программы
Что такое машинно-ориентированные
языки программирования
Что такое алгоритмические языки программирования
Что такое транслятор
Что такое компилятор
Что такое интерпретатор
Что такое редактор связей
Чем объектный модуль отличается от исполняемого
Что такое инструментальные среды