Задачник по программированию для школы

Задачник по программированию для школы

Задачи для школьника, должны быть веселы!

На наших занятиях, запрещена фраза "мы это не проходили" - если это надо для решения задачи - "пройди", источников море, учитель подскажет.

Не получается? Возможно, ты выбрал задачу не по силам, ничего - это тоже опыт, отложи, попробуй следующую. Мало решить задачу, придумай свою...

Ученик должен уметь: (поставить задачу + решить задачу + учиться) * n ...

Жанры: Самиздат, сетевая литература, Учебники, Программирование
Серии: -
Всего страниц: 4
ISBN: -
Год издания: Не установлен
Формат: Полный

Задачник по программированию для школы читать онлайн бесплатно

Шрифт
Интервал

Задачник по программированию для школы

Листая старую тетрадь...

Да, нравится мне эта песня, но сейчас, не об этом...

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

На момент написания, для решения задач планировалось использовать Turbo Pascal, время прошло, и эта программа значительно устарела, предлагаю заменить ее на PascalABC.NET – отличная штука, специально создана для обучения программированию, сочетает возможности старого Turbo Pascal и Delphi и много других вкусностей.



Вступление. (которое, можно пропустить)


Задачи здесь, разной сложности, ну, например, такая шутка:

«Все, внимание!!! Всякий кто решит данную задачу за 45 минут, получит годовую 5 не только по информатике, но и по математике. Записываем:

Доказать, что для любых не нулевых значений переменных a, b, c : integer не существует решения следующего уравнения, при n > 2.

a>n + b>n = c>n

- Что ты хочешь сказать, Вова?

… ... ...

- Хорошо, Вова, - молодец! За знание классики + 5.

- А почему не годовая?

- Но, ты же не привел доказательства...»



Часто у «продвинутых» учеников возникает вопрос:

- А чё мы должны учить этот древний, никому не нужный Pascal?

Ну, давайте, сравним простейший код:


C++

Pascal


>#include

>#include

>using namespace std;

>int main()

>{

>cout <<

>system(pause);

>return 0;

>}


>begin

>Writeln('Hello, World!');

>end.



И дело не в том, что текст на C длиннее.

Учащийся должен понимать, что и как, делает программа.

Если объяснение программы на Паскале займет 2 минуты и можно идти дальше, то в случае С, вы убьете 45 минут на объяснение совершенно не нужной начинающему информации, и совершенно запутаете школьников, т.е - если вам надобно вызвать у учащихся отвращение к программированию то начинайте учить их с С++ или C#.

А после Паскаля, любой си образный язык пойдет «влегкую».

Объясните любопытному, что все процедурные языки, близнецы братья (но Паскаль проще!!!). Для профессионального программиста не составляет большой проблемы перейти с PHP на Java.



Но, как-то, расскажите, что есть не только процедурные языки. Например, о языке Prolog, или такие вкусности как Форт (англ. Forth) или Эйфория.



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

Например:

(1)

Двоичный тренажер

а) Программа задумывает случайное число от 0 до 15 и выдает его в двоичном виде, пользователь должен ввести десятичный(или шестнадцатеричный) аналог.



Полезно решить эту задачу, сюда входят несколько подзадач:

' преобразование числа в двоичный вид

'' контроль введенных пользователем символов

''' разработка интерфейса программы (внешний вид, реакции на ошибки, поощрительные сообщения и т.п.)

Кроме того, такая программка полезна для игрового запоминания двоично-шестнадцатеричных чисел.



б) Программа должна анализировать время ожидания ответа пользователя, и выдавать оценку за выполнение, допустим, 20 заданий, учитывая число ошибок и суммарное время затраченного на ответы.



в) «Случайное число» человек и машина понимают по-разному, например:

2 2 2 2 2 2 2

с точки зрения машины это ряд равновероятных случайных чисел. Давайте составлять упрощенную, но с точки зрения человека «случайную» последовательность. Во-первых, отбросим варианты 0 и 1 как слишком простые (пользователя они будут только раздражать), затем, числа должны быть случайны, но не должны повторяться, до тех пор, пока не исчерпаются все цифры из заданного диапазона, а затем все начнется сначала.

Давайте, я расскажу, как решил эту задачу, во времена оны.

Задаем байтовый массив[размером в заданных диапазон]

начинается цикл 1.

заполняем массив нулями;



цикл 2. задумывание числа

программа задумывает число из заданного диапазона

если в соответствующей ячейке массива 0, то записываем туда 1 и завершаем цикл 2 задумывания числа, в ином случае повторяем цикл 2.



Если написать только вышесказанное, то получим бесконечный цикл!!! (что очень полезно для начинающего программиста) Посему введем переменную «счетчик успешных попыток задумывания числа» и при достижении максимального числа возможных вариантов переходим к началу цикла 1 (т. е. заполнение массива нулями)

Ну, а дальше, как и раньше вывод на экран... ожидание ответа...



Еще один нюанс, со «случайным числом». Если вы запустите программу несколько раз, то увидите, что задумываются одни и те же числа!!! Как с этим бороться? Программист, должен знать эту мелочь.



г) Байт изображается двумя шестнадцатеричными числами. Пусть и программа задумывает по два таких числа (в этом случае рекомендации пункта в, надо основательно пересмотреть [ну например, задать два байтовых массива... не-ет не верное решение..., массив будет один но от 2 до 255...])



Ну, вот так, примерно, решаются задачи, чем дальше в лес....



Не люблю олимпиадные задачи, как правило, они слишком «академичны», но это естественно, у олимпиады совершенно иные задачи (т. е. не обучение)


Еще от автора W Cat
S. D. F.

Если вам интересен SQL, и знаком Delphi, давайте поразвлекаемся программированием.


Система Диофанта

Если вы хотите поразить одноклассников молниеносным решением квадратных уравнений [КУ], давайте развлечемся.


Рекомендуем почитать
Интуиция и кураж

Продолжаю разгребать архивы. Рассказ когда-то играл в "Мини-прозе". Верней, его первая версия играла под заголовком "Хотел как лучше…".



Теория эпического театра (статьи, заметки, стихи)

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


Жизнь Галилея

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


Фламенко

Раздел моего соавтора: http://zhurnal.lib.ru/w/wasilxew_s_w/.


Путешествие Долбоклюя

Это просто воспоминания белой офисной ни разу не героической мыши, совершенно неожиданно для себя попавшей на войну. Форма психотерапии посттравматического синдрома, наверное. Здесь будет очень мало огня, крови и грязи - не потому что их было мало на самом деле, а потому что я не хочу о них помнить. Я хочу помнить, что мы были живыми, что мы смеялись, хулиганили, смотрели на звезды, нарушали все возможные уставы, купались в теплых реках и гладили котов... Когда-нибудь, да уже сейчас, из нас попытаются сделать героических героев с квадратными кирпичными героическими челюстями.


Солтинера. Часть вторая

═══════ Не всегда желание остаться в тени воспринимается окружающими с должным понимаем. И особенно если эти окружающие - личности в высшей степени подозрительные. Ведь чего хорошего может быть в людях, предпочитающих жить посреди пустыни, обладающих при этом способностью биться током и управлять солнечным светом? Понять их сложно, особенно если ты - семнадцатилетняя Роза Филлипс, живущая во Франции и мечтающая лишь об одном: о спокойной жизни.


Солтинера. Часть первая

Не всегда желание остаться в тени воспринимается окружающими с должным понимаем. И особенно если эти окружающие - личности в высшей степени подозрительные. Ведь чего хорошего может быть в людях, предпочитающих жить посреди пустыни, обладающих при этом способностью биться током и управлять солнечным светом? Понять их сложно, особенно если ты - семнадцатилетняя Роза Филлипс, живущая во Франции и мечтающая лишь об одном: о спокойной жизни.


Ловушка для потерянной души

Проснуться в чужом мире. И нет ни воспоминаний, ни даже собственного имени. Потеряться между мирами, настоящим, жестоким и другим, что является по ночам обрывками чужой жизни. Найти себя, обрести собственное лицо, что как тысяча масок, не сломаться под ударами судьбы. Это история о приключениях, жадности, дружбе и предательстве. О бессильных магах и силе человеческой души. О любви к самому главному — жизни.


Дар золотому дракону

Ну почему именно в этом году, как раз когда мне выпал жребий невесту дракона изображать, он решил-таки, что девушка ему в хозяйстве очень даже сгодится? Двести лет не нужна была, а теперь вдруг понадобилась. И унёс, да… Правда, версию с невестой высмеял, сказал, что моя забота – корову доить и детей его нянчить. А как их нянчить-то, они ж сами, поди, больше, чем та корова будут? Ладно, долетим – посмотрим… Предупреждение: Это сказка. Добрая и жизнеутверждающая. Если кто-то хочет много экшена и эротики – вам не сюда.