Задачник по программированию( для школы ) - страница 2
Если написать только вышесказанное, то получим бесконечный цикл!!! (что очень полезно для начинающего программиста) Посему введем переменную «счетчик успешных попыток задумывания числа» и при достижении максимального числа возможных вариантов переходим к началу цикла 1 (т. е. заполнение массива нулями)
Ну, а дальше, как и раньше вывод на экран... ожидание ответа...
Еще один нюанс, со «случайным числом». Если вы запустите программу несколько раз, то увидите, что задумываются одни и те же числа!!! Как с этим бороться? Программист, должен знать эту мелочь.
г) Байт изображается двумя шестнадцатеричными числами. Пусть и программа задумывает по два таких числа (в этом случае рекомендации пункта в, надо основательно пересмотреть [ну например, задать два байтовых массива... не-ет не верное решение..., массив будет один но от 2 до 255...])
Ну, вот так, примерно, решаются задачи, чем дальше в лес....
Не люблю олимпиадные задачи, как правило, они слишком «академичны», но это естественно, у олимпиады совершенно иные задачи (т. е. не обучение)
Задачи для школьника должны быть веселы! На экране должно что-то прыгать, бегать, хихикать...
Веселые задачи
Игры со строками.
Все нижеследующие программы, должны начитаться и продолжаться объяснениями пользователю, что ему следует сделать для продолжения работы программы.
(2)
Написать программу со следующим сценарием:
пользователь вводит строку, нажимает Enter и далее варианты:
а) Буквы падают в низ экрана с начала строки, одна за другой;
б) Буквы падают с конца строки;
в) Буквы падают случайным образом;
г) Буквы падают наискосок;
д) После какого либо вида падения буквы взлетают на свои места.
(3)
Написать программу, печатающую бегущую строку
варианты:
а) бегущая строка с зацикленным текстом;
б) предложение бегает от начала в конец строки и обратно;
в) бегущая строка информация в которую берется из файла.
(4)
Написать программу, в которой пользователь вводит строку, нажимает Enter, а затем строка начинает червяком ползать по всему экрану (не выходя за его пределы).
(5)
Написать программу, которая напечатает строку по следующему сценарию:
а) в середине экрана появляются 2 крайние буквы строки (первая и последняя)
Затем они раздвигаются и в середину записываются две следующие (вторая и предпоследняя) и т.д. в результате строка печатается разъезжаясь из центра.
б) печатаются сначала средние буквы строки (одна или две – в зависимости четное число символов в строке или нет) затем парами печатаются остальные символы.
(6)
Написать программу, в которой строка будет печататься:
а) сверху вниз
б) снизу вверх
в) наискосок
(7)
Написать программу, в которой в середине экрана выводится строка, а затем:
а) буквы по очереди подпрыгивают на 1 или 2 позиции.
б) подпрыгивание с конца строки
г) подпрыгивание случайным образом.
(8)
Написать программу, в которой в середину экрана выводится строка, затем буквы расползаются вверх вниз и в стороны случайным образом (не перекрывая друг друга), а потом возвращаются по своим траекториям на старое место.
(9)
Написать программу, объединяющую максимальное число вышеперечисленных сценариев.
(10)
Первый пользователь вводит строку
на следующей строке выводится ее зашифрованный вариант
зашифрованная строка сообщается другому пользователю
и он на другом компьютере ее расшифровывает.
Методы шифровки:
1 - в строке меняется четные и нечетные символы (если длина строки нечетная, она дополняется точкой).
2 - в начале печатается последний символ потом первый затем предпоследний, а потом второй и т.д.
3 - строку делим пополам (если надо дополняем точкой), а потом печатается символ из одной строки затем из другой и т.д.
Дополнительный материал:
Квадрат Полибия, Шифр Цезаря, Решето Кардано, Тарабарская грамота, Диск Энея
(11)
Программа выводит число в римском стиле, пользователь вводит десятичный аналог. Для оживления программа будет выводить реакции «Долго думал», «Go to the first class», ну, на сколько хватит цензурного юмора.