Главная  Полное построение алгоритма 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [ 54 ] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]

DCATS = DCATS-((Z5*CATS-WICEVS0)


DCATS = DCATS-1


DCATS = DCATS-CATS/1Z0


DCATS = DCATS +3*CATS

DCATS = DCATS +3*(MICE/25-CATS)

Рис. 3.6.7b. Блок-схема для ежемесячного изменения численности кошек.



деленного на 100. Наконец, если пшеницы нет, все мыши погибают (рис. 3.6.76). Аналогично можно вычислить ежемесячное изменение в численности кошек, используя допущения 6, 7 и 8 (рис. 3.6.7в).

На рис. 3.6.8 приведены подробная программа и пример выдачи для этой задачи. Переменные DWHEAT, DMICE и DCATS представляют собой изменения за месяц (рост или убыль) соответственно в запасах пшеницы (WHEAT), численности мышей (MICE) и численности кошек (CATS).

Упражнения 3.6

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

L3.6.2. Случайное блуждание. Отравленный жук начинает движение из центра квадрата 10 дюймовх 10 дюймов, подвешенного над баком с кипящим маслом. За каждую секунду жук продвигается на 1 дюйм в произвольном направлении. С помощью имитационного моделирования вычислите Р (N) - вероятность того, что к моменту времени T=N жук упадет в кипящее масло. Также вычислите среднее расстояние, на которое удалится живой жук от центра, через N секунд.

L3.6.3. Очередь. Постройте модель следующей системы одна очередь/два обслуживающих устройства. Временньге интервалы обслуживания для устройства 1 имеют равномерное распределение U (О, 3), а для устройства 2 - равномерное распределение и (О, 4). Перед двумя обслуживающими устройствами выстраивается одна очередь, первый клиент из очереди идет к первому освободившемуся устройству, а если онк оба

свободны, то к устройству 1. Моменты прибытия клиентов нормально, Лу.

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

L3.6.4. Модифицируйте задачу об очереди из упр. 3.6.3 следующим образом. Клиенты стали нетерпеливыми и ке встают в очередь, если в ней уже есть пять или более человек. Какая часть потенциальных клиентов теряется? Каковы средняя длина очереди и время ожидания клиента?

L3.6.5. Вычисление п. Испытайте процедуру вычиспсния приближенного значения зт=3,14159... . Следующие соотношения описывают четверть круга единичного радиуса с площадью jt/4, лежащую в первом квадранте двумерной декартовой системы координат:

x+yl. x>0, уО.

Рассмотрим единичный квадрат хО, Выберем случайно в квадрате N равно-

мерно распределенных точек. Если п из этих точек лежат в четверти круга, то от-ногнение n/N должно аппроксимировать площадь, т. е. n/Nn/A. Теперь можно при-ближен1Ю вычислить я. Вычислите приближения к я для Л/=100, 500, 1000, 5000. Кто-то может попытаться это сделать для W50 ООО и больших значений.

*L3.6.6. Жуки. В момент времени /=0 четыре жука выползают из четырех углов прямоугольника 10x12 дюймов. Пятый жук начинает движение из случайной точки внутри прямоугольника. Каждый жук может двигаться со скоростью 1 дюйм в секунду, и каждый непрерывно ползет "к своему б.пижайшеыу соседу. Постройте модель такой сисгемы. Опробуйте разные величины шага но времени и построите диаграмму движения жуков.



PROeRAH BARN(OUTPUTlTAPEfisOUTPUT)

§ экология АМБАРА С

С WHEAT - ЧИСЛО ФУНТОВ ПШЕНИЦЫ В АМБАРЕ

С CATS - число КОШЕК В АМБАРЕ

С MINCATs- МИНИМАЛЬНОЕ,ЧИСЛО КОШЕК

С MICE - число МЫШЕИ В АМБАРЕ „

С MNMICE- МИНИМАЛЬНОЕ ЧИСЛО МЫШЕИ

С IWHEAT - УВЕЛИЧЕНИЕ ИЛИ УМЕНЬШЕНИЕ ПШЕНИЦЫ ЗА МЕСЯЦ

С ICATS . УВЕЛИЧЕНИЕ ИЛИ УМЕНЬШЕНИЕ ЧИСЛА КОШЕК ЗА МЕСЯЦ

С IM1CE . УВЕЛИЧЕНИЕ ИЛИ УМЕНЬШЕНИЕ ЧИСЛА МЫШЕИ ЗА МЕСЯЦ.

С MONTH • 1.2i3.....li

С YEAR • It2t3<««<<10

INTEGER WHEAT,CATS.MINCATS.MICE.MINHICE.MONTH.YEAR

INTEGER dwheat.dcats.dmice:

с ИЗМЕНЕНИЕ МИНИМАЛЬНОГО ЧИСЛА КОШЕК ,MINCATS»

С от 2 до Б

DO 900 MINCATS = 2.8

С ИНИЦИАЛИЗАЦИЯ ВСЕХ ПЕРЕМЕННЫХ

wheat = о

MICE =20

PINMICE s 20 YEAR = О MONTH = 6 CATS = MINCATS

с ПЕЧАТЬ НАЧАЛЬНОГО ЗАГОЛОВКА

WPITCIS.IJ MINCATS

F0RRftTI .16H NEW EXPERIMENT. .9Н MINCaTS=.I2»

с ПОМЕСЯЧНЫЕ ШАГИ И ПЕРЕХОД ОТ ДЕКАБРЯ К ЯНВАРЮ

С ГОД- ЭТО 12 МЕСЯЦЕВ, НАЧИНАЯ С ИЮНЯ

<*0 MONTH = MONTH + I

IF ( MONTH .GT. 12 ) MONTH i 1 IF I r.ONTH .NE. 7 > GOTO 10 YEAR = YEAR ♦ 1 IF ( YEAR .GT. 10 ) GOTO 900 WRITE (6.2) YEAR

2 FORMAT( .SH YEAR.I3 .2X.5HM0NTH.3X.5HWHEAT.M.ItHflICE.4X.4HCATS>

С ВЫЧИСЛЕНИЕ ИЗМЕНЕНИЙ WHEAT, CATS, MICE

lo IWHEAT = OWHEATIHICC,MONTH)

ICATS = BCATSICATS.MICE.MONTH) JHICE = DMICE(UHEAT.CATS.MICE)

с ПРИБАВЛЕНИЕ ЕЖЕМЕСЯЧНЫХ ИЗМЕНЕНИИ К ТЕКУЩИМ УРОВНЯМ

С ПШЕНИЦЫ, МЫШЕЙ И КОШЕК

WHEAT = HAXotWHEAT+ItlHEAT.OI MICE = MAXOrMlCE+lNICE.MINMICr) CATS = MAXO(CATS+ICATS.HlNCATSI

WRITE (6,31») MONTH.V/HEAT.MICE.CATS.IWHEAT.IMICE.ICATS 34 F0RMATmX<I2.3X.I7,3X.I6.3X,II.ltX.7HDWHCAT=.T9.2X.6HDMICC=.I6.2Xf + 6HDCATS=.IS)

GOTO 40

900 CONTINUE

КОГДА ИСПОЛЬЗОВАНЫ ЗНАЧЕНИЯ MINCATS, СТОП

STOP END*

Рис. 3.6.8. Реализация на Фортране задачи о пшенице, мышах и кошках. (Текст в операторе J: «Новый эксперимента; 2: «Год, месяц, пшеница, мыши, кошки».)



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [ 54 ] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]

0.0011