Разрешите поделиться своими наблюдениями (конкретно по теме FOR в образовании).
Преподаю в провинциальном пед. вузе, год от года уровень школьников приходяших в вуз падает, мотивации - ни какой. Особенно сильно видна пропасть в сравнении с редко встречающимися "нормальными" или сильными студентами.
Это я к тому говорю, что мой опыт имеет особенности, и возможно, его нельзя обобщать сильно.
Студенты (думающие) тяготеют к FOR, причём подгоняют под него задачу.
Например, поиск в массиве оформляют так:
Код:
k:= 0;
for i:= 1 to N do
if a[i] = val then k:= i;
если попросишь первое вхождение искомого, помучившись, выдадут нечто типа:
Код:
k:= 0;
for i:= 1 to N do
if a[i] = val then
if k = 0 then k:= i;
особо умные про break вспомнят.
К такому решению склонности нет:
Код:
i:= 1;
while (i <= N) and (a[i] <> val) do inc(i);
if i = N then k:= 0 else k:= i;
Какие выводы я отсюда делаю:
1. Мозг действительно не хочет думать. В место того, чтобы пересмотреть подход к решению, дорабатывается напильником уже полученный вариант решения.
(не америка, конечно)
2. Цикл FOR
воспринимается, именно воспринимается более простым. Из за этого подсознательно приходят к мысли, что FOR = цикл. И из за этого же начинают творить ужасные вещи типа изменения счётчика внутри FOR.
3. (и теперь уже более вольно и менее уверенно) Цикл WHILE выглядит действительно сложнее FOR, но там всё "на виду". ИМХО, старшеклассников и студентов надо ориентировать на WHILE. WHILE, WHILE, WHILE затем вводим FOR, описывая его через WHILE. И задалбливаем, что он нужен в опред. частных случаях. Для младших классов - тут я пас, опыта нет.
Может как в ШАЯ, нужен цикл без счётчика, "повторять N раз"? У Кушниренко, на сколько я помню, к переменным подходят после описания управляющих конструкций.
И такой подход достаточно обоснован. После перехода к переменным, сразу ударить WHILE-лом, и задачи, некоторое время решать со строгим требованием "Только WHILE!".
А потом FOR.
После чего, уже хорошо разобравшиеся школьники разделятся на группировки: 1) зачем нужен FOR? 2) FOR нужен там где нужен! и будут спорить как и профессионалы в сиём форуме