ГОСУДАРСТВЕННАЯ АКАДЕМИЯ
СФЕРЫ БЫТА И УСЛУГ.
ИНСТИТУТ ЭКОНОМИКИ И УПРАВЛЕНИЯ.
КУРСОВАЯ РАБОТА.
Тема:”Изучение взаимно влияющих друг на
друга математических параметров”.
Выполнена студентом
Максименко Константином Викторовичем.
Группа ИД-1-1 ,
факультет ”Информационные системы
в экономике”.
Преподаватель:
Степанов Сергей Петрович.
Москва
1999
План работы:
1.Постановка задачи-стр.
2.Формализация задачи-стр.
3.Блок-схема программы-стр.
4.Листинг программы-стр.
5.Тестирование программы-стр.
1.Постановка задачи.
Очень часто при решении каких-либо задач на компьютере необ-
ходимо вычислять значения различных взаимозависимых переме-
нных. В частности , подобная задача может возникнуть при обра-
ботке экономической , производственной информации , вообще
любых данных , определяемых взаимозависимыми процессами.
Много подобных параметров в экономике.Для примера можно взять три
основных рыночных показателя- спрос , предложение и
цену.В науке также немало взаимозависимых процессов. Именно поэтому
столь большое значение будет иметь установление подоб-
ных взаимозависимостей. Поняв их , можно будет прогнозировать и будущее
состояние системы этих параметров. А для рынка , для производства , для
науки и многих других отраслей жизнедеятель-
ности человека такой прогноз развития просто необходим.
Поэтому в своей работе я решил исследовать данную область
компьютерных задач и понять механизм их решения в программ-
ном виде.
Для этого я взял небольшую задачу по прогнозу состояния
некоторой экосистемы.
Имеется зернохранилище с определённым изначальным количе-
ством зерна. Туда каждый сентябрь складывается урожай пшени-
цы и ежемесячно забирается некоторое количество зерна. Какую-
то массу зерна в конце года необходимо продать.
К сожалению , в зернохранилище водятся мыши. Если не контролировать их
количество , они съедят всю пшеницу. Поэтому
туда пускают кошек , которые и должны уничтожать мышей. Но
мыши не исчезают полностью , а между количеством мышей и ко-
шек через некоторое время устанавливается равновесие. По задаче
требуется создать компьютерную модель данного равновесия при
наименьшем количестве мышей и наименьшем количестве кошек.
2.Формализация задачи.
Прежде всего , придётся ввести ряд ограничений- ведь модель и
реальность- разные вещи. Основное ограничение- все процессы
в программе дискретны. Разумеется , в реальной жизни данные со-
бытия непрерывны , но для решения данной задачи допустима их
дискретность.
Будем также считать , что запасы пшеницы пополняются лишь раз в году , в
августе. Уменьшение идёт за счёт съеденного мышами зерна , за счёт зерна
, ежемесячно забираемого из хранилища , а часть продаётся в декабре по
усмотрению пользователя. В случае
если пшеница в хранилище кончается , то программа останавлива-
ется.
Каждая мышь съедает в месяц 2 кг зерна. Прирост их числа зависит от
количества пшеницы в хранилище : если на мышь при-
ходится не менее двух кг зерна , то их популяция за месяц возрас-
тает в полтора раза. В противном случае прирост составит 10% в месяц.
Естественная смерность мышей составляет 1/12 общего чи-
сла мышей в месяц , т.к. мышь живёт в среднем 1 год. Количество
уничтожаемых мышей определяется размером их популяции : ког-
да на одну кошку приходится более 60 мышей , то каждая кошка за месяц
ловит в среднем по 40 мышей. При меньшем количестве
мышей один кот может поймать лишь 15 мышей в месяц. Полнос-
тью истребить мышей нельзя , т.к. при нулевом уровне мышиной
популяции с окрестных полей в хранилище за месяц приходит до 20 мышей.
Количество кошек также постоянно изменяется. При доста-
точном количестве мышей , т.е. более 60 мышей на кошку , каж-
дая кошка приносит в марте и в сентябре по 3 котёнка. Если мы-
шей меньше , чем по 20 на кошку , то прирост кошек равен нулю.
Если же значение мышиной популяции лежит между этими преде-
лами , то появляется всего 3-4 котёнка на всю кошачью популя-
цию. В случае полного отсутствия мышей в хранилище за месяц погибает 80%
кошек. Естественная смертность среди кошек равна
1/120 части от их общего числа , если их более 120 ; иначе за ме-
сяц может умереть одна из кошек , то есть средняя продолжитель-
ность жизни кошки составляет около 10 лет. В случае гибели всех
кошек хозяева хранилища пускают туда определённое количество
кошек. Особую роль в определении числа кошек в хранилище иг-
рает так называемый предельно терпимое количество мышей- тот уровень их
популяции , когда их количество начинает беспокоить хозяев зерна. В этом
случае хозяева пускают внутрь хранилища некоторое дополнительное
количество кошек и котов , в среднем по одному коту на 30 замеченных
грызунов ежемесячно. Минима-
льно допустимое количество кошек- ещё один важный параметр. Он
определяет сколько кошек нужно помещать в хранилище в случае их полного
отсутствия там. Разумеется , чем больше значе-
ние данного параметра , тем больше затраты на их приобретение.
Правда , избыток кошек можно продать по установленной изнача-
льно цене.
Собственно говоря , все вышеперечисленные действия нуж-
ны для обеспечения максимальной сохранности урожая , а , следо-
вательно и для получения максимальной прибыли от продажи зер-
на. Цена на пшеницу определяется в начале каждого года. По ней в конце
года продаётся необходимое количество зерна , определяе-
мое пользователем программы. Если иссякают общие запасы зерна или
денежных средств , выполнение программы прерывается. Программа
прогнозирует состояние данной системы , в чём-то корректирует его сама,
в чём-то требует корректировки от пользо-
вателя.
Все процессы , описанные ранее , нуждаются в математичес-
кой формализации. Для пшеницы значимы 3 параметра : общее ко-
личество пшеницы в хранилище , ежемесячное изменение массы зерна и
количество зерна , ежегодно выставляемое на продажу-
W , (W и WS соответственно. W меняется при прибавлении (W ежемесячно и
при вычитании WS ежегодно , в декабре. (W в свою очередь изменяется
ежемесячно , уменьшаясь из-за мышей , а так-
же увеличиваясь каждый год в августе , за счёт урожая. WS заново
устанавливается также ежегодно , в декабре , самим пользовате-
лем. Исключительным событием , прерывающим программу , для
W считается его неположительное значение- хозяева хранилища не проживут
без запасов зерна.
Состояние мышиной популяции определяется более сложно.
Начальное количество определяется случайным образом на интер-
вале от 1 до 20 и обозначается символом M. Ежемесячное измене-
ние количества мышей (М , от которого зависит М , в свою оче- редь
определяется естественным приростом. Он описан выше , а математически
выглядит следующим образом : если W >= 2M , то
(М за данный месяц равно 1,5М. Если же W60 (C=3C котят, при 20 =120 ежемесячно
умирает С/120 ко-
шек , а при меньших значениях С – одна кошка или ни одной.Рас-
считать дополнительно необходимое количество мышеловов по-
могает предельно допустимое количество мышей – MN. Если
M > MN , то (С = (С + М/30 , а (S = (S – ( М/30 ) * РС , где (S –
ежемесячное приращение годового дохода , а РС – цена одной кошки. Если
же М ECOSYSTEM
DEFDBL G-H, S
CLS
INPUT “Год начала наблюдений-“; by
INPUT “Количество лет наблюдений-“; f
INPUT “Начальная масса пшеницы в кг-“; bw
INPUT “Урожай пшеницы в кг-“; h
PRINT “Сколько кг зерна в месяц забирать?”
IF bw 12 THEN s = 0 AND ws = 0
ds = 0
IF mt > 12 THEN y = y + 1
IF y > f THEN END
‘ПРЕРЫВАНИЕ ПРОГРАММЫ
IF mt > 12 THEN PRINT
“++++++++++++++++++++++++++++++++++++++++++++++++++++++”
IF mt > 12 THEN INPUT “Если введёте 999 то программа остановится-“; i
IF i = 999 THEN GOTO 3000
IF mt > 12 THEN mt = 1
IF mt = 1 THEN INPUT “Введите цену килограмма пшеницы в $-“; pw
‘МЕСЯЦ СБОРА УРОЖАЯ ИЛИ НЕТ
dw = 0
IF mt = 8 THEN dw = dw + h ELSE dw = dw + 0
‘ЕСТЕСТВЕННАЯ СМЕРТНОСТЬ МЫШЕЙ
dm = 0
dm = dm – 1 * INT(m / 12)
‘ОПРЕДЕЛЕНИЕ КОЛ-ВА ПШЕНИЦЫ ЗА ВЫЧЕТОМ СЪЕД. МЫШАМИ
dw = dw – 2 * INT(m)
IF w t THEN dt = t ELSE dt = w
dw = dw – dt
‘КОЛИЧЕСТВО МЫШЕЙ,СЪЕДЕННЫХ ЗА МЕСЯЦ
SELECT CASE INT(m)
CASE IS > 60 * c
dm = dm – 40 * c
CASE IS 120 THEN dc = dc – СINT(c / 120) ELSE dc = dc – CINT(RND(1))
IF c mn THEN GOTO 80
60 dc = dc – c + mnc
70 ds = ds + pc * (c – mnc): GOTO 85
80 dc = dc + INT(m \ 30)
ds = ds – INT(m \ 30) * pc
85 s = s + ds
c = c + dc
‘В СЛУЧАЕ ГИБЕЛИ ВСЕХ МЫШЕЙ ПРИХОДИТ ГРУППА МЫШЕЙ С ПОЛЯ
IF INT(m) 60 * c
dc = dc + 3 * c
CASE IS
Нашли опечатку? Выделите и нажмите CTRL+Enter