Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Курсовая работа за первый курс по предмету « алгоритмические языки и программирование »↑ Стр 1 из 2Следующая ⇒ Содержание книги
Поиск на нашем сайте
КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ВТ
Утенков Валентин Владимирович Специальность 2201 Шифр.448597
Курсовая работа за первый курс по предмету «Алгоритмические языки и программирование»
Тема: моделирование игры “Жизнь”
Г. Содержание
1. Введение 3 2. Описание программы 5 3. Заключение 11 4. Приложение 12
1. Введение
В наш век, когда космические корабли бороздят просторы Большого Театра, применение компьютеров в различных областях народного хозяйства становится необходимым и, как следствие, неизбежным. Компьютерные технологии и методы обработки данных становятся применимыми в любых сферах человеческой деятельности от расчетов графиков железнодорожных перевозок до составления гороскопов. Конечно, не во всех вопросах компьютеры могут выдать решение конкретной проблемы, но они могут, как минимум, существенно облегчить накопление, систематизацию и рутинную обработку данных. Методы решения задач с помощью компьютеров можно разделить на две основные группы. Во-первых, это аналитический метод, при котором все поведение исследуемой системы описывается как ряд четких зависимостей, из которых с учетом исходных данных вычисляется оптимальное соотношение условий для данной задачи. Во-вторых, это метод моделирования, при котором задается начальное состояние и основные законы взаимодействий в исследуемой системе; после этого система запускается «в жизнь» и наблюдатель отслеживает ее поведение в динамике, визуально извлекая из этого процесса интересующие его аспекты. В данной работе сделана попытка на простейшем примере, который (с известными допущениями) применим в биологии, продемонстрировать применение этого метода для исследования поведения колоний микроорганизмов. Модель поведения системы предельно упрощена. Жизненное пространство представлено как поле, состоящее из квадратных ячеек размером 50 ´ 30 ячеек; у каждой ячейки, очевидно, есть 8 соседних. Каждая ячейка может быть пустой или содержать клетку. Существование клетки определяется количеством соседей. Если в соседних ячейках 2 или 3 клетки, то клетка живет, а если соседей больше трех или меньше двух то клетка погибает (от «перенаселенности» или то «одиночества»). Если же вокруг пустой ячейки находятся ровно 3 клетки, то в ней появляется новая клетка. Таким образом, заданы условия трех основных процессов у живых существ: рождения, существования и отмирания. Представленная программа обеспечивает проверку этих условий и выполнение соответствующих действий. Программа, также, выполняет схематический вывод поля и некоторой сопутствующей информации на экран. Описание программы Программа использует стандартные модули crt.tpu и graph.tpu а так же модуль mono3d.tpu, написанный для других целей, из которого используется только процедура FlipVP. В начале выполнения переменные born и dead обнуляются, а функции Change присваивается значение False. Если произошло хотя бы одно изменение данных, функции присваивается значение True. Поскольку эта функция является условием выполнения основного цикла программы, очевидно, что при отсутствии изменений произойдет выход из цикла. Процедура Setup случайным образом заполняет поле клетками. Плотность заполнения определяется аргументом стандартной функции Random. Процедура Print осуществляет вывод на экран сопутствующей информации (переменные step, live, born и dead c комментариями). Переменные преобразуются в строковой вид с помощью процедуры Val и промежуточной переменной s, после чего с помощью стандартных арифметических действий, применимых к единицам данных типа string, формируется переменная stri, которая и выводится на экран оператором OutTextXY. Работа программы. Начало программы. Основной цикл программы. Окончание программы. Заключение. 3.1. В данной работе приведен простейший пример применения метода моделирования системы. Усложнение и модернизация алгоритма позволит с большей точностью отображать реальные процессы в модели. 3.2. В нынешней форме программа позволила выявить следующие нюансы: Приложение Uses crt,graph,mono3d; Var A,B:array[0..51,0..31]of boolean; i,j,VP,step,live,dead,born:integer; s,stri:string; Label l; Function Nears(x,y:integer):integer; {} {} var {} i,j,s:integer; {} Begin {} {} s:=0; {} for i:=x-1 to x+1 do {} for j:=y-1 to y+1 do {} if a[i,j] then s:=s+1; {} if a[x,y] then s:=s-1; {} Nears:=s; {} End; Function Change:Boolean; Begin {} {} born:=0; {} dead:=0; {} Change:=False; {} {} for i:=1 to 50 do {} for j:=1 to 30 do {} begin {} {} {} {} if A[i,j] then {} {} begin {} {} {} if ((Nears(i,j)<2) or (Nears(i,j)>3)) then {} {} {} begin {} {} {} {} B[i,j]:=False; {} {} {} {} dead:=dead+1; {} {} {} {} Change:=True; {} {} {} end; {} {} end {} {} else {} {} begin {} {} {} if Nears(i,j)=3 then {} {} {} begin {} {} {} {} B[i,j]:=True; {} {} {} {} born:=born+1; {} {} {} {} Change:=True; {} {} {} end; {} {} end; {} {} {} end; {} End; Procedure Setup; {} {} var {} i,j:integer; {} Begin {} {} Randomize; {} for i:=1 to 50 do {} for j:=1 to 30 do {} if Random(2)=0 then A[i,j]:=True; {} End; Procedure Draw; {} {} var {} i,j:integer; {} Begin {} {} Rectangle(0,0,639,349); {} for i:=0 to 51 do {} for j:=0 to 31 do {} begin {} {} {} {} if A[i,j] then SetFillStyle(1,10) {} {} else SetFillStyle(9,1); {} {} Bar(55+10*i,10+8*j,65+10*i,18+8*j); {} {} Rectangle(55+10*i,10+8*j,65+10*i,18+8*j); {} end; {} End; Procedure Copy; {} {} var {} i,j:integer; {} Begin {} {} for i:=1 to 50 do {} for j:=1 to 30 do {} A[i,j]:=B[i,j]; {} End; Procedure Print; Begin {} {} Str(step:3,s); {} stri:='Шаг # '+s; {} Str(live:3,s); {} stri:=stri+' Клеток '+s; {} outtextxy(55,300,stri); {} Str(born:3,s); {} stri:='Появилось '+s; {} Str(dead:3,s); {} stri:=stri+' Погибло '+s; {} outtextxy(55,315,stri); {} {} End; Procedure Count; {} {} var {} i,j:integer; {} Begin {} {} live:=0; {} for i:=1 to 50 do {} for j:=1 to 30 do {} if A[i,j] then live:=live+1; {} End; BEGIN Setup; i:=9; j:=1; InitGraph(i,j,'c:\dos'); SetColor(9); While Change do Begin {} step:=step+1; {} FlipVP(VP); {} Draw; {} Count; {} Print; {} Copy; {} Delay(22); {} if KeyPressed then {} if ReadKey<>''then {} goto l; end; l: ReadKey; CloseGraph; ClrScr; END. КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ВТ
Утенков Валентин Владимирович Специальность 2201 Шифр.448597
Курсовая работа за первый курс по предмету «Алгоритмические языки и программирование»
Тема: моделирование игры “Жизнь”
Г. Содержание
1. Введение 3 2. Описание программы 5 3. Заключение 11 4. Приложение 12
1. Введение
В наш век, когда космические корабли бороздят просторы Большого Театра, применение компьютеров в различных областях народного хозяйства становится необходимым и, как следствие, неизбежным. Компьютерные технологии и методы обработки данных становятся применимыми в любых сферах человеческой деятельности от расчетов графиков железнодорожных перевозок до составления гороскопов. Конечно, не во всех вопросах компьютеры могут выдать решение конкретной проблемы, но они могут, как минимум, существенно облегчить накопление, систематизацию и рутинную обработку данных.
|
||||
Последнее изменение этой страницы: 2020-03-26; просмотров: 104; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.126.69 (0.007 с.) |