дення стартових значень змінних для масиву tr p> beast - організація введення стартових значень змінних для масиву hr p> env - організація введення значень змінних для завдання змінних tree, tr, kata, q p> info - організація інформаційного вікна p> gmenu - промальовування основного меню p> omenu - промальовування меню Option p> start - запуск графічного режиму і запуск основного циклу p> komenu - організація меню Option p> gkmenu - організація основного меню p> p> 3. ВИСНОВОК p> p> Дана програма представляє досить грубу модель життєдіяльності та взаємодії живих організмів. Однак, навіть таке моделювання дозволяє простежити основні моменти циклу життя популяції. При можливому додаванні деяких додаткових факторів, моделювання може більше наблизитися до реальної ситуації. Такими факторами можуть бути: p> - Сезонні зміни клімату p> - "Технологія" полювання p> - Навколишнє флора і фауна p> - Вплив життєдіяльності людини p> - Взаємодія особин всередині популяції p> Дана програма може служити в якості навчального посібника з програмування мовою Pascal. p> p> Додаток 1. p> p> Основна програма p> p> program fauna; p> uses mycrt, dos, graph, fauna1, tpcrt; p> var p> q, x, y, x1, y1, gd, gm, t, i, j, k, AT, at1, ct1, ctp: integer; {загальні} p> g, v, m, w: integer; {} p> ct, ch: shortint; {колір} p> tmin, tmax, hmin, hmax, tp, hp: integer; {дітородного} p> tt: integer; {трупи і з'їдені травоїдні за 1 рік} p> kata, ht: integer; p> ttt, tr: real; p> z, tree, TREE1: longint; p> key: boolean; p> s, ss: string [17]; p> tg: array [1 .. 4400] of tosob; {green-травоїдних} p> hr: array [1 .. 1350] of tosob; {red-хижаків} p> pal: FillPatternType; p> {****************************************** *****************} p> procedure ini; p> begin p> for i: = 1 to g do p> begin p> at: = RANDOM (v) +1; p> tg [i]. Init ((random (630) +5), (random (462) +18), at, ct); p> tg [i]. Show; p> end; p> for i: = 1 to m do p> begin p> at: = random (w) +1; p> HR [i]. Init ((random (630) +5), (random (462) +18), at, ch); p> hr [i]. Show; p> end; p> end; p> {****************************************** *****************} p> procedure tnew; p> begin p> I: = 0; p> REPEAT p> I: = I +1; p> begin p> x: = tg [i]. Getx; p> y: = tg [i]. Gety; p> AT: = TG [I]. DAIAGE; p> CTP: = TG [I]. DAIZWET; p> if (z mod 365) = 0 then p> BEGIN p> at: = at +1; {Happy New Year!} p> TG [I]. INIT (X, Y, AT, CTP); p> END; p> if at> v then {Old?} p> begin p> tg [i]. Done; p> tg [i]. Init (0,0,0,0); p> tt: = tt +1; {померле тварина} p> for j: = i +1 to g do p> begin p> x1: = tg [j]. Getx; p> y1: = tg [j]. Gety; p> at1: = tg [j]. Daiage; p> ct1: = tg [j]. Daizwet; p> tg [j]. Done; p> tg [j-1]. Init (x1, y1, at1, ct1); p> tg [j-1]. Show; p> end; p> TG [G]. INIT (0,0,0,0); p> G: = G-1; p> I: = I-1; p> CONTINUE; p> end; p> x: = tg [i]. Getx; p> y: = tg [i]. Gety; p> x: = x + (random (3) -1); p> y: = y + (random (3) -1); p> if x <5 then x: = 6; if x> 635 then x: = 634; if y <17 then y: = 18; p> if y> 480 then y: = 479...