1. Строгая монотонность. Для любых наборов , если и (т.е. в наборе каждого блага не меньше, чем в наборе , и хотя бы одного строго больше), то .
Монотонность.Для любых наборов , если (т.е. для любого ), то .
Выпуклость. Для любых наборов , если , то для любого .
Строгая выпуклость. Для любых наборов , если и , то для любого .
Таким образом, если предпочтения (строго) выпуклы, то множество наборов не хуже данного (строго) выпукло.
2. Предельная норма замещения второго блага первым – максимальное количество второго блага, от которого готов отказаться потребитель, чтобы увеличить потребление первого блага на малую величину; это наклон кривой безразличия в точке с обратным знаком.
Функцией полезности, представляющей предпочтения , определенные на множестве X, называют функцию u: X→R такую, что для любых наборов и из соотношение имеет место тогда и только тогда, когда .
Утверждение: Если предпочтения представимы с помощью функции полезности, то эти предпочтения являются рациональными.
Утверждение: Функция полезности определена с точностью до положительного монотонного преобразования, т.е. если строго возрастающая функция и функция полезности, представляющая отношение предпочтения на множестве , то функция , где , также является функцией полезности, представляющей отношения предпочтения .
Кривая безразличия – множество наборов (в пространстве благ), дающих один и тот уже уровень полезности (линия уровня функции полезности в пространстве благ): .
или , где - предельная полезность блага .
3. Примеры предпочтений и функции полезности:
1) Субституты. Два блага называются субститутами, если потребитель готов заместить одно благо другим в постоянной пропорции. Функция полезности имеет вид: , (или любое ее положительное монотонное преобразование). Потребитель готов заместить единиц второго блага единицами первого блага. Кривые безразличия – прямые с наклоном равным , предельная норма замещения всюду постоянна и равна .
2) Комплементарные блага – это блага всегда потребляемые вместе в постоянной пропорции. Функция полезности имеет вид: , (или любое ее положительное монотонное преобразование), тогда единиц первого блага потребляется с единицами второго блага.
3) Антиблаго – увеличение потребления этого блага ухудшает положение потребителя. Кривые безразличия имеют положительный наклон. Пример функции полезности, где второй товар является антиблагом: .
4) Предпочтения с точкой (глобального) насыщения. Пусть существует самый лучший для потребителя набор в потребительском множестве , . Все остальные наборы тем хуже для потребителя, чем дальше они лежат от набора . Пример функции полезности: .
5)Функция полезности Кобба-Дугласа: , где , Предельная норма замещения .
6) Квазилинейная функция полезности: , где , , Предельная норма замещения .
Лекция №6 Турбо Паскаль
Турбо Паскаль позволяет структурировать программу, отделив ее функционально независимые части. Отделенные, функционально независимые части программы называются подпрограммами (процедурами и функциями). Сам термин подпрограмма говорит о том, что они подобны и подчинены программам. Подпрограммы позволяют:
¨ избавиться от необходимости многократного повторения в тексте программы аналогичных фрагментов;
¨ улучшить структуру программы, облегчая её понимание;
¨ повысить устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях.
Приведем типичные ситуации, когда следует прибегать к выделению подпрограмм:
¨ если в программе несколько раз встречается одна и та же последовательность операторов;
¨ иногда рутинные действия заслоняют смысл основного алгоритма, в этом случае второстепенные фрагменты полезно убрать в подпрограмму;
¨ полезно разбить длинную программу на составные части – просто как книгу разбивают на главы. При этом основная программа становиться похожей на оглавление;
¨ встречаются сложные частные алгоритмы. Полезно отладить их отдельно в небольших тестирующих программах и тогда включение программ с отлаженными алгоритмами в основную программу происходит проще, если они оформлены как подпрограммы;
¨ если какие-то части работающей программы предполагается переносить в другую программу, рекомендуется сразу выделять такие алгоритмы в отдельные подпрограммы.
Подпрограммы могут быть стандартными, определенными системой Турбо Паскаль, и собственными, то есть определенными пользователями.
Существуют два способа объединения подпрограмм и программ:
¨ текст подпрограмм может быть приведен в разделе описаний использующей их программы, до слова begin, с которого начинается тело основной программы;
¨ подпрограммы группируются в отдельных файлах, имеющих специальную структуру – модулях. Для того чтобы основная программа могла использовать модуль, он должен быть подключен к основной программе с помощью оператора uses.
Структура текста подпрограммы соответствует структуре текста основной программы за двумя исключениями:
¨ подпрограмма начинается с заголовка, содержащего имя подпрограммы, передаваемые в неё и возвращаемые от неё параметры, запись заголовка подпрограммы отличается от записи заголовка программы;
¨ подпрограмма заканчивается точкой с запятой, а не точкой.
В Турбо Паскале предусмотрено два типа подпрограмм:
FUNCTION;
PROCEDURE.
Пример 1.
program exzampl1;
var a,b,q:real;
{ подпрограмма вычисления суммы }
procedure sum(x,y:real;var z:real);
begin z:=x+y end;
{ основная программа }
begin
read(a,b);
sum(a+b,b-1,q);{обращение к подпрограмме }
writeln(‘сумма (a+b)+(b-1)=’,q:5:1)
end.
Пример 2.
program exzampl2;{заголовок основной программы}
. . .{описание переменных основной программы}
var y:real;
function lg(x:real):real;{заголовок подпрограммы-функции}
begin
lg:=ln(x)/ln(10)
end;
begin {тело основной программы }
. . .
y:=10;
writeln(‘lg(‘,y:3:1,’)=’,lg(y):6:2)
end.
Вызов подпрограммы происходит при каждом употреблении её имени в вызывающей, основной программе. При вызове подпрограммы начинают выполняться операторы, заданные в ней. Подпрограмма завершается, если выполнены все её процедуры до завершающего слова end или по специальной команде выхода из подпрограммы exit. После выхода из подпрограммы основная программа возвращается к командам, следующим вслед за обращением к этой подпрограмме.
Заголовки процедуры и функции – первая строка в тексте подпрограммы – имеют вид:
procedure <имя процедуры>(<список параметров>);
function <имя процедуры>(<список параметров>):<тип результата>;
Форма списка параметров в заголовке подпрограммы и при вызове подпрограммы отличаются. При вызове переменные, константы или выражения (фактические параметры) следуют через запятую, а в заголовке запись переменных напоминает объявление переменных в разделе описания переменных. В заголовке подпрограммы для всех элементов списка должен быть указан тип данных. Несколько переменных, отнесенных к одному типу, пишутся через запятую, а группы переменных различного типа отделяются точкой с запятой.
Список параметров в заголовке подпрограммы может отсутствовать, если в этих параметрах нет необходимости, например функция PI и процедура ClrScr.
Стандартные процедуры и функции реализованы не на языке Турбо Паскаль, так как в их заголовках имеются значительные отклонения от правил, недопустимые при разработке пользовательских программ на Паскале. Так, процедура WRITE имеет список параметров произвольной длины. Некоторые подпрограммы позволяют передавать им данные нескольких типов, имеются необязательные при обращении параметры. Так, функция RANDOM может использоваться без параметров – в этом случае она возвращает случайное число в диапазоне от 0 до 1. Применение этой функции с целочисленным аргументом RANDOM(n) приводит к тому, что она возвращает целое случайное число от 1 до n-1.
Если переменная или константа описана внутри подпрограммы, она называется локальной и доступна только внутри данной подпрограммы. Переменные с совпадающими именами (идентификаторами), которые могут быть описаны в основной программе или других подпрограммах, не имеют с локальными переменными ничего общего. Если переменная описана в основной программе и не переопределена в подпрограмме, она может использоваться в подпрограмме. Память для локальных переменных выделяется на время выполнения данной подпрограммы в специальной области, называемой стеком. При завершении подпрограммы память освобождается, поэтому все внутренние результаты работы подпрограммы не сохраняются от одного обращения к другому.