Задание 4 Параграф 31 ГДЗ Семакин 9 класс (Информатика)
Проведите вычислительный эксперимент с разными вариантами первоначального расселения организмов.
Попробуйте найти такие первоначальные расселения, которые:
а) обречены на гибель;
б) не меняются со сменой поколений;
в) ведут к периодической смене повторяющихся конфигураций расселения.
При построении модели надо учитывать, что брать окружение надо с 8 соседей, поэтому первоначальное заселение нельзя ставить на первые две строки.
Правила игры:
1. из состояния 0 в 1 (в клетке появляется Жизнь), если рядом оказалось ровно 3 объекта;
2. состояние 1 сохраняется, если соседей будет 2 или 3;
3. из состояния 1 в 0 (Жизнь умирает), если число соседей больше 3, или меньше 2.
Делаем по шагам.
1. Создание сетки:
— открыть новую электронную таблицу;
— определите размер сетки, например, 10×10 ячеек. Для этого выделите диапазон ячеек A1:J10.
— yстановить ширину и высоту ячеек, чтобы они были квадратными, для этого смотреть рисунки ниже.
— выделите все ячейки сетки и добавьте границы, чтобы визуально отделить ячейки друг от друга
Должно получиться так:
Таких квадратов надо сделать столько, сколько вы хотите получить популяций (один исходный). В прилагаемом примере 4-ре квадрата вместе с исходным, на три новых популяции
2. Заполнить начальное состояние:
Записать в некоторые ячейки 1, при этом оставить пустыми граничные ячейки
Например:
3. Создание формул для подсчета соседей:
— в ячейку О2 (это в приведенном примере, у вас может быть и другая ячейка в зависимости от расположения ячеек второй популяции) ввести формулу:
=ЕСЛИ(B2=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A1:C3;1)-1 < 2;СЧЁТЕСЛИ(A1:C3;1)-1 > 3);0;1);ЕСЛИ(И(B2=0;СЧЁТЕСЛИ(A1:C3;1)=3);1;0)).
Это формула построена по правилам игры.
СЧЁТЕСЛИ(A1:C3;1)-1 – определяет количество ячеек с 1 вокруг ячейки В2 (если В2=1).
Далее выстраивается условие по правилам:
Если в В2 единица, то если количество единиц в окружающих 8 ячейках меньше 2, или больше 3, то в ячейку помещается 0, иначе 1.
Если в ячейке В2 0, то, если количество в окружающих ячейках равно 3, то в ячейку помещается 1, иначе 0.
Далее копируем эту ячейку по выделенному квадрату, не задевая крайних ячеек.
Для наглядности, сделать условное форматирование (показано в предыдущем примере).
Для создания следующих популяций, исходную формулу копируем, но меняем диапазоны вручную. Диапазоны делаем уже по предыдущей таблице с полученной популяцией. В примере в ячейку В13 надо поместит формулу:
=ЕСЛИ(O2=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(N1:P3;1)-1 < 2;СЧЁТЕСЛИ(N1:P3;1)-1 > 3);0;1);ЕСЛИ(И(O2=0;СЧЁТЕСЛИ(N1:P3;1)=3);1;0))
Скопировать ее, как и в предыдущей популяции и сделать условное форматирование. Для получения следующей популяции (получается 3-ей после исходной) формулу заносим уже в ячейку О13 и корректируем диапазоны.
=ЕСЛИ(B13=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A12:C14;1)-1 < 2;СЧЁТЕСЛИ(A12:C14;1)-1 > 3);0;1);ЕСЛИ(И(B13=0;СЧЁТЕСЛИ(A12:C14;1)=3);1;0))
Меняя исходное состояние, каждый раз получаются отличные от предыдущих состояния.
Для 4-ой популяции:
=ЕСЛИ(O13=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(N12:P14;1)-1 < 2;СЧЁТЕСЛИ(N12:P14;1)-1 > 3);0;1);ЕСЛИ(И(O13=0;СЧЁТЕСЛИ(N12:P14;1)=3);1;0))
Для 5-ой популяции:
=ЕСЛИ(B25=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A24:C26;1)-1 < 2;СЧЁТЕСЛИ(A24:C26;1)-1 > 3);0;1);ЕСЛИ(И(B25=0;СЧЁТЕСЛИ(A24:C26;1)=3);1;0))
Для ответа на вопросы в конце задания, создайте еще несколько популяций по описанному примеру и поэкспериментируйте с исходным состоянием.
Пример выполнения:
Зад_31_4.xlsx
Для модели «Жизнь» в электронной таблице удобно сделать несколько одинаковых квадратов: в каждом следующем квадрате будет показано новое поколение. Внутри квадрата клетки содержат значения $$0$$ и $$1$$, где $$1$$ — живая клетка, $$0$$ — пустая.
Правила перехода такие:
- если клетка была $$0$$ и рядом оказалось ровно $$3$$ живых клетки, то она становится $$1$$;
- если клетка была $$1$$ и рядом осталось $$2$$ или $$3$$ живых клетки, то она сохраняется;
- если клетка была $$1$$ и соседей меньше $$2$$ или больше $$3$$, то она умирает, то есть становится $$0$$.
При подсчёте соседей учитываются все $$8$$ окружающих клеток, поэтому начальное заполнение нельзя размещать у самых верхних границ таблицы.
Для одной клетки можно использовать формулу:
=ЕСЛИ(B2=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A1:C3;1)-1<2;СЧЁТЕСЛИ(A1:C3;1)-1>3);0;1);ЕСЛИ(И(B2=0;СЧЁТЕСЛИ(A1:C3;1)=3);1;0))
Здесь $$\text{СЧЁТЕСЛИ}(A1:C3;1)-1$$ — число живых соседей клетки $$B2$$.
Эту формулу нужно скопировать по всему квадрату, кроме граничных клеток. Для следующего поколения формулу записывают в соответствующую ячейку нового квадрата и меняют диапазоны на клетки предыдущего поколения. Например:
=ЕСЛИ(O2=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(N1:P3;1)-1<2;СЧЁТЕСЛИ(N1:P3;1)-1>3);0;1);ЕСЛИ(И(O2=0;СЧЁТЕСЛИ(N1:P3;1)=3);1;0))
Аналогично строятся следующие поколения, например:
=ЕСЛИ(B13=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A12:C14;1)-1<2;СЧЁТЕСЛИ(A12:C14;1)-1>3);0;1);ЕСЛИ(И(B13=0;СЧЁТЕСЛИ(A12:C14;1)=3);1;0))
=ЕСЛИ(O13=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(N12:P14;1)-1<2;СЧЁТЕСЛИ(N12:P14;1)-1>3);0;1);ЕСЛИ(И(O13=0;СЧЁТЕСЛИ(N12:P14;1)=3);1;0))
=ЕСЛИ(B25=1;ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(A24:C26;1)-1<2;СЧЁТЕСЛИ(A24:C26;1)-1>3);0;1);ЕСЛИ(И(B25=0;СЧЁТЕСЛИ(A24:C26;1)=3);1;0))
После заполнения нескольких поколений можно подобрать начальные конфигурации:
- обречённые на гибель — например, одиночная клетка или две соседние клетки;
- не меняющиеся со сменой поколений — например, блок из $$2 \times 2$$ живых клеток;
- периодические — например, «маятник» из трёх клеток, который меняет вид через одно поколение.
Таким образом, в таблице можно исследовать разные начальные расселения и наблюдать, как они эволюционируют по правилам игры.
Ответ
В электронной таблице строится модель «Жизнь» по формулам перехода для каждой клетки; при эксперименте можно получить конфигурации, обречённые на гибель, неизменные и периодические.