Главная Полное построение алгоритма [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-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 |