На форуме вроде были обучающие проги The Svin-а кажется, может дать ими поиграться, в качестве закрепления понимания, что такое ОП -код и т.д.?
Как говорил дядюшка Дейкстра, человек, первым языком которого был Васик, - потерян для общества программистов , оболванен на всю жизнь без возможности излечения. Спорно, но когда это говорит такой человек, думаю, это не спроста. А вообще, согласен, что Паскаль - лучшее, что можно предложить для начала. Хотя осознание этого произошло, когда я его уже выучил. Ну и без вопросов математика. Неоспоримые, имхо, аргументы, уже высказаны. Иначе можно так и остаться на уровне кодера...
IMHO, (если есть личный опыт использования) можно попробовать начать со "старых" компов - Спектрум, БКшка... Плюсы такие: архитектура очень проста, изучается и _понимается_ быстро. Получить результ в виде "козы" на экране очень просто, хоть на бейсуке, хоть на асме. И при этом не нужно абстрагироваться от основ, как во всяких там [beep] Понимание того, как и почему рисуется буква на экране может сильно помочь при использовании готовых GUI. Да и вообще, многие вопросы "а почему этот так?" просто не будут никогда возникать. ЗЫ: паскаль ни чем не лучше бейсика =)
мне кажется, нужно показать всего по чуть-чуть, объяснив, в чем разница. и попробовать всего по чуть-чуть. чтобы была возможность сложить собственное мнение (чтобы не было, типа, "бейсик плохой, потому что папа так сказал" ) (или "потому что папа не любит дядю б."
До 9 класса мои познания о комьютере ограничивались пониманием того, что на нём можно играть, но тк штука это дорогая, то играть на своём компьютере мне вряд-ли когда-нибудь доведётся. В 14 лет родители отдали меня на какие-то государсвенные курсы. По результатам вступительных тестов я попал в группу для полных олухов За год из нас сделали вменяемых пользователей. У некоторых учеников, в числе которых был и я, появился живой интерес к тому, как всё это работает. Я продолжил обучение, а родители, с подачи преподавателя, взяли компьютер в прокат. Весь второй год нас обучали программированию на visual bsic. + vba (а также немного sql в ms access). Лично я научился двум вещам: vb & vba и тому, что на самом деле ничего не знаю. Ничего не знаю, но очень хочу разобраться. Невероятно много читал (и старался понимать), тратил львиную долю свободного времени на самообразование в области программирования. Теперь мне 20, и я зарабатываю, программируя. Правда, в основном для вэба и на php Но знаю и умею также asm, c, c++ (хотя ОО мышление прихрамывает), vb, vba, perl и тп. А самое главное, я научился самостоятельно осваивать всё, что нужно или интересно. Суть. У парня есть интерес к программрованию? Замечательно! Единственное, что нужно сделать, это не похерить его А в какую сторону развиваться, полагаю, он сможет решить сам. Время от времени обращаясь за советом.
лично я начинал с BASIC для Corvet, если кто помнит такую советскую игруху, потом EP(кто знате тот поймет), потом С и асм. начинать нужно с КРАСОТЫ, т.е. с обоснования заинтересованности, продолжать КРАСОТОЙ и заканчивать ей же. если интересно, что такое КРАСОТА - это когда прога в 13 кб кода рисует ТАКОЕ.......
как матемaтик по образованию - ПОЛНОСТЬЮ НЕ СОГЛАСЕН с turkish Как говаривал В.Л.Дольников - лучше алгоритм придумай, а вывод на экран и баран сделает. зы: сорри за грубость...
блин, сложный вопрос. фишка в том, что боле-менее взрослые люди в основном предложат изучать бейсик, т.к. сами прошили этот бэйсиковый путь во времена перехода от совка к рыночной экономике. поэтому ответ 'бэйсик' кажется самым очевидным. поэтому и не совсем правильным, имха. а я тут вот что предложу: 1. придумываем какую-нибудь задачку/проблему, в которой хотим разобраться и разложить ее по полочкам. например, какие-нить крестики-нолики, сапер, змейку. но необязательно игруху. надо что-нить такое, что интересно, наглядно и динамично по своей сути. чтобы не было так - вывел график ф-ции красным цветом и забыл. (не оч. хороший пример). 2. размышляем о механизме ее реализации 'на словах', т.е. без всяких там синтаксисов ЯП итд. просто на словах. т.е. разрабатываем математическую модель 3. все это оформляем в виде блока схем для б0льшей наглядности, где вместо всяких там if/for словами все описываем. 4. программируем все это сначала на бэйсике, затем на паскале, затем на си++, асме итд. 5. интересуемся у этого 'пацана' - на каком ЯП ему сам ПРОЦЕСС ПРОГРАММИРОВАНИЯ больше всего понравился. 6. изучаем этот понравившийся ЯП далее... короче, такую последовательность написания программы в школах изучают. ps: только задачку надо подобрать наиподходящую и не супер-сложную. это оч важно. pps: главное - предоставить 'пацану' свободу выбора! pps: блин, а вот я изначально сам с паскалем маленько познакомился. затем стало интересно и я стал изучать новые паскалевские функции, сам копался...ставил задачу (работа с файлами к примеру), сам находил нужные ф-ции, разбирался с ними. потом прочитал статейки некоего Horrific'а и приступил к осваиванию дэлфи. всяких мелочей для себя понаписал (наверно, и не оч нужных(). затем стало интересно как работаю проги, достал парочку доков по ломке прог и стал в дебаггере ковыряться. вот в это то время я с асмом и познакомился, и чем больше я сидел в дебагере, тем больше я 'знакомился' с асмом. да и с винАПИ тоже. а сейчас стал даже малясь на нем пиcать) а насчет дэлфи - эта 'технология' сейчас уже почти что мертва. в той же студиоНЭТ нету поддержки объектного паскаля, хотя есть поддержка визуал-басика. а вот с сями я вообще не знаком:'( я просто не могу найти то, с чего си++ учить надо: кругом столько сишных компилеров, а у всех свои отличия, хрен тут разберешься. а MSVC мне сразу не понравился. какой-то он не такой - мелкософтовский. лично он меня от работы с ним отталкивает. и не хочется привязываться к продукту MS. поэтому я и FASM вместо MASM'a юзаю=). вот сейчас слил LCC32 (фриварный си++ компилер), так теперь не могу на него переложить си++нутые сорцы всяких примеров, т.к. он в нек. части этого синтаксиса не врубается. воюю... ppps: сорри за все эти мыслеизлияния выше - не сдержался.
для меня вопрос актуальный, т.к. киндеру 9-й год идет - думал тут че умное и полезное прочитаю... но че та весь диалог опять сводится к вопросу какой язык лучше? ) имхо, дело даже не в том, какому языку учить, а с чего начинать? надо ли обяснять устройство компа и усновных узлов, или сразу архитектуру проца, или начинать с блок-схем, или... но вот лично мне кажется, что с ассемблера начинать точно не стоит, наверное лучше с паскаля (не делфи!) или бейсика (не вижуал!) - на то они и были придуманы.
Turkish Хорошо, есть алгоритм: int n=724801; int b=11,c; c = n % b; if(c==0) { std::cout<<"число 11 делит число "<<n; } else { std::cout<<"число 11 неделит число"<<n; } Не прибегая к ЭВМ и Калькулятору и делению на бумаге, разрешу толь- ко складывать и вычитать, ладно можешь умножать. )) Скажи пожалуйста, а делится ли число n на 11, если оно равно 658583695? Уточню n=658583695, b=11. Делит ли b число n? Если знаешь ответ приведи доказательство. P.S.: Интересно сколько людей знают ответ на этот вопрос. Я сам то недавно узнал и это меня впечатило, взяв число в 25 десятич- ных знаков я сумел сказать делится ли оно без остатка на 11!!! Круто. кстати некоторым людям посоветывал информацию связанную с данным ответом включать в свои труды.
Max Ты говоришь что не с ассемблера нужно начинать. Но черт побери, откуда все пошло? Как раз таки с ассемблера, думаю надо идти по пройденному этапу, тем более он уже разобран и вынесен уже кое какой опыт.
"как матемaтик по образованию - ПОЛНОСТЬЮ НЕ СОГЛАСЕН с turkish" наверное, это справедливо, но если среди нас устроить опрос - кто математик по образованию, то, думаю, математики окажутся в меньшинстве. А из этого следует, что большинство занимается не своим делом :-(
EvilsInterrupt Хмм..если я правильно помню, признаки делимости с обоснованием проходят в школе классе в 9-10ом вместе с операцией mod (а без обоснования и раньше)
EvilsInterrupt если (6-5+8-5+8-3+6-9+5) % 11 == 0, то делится. Нашел на каком-то математическом форуме. Программировать лучше от этого не стал
Можно ознакомиться с кодом? Сам я чуть более года назад решал эту задачу. Потом посмотрел Вирта и переписал код оттуда, т.к. по сравнению с ним мой код был ужасен =/ спасибо %) IMHO, начинать лучше всего... с чистого С(желательно BC3.1). Навыки программирования, алгоритмический подход, простота в освоении - все на достаточно высоком уровне. Думаю особых проблем не возникнет, да и никакой "порчи визуальными средами" нет =) Позже, когда появится ощущение, что "чего-то не хватает", можно двигаться наверх (vс++/winapi) или вниз (asm/winapi), в зависимости от пожеланий обучаемого
Разделил в уме столбиком. Делится С чего начинать - зависит от ребенка. Если мальчик любит абстракции, имеет математическое мышление, то лучше начать с написания алгоритмов (олимпиадных задач и т.п.) на C++, конкретная реализация не имеет существенного значения, но желательно что-нибудь, бм правильно реализующее стандарт, а не как в VC6. Подойдет даже VS.NET, если вдруг ему надоест C++ и глупые алгоритмы, он всегда сможет написать что-нибудь другое, красивое и с окошечками Если же он обычный (нормальный) тогда начинать лучше с VB6, который сразу даст возможность ощутить реальность напрограммированного, а не просто строчку "Hello, world!" в консоли. Руки с камнями начали возноситься в воздух Большинство помнит Бейсик досовских времен с нумерацией строк, однострочными условиями и непременными goto. В VB не надо нумеровать строки, есть все средства структурированного программирования и даже какие-то намеки на реализацию ООП (хотя учить его по VB крайне не рекомендуется). Помимо наглядности, простоты и читабельности кода VB имеет еще много достоинств, одним из самых важных является кривая реализация API-функций. Вызывать их тем не менее надо, и поэтому автоматически изучается, как параметры передаются через стек, что такое указатели, какую структуру имеет память, типы данных, как это все работает. Си самодостаточен, VB стимулирует к дальнейшему обучению, и поэтому программирование не забрасывается на ранних стадиях в желании создать окошко и последовавшей за этим необходимостью учить API-функции с кучей параметров, человек подходит к этому сам, будучи уже более опытным и более "подсевшим" на программирование. Все-все, ухожу-ухожу
если сумма нечетных чисел равна сумме чисел по четным разрядам или разница на число делящейся на 11, то число делится на 11. из Выгодский
EvilsInterrupt Угу, а теперь слабо признак делимости на 101 или лучше сразу в общем виде на 10...001. (Подсказка: основан на том же принципе )