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 придём. ![]() ЗЫ Надо только терпеньем запастись и подождать, пока путь шишек не приведёт к ожидаемому результату. ![]() ![]() |
Автор: | GeoVit [ Среда, 04 Март, 2009 12:33 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
Владимир Лось писал(а): "... Не прошло и пол-года! ..." Эдак мы, логично и к признанию необходимости наличия в языке ЦИКЛОВ С (ЯВНЫМИ) УСЛОВИЯМИ + ЦИКЛА FORALL придём. ![]() ЗЫ Надо только терпеньем запастись и подождать, пока путь шишек не приведёт к ожидаемому результату. ![]() ![]() А вот я не придумал, как в обероне реализовать всеобщий 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 сильно раздражал. Негативные эмоции по отношению к циклу? ![]() ![]() ![]() |
Автор: | inok [ Среда, 04 Март, 2009 15:13 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
Пётр Кушнир писал(а): Я в основном сейчас с xml работаю. поиски всякие, переборы с условием - только WHILE и использую. Редко когда понадобится FOR, но иногда нужен, да. А если WHILE'ом заменять - часто в горячке забываю инкрементить переменную-счётчик. Так что, лучше пусть будет. inok писал(а): Лично меня еще в школе FOR сильно раздражал. Негативные эмоции по отношению к циклу? ![]() ![]() ![]() Вы бы посмотрели, как у меня на работе женщины с оргтехникой разговаривают... ![]() |
Автор: | Wlad [ Среда, 04 Март, 2009 15:55 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
Info21 писал(а): По-моему, FORALL -- слишком уж частный случай. Но, - ВСЕОБЩИЙ! ![]() |
Автор: | Илья Ермаков [ Среда, 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 в первый Оберон, но потом его уломали.![]() Вирт о методике для 11-летних точно не думал. Он выставил цель. А народ привык стрелять не в цель, а как умеет. Вечная проблема... |
Автор: | Info21 [ Четверг, 05 Март, 2009 10:46 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
Игорь Лоскутов писал(а): Я, конечно, не педагог, но мне кажется, что главное, чтобы ученики поняли ... Это всё понятно. Проблема в другом: как этого добиться без чрезмерного кровопролития, и чтобы еще и учительницы могли процедуру создания понимания у детишек повторять, причем в 1)немаленькой 2)разнородной группе 3)обычных 4)школьников, где кто-то проболел, кто-то прозевал, а всех надо по какой-то схеме прогнать. Такую схему найти не вдруг. |
Автор: | igor [ Четверг, 05 Март, 2009 11:14 ] |
Заголовок сообщения: | Re: Долой цикл FOR (?) |
Info21 писал(а): Игорь Лоскутов писал(а): Я, конечно, не педагог, но мне кажется, что главное, чтобы ученики поняли ... Это всё понятно. Проблема в другом: как этого добиться без чрезмерного кровопролития, и чтобы еще ... ![]() ![]() Главное, сперва сформировать у учащихся потребность в конкретных знаниях, а затем эти знания вываливать. Вот тогда схавают, а иначе не внемлют. По себе знаю ![]() |
Автор: | 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/ |