Здравствуйте, zitz, Вы писали:
Z>В моем потоке небыло ниодно человека, который не понял операции присваивания в си. Может матиматиков это и сбивает, но обычный человек когда смотрит на = не задумывается о "симметричности"!
Не знаю как там было в потоке, в моем, я имею ввиду. Но вот я имею некоторый опвт преподавания языка си++. Причем не только в учебном учереждении, но и в виде частных уроков. Для тех, у кого это был первый язык программирования, знак = для обозначения операции присваивания вызывал затруднения. Затем, конечно, трудно было понять, что у действия может быть значение, т.е. что операция в языке рассматривается также и как выражение. Но первый барьер — это понимания смысла операции присваивания. И в преодолении этого барьера символ = не помогает. Не понимаю, это ведь очевидно, о чем здесь спорить? Если в китайском, напрмиер, стол будет называться стулом, то это точно не поможет в постижении сужности стола.
Z>В той же матиматике есть вещи которые очень смущают, например квадрат — это четырехугольник, но читырехугольник не есть квадрат... Вот я над чем парился в детстве!
Так это все паряться. Дело в том, что принятая в наших учебниках 70-80 годов классификация четырехугольников весьма отличается от евклидовской и ринципиально не верна. Правильное название для прямоугольника — это разносторонник, так в оригинале было у Евклида. Т.е. правильно классификацию следует вести по сторонам, а не по углам — отсюда и вся путаница.
Хотя любому из Вас это ясно, от того что вы это знаете!!! Я это понял и осознал, как понял и осознал знак = в си и := в паскале.
Ну хорошо, вопрос ведь не в этом, а в том, насколько легче было бы прийти к такому осознанию, если бы использовалось графическое изображение, интуитивно сообразующееся со смыслом операции присваивания.
Z>Подобные знаки (=, -->, # и т.п.) используются в разных науках и там не вызывают затруднений, хотя и обозначают отличные от матиматических действия...
Z>Если вы спрашиваете о затруднениях, то это от того что язык начинают изучать с матиматических операций, по этому он с самого начала вызывает такие ассоциации...
Z>Например я не понимал как заставить бейсик вывести ответ и считал что если написать
Z>Z>6 + 7 =
Z>
Z>то он мне его посчитает... Когда начинаешь понимать программирование, такие проблемы просто отваливаются... Понял как все происходит и стало все равно, что там стоит за присваеванием = или :=
Ну вот тпичная иллюстрация проблемы. Знак = интуитивно понимается как равенство двух выражений, а не как операция присваивания. Отсюда и все эти проблемы с "6+7=".
Z>А Вирт давит на то, что ребенок не пинимает, что (уж простите формула не матиматики, но жизни )
Z>Z>Маша + Петя = Любовь
Z>
Z>и
Z>Z>Любовь = Маша + Петя
Z>
Z>не одно и тоже, ну так это по моему очевидно...
Здесь ничего не могу сказать, статью Вирта не читал. Я вообще про другое — про трудности изучения.
Z>Короче суть в следующем: почитайте, в топике никто не жаловался на то что он не понял знак присваевания в си, т.е. проблем на этом этапе НЕТ! Проблема в том, что программирование != (или <>) матиматика и обучать ему как матиматике не стоит!
Ну да, еще бы в этом топике учавствовали те, кто не понимает смысл операции = ! Тогда какая же это философия программирования?
Z>И еще, ничего не мешает Вам начать обучение с (интуитивно понятного и легкого в изучении, по мнению Вирта) Паскаля, а потом перейти на си, на начальном этапе прокатит — я сам так перескочил (ну это конечно скорее всего от того, что о си я узнал познее).
Вот-вот, и получается, что для изучения Паскаль гораздо понятнее.
Главное то, суть познать! Как хотите здесь плюйтесь, но чтобы получить 6 + 7 = 13, нужно
Z>Z>write(6+7);
Z>
Z>ну а это НИКАК с матиматикой не согласуется
Почему не согласуется? Вполне себе нормальная композиция двух функций: write и +.