понедельник, 19 июня 2017 г.

Моделирование простейших игр в Microsoft Excel

Задания, выполненные в Microsoft Excel, можно предложить учащимся как на уроках так и в качестве домашнего задания.
1.      Игра «Чет или нечет»
Правила игры. Играющий в ответ на появляющийся на экране вопрос "Чет (2) или нечет (1)?" прогнозирует появление одного из двух случай­ных чисел: 1 или 2 (см. табл. 1)


Таблица 1

A
B
C
1
Игра «Чет или нечет?»


2
Чет (2) или нечет (1)?


3
Число компьютера:


4




После ввода пользователем ответа в ячейку В2 программа случайным об­разом генерирует одно из указанных чисел, которое выводится в ячейке ВЗ, и определяется результат прогноза ("Верно" или "Неверно").
Решение.       
В ячейку ВЗ введите формулу:
=1 + ЦЕЛОЕ(СЛЧИС() * 2)
 — а в ячейку В4 — формулу:
=ЕСЛИ(В2 = ВЗ; "Верно"; "Неверно") ,
Однако при таком оформлении листа еще до ввода играющим свое­го мнения в ячейку В2 проявятся два недостатка:
1) в ячейке ВЗ будет выводиться какое-то число. И хотя "верить" это­му значению играющий не должен (после ввода числа в ячейку В2 это число может измениться), все равно надо сделать так, чтобы в ячейке ВЗ случайное число появлялось только после ввода значения в ячейку В2. Это можно сделать, используя функцию ЕПУСТО:
=ЕСЛИ(ЕПУСТО(В2);""; 1 + ЦЕЛОЕ(СЛЧИС() * 2)
2) в ячейке В4 будет выводиться ответ "Неверно", что некоррект­но. Чтобы устранить этот недостаток, здесь также следует применить функцию ЕПУСТО. Формула в ячейке В4 выглядит несколько громоздко
=ЕСЛИ(ЕПУСТО(В7);""; ЕСЛИ(В7 = В8; "Верно"; "Неверно")),
— но зато ответы в ячейке теперь будут появляться только при наличии чисел в ячейке В2.
2.      Игра «Чет или нечет» (вариант 2)
Правила игры. Играющий должен спрогнозировать 11 случайных чисел 1 или 2 (ячейки В3:В13), после чего в ячейках С3:С13 появляются числа, сгенерированные компьютером, а также определяется результат игры (см. табл.2).

Таблица 2

A
B
C
D
1
Игра «Чет или нечет?»


2
Номер числа
Ваше мнение: чет (2) или нечет (1)?
Число компьютера

3
1
2
2

4
2
1
2




13
11
1
1

14




15
Результат



16
правильных ответов:



17
неправильных ответов:



18
То есть



19





В ячейке В18 должен быть выведен текст Вы выиграли или Выиграл компьютер (ничьей быть не может!). Текст в ячейках А15:А18 и В16:В18 должен выводиться только после заполнения играющим ячейки В13 и исчезать после ее очистки.
Необходимые формулы оформите самостоятельно. Опишем методику определения количества правильных и неправильных ответов:
1)      В одном из столбцов, которые играющий не видит (например, в столбце М), получить ответы на вопрос о том, отгадал ли он каждое из 11 чисел (табл.3).
Таблица 3


M
N
1



2



3

да

4

нет




13

да

14




Это можно сделать с помощью функции ЕСЛИ
2)      Количество правильных и неправильных ответов теперь определяется с использованием функции СЧЕТЕСЛИ применительно к значениям в диапазоне М3:М13.
3.      Игра «Кубик»
Вид листа показан в таблице 4.
Таблица 4

A
B
C
1
Игра «Кубик»


2
Имя первого игрока:


3
У первого игрока «выпало»:


4
Имя второго игрока:


5
У второго игрока «выпало»:


6
То есть


7




Результат игры выводится в ячейке В6 в виде «выиграл Петя» (если имя первого игрока – Петя), «выиграл Вася» (если имя второго игрока – Вася) или «ничья».
Указания по оформлению листа.
1.      Смоделировать бросание игрального кубика, то есть получить одно из случайных целых чисел 1, 2, …, 6, можно с помощью СЛЧИС().
2.      Число в ячейке В3 и текст в ячейках А3 и А4 должны выводиться только после ввода имени первого игрока, а число в ячейке В5 и текст в ячейках А5 , А6 и В6 – только после ввода имени второго игрока. Для этого используйте функцию ЕПУСТО.
Задание для самостоятельной работы
Разработайте программы и/или подготовьте листы электронной таб­лицы для моделирования следующих вариантов игры "Кубики":
1)      в котором каждый из двух играющих бросает три игральных кубика; выигравшим считается тот, кто наберет наибольшую сумму очков;
2)      в котором каждый из двух играющих бросает по одному кубику заданное число раз; выигравшим игру считается тот, у кого окажется больше побед при отдельных бросаниях;
3)      в котором каждый из двух играющих бросает по одному кубику заданное число раз (или, что то же самое, заданное число кубиков один раз); выигравшим игру считается тот, кто наберет наибольшую сумму очков;
4)      в котором каждый из двух играющих бросает по одному кубику до тех пор, пока кто-то из играющих не наберет заданную сумму очков

Литература:

       Златопольский Д.М. "Моделирование простейших игр на компьютере" (Библиотечка "Первого сентября", серия "Информатика". Вып. 20 ). М.: Чистые пруды, 2008

Комментариев нет :

Отправить комментарий

Номер страницы