OberonCore
https://forum.oberoncore.ru/

Долой цикл FOR (?)
https://forum.oberoncore.ru/viewtopic.php?f=7&t=1378
Страница 1 из 5

Автор:  Info21 [ Среда, 04 Март, 2009 11:34 ]
Заголовок сообщения:  Долой цикл FOR (?)

Из наблюдений за начинающими разных уровней (от 5-клашек до 9-классников как в лицее, так и в гуманитарном колледже):

Цикл FOR -- засада навроде отладчика.
Совершенно не помогает переходить к WHILE и к важнейшей схеме поиска.
Не только не помогает, но и ощутимо мешает.

Склонился ко мнению, что надо сразу давать WHILE, даже 5-классникам (медленно, конечно).
До конца еще не уверен, но ... пока вывод такой.

Автор:  Wlad [ Среда, 04 Март, 2009 12:02 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

"... Не прошло и пол-года! ..."
Эдак мы, логично и к признанию необходимости наличия в языке ЦИКЛОВ С (ЯВНЫМИ) УСЛОВИЯМИ + ЦИКЛА FORALL придём. :lol:
ЗЫ Надо только терпеньем запастись и подождать, пока путь шишек не приведёт к ожидаемому результату. 8) :twisted:

Автор:  GeoVit [ Среда, 04 Март, 2009 12:33 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Владимир Лось писал(а):
"... Не прошло и пол-года! ..."
Эдак мы, логично и к признанию необходимости наличия в языке ЦИКЛОВ С (ЯВНЫМИ) УСЛОВИЯМИ + ЦИКЛА FORALL придём. :lol:
ЗЫ Надо только терпеньем запастись и подождать, пока путь шишек не приведёт к ожидаемому результату. 8) :twisted:


А вот я не придумал, как в обероне реализовать всеобщий FORALL. Получается, что это возможно только для массивов и строк.

Автор:  Info21 [ Среда, 04 Март, 2009 14:42 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

По-моему, FORALL -- слишком уж частный случай.

Автор:  inok [ Среда, 04 Март, 2009 15:05 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Лично меня еще в школе FOR сильно раздражал. И я заменял его на WHILE. Несмотря на все ламерство, в моих программах на qbasic он выступал в качестве тормоза слишком быстрых процессов, так как позволял очень гибко регулировать скорость. :)

Автор:  Пётр Кушнир [ Среда, 04 Март, 2009 15:10 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Я в основном сейчас с xml работаю. поиски всякие, переборы с условием - только WHILE и использую. Редко когда понадобится FOR, но иногда нужен, да. А если WHILE'ом заменять - часто в горячке забываю инкрементить переменную-счётчик. Так что, лучше пусть будет.

inok писал(а):
Лично меня еще в школе FOR сильно раздражал.
Негативные эмоции по отношению к циклу? :D :D :D Однако...

Автор:  inok [ Среда, 04 Март, 2009 15:13 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Пётр Кушнир писал(а):
Я в основном сейчас с xml работаю. поиски всякие, переборы с условием - только WHILE и использую. Редко когда понадобится FOR, но иногда нужен, да. А если WHILE'ом заменять - часто в горячке забываю инкрементить переменную-счётчик. Так что, лучше пусть будет.

inok писал(а):
Лично меня еще в школе FOR сильно раздражал.
Негативные эмоции по отношению к циклу? :D :D :D Однако...

Вы бы посмотрели, как у меня на работе женщины с оргтехникой разговаривают... :)

Автор:  Wlad [ Среда, 04 Март, 2009 15:55 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Info21 писал(а):
По-моему, FORALL -- слишком уж частный случай.

Но, - ВСЕОБЩИЙ! 8) Аки соответствующий квантор.

Автор:  Илья Ермаков [ Среда, 04 Март, 2009 18:26 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Не знаю, у меня в первом семестре на Роботе столь активно гоняется исключительно WHILE, что во втором никаких проблем с FOR не возникает - я могу для начала использовать его, чтобы сконцентрироваться на идее "прогонки" переменных через последовательность значений (типа, аналог Сигма и П в математике). Потом нормально идём на уже любимый WHILE с песнями :)

Возможно, Фёдор Васильевич отрефлексировал проблему на Черепашке - там ведь нужды в WHILE как бы нет (нет обратной связи), и идёт исключительно "FOR-канье". Если базовый исполнитель - Робот, то всё наоборот... Но младшим-то лучше с Черепашки. Может, просто компенсируется последующим курсом с Роботом и обратной связью?

Автор:  А.П. [ Среда, 04 Март, 2009 19:23 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Я предпочел с 7-клашками начать с циклов FOR по следующим причинам (ИМХО):
1) его труднее "сломать", чем WHILE;
2) его легче понять и усвоить начинающему (мне кажется?);
3) для него не надо строить условное выражение - лишний "барьер вхождения". Не раз видел, как даже первокурсники путаются в составных условиях.

Заставить освоить и полюбить цикл WHILE можно немного позже прогоном десятка-другого красивых примеров, в которых FOR просто "не катит".

Автор:  Info21 [ Среда, 04 Март, 2009 19:58 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

А.П. писал(а):
Я предпочел с 7-клашками начать с циклов FOR по следующим причинам (ИМХО):

А.П. писал(а):
2) его легче понять и усвоить начинающему (мне кажется?);
Ну и что?
Зато потом все равно с нуля объяснять вторую сущность, причем для более сложных задач.
Фактически, по факту, while задвигается так далеко, что потом вообще не усваивается.

Потому и нужна постановка техники, что эта самая техника требует постановки, т.е. некоторого целенаправленного труда.

А.П. писал(а):
1) его труднее "сломать", чем WHILE;

Сильное подозрение, что Вы его подаете "как все".
А это ничему не научает.

А.П. писал(а):
3) для него не надо строить условное выражение - лишний "барьер вхождения". Не раз видел, как даже первокурсники путаются в составных условиях.

Если появились составные выражения, значит, при чем тут FOR.
Во-вторых: потому и путаются, что "для простоты" их на FORе учили, да и плюнули на WHILE, т.к. времени не было -- так, показали, мол, есть еще такой...

А.П. писал(а):
Заставить освоить и полюбить цикл WHILE можно немного позже прогоном десятка-другого красивых примеров, в которых FOR просто "не катит".
А зачем эту ломку устраивать, когда можно с самого начала всё по-уму устроить? Кстати, у Вас есть этот десяток-другой, и все красивые? Сомневаюсь.

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

Автор:  Info21 [ Среда, 04 Март, 2009 20:01 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

А в целом никто об этом, очевидно, толком не думал. (Кушниренко не предлагать.)

Автор:  Madzi [ Среда, 04 Март, 2009 21:43 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Info21 писал(а):
А в целом никто об этом, очевидно, толком не думал. (Кушниренко не предлагать.)

За всех думал Вирт, когда не включал FOR в первый Оберон, но потом его уломали.

Автор:  inok [ Среда, 04 Март, 2009 21:46 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Madzi писал(а):
Info21 писал(а):
А в целом никто об этом, очевидно, толком не думал. (Кушниренко не предлагать.)

За всех думал Вирт, когда не включал FOR в первый Оберон, но потом его уломали.

Не мешало бы подкрепить ссылочкой. Че бы воочию...

Автор:  Wlad [ Среда, 04 Март, 2009 22:44 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

inok писал(а):
Madzi писал(а):
Не мешало бы подкрепить ссылочкой. Че бы воочию...

Что "воочию"? Что FOR-цикл в Обероне был убран, а в О-2 опять появился?
http://www-old.oberon.ethz.ch/oreport.html и http://www-old.oberon.ethz.ch/EBNF.html - это о первом (раннем) Обероне доклад-сообщение и РБНФ. Про О-2 - погуглите собственными силами.

Автор:  igor [ Четверг, 05 Март, 2009 10:11 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Я, конечно, не педагог, но мне кажется, что главное, чтобы ученики поняли когда какой цикл следует применять:
"Если ещё до выполнения цикла уже безусловно (!) известно количество итераций, то следует применять цикл FOR, в противном случае -- WHILE/REPEAT".
И ни в коем случае не преподносить один цикл как нежелательный, а другой -- как предпочтительный. Каждому циклу -- своё место :)

Автор:  Info21 [ Четверг, 05 Март, 2009 10:39 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Madzi писал(а):
Info21 писал(а):
А в целом никто об этом, очевидно, толком не думал. ...
За всех думал Вирт, когда не включал FOR в первый Оберон, но потом его уломали.
Разговор тут о методике -- сердцевине пед. процесса 8)

Вирт о методике для 11-летних точно не думал. Он выставил цель. А народ привык стрелять не в цель, а как умеет. Вечная проблема...

Автор:  Info21 [ Четверг, 05 Март, 2009 10:46 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Игорь Лоскутов писал(а):
Я, конечно, не педагог, но мне кажется, что главное, чтобы ученики поняли ...
Это всё понятно. Проблема в другом: как этого добиться без чрезмерного кровопролития, и чтобы еще и учительницы могли процедуру создания понимания у детишек повторять, причем в 1)немаленькой 2)разнородной группе 3)обычных 4)школьников, где кто-то проболел, кто-то прозевал, а всех надо по какой-то схеме прогнать.
Такую схему найти не вдруг.

Автор:  igor [ Четверг, 05 Март, 2009 11:14 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Info21 писал(а):
Игорь Лоскутов писал(а):
Я, конечно, не педагог, но мне кажется, что главное, чтобы ученики поняли ...
Это всё понятно. Проблема в другом: как этого добиться без чрезмерного кровопролития, и чтобы еще ...
Имхо, сначала нужно преподать FOR, снабдив учебный процесс правильными (см. мой пост выше) примерами. А затем, ни слово не говоря про WHILE, подсунуть "неправильный" примерчик, пусть включают мозги. Когда изрядно помаются, преподнести WHILE как "спасение" :) Это, конечно, совсем для детишек, с учениками постарше не проканает :?
Главное, сперва сформировать у учащихся потребность в конкретных знаниях, а затем эти знания вываливать. Вот тогда схавают, а иначе не внемлют. По себе знаю :)

Автор:  Wlad [ Четверг, 05 Март, 2009 12:22 ]
Заголовок сообщения:  Re: Долой цикл FOR (?)

Игорь Лоскутов писал(а):
Имхо, сначала нужно преподать FOR, снабдив учебный процесс правильными (см. мой пост выше) примерами. А затем, ни слово не говоря про WHILE, подсунуть "неправильный" примерчик, пусть включают мозги. Когда изрядно помаются, преподнести WHILE как "спасение" :) Это, конечно, совсем для детишек, с учениками постарше не проканает :?
Главное, сперва сформировать у учащихся потребность в конкретных знаниях, а затем эти знания вываливать. Вот тогда схавают, а иначе не внемлют. По себе знаю :)
Для "правильного" преподания FOR вам ещё кучу всяческого материала по типам и доменам значений нужно людям преподать с объяснением кучи неявностей (про те же объявления переменных, локальность (и её ограничения), сохранения значений "после" не забыть).
А что вам необходимо сказать про FORALL? Только лишь то, что в каждом акте берётся следующий/очередной элемент из хранилища и про, возможное, ограничение на модификацию этого элемента. Всё. Это - вне "особенностей реализации" типов и правил видимости и прочей "низкоуровневости".

Страница 1 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/