Квант
Разное

Программирование на микрокалькуляторе: игры

Систепский Л. Н.

42

Программирование на микрокалькуляторе: игры

Л. Н. СИСТЕПСКИЙ

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

В течение учебного года вы научились писать программы на алгоритмическом языке. На страницах журнала «Квант» мы обьясили, как транслировать эти программы в коды программируемого микрокалькутора (см. «Квант», 1985, № 2, 3). Эти навыки позволяют вам пользоваться вашим кабельтором и для решения школьных задач из курса математики, например нахождение корни алгебраических уравнений.

Не это дело будущего. А сейчас, перед летними каникулиами, мы предлагаем вам отвлечься от математических задач и пограть в игры с помощью вашего программируемого микрокалькутора.

Игра Башше

Из кучи, содержащей pp предметов, например спичек, два игрока по очереди берут некоторое количество спичек. За один раз можно взять не менее одной и не более kk спичек. Число kk (лучше выбрать его намного меньше pp) устанавливается игроками заранее. Проигрывает тот, кому придется взять последнюю спику.

Введите в машину программу, данные в таблице 1, обзаведесь предварительно набором спичек, путешещили других предметов, и, внимательно прочитайте инструкцию, начинайте игру. Можно играть с машиной один на один. Убедившись, что машина — сильный партнер, позволяет на помощь товарища и попробуйте сообща сыграть против машины.

Инструкция

  1. Ввести программу B/O.
  2. 1 ВП 7 П 7 1, 8 F 1/x П/8.
  3. pp C/П (p)(p), kk C/П (0).
  4. Если первый ход делает машина, то C/П (количество спичек, взятых машиной), ввести ваш ход C/П (ход машины) и опять ваш ход и т. д.
  5. Если первый ход хотите делать вы, то введите число взятых вам спичек, C/П (ответный ход машины), ваш ход C/П (ход машины) и т. д.
  6. Для новой игры: B/O и идти к п. 3 инструкции.
  7. Задачи
    1 (для любитель математики). Для данных pp и kk найдите выигрышную стратегию в игре Башше.
    2* (для любитель программырования). Попробуйте расшифровать стратегию машики.

Балистическая игра

Изображение на клетчатой бумаге системы координат, причудливый пейзаж и два города гулпцов, вражуюших между собой (рисунок). В пределах каждого города установлен стартовую процедку и отметьте точками положения орудий (пушек), из которых неразумные жители вражуюших города обстрелвают друг друга хлопушками. Введите в машину программу из таблицы 2, нажмите B/O, введите данные согласно инструкции.

Таблица 1

00 П 0 40 24 F Вх 0
01 C/П 50 25 — 11
02 ↑ 0E 26 ИП 1 61
03 1 01 27 /-/ 0L
04 + 10 28 × 12
05 П 1 41 29 ИП 0 60
06 0 00 30 + 10
07 C/П 50 31 1 01
08 F x≠0 57 32 — 11
09 15 15 33 F x≠0 57
10 /-/ 0L 34 44 44
11 ↑ 0E 35 П 2 42
12 ИП 0 60 36 /-/ 0L
13 + 10 37 ↑ 0E
14 П 0 40 38 ИП 0 60
15 ИП 0 60 39 + 10
16 1 01 40 П 0 40
17 — 11 41 ИП 2 62
18 ИП 1 61 42 БП 51
19 ÷ 13 43 07 07
20 ИП 8 68 44 1 01
21 — 11 45 П 2 42
22 ИП 7 67 46 БП 51
23 + 10 47 36 36

43

Таблица 2

| | | | | | |
| :— | :— | :— | :— | :— | :— |
| 00 | ИП 3 | 63 | 34 | + | 10 |
| 01 | F sin | 1[ | 35 | П 0 | 40 |
| 02 | ИП 2 | 62 | 36 | ИП А | 6— |
| 03 | × | 12 | 37 | ИП 3 | 63 |
| 04 | П 0 | 40 | 38 | + | 10 |
| 05 | ИП 3 | 63 | 39 | П А | 4— |
| 06 | F cos | 1Г | 40 | ИП С | 6[ |
| 07 | ИП 2 | 62 | 41 | ИП 6 | 66 |
| 08 | × | 12 | 42 | — | 11 |
| 09 | ИП 8 | 68 | 43 | П С | 4[ |
| 10 | × | 13 | 44 | ИП 0 | 60 |
| 11 | П 3 | 43 | 45 | ИП 9 | 69 |
| 12 | ИП 0 | 60 | 46 | × | 12 |
| 13 | П 2 | 42 | 47 | ИП 2 | 62 |
| 14 | ИП 6 | 66 | 48 | + | 10 |
| 15 | F sin | 1[ | 49 | ИП 0 | 60 |
| 16 | ИП 5 | 65 | 50 | × | 12 |
| 17 | × | 12 | 51 | ИП 1 | 61 |
| 18 | П 0 | 40 | 52 | + | 10 |
| 19 | ИП 6 | 66 | 53 | П В | 4↓ |
| 20 | F cos | 1Г | 54 | ИП 0 | 60 |
| 21 | ИП 5 | 65 | 55 | ИП 9 | 69 |
| 22 | × | 12 | 56 | × | 12 |
| 23 | ИП 8 | 68 | 57 | ИП 5 | 65 |
| 24 | × | 12 | 58 | + | 10 |
| 25 | П 6 | 46 | 59 | ИП 0 | 60 |
| 26 | ИП 0 | 60 | 60 | × | 12 |
| 27 | П 5 | 45 | 61 | ИП 4 | 64 |
| 28 | 0 | 00 | 62 | + | 10 |
| 29 | П 0 | 40 | 63 | П Д | 4Г |
| 30 | П В | 4↓ | 64 | C/П | 50 |
| 31 | П Д | 4Г | 65 | ВП | 51 |
| 32 | ИП 0 | 60 | 66 | 32 | 32 |
| 33 | ИП 8 | 68 | | | |

Инструкия

  1. Ввести программу. Переключатель меры угла перевести в положение Г (градусы), В/O;
  2. Ввести данные:
    Y1Y_1; П 1; v1v_1; П 2; α1\alpha_1; П 3; Y2Y_2, П 4; v2v_2; П 5; α2\alpha_2; П 6; 1; П 8; 5; /—/; П 9; X1X_1; ПА; X2X_2; ПС.
  3. С/П;
  4. Результаты: ИП А (X1X_1) ИП В (Y1Y_1) ИП С (X2X_2) ИП Д (Y2Y_2)
  5. Далée, к п. 3 инструкции.
    Смысл данных следующий:
    Y1Y_1 — ordината пушки первого города (слева); v1v_1 — начальная скорость хлопушки, вылетающей из этой пушки;
    α1\alpha_1 — угол прицела первой пушки (см. рисунок) в градусах;
    Y2Y_2 — ordината пушки, установленной во втором города (справа);
    v2v_2 — начальная скорость хлопушки второй пушки;
    α2\alpha_2 — угол прицела второй пушки (см. рисунок) в градусах;

Запустите программу клавишей C/П. В регистрах А и В будут занесены абсцисса и ordината пушки, выпущенной из второго города. Нажав C/П, вы получите положения хлопушки еще через 1 секунд и т. д. Пока машина вычисляется, отмещайте положения хлопшки на чертеже. Выигравает тот гулепцел, кто (первым) поразит старуюую площадку соперника.

В регистра 8 (см. инструкцию) перед началом игры запосится 1. Вы можете заносить любое число t, меняя тем самым промежуток времени между отделными показаниями машинки (можно интервовать положениями хлопушки не через каждую секунд, а через 2 секунд или 0,5 секунд и т. д.). В регистра 9 запосится величины — g/2, где g — величинаускорения свободного падения в м/сек². Мы положили g=10. Если гулепцы живут не на Земле, а на Луне, то нужно выбрать g в 6 раз меньше. Короче говоря, вам представляется широкий диапазон для фантации о возможных безобразиях гулепцов. Тот, кто лучше разбирается в физике и условиям движения, получит хорошую возможность моделирования процесса движения тела в поле тяготения.