OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 18:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 12:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Игорь Лоскутов писал(а):
... Главное, сперва сформировать у учащихся потребность в конкретных знаниях, ...
Потребность в цикле возникает при рисовании 30-угольника. Речь о том, чтобы на FOR время просто не тратить, а сразу подсунуть под эту потребность WHILE.

Давать WHILE после FOR -- все равно что с нуля. А время сильно ограничено. В этом проблема.


Последний раз редактировалось Info21 Воскресенье, 08 Март, 2009 11:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 12:45 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 575
Откуда: Россия, Санкт-Петербург
Info21 писал(а):
Madzi писал(а):
Info21 писал(а):
А в целом никто об этом, очевидно, толком не думал. ...
За всех думал Вирт, когда не включал FOR в первый Оберон, но потом его уломали.
Разговор тут о методике -- сердцевине пед. процесса 8)

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 13:14 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Madzi писал(а):
... Вирт, как педагог, думал о том, как преодалеть барьер в сознании "программистов" (обучающихся), потому что FOR крепко привязывается к понятию "цикл". Обычно кроме FOR под циклом уже ничего и не понимают. ...
Оберон создавался не с целью преодоления психологических барьеров. FOR там (в языке) задвинут на вторичную роль необязательных расширений языка из-за его сущностной вторичности.

Это объективность, которая теперь лезет отразиться в обучении по уже не раз названным причинам.
Ограниченность ресурсов оббивает избыточную сложность -- или избыточную роскошь, каковой FOR и является.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 14:15 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Я тоже не педагог, но как пользователь, я считаю, что в том виде как он есть сейчас FOR не нужен, он мало полезен. Если уж его вводить, то как в Алголе, в составе цикла WHILE.
Т.е. примерно так:
FOR i := 0 to Count-1 WHILE f(i)<"чего то там" DO ... END;
Так сказать, что бы "движок" отделить .
Хотя возможно это потому, что я "воспитывался" на Алголе-68.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 16:19 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Axcel писал(а):
в том виде как он есть сейчас FOR не нужен, он мало полезен.
Так уж мало полезен? Для пробежки по массивам как-раз полезен.
Просто его часто употребляют не по назначению, к сожалению.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 16:24 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Axcel писал(а):
как пользователь, я считаю, что в том виде как он есть сейчас, FOR не нужен, он мало полезен.
Спасибо, для статистики.

Axcel писал(а):
Если уж его вводить, то как в Алголе, в составе цикла WHILE.
Но это схема поиска.
И она яснее выражается обычным WHILE с укороченным вычислением логич. выражений. Еще же надо окончание обработать (нашли-не нашли), а в таком комбинированном цикле, вероятно, и с управляющей переменной при такой обработке проблемы были бы... в Алголе-68.

Всё, что не учитывает Дейкстру в отношении циклов -- на свалку истории.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 17:04 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Ярослав Романченко писал(а):
Axcel писал(а):
в том виде как он есть сейчас FOR не нужен, он мало полезен.
Так уж мало полезен? Для пробежки по массивам как-раз полезен.
Просто его часто употребляют не по назначению, к сожалению.

Но и только. Если бы только WHILE, то я бы в конце концов, перестал забывать делать инкремент :D , а так ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 19:13 

Зарегистрирован: Суббота, 31 Январь, 2009 06:29
Сообщения: 328
FORмула блин...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 19:20 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Info21 писал(а):
Axcel писал(а):
как пользователь, я считаю, что в том виде как он есть сейчас, FOR не нужен, он мало полезен.
Спасибо, для статистики.
Меня тоже можете для статистики записать: считаю FOR совершенно излишним, никогда им не пользуюсь. Для прохода по массиву (без дополнительной логики выхода из цикла) использую паттерн:
Код:
i := 0;
c := Count;
WHILE i < c DO
   ...
   INC (i)
END
При активном использовании любое отклонение от паттерна - как бельмо в глазу - сразу видно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 20:07 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Александр Ильин писал(а):
... Меня тоже можете для статистики записать: считаю FOR совершенно излишним, никогда им не пользуюсь.
Записал :)

Александр Ильин писал(а):
... При активном использовании любое отклонение от паттерна - как бельмо в глазу - сразу видно.
Точно. Важная экспликация.

Вчера я третий проход опыта закончил (правда, 7-классники, не 5).
Итог пока такой: нужно потратить два занятия и с нуля буквально вдолбить WHILE -- но паттерн это не один пример, а еще и в обратном порядке, и еще с чтением из входного потока.
Цель -- выработать рефлекс: 1-2-3, + divide: организация цикла от его наполнения (кстати, цвет помогает разделить; серым сделанное затенить -- вообще только нужная часть видна становится; здорово).

(Ценно, что преподавательницы при этом тоже открывает для себя ... горизонты 8))

Но это на сильных детях. Слабые пускай рисунки рисуют, пока не дозреют.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 20:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Axcel писал(а):
... Если бы только WHILE, то я бы в конце концов, перестал забывать делать инкремент :D , а так ...
Вот именно. А когда с нуля вдалбливается 1-2-3 + содержательная часть -- инкремент на уровне рефлекса.

(Кстати, сначала я на себе это проделал, в смысле вырабатывание рефлекса. Так что всё от опыта.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 21:18 

Зарегистрирован: Суббота, 31 Январь, 2009 06:29
Сообщения: 328
То, что человек знает формулу, еще не значит, что он ею обладает...
Подвох абстракции этакий imho


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Четверг, 05 Март, 2009 23:41 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Пётр Кушнир писал(а):
Непонятно только, зачем он вообще нужен, этот foreach.
Цитата:
(Поглядывая на часы) - Ждём...
Три часа всего :D

Причина смеха не понята.
Вот здесь я с Vlad-ом согласен на все 100% - нужен FOREACH/FORALL (в отличие от FOR-а).
Вы ж сами здесь все про патерны говорите - вот вам один из них. Чётко сформулированный, цельный и минимальный "ДЕЛАЙ ДЛЯ ВСЕХ ИЗ НАБОРА". К тому же - выраженный конкретной языковой конструкцией. И - главное! - освобождающий от ошибок.
Что за ёрничанье?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 07:07 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Александр Ильин писал(а):
Код:
i := 0;
c := Count;
WHILE i < c DO
   ...
   INC (i)
END
Но объясните же, чем этот "закат Солнца вручную" лучше простенького:
Код:
FOR i:=0 TO Count DO
  ...
END


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 08:48 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Geniepro писал(а):
Александр Ильин писал(а):
Код:
i := 0;
c := Count;
WHILE i < c DO
   ...
   INC (i)
END
Но объясните же, чем этот "закат Солнца вручную" лучше простенького:
Код:
FOR i:=0 TO Count DO
  ...
END

Как раз хотел задать ровно этот же вопрос!! :)
Забыть что-нибудь в WHILE НАЧИНАЮЩЕМУ легко, и ББ не схватит за руку. Ходи потом по классу, снимай зацикливавшиеся программы, помогай разобраться, почему вообще не работает WHILE. Кривой FOR сложнее протолкнуть на исполнение.
На мой взгляд, при работе на самом начальном этапе, с самыми слабыми учениками мы должны максимально убрать все возможные барьеры, могущие оттолкнуть потенциально способного к программированию школьника. Чем меньше мы оставим шансов ошибаться и не понимать, тем лучше на первых шагах! Нельзя давать слишком много поводов для разочарований!
Да и знаний надо меньше, чтобы начать пользоваться FORом: еще не требуется знать понятие "условие", INC или его аналог, четко понимать и помнить, что должно быть до цикла, а что в нем. И текста набирать меньше, встроенная в Edit заготовка FOR отлично рулит!
Уважаемые профи! Попробуйте взять группу "нулевых" 5-7-клашек со средними способностями и посмотреть на их мучения на первых ваших уроках программирования. Уверен, вам не только раскраска фрагментов начнет нравиться. И стремление к "высокому стилю по Дейкстре - с первых шагов" незаметно отойдет на второй план :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 09:09 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Geniepro писал(а):
Александр Ильин писал(а):
Код:
i := 0;
c := Count;
WHILE i < c DO
   ...
   INC (i)
END
Но объясните же, чем этот "закат Солнца вручную" лучше простенького:
Код:
FOR i:=0 TO Count DO
  ...
END
Ваше "простенькое" меня не устраивает ровно потому же, почему вы допустили ошибку. Приглядитесь, вы совершили не эквивалентное преобразование.

В целом я просто не вижу достаточных оснований для введения FOR (и LOOP).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 09:32 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
А.П. писал(а):
И текста набирать меньше, встроенная в Edit заготовка FOR отлично рулит!
Добавьте INC (i) в заготовку WHILE, и все дела.
А.П. писал(а):
Уважаемые профи! Попробуйте взять группу "нулевых" 5-7-клашек со средними способностями и посмотреть на их мучения на первых ваших уроках программирования. Уверен, вам не только раскраска фрагментов начнет нравиться. И стремление к "высокому стилю по Дейкстре - с первых шагов" незаметно отойдет на второй план :)
Нужна история, персонаж, иллюстрация. Например, утёнок по имени Цикл. Любит гулять по лужам и прыгать через них. По краям лужи подписать ключевые слова, и пару занятий посвятить весёлым играм. Лужа "WHILE" и прудик "REPEAT". - Хочешь ещё раз по луже погулять? Прыгай назад! - Не хочешь? Иди дальше.

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

А для цикла FOR что-то мне весёлого персонажа не придумывается, только всё какие-то скучные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 09:40 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Александр Ильин писал(а):
Ваше "простенькое" меня не устраивает ровно потому же, почему вы допустили ошибку. Приглядитесь, вы совершили не эквивалентное преобразование.
Вы имеете в виду, что цикл должен быть таким?
Код:
FOR i:=0 TO Count-1 DO
  ...
END
Видите, насколько ненагляден Ваш WHILE? :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 11:43 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Все "почему" обозначены в начале ветки.

("Карфаген должен быть разрушен" -- "Geniepro должен быть забанен")


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Пятница, 06 Март, 2009 12:04 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
А.П. писал(а):
Забыть что-нибудь в WHILE НАЧИНАЮЩЕМУ легко ...
Анатолий Иванович, начну с того, что это всё как-бы очевидно (как-бы, потому что есть подозрения, что эти очевидности -- в существенном мифы).
И было как-бы очевидно мне до того, как я начал эту ветку. И я, так же как и все, сначала давал FOR.

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

Плюс, WHILE нужен уже для того, что прочесть числа из входного потока -- хотя это, логически, "полный проход", а не "линейный поиск".
А такое чтение открывает массу возможностей.
Растолковывать всё заново -- зачем?

Я делаю только один вывод: сказанное в начале ветки совершенно не срезонировало с Вашим опытом и Вашими представлениями.
Анатолий Иванович, попытайтесь медленно перечитать начало ветки и не пропускать ничего из сказанного.

А.П. писал(а):
Ходи потом по классу, снимай зацикливавшиеся программы, помогай разобраться, почему вообще не работает WHILE.
Бесконечный цикл показывается сразу, как и его остановка. И это впечатляющая штучка, которая деткам нравится, кстати.

А.П. писал(а):
Кривой FOR сложнее протолкнуть на исполнение.
Да, лыжный поворот "броском зада" вообще разучивать не надо, а "угловинтовое движение" нужно "ставить" два сезона.
аналогичные примеры можно найти в любом спорте.

Я это аргумент уже тыщу раз повторял. Почему ж он не доходит?

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

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

А.П. писал(а):
Нельзя давать слишком много поводов для разочарований!
Ну так и выстраивайте курс соответственно.
Кто ж спорит -- думать нужно и преподавателю.
Потому весь этот сыр-бор и тянется уже 30 лет, что задачка оказалась трудная, а белковые тела, как наука твердо установила 8) всеми силами стремятся мозг не включать (С.В.Савельев. Происхождение мозга. М., Веди, 2005).

Я говорю всё это, так как не вижу новых аргументов по сравнению с теми, что у меня самого были исходным пунктом.
Но я же привожу контр-аргументы, совершенно реальные, почему это плохо -- и вот на них не слышу контр-контр-аргументов.

Цитата:
Уважаемые профи! Попробуйте взять группу "нулевых" 5-7-клашек со средними способностями и посмотреть на их мучения на первых ваших уроках программирования. Уверен, вам не только раскраска фрагментов начнет нравиться. И стремление к "высокому стилю по Дейкстре - с первых шагов" незаметно отойдет на второй план :)
Анатолий Иванович, я не ошибся -- Вы это мне предлагаете? 8)
Тут других "профи", которые возятся с 5-7 клашками средних способностей, не особо видно.

А вот я возьму, да и Вам предложу : может, стоит всё-таки напрячься да и выучить сей высокий стиль, чтобы знать, куда надо учить? 8)
Как Вам? 8)
------------------------
------------------------
Axcel удачно всё одной фразой выразил.


Последний раз редактировалось Info21 Пятница, 06 Март, 2009 12:43, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB