Міністерство освіти і науки України
Полтавський національний технічний університет
імені Юрія Кондратюка
Факультет інформаційних та телекомунікаційних технологій і систем
Кафедра комп’ютерних та інформаційних технологій і систем
Курсова робота
з дисципліни «Основи програмування та алгоритмічні мови»
КР ______
Розробив cтудент
групи 101-ТН
Керівник роботи
Полтава 2010
Зміст
Вступ
1. Постановка задачі
2. Розв’язання задачі
3. Алгоритм задачі
4. Реалізація програми 8
5. Демонстрація роботи програми
Висновок
Використана література
ВступЩоб виконати дану роботу треба мати достатні знання мови програмування Турбо Паскаль, а також вміння складати алгоритми. Для коду даної програми я використав навики з виконання практичних робіт.
Гру «Життя» вперше створив Дж. Конвей. Це власне не гра, а проста модель еволюції групи живих організмів. Пасивне спостереження над сукупністю великої кількості поколінь цієї гри може дати якусь задоволення.
Ігровим полем(«житєвим простором») в цій грі являється двохвимірна поверхня, розділена на квадрати. В нас це поверхня тора, яка не має границь: наявність границь завжди зв’язано з проблемами. Кожна клітинка має 8 сосідів. Ячейка може бути заселена одним організмом, або бути порожньою.
1. Постановка задачіРозробити програму для вирішення поставленої прикладної задачі. При вирішенні задачі необхідно:
- Створити програму у середовищі програмування TurboPascal
- Розробити алгоритм функціонування програми
- Надати блок-схему алгоритму
- Продемонструвати роботу програми
УМОВА ЗАДАЧІ
Гра моделює життя поколінь гіпотетичної колонії живих кліток,які виживають, розмножуються або гинуть у відповідності з наступними правилами.
Клітка виживає, якщо має двох або трьох сусідів з восьми можливих, якщо один або жодного то клітка гине в ізоляції. Якщо має чотири та більше, то гине від перенаселення.У будь-якій порожній позиції у якої рівно три сусіди у наступному поколінні з'являється нова клітка.
Hor – кількість кліток по горизонталі
Ver – кількість кліток по вертикалі
Cell_width, cell_height – ширина та висота клітки
Prob_factor – параметр, що визначає вірогідність заселення кліток про формуванні початкової популяції.
Процедура init_cells формує початкову популяцію, встановлюючи елементам масива new_gen значення 0 або 1 з використаним параметром вірогідності.
Процедура next_generationбудує в масиві new_gen будує наступну популяцію за правилами.
Процедура init_screen ініціалізує графічний режим та заповнює масиви графічних координат центрів кліток. Процедура displayвиконує основну роботу по побудові зображення робочого поля гри на прихованій активній сторінці та виводить на екран. Це уможливлюють процедури SetActivePage та SetVisualPage, викликані з параметром 0 або 1, визначаючим номер графічної сторінки. Перша процедура при викликанні встановлює активну сторінку, а друга візуальну.
a. Алгоритм задачі
А ) Головний алгоритм
Б) Алгоритм процедури init_cells
В) Алгоритм процедуриnext _ generation
Г) Алгоритм процедури init _ screen
Д) Алгоритм процедури display
Е) Алгоритм процедури rule_plane
Реалізація програми
PROGRAM LIFE;
uses crt,dos,graph;
const
hor=100;
ver=70;
cell_width=8;
cell_height=6;
prob_factor=0.5;
var
old_gen,new_gen:array[0..ver,0..hor] of 0..1;
prob:real;
ch:char;
x_center:array[0..hor] of word;
y_center:array[0..hor] of word;
gen_count,radius,page:word;
ss:string[10];
procedure init_cells;
var
j,k:word;
begin
gen_count:=0;
for j:=0 to ver do
for k:=0 to hor do
begin
old_gen[j,k]:=0;
if ran
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.