Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Краткий конспект лекций

.pdf
Скачиваний:
31
Добавлен:
31.05.2015
Размер:
792.27 Кб
Скачать

11

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

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

целевую функцию).

О. м. — основной инструмент экономико-математических методов.

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

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

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

В практике исследования объектов модели могут применяться для самых разных целей, что вызывает использование моделей различных классов. Построение одной модели для сложной системы практически не представляется возможным без разработки вспомогательных моделей. Поэтому при создании конечной математической модели исследуемого объекта строят частные вспомогательные модели, отражающие ту или иную информацию об объекте, имеющуюся у разработчика на данном этапе построения модели. Для построения модели необходима система правил (принципов), позволяющих корректно осуществлять процесс построения. Общие принципы системного экономико-математического моделирования вытекают из общих принципов системного анализа1. принцип достаточности используемой информации; 2. принцип инвариантности используемой информации; 3. принцип преемственности модели; 4. принцип эффективной реализуемости комплекса экономико-математических моделей.

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

12

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

Уравнения связи являются математической формализацией системы ограничений. Различные по смыслу ограничения могут описываться одинаковыми уравнениями связи, а одно и то же ограничение в разных моделях может описываться разными уравнениями связи. Решением математической модели называется такой набор (совокупность) значений переменных, который удовлетворяет ее уравнениям связи. Общих способов построения математических моделей не существует, но можно условно разбить процесс на следующие основные этапы: 1. определение границ объекта оптимизации; 2. выбор управляемых переменных; 3. определение ограничений на управляемые переменные; 4. выбор критерия оптимизации; 5. формулировка математической задачи

3.Структура и классификация оптимизационных задач.

ОПТИМАЛЬНАЯ (ИЛИ ОПТИМИЗАЦИОННАЯ) ЗАДАЧА

[optimization problem] — экономико-математическая задача, цель которой состоит в нахождении наилучшего (с точки зрения какого-то критерия) распределения наличных ресурсов. (Иногда то же: Экстремальная задача.)

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

функций или функционалов при заданных ограничениях (условная оптимизация) и без ограничений (безусловная оптимизация).

Решение О. з. называется оптимальным решением, оптимальным планом, оптимальной точкой

Системы программирования. Языки программирования

1.Основные функции системы программирования.

Система программирования - программная система, предназначенная для разработки программ на конкретном языке программирования. Система программирования предоставляет пользователю специальные средства разработки программ: транслятор, (специальный) редактор текстов программ, библиотеки стандартных подпрограмм, программную документацию, отладчик и др.

13

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

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

1.Автоматизация процессов

2.Ускорение обработки данных

3.Ускорение разработки новых прилжений и решения новых задач

4.Оптимизация использ. Выч. И др. тежники для реш задач( по мин)

2.Преимущества систем визуального программирования.

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

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

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

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

При этом средства визуального программирования могут быть использованы по разному. Просто для визуального определения пользовательского интерфейса, который затем встраивается в традиционную программную среду. Более глубоко, для визуального задания и интерфейса и контролирующих интерфейс объектов с одновременным программированием бизнес-логики традиционными методами. Наконец, для полного визуального построения приложения.

3. Понятие алгоритма. Виды записи алгоритмов.

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

14

действия алгоритма должны быть выполнены только друг за другом, но какие-то могут быть и независимыми

Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью графического или словесного описания; в виде таблицы; последовательностью формул; записанным на алгоритмическом языке (языке программирования). В данном пункте остановимся на графическом описании алгоритма, называемом блоксхемой. Этот способ имеет ряд преимуществ за счет образной наглядности, обеспечивающей, в частности, высокую "читаемость" алгоритма и явное отображение управления в нем.

Прежде всего определим понятие блок-схемы. Блок-схема - это ориентированный граф, указывающий порядок исполнения команд алгоритма; вершины такого графа могут быть одного из трех типов

4. Структура программы на языке программирования С или Pascal.

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

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

Синтаксически программа на Паскале состоит из трех частей: заголовка программы, блока программы и символа конца программы - точки.

Структура программы на языке Pascal.

Напомню, что программа - это упорядоченный список команд. Каждый язык программирования предлагает свою систему упорядочивания этого списка. Так, например, возможно знакомый вам BASIC просто нумерует строки. В Паскале мы будем говорить о достаточно строгой структуре программы, которая должна соблюдаться неукоснительно. Иначе компьютер просто не поймет вас.

Любая программа (или программная единицапроцедура или функция) на Паскале должна состоять из трех основных разделов:

I Раздел заголовка (объявления программной единицы); II Раздел описаний;

III Раздел исполняемых операторов (тело программы).

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

15

Раздел описаний может иметь как одну единственную строчку, так и достаточно большое их количество. В разделе описаний должны содержаться описания всех идентификаторов, используемых в разделе исполняемых операторов. Так, например, описание переменных начинается с зарезервированного слова VAR, а описание констант (если они используются) - CONST.

Тело программы (раздел исполняемых операторов) содержит собственно программный код, отвечающий за реализацию алгоритма. При этом тело программы обязательно оформляется так называемыми операторными скобками - begin ... end.

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

Таким образом, структура программы Pascal в простейшем случае имеет вид:

Рисунок 2.2.5.

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

Раздел описания (в общем случае) состоит из

-раздела описания используемых библиотек USES;

-раздела описания меток LABEL;

-раздела описания констант CONST;

-раздела описания типов TYPE;

-раздела описания переменных VAR;

-раздела описания процедур и функций.

5.Типы данных, используемые в современных языках программирования (на примере одного языка).

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

Типы данных характеризуются множеством допустимых значений переменных и набором допустимых операций для данного типа.

Как и в большинстве ЯП, в Паскале все переменные, используемые в программе, описываются в ее начале в специальном разделе описания переменных после зарезервированного слова var.

16

Выполнение раздела описания переменных сопровождается следующими действиями:

При описании выделяется область памяти для переменных. (Например, в стандартном Паскале целые переменные занимают 2 байта, а вещественные - 4 байта);

Описание не определяет конкретное значение переменной, т.е. считается, что в выделенной памяти при ее распределении (до использования) находится некоторый "мусор";

Описание определяет способ представления элементов в памяти ПК. (Например, вещественные переменные или константы, в отличие от целых, представляются в машине в виде мантиссы и порядка);

Описание определяет набор допустимых операций; Описание определяет область действия переменных (локальные или

глобальные).

Переменные могут быть:

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

дело в ближайшее время:

Целый:

Integer - значением переменной этого типа может быть целое число из отрезка [-32768; 32767]

Вещественный

Real - значением переменной этого типа может быть вещественное число, модуль которого принадлежит отрезку [2,9*10-39; 1,7*108]

Логический

Boolean - переменная этого типа может принимать только два значения: истина (true) или ложь (false)

Символьный

Char - значением переменной этого типа может быть любой символ, из набора ASCI I-символов

Вообще, иерархия типов в языке Pascal следующая:

17

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

Описание переменной: имя переменной (идентификатор) : тип; Пример описания:

Var D, C, N : Integer; LogPer : Boolean; A, B : Real;

K : Char;

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

данной величиной и объем памяти, отводимой под эту переменную.

Обмен информацией с ЭВМ предполагает использование определенных средств ввода-вывода. В ЭВМ основным средством ввода является клавиатура, вывода — дисплея.

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

6. Понятие операторов. Основные виды операторов.

Операция присваивания

В результате присваивания переменная получает конкретное значение.

ИмяПременной:=Выражение

18

Здесь " := " - оператор присваивания языка Паскаль, т.е. символ (в данном случае), который обозначает операцию присваивания

Выполнение инструкций присваивания заключается в следующем: вычисляется результат выражения, находящегося справа от символа

":=";

вычисленное значение записывается в переменную, имя которой стоит слева от символа ":=";

Выражение состоит из операндов и операторов. Операторы находятся между операндами. Операндами выражений могут быть числа(константы) и переменные. Операторы обозначают действия, выполняемые над операндами.

Рассмотрим некоторые арифметические операторы, которые применяются для записи алгебраических выражений на Паскале:

Рисунок 2.2.3.

В простейшем случае выражение - это константа или переменная.

При вычислении значений выражений важен порядок выполнения операторов. Приняты следующие правила выполнения операторов:

Операторы *,/, div, mod имеют более высокий приоритет, чем операторы + и -.

Операторы с более высоким приоритетом выполняются раньше операторов, приоритет которых ниже. Если приоритет операторов одинаков, то оператор, стоящий левее, выполняется раньше.

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

19

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

7. Определение и использование подпрограмм.

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

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

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

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

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

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

20

параметров указываются в команде вызова (обычно после имени вызываемой подпрограммы)

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).

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

методах-функциях.

Операционные системы

1.Основные и дополнительные функции операционных систем.

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

Windows - многозадачная операционная система, позволяет работать с несколькими программами одновременно. ОС Windows создана для персональных компьютеров IBM PC. Дружественный, интуитивный интерфейс программы способствует ее быстрому освоению.

Windows представляет собой программу графического пользовательского интерфейса, разработанную фирмой Microsoft. Графический интерфейс ОС Windows обеспечивает:

Интерфейс с пользователем, создающий у него эффект работы за рабочим столом с папками, документами, электронной почтой, калькулятором, записной книжкой и т.д.;

Управление ресурсами компьютера; Планирование выполнения задач в мнозадачном и многооконном

режиме.

Windows оперирует с объектами обычными для пользователя: Документ; Папка – множество документов;