Задачник по программированию( для школы ) | страница 2
Например:
(1)
а) Программа задумывает случайное число от 0 до 15 и выдает его в двоичном виде, пользователь должен ввести десятичный(или шестнадцатеричный) аналог.
Полезно решить эту задачу, сюда входят несколько подзадач:
' преобразование числа в двоичный вид
'' контроль введенных пользователем символов
''' разработка интерфейса программы (внешний вид, реакции на ошибки, поощрительные сообщения и т.п.)
Кроме того, такая программка полезна для игрового запоминания двоично-шестнадцатеричных чисел.
б) Программа должна анализировать время ожидания ответа пользователя, и выдавать оценку за выполнение, допустим, 20 заданий, учитывая число ошибок и суммарное время затраченного на ответы.
в) «Случайное число» человек и машина понимают по-разному, например:
2 2 2 2 2 2 2
с точки зрения машины это ряд равновероятных случайных чисел. Давайте составлять упрощенную, но с точки зрения человека «случайную» последовательность. Во-первых, отбросим варианты 0 и 1 как слишком простые (пользователя они будут только раздражать), затем, числа должны быть случайны, но не должны повторяться, до тех пор, пока не исчерпаются все цифры из заданного диапазона, а затем все начнется сначала.
Давайте, я расскажу, как решил эту задачу, во времена оны.
Задаем байтовый массив[размером в заданных диапазон]
начинается цикл 1.
заполняем массив нулями;
цикл 2. задумывание числа
программа задумывает число из заданного диапазона
если в соответствующей ячейке массива 0, то записываем туда 1 и завершаем цикл 2 задумывания числа, в ином случае повторяем цикл 2.
Если написать только вышесказанное, то получим бесконечный цикл!!! (что очень полезно для начинающего программиста) Посему введем переменную «счетчик успешных попыток задумывания числа» и при достижении максимального числа возможных вариантов переходим к началу цикла 1 (т. е. заполнение массива нулями)
Ну, а дальше, как и раньше вывод на экран... ожидание ответа...
Еще один нюанс, со «случайным числом». Если вы запустите программу несколько раз, то увидите, что задумываются одни и те же числа!!! Как с этим бороться? Программист, должен знать эту мелочь.
г) Байт изображается двумя шестнадцатеричными числами. Пусть и программа задумывает по два таких числа (в этом случае рекомендации пункта в, надо основательно пересмотреть [ну например, задать два байтовых массива... не-ет не верное решение..., массив будет один но от 2 до 255...])
Ну, вот так, примерно, решаются задачи, чем дальше в лес....