В макро нельзя применять каких-то инструкций? Впервые слышу. Что касается современных компиляторов, то они очень хорошо оптимизируют, поэтому я и сказал «теоретически».
Технарями (и прочими экономистами) из каждого выпуска обычно становятся сильно больше выпускников, чем гуманитариями. Технарям алгоритмика нужна. И гуманитариям стоит иметь понятие алгоритма, т.к. это слово вошло в обиходную речь. В статье отметил:
Показательно, что сегодня слово «алгоритм» все чаще и чаще применяется в обиходном языке. При этом даже далекие от информатики лирики применяют его вполне уместно. И почти никто уже не путает алгоритм с логарифмом – значит, слово действительно прижилось в обиходе.
Мы же не о худ.литературе говорим (там занимательность другая). Если на многих страницах разбирается объемный рутинный код, каждый фрагмент которого не дает читателю ничего нового, то зачем читать эти многие страницы.
Ну так надо детям показать, в чём удовольствие от математики, почему люди выбирают её в качестве профессии.
Чтобы испытать удовольствие, надо хоть немного знать ту самую математику. Кроме того математика нужна не только профессиональным математикам. Школьник без математики не сможет учить физику. И я считаю информатику. К примеру:
if cond1 then
if cond2 then
call1
else
call2
else
call2;
Я думаю, что для школьника важнее знать как стоит преобразовать этот код, чем знать основы ООП или разработку GUI.
получается, что Делфи даёт больше возможностей, чем Паскаль, но вы ведь только что писали, что больше возможностей — это «хуже», потому что больше способов ошибиться!
Да. Поэтому я сделал выше оговорки про Delphi. ИМХО для школ больше подходит Dr Pascal, но его выпуск давно прекращен. И давайте не будем забывать, что тут мы обсуждаем ПО для школы, а не для производителей программного продукта.
Ассемблер даёт больше низкоуровневого контроля над выполнением, а мы тут обсуждаем абстракции построенные на других абстракциях.
Вот оказывается, что Вы обсуждаете. Только сейчас сказали. Макро ассемблер позволяет надстраивать абстракции. Ассемблерные заплаты в языках высокого уровня позволяют работать на ассемблере с абстракциями этих языков.
Возможно, я нечетко выразился. У меня сложилось впечатление, что тема (точнее подтема) скучная. Это основное, скучный текст к нескучным задачкам я бы простил. А так очевидные (бытовые) задачки решаются очевидным занудным образом.
Ага, а на математике пичкать детей теоремами это 100% способ привить им глубокую ненависть к предмету? Мы ведь о школе говорим, а не о кружке «Умелые руки».
Многие годы С++ популярнейший язык. В Вики, в частности, указано что на нем написан Microsoft Office, видимо, и другие продукты Microsoft (не на Бейзике же). Вроде бы и линуксы на С++ ориентированы.
Я не сказал переписывать на бумагу алгоритм. Школьник должен объяснить его устройство (устно или письменно). Нпр., по приведенной процедуре добавления в дерево: она рекурсивная, что соответствует определению дерева. Начинаем с корня. Идем либо в правое, либо в левое поддерево в зависимости от величины val. И т.д. Так у Вирта. Но можно просто дать последовательность чисел, нпр.:
3,5,7,11,2
и пусть школьник нарисует какое получится дерево.
Оно очевидно вам, потому что вы в контексте и держали эту задачу у себя в голове.
Внимательно прослушав урок и задав вопросы, если что-то не понял, школьник должен быть в контексте. И учебник ему в помощь.
Молодец, что нашел такой способ решения. В реальной разработке полезно пользоваться готовыми решениями.
Т.е. обыкновенно низкая. Значит, Вы не видели хороших машинисток, которые набирали со скоростью не очень медленного разговора и почти не опечатывались (править на бумаге — не то что на экране). Но они набирали не свой текст — перепечатывали, или под диктовку. Когда набираешь из головы — скорость бывает ниже. А устают 2 пальца в 5 раз больше, чем 10 пальцев. Почитайте статью в вики — методу ок. 120 лет и он был испытан на многих соревнованиях.
Я не спорю, что м.б. реализованы быстрее. И не спорю, что код на Питоне тоже может быть наглядным. И добавлю, что и на С++ код может быть наглядным. И книг много написано на тему, как надо и как не надо. Хороший профи напишет приемлемый код на любом из распространенных ЯП (про явно неудачные языки, как и про эзотерические ЯП говорить не будем). А новичок и на хорошем ЯП может написать плохо. И в этом случае чем больше возможностей языка — тем больше возможностей плохо написать. А бывает еще объективно хороший, правильно работающий, но сложный для понимания код. В некоторых случаях у некоторых профи особый шик писать такой код. В отдельных случаях для автора кода это может быть и оправданно: у него, нпр., однотипные задачи и ему проще использовать набор привычных трюков. Однако новичок, случайно скачавший такой код, легко в нем запутается.
Тренажер ничего не даст, если печатать одним пальцем. В вики есть статья «Слепой метод печати» (в англо вики, как часто бывает — более полная статья): начинать надо с начального расположения рук. А затем выполнять упражнения, нпр., напечатать 10 строчек «не не не ...». Главное: каждую клавишу нажимать своим пальцем! Я помню такой самоучитель для пишущих машинок — там было примерно 30 уроков, т.е. на 30 дней. Как учили на курсах не знаю, но гугл дает много ссылок. ИМХО нужно найти упражнения и потом хоть раз в неделю весь год ими и заниматься.
Бедные дети! Школьные предметы — это обязательно и принудительно. Читать, писать, считать — всем очевидно, что нужно. Но всеобщую необходимость шахмат, даже в сокращенном систематическом изложении, лично мне понять не дано. Думаю, что и некоторым родителям не дано. Насколько мне известно, особенно среди женщин к шахматам в основном отношение прохладное, отдельные знаменитые шахматистки не в счет. И если дочка спросит маму «зачем мне шахматы?» — мама не сможет ей ничего ответить, и не всякий папа сможет. В результате ребенок сделает вывод, что не все предметы в школе необходимы. А далее появляется сомнение, что и все предметы могут быть ненужными. Возникает привлекательная идея делать вид, что учишься, а на самом деле это надоедливая игра. Впрочем про плюсы и минусы игрового подхода я уже писал.
Ведь простота формулировки и доступность задачи на понятийном уровне не означает простоты алгоритма.
Да. И я про это. Бывают задачи с красивым решением, которое многие авторы в своих публикациях довели почти до совершенства. А может быть и более простая задача, но решение потребует много рутинных операций. К примеру:
Жарков В.А, Самоучитель Жаркова по анимации и мультипликации в Visual C# .NET 2003, М.: Жарков Пресс, 2003, 432 С.
М.б. я несправедлив, но более скучной книги припомнить затрудняюсь.
Но посмотрите, чего добились в ИИ ребята из OpenAI и теперь скажите мне почему это сделано на Питоне?
На С++ сделано много больше, но это не значит, что С++ лучший язык.
Для профориентации — это важнее чем уметь писать кристально чистый и правильный код.
Научится и привыкнуть писать чистый код гораздо труднее, чем изучить дополнительный ЯП или технологию. Нпр., я чувствую, что еще немного поспорим о Питоне, и я смогу на нем писать без затраты дополнительных усилий. А вот если ученик привыкнет писать неряшливый код — перепривыкнуть ему будет гораздо труднее, чем выучить второй, третий и т.д. ЯП. Аналогично, если в младших классах ученик привыкнет небрежно решать простые арифметические задачки постоянно ошибаясь в 2+2, то в средней школе ему будет не просто.
скорость создания может не идеального, но работающего кода, причем, практически во всех областях.
Чтобы понять многие области нужно понимать основы электроники. Для этого у школьников нет достаточных знаний по физике. То что в школе покажется безумно трудным, через несколько лет в вузе окажется очень простым. Поэтому ИМХО не стоит особо забегать вперед — много сил и времени можно потратить впустую. Специализации это не поможет.
Я думаю, что для школьника важнее знать как стоит преобразовать этот код, чем знать основы ООП или разработку GUI.
Вот оказывается, что Вы обсуждаете. Только сейчас сказали. Макро ассемблер позволяет надстраивать абстракции. Ассемблерные заплаты в языках высокого уровня позволяют работать на ассемблере с абстракциями этих языков.
3,5,7,11,2
и пусть школьник нарисует какое получится дерево.
Внимательно прослушав урок и задав вопросы, если что-то не понял, школьник должен быть в контексте. И учебник ему в помощь.
Это если он признается, что списал с Хабра.
Т.е. обыкновенно низкая. Значит, Вы не видели хороших машинисток, которые набирали со скоростью не очень медленного разговора и почти не опечатывались (править на бумаге — не то что на экране). Но они набирали не свой текст — перепечатывали, или под диктовку. Когда набираешь из головы — скорость бывает ниже. А устают 2 пальца в 5 раз больше, чем 10 пальцев. Почитайте статью в вики — методу ок. 120 лет и он был испытан на многих соревнованиях.
Но чисто теоретически ассемблер дает еще больше возможностей, нпр., чтобы убыстрить код.
Да. И я про это. Бывают задачи с красивым решением, которое многие авторы в своих публикациях довели почти до совершенства. А может быть и более простая задача, но решение потребует много рутинных операций. К примеру:
Жарков В.А, Самоучитель Жаркова по анимации и мультипликации в Visual C# .NET 2003, М.: Жарков Пресс, 2003, 432 С.
М.б. я несправедлив, но более скучной книги припомнить затрудняюсь.
Научится и привыкнуть писать чистый код гораздо труднее, чем изучить дополнительный ЯП или технологию. Нпр., я чувствую, что еще немного поспорим о Питоне, и я смогу на нем писать без затраты дополнительных усилий. А вот если ученик привыкнет писать неряшливый код — перепривыкнуть ему будет гораздо труднее, чем выучить второй, третий и т.д. ЯП. Аналогично, если в младших классах ученик привыкнет небрежно решать простые арифметические задачки постоянно ошибаясь в 2+2, то в средней школе ему будет не просто.
Чтобы понять многие области нужно понимать основы электроники. Для этого у школьников нет достаточных знаний по физике. То что в школе покажется безумно трудным, через несколько лет в вузе окажется очень простым. Поэтому ИМХО не стоит особо забегать вперед — много сил и времени можно потратить впустую. Специализации это не поможет.