среда, 16 февраля 2011 г.

Случайные числа, счетчики и аккумуляторы -- и игры

Задание №1
Напиши класс, который принимает с клавиатуры целое число и затем генерирует ("придумывает") случайное число из следующего диапазона:

· "центром диапазона" является введенное с клавиатуры число;

· количество чисел в диапазоне равно 11.

Класс должен определять, "угадал" ли компьютер введенное число и выводить на экран одно из сообщений (в зависимости от соотношения введенного и "придуманного" чисел"):

· угадал – если числа совпали;

· слишком большое – если "придуманное" компьютером число больше введенного с клавиатуры

· слишком маленькое – если "придуманное" компьютером число меньше введенного с клавиатуры

Задание №2
Напиши класс, представляющий версию игры из задания №1 – только в этом случае компьютер должен играть сам с собой!

Задание №3
Напиши класс, представляющий версию игры из задания №1 (или №2 – по выбору) со следующими изменениями:

  • · в игре 10 повторов ("кругов");
  • · надо выдавать не только сообщение о результате игры в каждом круге, но и статистику: сколько раз какой из результатов реализовывался

Задание №4
Как известно, при игре в "двадцать одно (очко)" у каждой карты есть численное значение.

Напиши класс, который "выбрасывает три карты" (генерирует три случайных числа – в каких пределах?) и определяет, какой из вариантов (недобор, перебор, очко) реализовался.

Задание №5
Напиши класс, который повторяет задание №4, но предоставляет игроку получить, если он того захочет, еще и четвертую карту.

пятница, 4 февраля 2011 г.

Задачи на случайные числа

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

Задача №1

Два человека играют в кости по следующим правилам: в каждом раунде игры (а она состоит из 10 раундов) каждый из участников бросает "кость" (кубик, на гранях которого значения от 1 до 6). В каждом раунде определяется победитель – или фиксируется состояние "ничья", в зависимости от значения, которое выпало на кубике-"кости" участника.

Напиши класс (программу), которая моделирует эту игру, указывая для каждого раунда, кто из игроков набрал в этом раунде больше очков – или сообщая о состоянии "ничья".

Задача №2

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

Задача №3

Напишите класс (программу), которая выполняет следующие действия:

  1. Принимает с клавиатуры два целых числа.
  2. Создает и выводит на экран 20 случайных чисел в диапазоне от первого, только что введенного с клавиатуры, значения, до второго значения, также введенного с клавиатуры перед этим. Можно исходить из предположения, что первое из вводимых чисел всегда меньше второго.

Например, если с клавиатуры были введены значения -8 и 17, то класс создает 20 случайных чисел в диапазоне от -18 до 17 (включая сами эти значения)

Задача №4

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

Задача №5

Напиши класс (программу), которая создает и выводит на экран 35 оценок (оценкой считается значение от 1 до 5) – и определяет, была ли среди них хоть одна "пятерка".

После вывода оценок на экран следует в отдельной строке вывести и текстовое сообщение в зависимости от того, была или не была хоть одна "пятерка" среди оценок.

Примечание: в Израиле оценки выставляются по 100-балльной системе и желающие могут написать "израильский вариант" этой задачи.