Курсовая: Программа эмуляции развития - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Программа эмуляции развития

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 190 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

ПРОГРАММА ЭМУЛЯЦИИ РАЗВИТИЯ ЖИВОТНЫХ 1. ВВЕДЕНИЕ. Ради интереса было дано задание написать программу типа "Жизнь ", но с некоторыми изменениями в начальных условиях. Условия были таковы , что в эмуляции должны участвовать две популяции : хищники и травоядные , которые взаимодействовали бы друг с другом путем поедания тра воядн ых хищниками. В процессе разработки программы были введены дополнительные параметры : - Возраст животных - Минимальный и максимальный репродуктивный возраст животных - Количество пищи нужный животным для поддержания жизни - Количество травы - Пр оцент восстановления травы - Вероятность природных катаклизмов влияющих на популяции животных 2. ОСНОВНАЯ ЧАСТЬ. 2.1 Методика взаимодействия популяций. Методика взаимодействий хищника и трав оядного заключается в том, что и хищники , и травоядные пред ставлены в виде точек , которые передвигаются по экрану с шагом в один пиксель . При этом заданно условие , если в радиусе один пиксель от точки принадлежащей хищн ику появляется точка принадлежащая травоядному , то считаетс я , что хищник съел травоядного. Спос об передвижения точек на э кране был организован по алгоритму случайного блуждания , т.е . передвижение по осям Х и Y с шагом в один пиксель выбирается случайным образом. Умершие своей жизнью травоядные считаю тся , как съевшиеся хищниками. При недоедании обе ими популяциями , особи умирают в процессе уменьшения возр аста , т.е . чем больше возраст животного , тем больше вероятность погибнуть от голода . И з-за больших промежуточных расчетов учет по недоеданию был выбран так , что хищники учитываются один раз в год , а т равоядные двенадцать раз в год. 2.2 Описание программы. Данная программа написана с использованием объектно-ориентированного языка Borland Pascal 7.1 и построена на обработке массивов типа tosob описанного в объектном модуле fauna1. Этот т ип имеет сле дующие параметры : x - расположение по координате Х экрана y - расположение по координате Y экрана age - возраст точки col - цвет вывода на экран Программа обеспечивает следующие операции : - Задание параметров популяции травоядных - Задание параметро в популяции хищни ков - Задание параметров окружающей среды - Просмотр взаимодействия животных в гра фическом режиме - Индикация результатов по выходу из режима просмотра взаимодействия животных - Выход из программы При помощи зарезервированного слова "uses" к программе подключается стандартные библиотечные модули TPCRT, GRAPH, DOS и библиотечные модули написанные программистом - разработчиком MYCRT и FAUNA1. В разделе описания констант и пере менных были объявленны следующие переменные : - gd,gm типа int eger для ини циализации графики - q,x,y,x1,y1,t,i,j,k,at,at1,ct1,ctp типа integer для использования их в теле циклов - g,m типа integer для задания начального количес тва животных - v,w типа integer для задания максимального возраста животных - ct,ch типа sh ortint для задания цвета ото бражаемых точек - tmin,tmax,hmin,hmax,tp,hp типа integer для задания факторов вли яющих на репродуктивность животных - tt типа integer для учета умерших и съеден ных травоядных - kata типа integer для задания вероятности природ ных катаклизмов - ht типа integer для задания количества травояд ных нужных хищнику для пищи - ttt типа real для задания количества травы нужных травоядному для пищи - tr типа real для задания процента восстановл ения количества травы - tree,tree1 типа longin t для задания и модифи кации количества травы - z типа longint для счетчика времени - key типа boolean для отслеживания нажатия клави ш - s,ss типа string размером в семнадцать символов для вывода на экран в графическом ре жиме - pal типа FillPatternType стан дартная переменная б иблиотеки GRAPH для хранения типа и цвета заливки графических фигур объектов - tg массив объемом 4400 точек типа tosob для х ранения травоядных - hr массив объемом 1350 точек типа tosob для х ранения хищников 2.3 ОПИСАНИЕ БИБЛИОТЕКИ F AUNA1 В данной библиотеке описано два ти па данных Tposition и Tosob. Тип Tposition имеет два параметр а : x - расположение по координате Х экрана y - расположение по координате Y экрана Задействованы функции : getx - получение координаты Х gety - полу чение координаты Y А также процедура инициализации объекта init Тип Tosob имеет четыре параметра : x - расположение по координате Х экрана y - расположение по координате Y экрана age - возраст точки col - цвет вывода на экран Задействованы функции : daizwet - получение цвета точки daiage - получение параметра age vidnoli - получение факта отображения на экран е процедуры : blind - гашение точки show - отображение точки init - создание объекта Tosob done - уничтожение объекта Tosob 2.4 ОПИСАНИЕ Б ИБЛИОТЕКИ MYCRT В данную библиотеку включены функции и процедуры предназначенные для работы в текстовом режиме. Процедуры : fo n - задание цвета фона экрана txt - задание цвета выводимых символов ramka - вывод прямоугольника символами 186,187,188,200,20 1,205 colorwind - вывод окна с рамкой Функции : colword - преобразование чисел от одного до пятнадцати в строку с наименованием цвета mes - преобразование чисел от нуля до т риста шестидесяти пяти в строку с названи ем месяца 2.4 ОПИСАНИЕ ОСНОВНОГО ТЕЛ А ПРОГРАММЫ В основном модуле программы включены процедуры : ini - вывод на экран массивов hr и tr со стартовыми параметрами tnew - движение точки принадлежащей массиву tr с проверкой возраста hnew - движение точки принадлежащей массиву hr с проверкой возраста trod - создание новых точек массива tr hrod - создание новых точек массива hr dead - процесс поглощения точки массива tr точ кой массива hr havka - процесс уничтожения точек массива tr в зависимости от значения переменной tt tmor - процесс ун ичтожения случайного к оличества точек массива tr hmor - процесс уничтожения случайного количеств а точек массива hr zasux - подсчет переменной tree quit - выход из программы herb - организация ввода стартовых значений переменных для массива tr beast - организация ввода стартовых знач ений переменных для массива hr env - организация ввода значений переменных для задания переменных tree, tr, kata, q info - организация информационного окна gmenu - прорисовка основного меню omenu - прорисовка меню Opti on start - запуск графического режима и запуск основного цикла komenu - организация меню Option gkmenu - организация основного меню 3. ЗАКЛЮЧЕНИЕ Данная программа представляет достаточно грубую модель жизнедеятельности и взаимодейств ия живых органи змов . Однако , даже тако е моделирование позволяет проследить основные моменты цикла жизни популяции . При возможно м добавлении некоторых дополнительных факторов , моделирование может более приблизиться к р еальной ситуации . Такими факторами могут явля ться : - Сезонные изменения климата - “Технология” охоты - Окружающая флора и фауна - Влияние жизнедеятельности человека - Взаимодействие особей внутри популяции Данная программа может служить в каче стве учебного пособия по программированию на языке Pascal . Приложение 1. Основная программА program fauna; uses mycrt,dos,graph,fauna1,tpcrt; var q,x,y,x1,y1,gd,gm,t,i,j,k,AT,at1,ct1,ctp:integer; общие g,v,m,w:integer; ct,ch:shortint; цвет tmin,tmax,hmin,hmax,tp,hp:integer; детородность tt:integer; трупы и съедены е травоядные за 1 год kata,ht:integer; ttt,tr:real; z,tree,TREE1:longint; key:boolean; s,ss:string[17]; tg:array[1..4400] of tosob; green- травоядных hr:array[1..1350] of tosob; red- хищников pal:FillPatternType; *************** ******************************************** procedure ini; begin for i:=1 to g do begin at:=RANDOM(v)+1; tg[i].init((random(630)+5),(random(462)+18),at,ct); tg[i].show; end; for i:=1 to m do begin at:=random(w)+1; HR[i].init((random(630)+5),(random(462)+18),at,ch); hr[i].show; end; end; *********************************************************** procedure tnew; begin I:=0; REPEAT I:=I+1; begin x:=tg[i].getx; y:=tg[i].gety; AT:=TG[I].DAIAGE; CTP:=TG[I].D AIZWET; if (z mod 365)=0 then BEGIN at:=at+1; Happy New Year! TG[I].INIT(X,Y,AT,CTP); END; if at>v then Old ? begin tg[i].done; tg[i].init(0,0,0,0); tt:=tt+1; умершее животное for j:=i+1 to g do begin x1:=tg[j].getx; y1:=tg[j].gety; at1:=tg[j].daiage; ct1:=tg[j].daizwet; tg[j].done; tg[j-1].init(x1,y1,at1,ct1); tg[j-1].show; end; TG[G].INIT(0,0,0,0); G:=G-1; I:=I-1; CONTINUE; end; x:=tg[i].getx; y:=tg[i].gety; x:=x+(random(3)-1); y:=y+(random(3)-1); if x<5 then x:=6;i f x>635 then x:=634;if y<17 then y:=18; if y>480 then y:=479; AT:=TG[I].DAIAGE; CTP:=TG[I].DAIZWET; tg[i].done; IF CT<>0 THEN BEGIN tg[i].init(x,y,at,CTP); tg[i].show; END; END; UNTIL I>=G; end; *********************************************************** procedure trod; begin if (z mod 365)=0 then Happy New Year! begin t:=0; for i:=1 to g do begin at:=tg[i].daiage; if (tmin<=at) AND (AT<=tmax) then t:=t+1; end; t:=(t div 2); x:=0; if t>0 then begin FOR I:=1 TO T DO begin J:=RANDOM(TP); x:=x+j; end; for y:=g+1 to g+1+x do begin tg[y].init((random(630)+5),(random(462)+18),0,ct); tg[y].show; if y>4100 then break; end; g:=g+1+x; if g>4000 then begin key:=true; end; end else begin end; end; end; *********************************************************** procedure hnew; begin I:=0; REPEAT I:=I+1; begin x:=hr[i].getx; y:=hr[i].gety; At:=hr[I].DAIAGE; CTp:=hr[I].DAIZWET; if (z mod 365)=0 then BEGIN at:=at+1 ; Happy New Year! hr[I].INIT(X,Y,At,CTp); END; if at>w then Old ? begin hr[i].done; hr[i].init(0,0,0,0); for j:=i+1 to m do begin x1:=hr[j].getx; y1:=hr[j].gety; at1:=hr[j].daiage; ct1:=hr[j].daizwet; hr[j].done; hr[j-1].init(x1,y1,at1,ct1); hr[j-1].show; end; hr[m].INIT(0,0,0,0); m:=m-1; I:=I-1; CONTINUE; end; x:=hr[i].getx; y:=hr[i].gety; x:=x+(random(3)-1); y:=y+(random(3)-1); if x<5 then x:=6;if x>635 then x:=634;if y<17 then y:=18; if y>480 then y:=479; AT:=hr[I].DAIAGE; CTp:=hr[I].DAIZWET; hr[i].done; IF CTp<>0 THEN BEGIN hr[i].init(x,y,at,CTp); hr[i].show; END; END; UNTIL I>=m; end; ********************************************************** procedure hrod; begin if (z mod 365)=0 then Happy New Year! begin t:=0; for i:=1 to m do begin at:=hr[i].daiage; if (hmin<=at) AND (AT<=hmax) then t:=t+1; end; t:=(t div 2); if t>0 then begin x:=0; FOR I:=1 TO T DO begin J:=RANDOM(hP); x:=x+j; end; for y:=m +1 to m+1+x do begin hr[y].init((random(630)+5),(random(462)+18),0,ch); hr[y].show; end; m:=m+1+x; if (m>1000) or (m<=0) then begin key:=true; end; end; end; end; *********************************************************** procedure dead; хищн ики едят в радиусе 1 пик сель begin for i:=1 to m do begin x:=hr[i].getx; y:=hr[i].gety; j:=0; repeat j:=j+1; x1:=tg[j].getx; y1:=tg[j].gety; if ((x=x1)and(y= y 1))or((x=x1)and(y=y1- 1 ))or((x=x1) and(y=y1+1))or((x=x1-1)and(y=y1))or((x=x1-1)and(y=y 1-1)) or((x=x1-1)and(y=y1+1))or((x=x1+1)and(y=y1))or((x=x1+1)and (y=y1-1))or((x=x1+1)and(y=y1+1))then begin tg[j].done; tg[j].init(0,0,0,0); tt:=tt+1; k:=j; repeat k:=k+1; x1:=tg[k].getx; y1:=tg[k].gety; at1:=tg[k].daiage; ct1:=tg[k].daizwet; tg[k].done; tg[k-1].init(x1,y1,at1,ct1); tg[k-1].show; until k>=g; TG[G].INIT(0,0,0,0); G:=G-1; j:=j-1; end else begin end; until j>=g; end; end; ********************************************************** procedure havk a; begin if ((z mod 365)=0) and (tt>0) then begin x1:=(tt div ht); сколько прокормилось в этом году j:=0; y1:=w; max vozrast if x1=0 then begin for i:=1 to m do begin hr[i].init(0,0,0,0); hr[i].done; end; end; if (x10) then begin repeat j:=j+1; if hr[j].daiage=y1 then begin hr[j].done; hr[j].init(0,0,0,0); for i:=j+1 to m do begin x:=hr[i].getx; y:=hr[i].gety; at1:=hr[i].daiage; ct1:=hr[i].daizwet; hr[i].done; hr[i-1].init(x,y,at1,ct1); HR[i-1].show; end; hr[m].init(0,0,0,0); m:=m-1; if m<=0 then begin key:=true; break; end; end; if j>=m then begin j:=0; y1:=y1-1; end; if m<=0 then break; until x1=m end; end; end; *********************************************************** procedure tmor; мор травоядных begin y:=g-x; if x>0 then begin repeat j:=random(g)+1; tg[j].done; tg[j].init(0,0,0,0); tt:=tt+1; for i:=j+1 to g do begin x1:=tg[i].getx; y1:=tg[i].gety; at1:=tg[i].daiage; ct1:=tg[i].daizwet; tg[i].done; tg[i-1].init(x1,y1,at1,ct1); tg[i-1].show; end; tg[g].done; tg[g].init(0,0,0,0); g:=g-1; until y=g; end; end; *********************************************************** procedure hmor; мор хищников begin y:=m-x; if x>0 then begin repeat j :=random(m)+1; hr[j].done; hr[j].init(0,0,0,0); for i:=j+1 to m do begin x1:=hr[i].getx; y1:=hr[i].gety; at1:=hr[i].daiage; ct1:=hr[i].daizwet; hr[i].done; hr[i-1].init(x1,y1,at1,ct1); hr[i-1].show; end; hr[m].done; hr[m].init(0,0,0,0); m:=m-1; until m=y; end; end; *********************************************************** procedure zasux; засуха begin tree:=tree - random(round(tree/10)); end; *********************************************************** procedure quit; begin win dow(1,1,80,25); fon(black); clrscr; GOTOXY(1,24); txt(White); end; *********************************************************** procedure herb; травоядные begin colorwind(3,20,77,25,black,yellow); gotoxy(32,1); writeln('Правила ввода для травояд ных '); gotoxy(2,2);write('Кол-во травоядных не более 3000.'); write(' Корм на месяц в килограммах . ');gotoxy(2,3); write('Помет - кол-во детенышей . ');write('Цвет вывода от 1 до 15'); colorwind(40,10,65,19,black,green); gotoxy(6,1); txt(Yellow); w rite('Травоядные '); gotoxy(2,2); write('Кол-во : '); начальное кол-во травоядных readln(g); txt(yellow); gotoxy(2,3); write('Корм : '); кол-во корма в год на о дного травоядного readln(ttt); ttt:=ttt/1000; gotoxy(2,4); write('Помет : '); рожда емость readln(tp); gotoxy(2,5); write('Min детородный : '); read(tmin); gotoxy(2,6); write('Max детородный : '); read(tmax); gotoxy(2,7); write('Max возр aст : '); read(v); gotoxy(2,8); write('Цвет вывода : '); read(ct); colorwind(3,20,77,25,black,black); end; *********************************************************** procedure beast; хищники begin colorwind(3,20,77,25,black,yellow); gotoxy(32,1); writeln('Правила ввода для хищников '); gotoxy(2,2);write('Кол-во х ищников не более 1000.'); write(' Корм - кол-во травоядных в год . ');gotoxy(2,3); write('Помет - кол-во детенышей . ');write('Цвет вывода от 1 до 15'); colorwind(40,10,65,19,black,red); gotoxy(8,1); txt(Yellow); write('Хищники '); gotoxy(2,2); txt( yellow); write('Кол-во : '); readln(m); gotoxy(2,3); write('Корм : '); начальное кол-во хищников readln(ht); gotoxy(2,4); write('Помет : '); рождаемость -18- readln(hp); gotoxy(2,5); write('Min детородный : '); естественная смертность read(hmin); gotoxy(2,6); write('Max детородный : '); естественная смертность read(hmax); gotoxy(2,7); write('Max возраст : '); естественная смертность read(w); gotoxy(2,8); write('Цвет вывода : '); read(ch); colorwind(3,20,77,25,black,black); e nd; *********************************************************** procedure env ; среда обитания begin colorwind(3,20,77,25,black,yellow); gotoxy(32,1); writeln('Правила ввода для среды '); gotoxy(2,2);write('Кол-во травы не менее 1000.'); write('Про цент восстановления любой .');gotoxy(2,3); write('Катастрофы : 0 или 1 - нет , 2 и более-есть .'); gotoxy(2,4); write('Задержка сообщений в мс . Рекомендуетс я не менее 1000'); colorwind(40,10,75,17,black,Magenta); gotoxy(13,1); txt(Yellow); write('Сред а обитания '); gotoxy(2,2); txt(yellow); write('Кол-во травы : '); Кол-во востанавливаемой пищи для травоядных в год readln(tree); gotoxy(2,3); write('Процент восстановления : '); readln(tr); gotoxy(2,4); write('Наличие катастроф : '); readln(kata ); gotoxy(2,5); write('Задержка сообщений : '); readln(q); colorwind(3,20,77,25,black,black); end; *********************************************************** procedure info; begin fon(15); colorwind(1,4,70,16,black,Lightblue); txt(Green); gotoxy(2,2);write('Трав оядных -',g,' Хищников -',m); str(ttt:1:2,s); gotoxy(2,3); write(s,' т . травы и ',ht,' туш нужно на прокорм животных '); gotoxy(2,4); write('Max возраст травоядных ',v,', хищников ',w); gotoxy(2,5); write('Детородный возраст тра в оядных от ',tmin,' до ',tmax); gotoxy(2,6); write('Детородный возраст хищ ников от ',hmin,' до ',hmax); gotoxy(2,7); write('Помет травоядных до ',tp,', хищников до ',hp); gotoxy(2,8);write('Трав ы ',tree,' тонн '); str(tr:1:2,s); gotoxy(2,9);write('Пр ирост травы на каждый месяц ',s,'%'); if (kata=0) or (kata=1) then s:=' отсутствует ' else s:='присутствует '; gotoxy(2,10);write('Веро ятность катаклизмов ',s); s:=colword(ct); gotoxy(2,11);write('Цвет травоядных ',s); s:=colword(ch); write(' Цвет хищ ников ',s); end; *********************************************************** procedure Gmenu; begin fon(black); clrscr; colorwind(1,1,80,4,black,darkgray); txt(14); gotoxy(5,2); write(' S'); txt(white); write('tart '); txt(yellow); write('O'); txt(white); write('ption '); txt(yellow); write('Q'); txt(white); write('uit'); END; *********************************************************** PROCEDURE Omenu; begin colorwind(45,3,62,8,black,darkgray); hiddencursor; txt(14); gotoxy(2,2); wr ite('H'); txt(white); writeln('erbivorous'); txt(yellow); gotoxy(2,3); write('B'); txt(white); writeln('east of prey'); txt(yellow); gotoxy(2,4); write('E'); txt(white); write('nvironment'); end; ****************************************** ***************** procedure start; begin randomize; gD := Detect; InitGraph(gD,gM,''); setfillpattern(pal,black); z:=0; начало эры tt:=0; трупы и съеденные ini; repeat key:=false; z:=z+1; if ((z mod 365)=0) or ((z mod 365)=31) or ((z mod 365 )=59) or ((z mod 365)=90) or ((z mod 365)=120) or ((z mod 3 65)=151) or ((z mod 365)=181) or ((z mod 365)=212) or ((z mod 365)=242) or ((z mod 365)=273) or ((z mod 365)=303) or ((z mod 365)=334) then begin tree:=round(tree-g*ttt); съели за месяц tree:=tree+round(tree*(tr/100)); прирост травы в месяц x:=round(tree*ttt); травоядные умирают от недоедания if tree<=0 then begin key:=true; g:=0; m:=0; end else begin if x0 then tnew; естественная смертность травоядных if m>0 then begin dead; хищники едят травоядных hnew; естественная смертность хищников havka; хищники умирают от недоедания hrod; рождение хищников end; if ((z mod 365)=180)and(g>0)and(m>0) then begin if random(kata)<>0 then begin x:=random(4); if x=0 then begin x:=random(round(g/50))+5; moveto(320,240);setcolor(Lightred);str(x,s); Outtext('Болезнь травоядных унесла '); Outtext(s);Outtext(' жизней '); tmor; end; if x=1 then be gin x:=random(round(m/40))+1; moveto(320,240);setcolor(Lightred);str(x,s); Outtext('Болезнь хищников унесла '); Outtext(s);Outtext(' жизней '); hmor; end; if x=2 then begin zasux; moveto(320,240);setcolor(Lightred); str(tree1,s);Outtext('Засуха ! Потеряно '); Outtext(s);Outtext(' тонн травы '); delay(q); end; if x=3 then begin x:=random(round(g/50))+5; moveto(0,240);setcolor(Lightred);str(x,s); Outtext('Наводнение погубило ');Outtext(s);Outtext(' травоядных , '); tmor; x:=random(round(m /40))+1; str(x,s);Outtext(s);Outtext(' хищников , '); hmor; zasux; str(tree1,s);Outtext(s);Outtext(' тонн травы '); delay(q); end; delay(q); bar(0,240,640,260); end; end; if g>0 then trod; рождение травоядных if g>4000 then break; if keypressed then key:=true ; if (g>4000) or (g<=0) or (m<=0) or (m>1000) then key:=true; setcolor(white); bar(0,0,640,17); moveto(0,0); outtext('Травоядные Хищники Съедено Трава Год '); setcolor(ct);moveto(0,10);str(g,s);outtext(s); setcolor(c h);moveto(175,10);str(m,s);outtext(s); setcolor(red);moveto(300,10);str(tt,s);outtext(s); setcolor(green);moveto(400,10);str((tree),s);outtext(s); setcolor(magenta);moveto(510,10);str((z div 365),s); outtext(mes(z));outtext(' ');outtext(s);outtext(' го да '); if (z mod 365)=0 then tt:=0; until key=true; closegraph; end; *********************************************************** procedure komenu; var key:char; begin repeat key:=readkey; if (key='h') or (key='H') then begin herb; window(40,10,80,25); fon(black); clrscr; info; omenu; end; if (key='B') or (key='b') then begin beast; window(40,10,80,25); fon(black); clrscr; info; omenu; end; if (key='E') or (key='e') then begin env; window(40,10,80,25); fon(black); clrscr; info; omenu; end; until key=#27; quit; CLRSCR; end; *********************************************************** PROCEDURE GKMENU; var key2:char; key1:boolean; begin gmenu; info; repeat key2:=readkey; if (key2='s') or (key2='S') then begin if(g>0)and(m>0)and(ttt>0)and(tp>0)and(tmin>0)and(tmax>0) and(ct>0)and(ht>0)and(hp>0)and(hmin>0)and(hmax>0)and (Ch>0)and(tree>0)and (tr>0)and(kata>0)then begin start; gmenu; info; key1:=false; end; end; if (key2='o')or(key2='O') then beg in Omenu; komenu; GMENU; info; key1:=false; end; if (key2='q') or (key2='Q')or(key2=#27) then begin key1:=true; quit; end; until key1=true; end; *********************************************************** Body program begin g:=1200; травоядны е кол-во v:=30; возраст травоядного m:=200; хищники кол-во w:=25; возраст хищника ct:=yellow;ch:=red; tmin:=2;tmax:=28; hmin:=3;hmax:=24; tp:=3;hp:=7; детородность kata:=9; ht:=3; ttt:=1; tree:=1300; tr:=15.1; hiddencursor; GKMENU; end. Пр иложение 2. Библиотека Fauna1 Init object unit fauna1; interface uses graph; Type TPosition=object x,y : integer; procedure Init(x0,y0 : integer); function getx : integer; function gety : integer; end; type Tosob=object(TPosition) color : word; vidno : boolean; AGE : INTEGER; constructor Init(x0,y0,age0:integer;col:word); destructor Done ; virtual ; procedure Show ; virtual ; procedure Blind ; virtual ; function Daizwet : word; function VidnoLi : boolean; FUNCTION DAIAGE : INTEGER; end; Posob=^Tosob; metod Tposition Implementation Procedure Tposition.Init(x0,y0:integer); Begin x:=x0; y:=y0; End; Function Tposition.Getx:integer; Begin GetX:=x End; Function Tposition.Gety:integer; Begin Gety:=y End; Constructor Tosob.Init(x0,y0,age0:integer;col:word); Begin Tposition.Init(x0,y0); AGE:=AGE0; color:=col; vidno:=false; End; Destructor Tosob.Done; Begin Tosob.blind; End; procedure Tosob.Show; Begin putpixel(TPosition.GetX, TPosition.GetY,col or); vidno:=True; End; procedure Tosob.Blind; Begin putpixel(TPosition.GetX, TPosition.GetY,GetBKColor); vidno:=False; End; Function Tosob.Daizwet : word; Begin Daizwet:=color End; Function Tosob.VidnoLi : Boolean; Begin VidnoLi:=Vidno End; FUN CTION TOSOB.DAIAGE:INTEGER; BEGIN DAIAGE:=AGE END; End. Приложен ие 3. Библ иотека Mycrt unit Mycrt; interface uses tpcrt,dos; procedure fon(x:byte); procedure txt(col:byte); procedure ramka(x1,y1,x2,y2:integer); procedure colorwind(v1,v2,v3,v4,fon,text:byte); FUNCTION COLWORD(COL:BYTE):STRING; function mes(z:longint):string; implementation *********************************************************** function mes; var col:string; x:integer; begin x:=z mod 365; i f (x>=0)and(x<=30) then col:=' Январь '; if (x>=31)and(x<=58) then col:=' Февраль '; if (x>=59)and(x<=89) then col:=' Март '; if (x>=90)and(x<=119) then col:=' Апрель '; if (x>=120)and(x<=150) then col:=' Май '; if (x>=151)and(x<=180) then col:=' Июнь '; if (x>=181)and(x<=211) then col:=' Июль '; if (x>=212)and(x<=241) then col:=' Август '; if (x>=242)and(x<=272) then col:=' Сентябрь '; if (x>=273)and(x<=303) then col:=' Октябрь '; if (x>=304)and(x<=335) then col:=' Ноябрь '; if (x>=336)and(x<=365) then col:=' Декабрь '; mes:=col; end; *********************************************************** FUNCTION COLWORD; VAR COLO:STRING; BEGIN IF COL=0 THEN COLO:=' ЧЕРНЫЙ '; IF COL=1 THEN COLO:=' СИНИЙ '; IF COL=2 THEN COLO:=' ЗЕЛЕНЫЙ '; IF COL=3 THEN COLO:=' ГОЛУБОЙ '; IF COL=4 THEN COLO:=' КРАСНЫЙ '; IF COL=5 THEN COLO:=' ФИОЛЕТОВЫЙ '; IF COL=6 THEN COLO:=' КОРИЧНЕВЫЙ '; IF COL=7 THEN COLO:=' С ВЕТЛО - СЕРЫЙ '; IF COL=8 THEN COLO:=' Т ЕМНО - СЕРЫЙ '; IF COL=9 THEN COLO:=' СВЕТЛО - СИНИЙ '; IF COL=10 THEN COLO:=' С ВЕТЛО - ЗЕЛЕНЫЙ '; IF COL=11 THEN COLO:=' С ВЕТЛО - ГОЛУБОЙ '; IF COL=12 THEN COLO:=' СВЕТЛО - КРАСНЫЙ '; IF COL=13 THEN COLO:=' СВЕТЛО - Ф ИОЛЕТОВЫЙ '; IF COL=14 THEN COLO:=' ЖЕЛТЫЙ '; IF COL=15 THEN COLO:=' БЕЛЫЙ '; COLWORD:=COLO; END; *********************************************************** procedure fon; begin textbackground(x); end; *********************************************************** procedure txt; begin textcolor(col); end; ************************************** ********************* procedure ramka; вывести рамку const a=#186;b=#187;c=#188;d=#200;e=#201;f=#205; T var i,j:integer; begin hiddencursor; gotoxy(x1,y1); write(e); for i:=(x1+1) to (x2-1) do write(f); write(b); for i:=(y1+1) to (y2-1) do begin gotoxy(x1,i); write(a); gotoxy(x2,i); write(a); end; gotoxy(x1,y2); write(d); for i:=(x1+1) to (x2-1) do write(f); write(c); hiddencursor; end; *********************************************************** procedure colorwind; сделать ок но с рамкой begin window(v1,v2,v3,v4); textbackground(fon); clrscr; textcolor(text); ramka(1,1,v3-v1,v4-v2); end; *********************************************************** begin end. Приложение 4. Инструкция пользователя. Запустить на и сполнение файл 'fauna.exe' , который должен находится в одном каталоге с файлом 'egavga.bgi' . На экране появиться основное горизонта льное меню , с тремя пунктами : 'Start', 'Option', 'Quit'. Активизация графического режима и запу ск отображения на экран про изойдет пр и нажатии клавиш 's' или 'S'. Выход из программы можно осуществить клавишами 'q' или 'Q'. Активизация меню 'Option' произойдет при нажа тии клавиш 'O' или 'o'. В этом меню появиться три пункта - 'Herbivorous', 'Beast of prey', 'Environment'. П ри нажатии 'H' ил и 'h' будут задаваться параметры травоядных . При нажатии 'B' или 'b' будут задаваться параметры хищников . При нажатии 'E' или 'e' будут задаватьс я параметры окружающей среды . При вводе па раметров хищников , травоядных и окружающей ср еды на д о следовать подсказкам поя вляющимся внизу экрана. При нажатии клавиши 'Esc' произойдёт выход в DOS из любого места программы.
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Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Он:
- Настоящий мужчина хотя бы раз в неделю должен ночевать не дома!
Она:
- Ага, чтобы другому настоящему мужчине было где провести ночь...
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Программа эмуляции развития", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru