Личный кабинет

Алгоритмы для начинающих

Станислав Михалкович ( Пользователь )
Уважаемые коллеги!

Предлагаю вашему вниманию документ "Алгоритмы для начинающих". В нем содержатся основные задачи, необходимые для изучения указанных тем по программированию. Условно аудиторией для решения данных задач являются школьники. Например, готовящиеся к ЕГЭ.

Впоследствии, после того как данный список видоизменится благодаря замечаниям и правкам, я намерен реализовать эти алгоритмы на языке Паскаль и поместить на сайт.

Замечу, что данную страничку можно править непосредственно, не регистрируясь. Некорректные правки легко откатываются, так что проблемы что то испортить нет. Обсуждение указанных вопросов можно вести также на указанной страничке на вкладке "Обсуждение".
Роман Еннер ( Пользователь )
По опыту на решение всех предложенных задач не хватит и 70 часов (по 2 часа в течение 35 учебных недель, а для подготовки к ЕГЭ еще много тем повторять нужно)
Может хватить, если рассматривать алгоритмы без практического приложения (собственно программирования), т.е. в отсутствие практики. Можно конечно предлагать реализовывать дома, но делать это будут единицы.
В условиях средней школы (8-9 классы) на алгоритмизацию и программирование отводиться не более 20 часов. В таком цейтноте изучать по предложенной схеме просто не реально, в итоге пришел к тому что очень быстро можно изучить (и главное получить минимальные навыки программирования) основы структурного программирования в последовательности изложения материала совпадающей с изложением в учебнике Кушниренко "Основы информатики и вычислительной техники" образца 1991 года :) :
  • исполнители, система команд, причем практика сразу же на 1 уроке
  • процедуры без параметров (ведь изучаем процедурное программирование, так?)
  • пара слов про типы данных, процедуры с параметрами
  • цикл в параметром
  • задачи на одновременное использование циклов и процедур
  • циклы с условием
  • ветвления
  • задачи на циклы+ветвления
  • переменные, присваивание, и дальше как обычно (ввод, вывод, выражения, опять циклы, ветвления и заканчиваем одномерными массивами)

В таком порядке достаточно долго и с самого начала сохраняется мотивация, т.к. нужно чтоб ВСЕ научились. "Настоящие" задачи, как у вас, решаются в основном уже только с сильно мотивированными учащимися на факультативах и спец курсах. Напоминаю что это последовательность для 8-9 класса. В профильных классах последовательность классическая и примерно на 50-60 часов
Станислав Михалкович ( Пользователь )
Да, я ни в коем случае не предполагал, что это будет использоваться как некая последовательность для изучения в школе. В школе начал бы с Робота - это несомненно. А это - ближе к самоучителю. И аудитория - ближе к студенческой. А последовательность - классическая.

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

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

Из этой последовательности сознательно выброшены задачи, специфические для языка и для среды. То есть, Исполнители сюда не попадут. К моему большому сожалению.

Для школьников, например, можно проработать начальную часть - предложить мне несколько задач или направлений, не обеспечивших это самое покрытие для школьника. Например, вижу, что у меня нет использования процедур в циклах - спасибо. Типы данных - неявно выделенные. Циклы for и с условиями, наверное, можно разделить.
Михаил Густокашин ( Пользователь )
Цитата (Михалкович Станислав, 05.11.2009, 20:27) <{POST_SNAPBACK}>
Предлагаю вашему вниманию документ "Алгоритмы для начинающих".

"Алгоритмов" как таковых я нашел там три штуки: Евклида и две сортировки (ну и проверка на простоту, если она до корня, может быть алгоритмом). Остальные задачи включения мозга не требуют. Так что название не отражает сущности, на мой взгляд.
Еще в разделе "Циклы", задача "8. Вывод букв русского алфавита (for)" кажется мне неудачной по причине того, что русские буквы - это плохо. Они разные везде. Да и идут не подряд в таблице символов. Латинские буквы намного лучше. В других задачах с русскими буквами та же проблема.
Что касается задач в целом - задачи неплохие. Много похожих задач (а то и вовсе таких же) есть на http://informatics.mccme.ru Когда напишете решения - будет откуда списывать восьмиклассникам, придется придумывать им другие задачи :)
Станислав Михалкович ( Пользователь )
Закончил я, наконец, работу над программами и алгоритмами для начинающих. По крайней мере, начерно.
Согласен с Михаилом Густокашиным, что название выбрано неудачно. Поэтому изменил название:
Программы и алгоритмы для начинающих.
Крутились еще другие названия: образцы задач, задачи для начинающих, но принял такое название.

Мы используем этот сборник программ при подготовке школьников к ЕГЭ. Это ни в коем случае не примеры решенных ЕГЭ-задач, но это задачи из серии "должен знать каждый". Обычно школьники их используют в ситуации, когда в школе не было программирования вовсе, а ЕГЭ-задачки по программированию уже решаются. То есть, используют в качестве справочника.

Здесь сознательно нет использования подпрограмм - в ЕГЭ их обычно нет.

Буду признателен за сделанные замечания.
Сергей Галаган ( Пользователь )
Цитата (Михалкович Станислав, 19.01.2010, 16:31) <{POST_SNAPBACK}>
Закончил я, наконец, работу над программами и алгоритмами для начинающих. По крайней мере, начерно.
Согласен с Михаилом Густокашиным, что название выбрано неудачно. Поэтому изменил название:
Программы и алгоритмы для начинающих.


Довольно много опечаток было...
Станислав Михалкович ( Пользователь )
Цитата (Galagan Sergei Igorevich, 05.03.2010, 16:43) <{POST_SNAPBACK}>
Довольно много опечаток было...

Интересно, каких. Тексты программ копировались из окна редактора после компиляции
Вячеслав Миронкин ( Пользователь )
Ваше отношение к графическим схемам алгоритма? Возможно ли их применять вместе с изучением азов программирования на конкретном языке? К Вашим задачам добавить бы графические схемы алгоритмов.
Ирина Чижова ( Пользователь )
Я бы добавила в раздел ЦИКЛЫ еще ряд алгоритмов и программ, а именно: поиск делителей числа, определение совершенного числа, дружественные числа и подсчет количества по заданному условию начала бы именно с циклов, а у Вас этот алгоритм впервые встречается в МАССИВАХ. Как бы Вы к этому отнеслись?

Станислав Михалкович ( Пользователь )
Цитата (Вячеслав Миронкин, 26.10.2011, 11:56) <{POST_SNAPBACK}>
Ваше отношение к графическим схемам алгоритма? Возможно ли их применять вместе с изучением азов программирования на конкретном языке? К Вашим задачам добавить бы графические схемы алгоритмов.

Мы их не используем. Считаем, что код программы или псевдокод - лучшее описание алгоритма.

Цитата (Ирина Чижова, 27.10.2011, 09:30) <{POST_SNAPBACK}>
Я бы добавила в раздел ЦИКЛЫ еще ряд алгоритмов и программ, а именно: поиск делителей числа, определение совершенного числа, дружественные числа и подсчет количества по заданному условию начала бы именно с циклов, а у Вас этот алгоритм впервые встречается в МАССИВАХ. Как бы Вы к этому отнеслись?

Это есть частично здесь:
http://pascalabc.net/algoritmi-i-programmi-dlya-studentov.
В частности, разложение на простые множители:
http://pascalabc.net/WDE/?file=AlgStudents...Algoritm_16.pas

Определение совершенного числа и дружественные числа мне представляются математическими алгоритмами, не имеющими практического использования, потому они включены не были.

Подсчет количества по условию опять-таки есть здесь - без массивов:
http://pascalabc.net/algoritmi-i-programmi-dlya-studentov.

footer logo © Образ–Центр, 2018. 12+