Подобные работы

Описание языка Turbo Basic для студентов всех специальностей

echo "Работа с файлами данных последовательного и прямого доступа...................................... 20 3.1. Файлы последовательного доступа................. 20 3.2. Файлы прямого доступа..........

Алгоритм создания базы данных складского учета

echo "Система Access работает под управлением Windows; таким образом, все преимущества Windows доступны в Access. Это означает, что вы можете вырезать копировать и вставлять данные из любого приложени

Методическая разработка по C++

echo "Использование констант вТурбо Си 6. Управляющие структуры 7. Массивы в ТС++ Задачи Введение Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот яз

Изучение взаимно влияющих друг на друга математических параметров

echo "Москва 1999 План работы : 1.Постановка задачи-стр. 2.Формализация задачи-стр. 3.Блок-схема программы-стр. 4.Листинг программы-стр. 5.Тестирование программы-стр. 1.Постановка задачи. Очень часто

Системное и программное обеспечение

echo "Програмирование: 1. В широком смысле слова,– процесс составления плана действий (или программ). 2. В узком смысле – раздел прикладной математики, изучающий способы и методы реализации алгоритма

Моделирование структуры книги

echo "Особый компонент книги, облегчающий ее использование, – оглавление, имеющее также древовидную структуру. Недостаток бумажной книги – необходимость часто открывать страницы, содержащие оглавлени

Единицы информации

echo "Компьютер может обрабатывать ся кодировкой символов. только информацию, представленКак правило, все числа в ную в числовой форме. Вся другая компьютере представляются с поинформация (например, з

Разработка базы данных для объекта автоматизации: гомеопатическая аптека

echo "Указать связь между наименованием информационных элементов и таблицами, между компонентами информационных элементов и именами атрибутов. 4. Провести разработку проекта в СУБД Visual Fox Pro 5.0(

Изучение взаимно влияющих друг на друга математических параметров

Изучение взаимно влияющих друг на друга математических параметров

Москва 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 , D W и WS соответственно. W меняется при прибавлении D W ежемесячно и при вычитании WS ежегодно , в декабре. D W в свою очередь изменяется ежемесячно , уменьшаясь из-за мышей , а также увеличиваясь каждый год в августе , за счёт урожая. WS заново устанавливается также ежегодно , в декабре , самим пользователем.

Исключительным событием , прерывающим программу , для W считается его неположительное значениехозяева хранилища не проживут без запасов зерна.

Состояние мышиной популяции определяется более сложно.

Начальное количество определяется случайным образом на интервале от 1 до 20 и обозначается символом M . Ежемесячное изменение количества мышей D М , от которого зависит М , в свою очередь определяется естественным приростом. Он описан выше , а математически выглядит следующим образом : если W >= 2M , то D М за данный месяц равно 1,5М. Если же W то D М=0,1М. Кроме того , D М меняется под воздействием естественной смертности , составляющей ежемесячно 1/12 от М. Сильно влияет на популяцию грызунов и количество кошек в зернохранилище. Чем больше мышей приходится на кошку , тем больше их и погибает. В формализованном виде это выглядит так : если М/С ( С-общее количество кошек и котов) больше 60 , то за месяц гибнет 40*С мышей. Если М/С меньше или равно данному соотношению , то ежемесячно уничтожается 15*С грызунов. Общее воздействие прироста , смертности и уничтожения мышей и определяет D М. D М , в свою очередь , корректирует М. Вершиной данной экологической пирамиды является популяция кошек и котов в хранилище. Её состояние прямо зависит от численности мышей.

Численность кошек С определяется как внутренними параметрамиестественными смертностью и рождаемостью,- но и внешнимсубъективной оценкой целесообразности содержания данного числа мышеловов в хранилище , приводящей к покупке или продаже некоторого количества животных. И подчас решающим становится именно внешний , корректирующий равновесие между мышами и кошками , субъективный параметр. При формализации характеристик популяции кошек нужно начать с определения минимально допустимого количества живущих в амбаре кошек. Это параметр внешний для этой экогруппы и определяется он пользователем при оценке целесообразного размера кошачьего присутствия в хранилище. Здесь допустим и нулевой уровень , как наименее дешёвый. Но он же и наиболее рискованный , т.к. отсутствие кошек приведёт к всплеску численности мышей в амбаре. В математическом представлении он называется MNC . Далее начинают действовать естественные , внутренние параметры , такие , как рождаемость и смертность кошек. Все эти параметры составляют в суммарном воздействии Рождаемость зависит от количества мышей и в виде формул выглядит так : при M/C >60 D C=3C котят , при 20 D C=3 или 4 котёнка , при ещё меньшем – D С=0. Естественная смертность определяется общим количеством кошек. При С>=120 ежемесячно умирает С/120 кошек , а при меньших значениях С – одна кошка или ни одной.Рассчитать дополнительно необходимое количество мышеловов помогает предельно допустимое количество мышей – MN. Если M > MN , то D С = D С + М/30 , а D S = D S – ( М/30 ) * РС , где D S - ежемесячное приращение годового дохода , а РС – цена одной кошки. Если же М D C = D C + ( М N С – С ) и D S= D S + PS * ( C – MNC ) , т.е. количество кошек выравнивается по MNC с помощью продажи или покупки необходимого для этого числа кошек. В конце программы высчитываются результаты взаимодействия всех экологических групп в кокретном финансовом выражении.

Каждый декабрь программой выводится годовой баланс покупки и продажи кошек , прибыль от реализации зерна , проводимой в том же месяце , а также общий доход хозяев хранилища.

Обновляется и сумма общих денежных средств. Таким образом , степень оптимизации взаимовлияния и взаимоопределения параметров экологических групп прямо отражается на уровне доходов и расходов зерна и денежных средств. Моя программа имеет , кроме того , обширные возможности для последующей модификации применительно к изменяемым параметрам данной экосистемы. Можно , например , если возникнет такая необходимость , учесть множество новых характеристик с сохранением старых. Можно и сделать большинство изменяемых пользователем параметров более гибкими по времени и по состоянию экосистемы. Ну и , разумеется , можно будет брать эту программу за основу для составления новых программ , решающих другие задачи с взаимовлияющими математическими параметрами. Далее я приведу список переменных , использованных в программе : BY – год начала прогнозирования , Y – текущий год прогноза , F – долгосрочность прогноза , лет, MT – текущий месяц прогноза BW – начальный запас зерна , W - общее количество зерна в хранилище , H – ежегодный урожай пшеницы , DW – ежемесячное изменение общей массы зерна , J – рекомедуемая масса ежемесячно забираемой из хранилища пшеницы , DT – определяемое количество ежемесячно забираемого зерна в зависимости от общей массы пшеницы , Т – реальное количество ежемесячно забираемой пшеницы , WS – масса зерна , продаваемого ежегодно , PW – цена продаваемого килограмма зерна , MN – предельно допустимое количество мышей в хранилище , DM – ежемесячное изменение популяции мышей , М – общая численность популяции мышей , MNC – минимально допустимое количество кошек , С – общее число кошек и котов в хранилище , DC – ежемесячное изменение популяции кошек и котов РС – цена одной кошки , DS – ежемесячное изменение денежных запасов , S – общий годовой доход , ST – общая сумма денежных средств , обновляющаяся ежегодно , I – переменная-счётчик , осуществляющая остановку выполнения программы. 4.Листинг программы. 'IMITATION OF ECOSYSTEM DEFDBL G-H, S CLS INPUT 'Год начала наблюдений-'; by INPUT 'Количество лет наблюдений-'; f INPUT 'Начальная масса пшеницы в кг-'; bw INPUT 'Урожай пшеницы в кг-'; h PRINT 'Сколько кг зерна в месяц забирать?' IF bw PRINT '(Желательно не брать больше'; INT(j); ' кг)' INPUT t INPUT 'Цена одной кошки в $-'; pc INPUT 'Минимально допустимое количество кошек'; mnc INPUT 'Предельно допустимое количество мышей-'; mn PRINT PRINT '(Все данные приводятся на конец текущего месяца).' PRINT 'YEAR=,MONTH=,WHEAT=,MICE=,CATS=,DWHEAT=,DMICE=,DCATS=' PRINT '********************************************************' st = 0: w = bw: m = INT(RND(1) * 20 + 1): y = 0: mt = 0: c = mnc 50 RANDOMIZE TIMER mt = mt + 1 IF mt > 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 'СКОЛЬКО ПШЕНИЦЫ ЗАБИРАЕТСЯ В МЕСЯЦ 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 dm = dm - 15 * c CASE 0 dm = dm + 0 END SELECT 'ПО КОЛ-ВУ ЗЕРНА ОПРЕДЕЛЯЕТСЯ ПРИРОСТ МЫШЕЙ IF m 'ОПРЕДЕЛЯЕТСЯ НОВОЕ КОЛ-ВО МЫШЕЙ m = m + dm 'ЕСТЕСТВЕНАЯ СМЕРТНОСТЬ КОШЕК dc = 0 IF c > 120 THEN dc = dc - СINT(c / 120) ELSE dc = dc - CINT(RND(1)) IF c 'ПРИРОСТ КОЛИЧЕСТВА КОШЕК SELECT CASE mt CASE 3, 9 GOSUB 1000 END SELECT 'ПРОДАЖА КОШЕК ЗА НЕНУЖНОСТЬЮ IF m > 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) 'ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ПШЕНИЦЫ w = w + dw IF INT(w) IF INT(w) 'ИНФОРМАЦИЯ,ВЫВОДИМАЯ НА ЭКРАН PRINT 'y='; by + y; ' '; PRINT 'mt='; mt; ' '; PRINT 'w='; INT(w); ' '; PRINT 'dw='; INT(dw); ' '; PRINT 'm='; INT(m); ' '; PRINT 'dm='; INT(dm); ' '; PRINT 'c='; INT(c); ' '; PRINT 'dc='; INT(dc); ' '; PRINT 'ds='; ds 'СОБЫТИЯ ДЕКАБРЯ IF mt = 12 THEN GOSUB 2500 GOTO 50 'ПРИРОСТ КОШЕК 1000 SELECT CASE INT(m) CASE IS > 60 * c dc = dc + 3 * c CASE IS dc = dc + 0 CASE 0 dc = dc - .8 * c CASE ELSE dc = dc + СINT(RND(1)) + 3 END SELECT RETURN 'СОБЫТИЯ ДЕКАБРЯ 2500 PRINT '*********************************************************' 'ОПРЕДЕЛЕНИЕ ГОДОВЫХ РАСХОДОВ НА КОШЕК PRINT 'Годовой доход от продажи кошек='; INT(s); '$ ' 'РЕАЛИЗАЦИЯ ЗЕРНА С УЧЁТОМ ГОДОВЫХ РАСХОДОВ INPUT 'Сколько кг пшеницы продать'; ws 'РАСЧЁТ ПРИБЫЛИ ОТ РЕАЛИЗАЦИИ ЗЕРНА И ИЗЛИШКА КОШЕК dw = dw - ws w = w + dw ds = ws * pw s = s + ds st = st + s 'ГОДОВОЙ БАЛАНС PRINT 'Годовой доход с продажи зерна='; pw * ws; '$ ' PRINT 'Общий годовой доход='; INT(s); '$' PRINT 'Общая накопленная сумма='; INT(st); '$' IF st RETURN 3000 END 5.Тестирование программы. В связи с тем , что программу протестировать очень сложно из – за большого количества взаимозависмых параметров , при тестировании , я использую реакцию программы на исключительные значения. За год начала прогнозирования я беру 1999 г.

Длительность прогнозирования определяю как равную двум годам. Для того , чтобы прекратить работу программы на прогнозировании второго года , необходимо соответствующим образом задать значения переменных BW , H и T. Например , чтобы запасы зерна иссякли на втором году прогноза , необходимо , чтобы W равнялось 16000 кг , H также равнялось 16 тоннам , а ежемесячно забиралось 2 тонны пшеницы ( т.е. Т = 2000 кг ). И действительно программа нашла что , при “ содействии ” мышей примерно в 250 кг съеденной за год пшеницы и при затратах на кошек ещё в 20 кг проданной , запасы зерна закончились в марте второго года прогнозирования.Разумеется , вред , наносимый мышами не учитывать невозможно , но и учесть трудно , т.к. при определении изначального и переопределении нулевого уровня численности мышиной экогруппы используется генератор псевдослучайных чисел и циклическая инициация генератора – RND и RANDOMIZE соответственно. Но приблизительно срок должен совпадать.Кроме того , зная данные за какой – либо месяц , можно по формулам подсчитать значения соответствующих параметров в следующем месяце.

Государственное регулирование, Таможня, Налоги

Математика

Право

Гражданское право

Гражданское процессуальное право

Литература, Лингвистика

Искусство, Культура, Литература

Биология

География, Экономическая география

Экономическая теория, политэкономия, макроэкономика

Социология

Военное дело

Психология, Общение, Человек

Педагогика

Уголовное право

Микроэкономика, экономика предприятия, предпринимательство

Радиоэлектроника

Политология, Политистория

История отечественного государства и права

Маркетинг, товароведение, реклама

Пищевые продукты

История экономических учений

Охрана природы, Экология, Природопользование

Медицина

Здоровье

История государства и права зарубежных стран

Физика

Программирование, Базы данных

Философия

Теория систем управления

Сельское хозяйство

Ценные бумаги

Трудовое право

Культурология

Техника

Музыка

Криминалистика и криминология

Материаловедение

Историческая личность

Гражданская оборона

Международное право

Технология

Правоохранительные органы

Земельное право

Теория государства и права

Религия

Экономика и Финансы

История политических и правовых учений

Жилищное право

Астрономия

Финансовое право

Экскурсии и туризм

История

Искусство

Экономико-математическое моделирование

Бухгалтерский учет

Российское предпринимательское право

Химия

Банковское дело и кредитование

Металлургия

Иностранные языки

Менеджмент (Теория управления и организации)

Страховое право

Конституционное (государственное) право зарубежных стран

Программное обеспечение

Транспорт

Адвокатура

Нероссийское законодательство

Физкультура и Спорт

Геология

Международные экономические и валютно-кредитные отношения

Физкультура и Спорт, Здоровье

Административное право

Налоговое право

Космонавтика

Промышленность и Производство

Компьютеры, Программирование

Архитектура

Конституционное (государственное) право России

Компьютеры и периферийные устройства

Компьютерные сети

Уголовное и уголовно-исполнительное право

Муниципальное право России

Военная кафедра