Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Язык Си и начальное обучение программированию   Найти похожие ветки 

 
Kerk ©   (2010-02-22 19:08) [0]

Паскаль vs Cи в обучении. Интересная статья.
http://www.stolyarov.info/files/anti_c.pdf


 
Mystic ©   (2010-02-22 20:56) [1]

Я начинал обучению программированию с языка C (9-й класс). Точнее BASIC я учил по книгам, а за компом изучал уже Turbo C 1.5. Не могу сказать, что все было так ужасно, как описывает автор статьи. Да, конечно, амперсанды при вызове initgraph смотрелись грозно, но внимание быстро сконцентрировалось на более практических вещах. А понимание указателей пришло уже позже...

Немного не согласен на счет циклов. Современная тенденция такова, что циклы с предусловием и циклы с постуловием уже не сильно разнятся: и то и то циклы, кроме того есть break и continue. В Ada, например, есть конструкция loop, которая легко модернизируется в обоих направлениях.


 
TUser ©   (2010-02-22 21:14) [2]

Эээ, ну, не защищая язык Си в качестве первого, все-таки замечу, что у автора какие-то странные преподские проблемы. Преподаватель, который не способен рассказать ламеру про ЗдравствуйМир, - профнепрегоден, разве не очевидно? Тут любят говорить, что хорошему программисту пофиг на чем программировать, так вот преподу должно быть пофиг, на чем рассказывать. Я, правда, сам программирование никому не преподавал, но, имхо, с его непреодолимыми трудностями, думаю, справился бы. Вот как я построил бы такое объяснение для полных чайников, из расчета минут на 40 объяснения + 40 самостоятельной работы.

Граждане студенты. Вам предстоит писать программы. Пол-минуты трепа для разгрузки атмосферы, о том, что программизм - это хорошо. Сегодня мы познакомимся с самой простой из них. Она выводит текстовое сообщение такое-то в такое специальное черное окошко, куда можно выводить сообщения. Вот как она выглядит - на доске.

#include <stdio.h>
void main() {
 printf("Hello, world\n");
}

Минута трепа для разгрузки, типа "ну что, что-нибудь понятно?". При отсутствии среди слушателей гуру-очкарика, можно предложить слушателям самостоятельно подумать над тем, что делает каждая строка.

Теперь я расскажу, что тут написано, и почему надо написать именно так, а не иначе. Прежде всего, несколько предварительных замечаний. Каждая прогроамма - это набор простых инструкций о том, что должен сделать компьютер. Эти инструкции можно записывать по-разному, то есть люди придумали много разных языков, способов объяснить компьютеру, что мы от него хотим. Тут у нас так называемый язык Це.

Вот тут у нас только одна инструкция, про которую вы уже догадались - printf. Что? Зачем там \n? Понимаете, древние языки придумали в эпоху печатных машинок, а там надо было специально переводить строку. Ну, вот так получилось, что при выводе текста тоже это надо указывать. Договорились указывать вот такими символами. Неудобно, да? Ну, понимаете, это правила языка, придется привыкать. В любом языке есть свои правила, вот тут - такие.

А что делает остальная часть программы? Вот, это очень важно сейчас понять. Ау, аудитория, сейчас внимательно на меня смотрите, я буду руками размахивать. Это очень важно посмотреть, тогда будуте понимать не одну строчку, а вообще все 4. Ну, и типа программистами будете.

Понимаете, это у нас очень простая программа. Тут только одна инструкция. А в реальной программе, как вы думаете сколько? Ну, правильно, много, десятки, сотни тысяч, бывают и миллионы. И вот если их все написать подряд, то разобраться в такой программе уже будет нельзя. Ее же не только компьютер должен читать, но и программеры тоже.

Вот поэтому программы структурируют. Группы всех этих инструкций объединяют в так называемые функции, а функции - модули. 5 минут схема на доске. Рассказать, что функция может возвражать значение и принимать аргументы.

Вот инклюд делает то-то. А вот вся программа должна состоять из одной функции main, которая ничего не возвращает, и ничего не принимает. А все инструкции, входящие в эту функцию надо заключать в фигурные скобки и заканчивать знаком ;. Таковы правила языка си.

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

---

Все. В этом объяснении нет макропроцессоров и кодов завершения процесса. Такое понимается неподготовленным человеком, если он того хочет (а если не хочет, то непонятно будет любое объяснение). А то, что можно вместо простого трепа с анекдотами прочитать лекцию на тему "Чтоб меня не поняли", ну, это не секрет. Ту же программу на Паскале тоже можно так "объяснить".


 
Игорь Шевченко ©   (2010-02-22 21:15) [3]

Непонятно зачем вообще учить "программированию на конкретном языке" ?


 
Alkid ©   (2010-02-22 21:39) [4]


> Игорь Шевченко ©   (22.02.10 21:15) [3]

Потому что программировать сначала все равно учат на каком-то языке. В автошколе меня не учили "вождению ВАЗ 2104", но учился-то я на нем.


 
Kerk ©   (2010-02-22 21:52) [5]


> TUser ©   (22.02.10 21:14) [2]

Ты все слишком упрощаешь. Очень многие, например, не врубаются что такое цикл и зачем он нужен. И очень долго им нужно все это объяснять, чтоб они реально поняли, а не запомнили. А ты тут в своем объяснении так бегло проходишься по таким понятиям как "функция".

Чтоб студенты (я про совсем нулевых в программировании говорю) поняли твой текст, нужно их пару лекций готовить. Ну или нужно, чтоб многие вещи они приняли как данность, которую они поймут когда-нибудь потом. В общем, об этой проблеме автор и пишет.


 
Kerk ©   (2010-02-22 21:54) [6]


> TUser ©   (22.02.10 21:14) [2]

Ты все слишком упрощаешь. Очень многие, например, не врубаются что такое цикл и зачем он нужен. И очень долго им нужно все это объяснять, чтоб они реально поняли, а не запомнили. А ты тут в своем объяснении так бегло проходишься по таким понятиям как "функция".

Чтоб студенты (я про совсем нулевых в программировании говорю) поняли твой текст, нужно их пару лекций готовить. Ну или нужно, чтоб многие вещи они приняли как данность, которую они поймут когда-нибудь потом. В общем, об этой проблеме автор и пишет.


 
TUser ©   (2010-02-22 21:57) [7]


> А ты тут в своем объяснении так бегло проходишься по таким
> понятиям как

Ну, мой текст стоит скорее воспринимать, как конспект объяснение, а не замену его. Мне трудно понять, как можно не понять, что некоторая последовательность инструкций, особым образом оформленная, называется "функция". Имхо, автор выдумывает себе трудности.


 
Юрий Зотов ©   (2010-02-22 22:02) [8]

Научить программировать можно на примере любого языка. Заметьте - я не говорю "научить ЯЗЫКУ", речь идет именно об обучении ПРОГРАММИРОВАТЬ. И в этом плане Паскаль ничуть не хуже других языков.

Научить программировать КРАСИВО (то есть, компактно, но полно и не в ущерб понятности кода) тоже можно на любом языке. И в этом плане Паскаль тоже ничуть не хуже других языков. Кстати, Си в этом плане немного хуже, но незначительно.

Научить программировать "на низком уровне" (в пределах ЯВУ, конечно) тоже можно на многих языках. И в этом плане Паскаль ничуть не хуже Си (поскольку работа с памятью и указателями, адресная арифметика и т.п. в нем поддерживаются точно так же, ничуть не меньше).

А вот научить программировать БЕЗ ОШИБОК - в ЭТОМ Паскаль ЗНАЧИТЕЛЬНО превосходит Си.

Поэтом для ОБУЧЕНИЯ (о котором и идет речь в сабже) Паскаль подходит ЗНАЧИТЕЛЬНО лучше Си.

Оно и понятно - изначально Си создавался для системщиков, а Паскаль  - для обучения. Значит, так и должно быть.


 
Kerk ©   (2010-02-22 22:03) [9]


> TUser ©   (22.02.10 21:57) [7]
> Мне трудно понять, как можно не понять, что некоторая последовательность
> инструкций, особым образом оформленная, называется "функция".
>  Имхо, автор выдумывает себе трудности.

Я думаю, автор немножко опытнее нас с тобой :)

Андрей Викторович Столяров (род. 25 декабря 1974 года) — кандидат физ.-мат. наук, преподаватель ф-та ВМиК МГУ им. М.В.Ломоносова. Сфера научных интересов — мультипарадигмальное программирование; имеет опыт чтения лекционных курсов «Операционные системы», «Системы программирования», «Архитектура ЭВМ и язык ассемблера», «Архитектура ЭВМ и системное программное обеспечение», автор спецкурса «Введение в парадигмы программирования».


 
TUser ©   (2010-02-22 22:05) [10]

Кстати, вот автор за Паскаль и против Си. А вот в благодарностях у него упомянут один человек (сишник), который как-то мне с удивлением задал вопрос - а почему я пишу на Паскале? Ну, ведь на нем же невозможно писать, ООП нет, и еще много чего нет, я уже не помню точно список. Ну, к примеру, допустим, нет работы с указателями, возможности разбить программу на модули и компилятора под Линуксом. В точности там список был другим, но общий смсысл в том, что все это есть, причем давно. Ну, разве что с кроссплатформенностью похуже, действительно. Когда он об этом узнал, то заявил, что это вообще - не Паскаль, а Си++, только с паскалевским синтаксисом. С этой точки зрения, автор ратует не преподавать Си, а преподавать вместо него Си (ну, с плюсами). :)


 
Игорь Шевченко ©   (2010-02-22 22:05) [11]

Alkid ©   (22.02.10 21:39) [4]

Я не к тому - у меня например обучение было на двух языках (ну так случилось, PL/1 и Фортран).

А по поводу страшных и непонятных слов #include и зачем они нужны - нас учили языку управления заданиями в мониторной системе "Дубна" (это на БЭСМ-6 которая), причем, учили быстро. Отторжений не возникало - хочешь сдать - еще не выучишь :)


 
Kerk ©   (2010-02-22 22:08) [12]


> TUser ©   (22.02.10 22:05) [10]
> Когда он об этом узнал, то заявил, что это вообще - не Паскаль,
>  а Си++, только с паскалевским синтаксисом.

Честно говоря, странное заявление. Object Pascal очень органично выходит из обычного Pascal.


 
TUser ©   (2010-02-22 22:24) [13]


> Я думаю, автор немножко опытнее нас с тобой

Ну, я оговорился, что опыта преподавания программирования у меня нет. Так что могу тут и ошибаться. Хотя все равно странно, речь идет про ВМК, а не про усть-лоховский вагонозаготовительный.

Ну и потом, из контекста видно, что есть люди, которые придерживаются противоположной точки зрения - Си внедряют. Возможно, тоже не лохи.


 
Юрий Зотов ©   (2010-02-22 22:45) [14]

Неоднократно сишники с недоумением задавали мне вопрос: а почему я пишу на Delphi - ведь там и того нет, и сего нет, и то нельзя сделать, и это тоже нельзя...

И каждый раз выяснялось одно и то же - все эти "нельзя" объяснялись просто незнанием Delphi. И когда я им показывал, что все, о чем они говорят "НЕЛЬЗЯ" сделать МОЖНО, причем не сложнее , чем на Си - у них глаза лезли на лоб. А когда им показывали, например, Дельфишные строки, или строгость контроля компилятора без ограничения функционала - то глаза лезли уже на затылок. И текли слюнки - тоже ведь хочется, а нету.


 
KilkennyCat ©   (2010-02-22 23:01) [15]


> Mystic ©   (22.02.10 20:56) [1]
> В Ada

оффтоп, но любопытно: Ада еще юзается?


 
KilkennyCat ©   (2010-02-22 23:04) [16]

А вообще мы уже неоднократно обсуждали такое, что работа и инструмент вещи взаимосвязанные, но все-таки разные.


 
Mystic ©   (2010-02-22 23:13) [17]

> KilkennyCat ©   (22.02.10 23:01) [15]

Юзается. Последний стандарт 2005 года, сркда разработки есть тут:
http://en.wikipedia.org/wiki/GNAT_Programming_Studio


 
KilkennyCat ©   (2010-02-22 23:21) [18]


> Mystic ©   (22.02.10 23:13) [17]

О, спасибо! Ща почитаю.
Это был первый язык (и единственная книга по программированию в нашей городской библиотеке), повергнувший меня в шок


 
Mystic ©   (2010-02-22 23:21) [19]

Для введения хороша книга Гаввы "Адское программирование"


 
Игорь Шевченко ©   (2010-02-22 23:22) [20]

Юрий Зотов ©   (22.02.10 22:45) [14]

Это тебе неправильные сишники задавали вопросы


 
Юрий Зотов ©   (2010-02-22 23:38) [21]


> Игорь Шевченко ©   (22.02.10 23:22) [20]


Это были действительно СИльные СИшники.
:o)

Может, не гуру, но профи - наверняка.

С ламерами, как ты понимаешь, я и разговаривать не стал бы. Тем более, не стал бы что-то им объяснять и доказывать. Бо, разговор с ламерами -пустая трата времени.  

Их "неправильность" заключалась лишь в том, что они поверхностно знали Delphi. Поэтому и офигевали, когда им показывали, как просто, надежно и элегантно на Delphi делается все то же самое, что и на Си - плюс еще то, чего в Си действительно нет. Хоть те же строки.


 
KilkennyCat ©   (2010-02-22 23:42) [22]


> Бо, разговор с ламерами -пустая трата времени.  

Ну, не знаю, не знаю... :)


 
Игорь Шевченко ©   (2010-02-22 23:47) [23]

Юрий Зотов ©   (22.02.10 23:38) [21]

А нужны ли в С строки на уровне языка ? По-моему, нет. Языков со строками было и до С и во время С немало, однако Ритчи не стал усложнять сверх необходимости.


 
@!!ex ©   (2010-02-22 23:48) [24]

> [21] Юрий Зотов ©   (22.02.10 23:38)

Все таки С или С++?
Просто, ИМХО, не совсем верно сравнивать C и Delphi, т.к. С - язык более низкого уровня.
А С++ - там вполне адекватные строки делаются, через теже шаблоны. И получается ни чуть не хуже чем Дельфи строки. Иногда даже удобнее.


 
@!!ex ©   (2010-02-22 23:59) [25]

По поводу преподавания:
Дети далекие от программирования ваши объяснения про функции, неймспейсы, циклы etc. не примут.
Из практики преподавания вывел простую идею: лучше всего воспринимаются примерзы из жизни.

Как объясниьт функции и циклы школьникам?
На окна в кабинете вешаются листочки с цифрами.
вызывается один школьник и почетно называется функцией "Открыть окно"
После чего человеческим языков описывается поведение функции.

Пока окно на которое смотрим не равно нужному окну - переводим взгляд на следующее.
Подходим к окну.
Открываем окно.

Таким образом вводим понятие функции как элемента способоного выполнять набор действий.
Так и понятие цикла как способ поиска нужного элемента.
Инклуды вводятся через метафору с другим классом, в котором уникальные "функции" расположены.

Работа с массивами лучше всего идет на фишках домино. Можно визуально показать что такое перемещение элементов и сравнение.

Формальное объяснение народ далекий от программирования вообще не понимает. А вот метафоры из жизни легко воспринимает. И за счет аналогий из жизни лучше понимает когда что нужно применять.


 
Игорь Шевченко ©   (2010-02-23 00:00) [26]

"Утверждение о том, что С и С++ почти всегда являются неподходящим связующим материалом для начала разработки новых приложений, может показаться неверным. Тем не менее, оно справедливо. С и С++ оптмизируют машинную эффективность ценой увеличения времени реализации и (особенно) отладки. Несмотря на то, что писать на С или С++ системные программы и чувствительные ко времени выполнения ядра приложений все еще имеет смысл, мир значительно изменился со времен возвышения этих языков в 1980-х годах. Сегодня процессоры в тысячи раз быстрее, модули памяти в тысячи раз больше, а диски в десять тысяч раз больше, причем, примерно по тем же ценам.
Падение цен фундаментально изменило экономику программирования. В большинстве обстоятельств уже не имеет смысла так экономить аппаратные ресурсы, как это позволяет С. Напротив, экономически оптимальный выбор состоит в минимизации времени отладки и максимизации возможности долгосрочного сопровождения кода."

Эрик Реймонд, "Искусство программирования для Unix"


 
KilkennyCat ©   (2010-02-23 00:05) [27]


> Как объясниьт функции и циклы школьникам?
> На окна в кабинете вешаются листочки с цифрами.
> вызывается один школьник и почетно называется функцией "Открыть
> окно"
> После чего человеческим языков описывается поведение функции.
>


Я не так учил.
Начал с двоичной логикой, в темпе дошел до асма и процессора. Осталось четверть детей от первой толпы, которых и стоило учить дальше. А для остальных есть множество других профессий.


 
TIF ©   (2010-02-23 00:06) [28]

Действительно интересная. Правда ссылку хорошо бы на последнюю версию текста дать:
http://www.stolyarov.info/files/anti_c_v03.pdf

Спасибо всем, кто указал на опечатки. В версии 02 они исправлены. В версии 03 сделана более полная аннотация, исправлены ещё несколько опечаток и стилистических погрешностей.

P.S. Я совершенно не понимаю, кому понадобилось так распиарить текст, исходно предназначенный довольно узкой аудитории. Но на всякий случай, задабы снизить уровень информационного шума, отмечу, что комментарии на этом сайте премодерируются, и видимыми я делаю только те из них, которые мне так или иначе интересны. В частности, по рассматриваемому вопросу мнение людей, не имеющих серьёзного опыта преподавания, мне в большинстве случаев не интересно совсем.

Тыц: http://www.stolyarov.info/pvt/anti_c

Насчёт "распиарить текст" - это про размещение ссылочки на Хабрахабре :)))
http://habrahabr.ru/blogs/study/82935/

Про опыт преподавания - это как бы ответ от автора к сообщению TUser ©   (22.02.10 21:14) [2]


 
Юрий Зотов ©   (2010-02-23 00:36) [29]

> KilkennyCat ©   (22.02.10 23:42) [22]

Чайник - достоин внимания, терпения и потраченного на него времени.

Ламер (воинствующий чайник) - не достоин ничего, кроме жестокой порки. Но - доказательной. Иначе это будет не лекарство, а оскорбление.

> Игорь Шевченко ©   (22.02.10 23:47) [23]
> А нужны ли в С строки на уровне языка ?

Козе понятно, что через указатель на массив символов делаются любые строки. Но их еще надо делать. А тут они готовые, да еще с контролем времени жизни. Удобно? Удобно.

> @!!ex ©   (22.02.10 23:48) [24]
> Все таки С или С++?

Сравнивались языки на уровне "без ООП" (скажем, Паскаль и Си). И выяснялось, что Паскаль ничуть не слабее, но намного безопаснее. Если на том же уровне (без ООП) сравнивать Delphi и C++, то Delphi, пожалуй, даже мощнее (хотя бы в плане тех же строк).

Можно сравнивать и на уровне ООП - но это будет уже не совсем сабж. Все-таки ПЕРВОНАЧАЛЬНОЕ обучение программированию надо делать без ООП.


 
Игорь Шевченко ©   (2010-02-23 00:44) [30]

Юрий Зотов ©   (23.02.10 00:36) [29]


> Козе понятно, что через указатель на массив символов делаются
> любые строки. Но их еще надо делать. А тут они готовые,
> да еще с контролем времени жизни. Удобно? Удобно.


На время жизни мне как-то пофиг. Относительно удобства - так и через массив символов удобно. Не вижу принципиальной разницы.


> И выяснялось, что Паскаль ничуть не слабее, но намного безопаснее


Безопасность должна быть в голове у программиста.


 
Kerk ©   (2010-02-23 00:47) [31]


> Игорь Шевченко ©   (23.02.10 00:44) [30]
> Относительно удобства - так и через массив символов удобно.
>  Не вижу принципиальной разницы.

Конкатенацию массивов тоже удобно делать?


 
KilkennyCat ©   (2010-02-23 00:49) [32]


> Конкатенацию массивов тоже удобно делать?

а что, плюсиком низзя?! О_О


 
Игорь Шевченко ©   (2010-02-23 00:51) [33]

Kerk ©   (23.02.10 00:47) [31]


> Конкатенацию массивов тоже удобно делать?


Не испытывал трудностей за много лет. Опять наверное чего-то не так делал :)


 
Юрий Зотов ©   (2010-02-23 00:58) [34]

> Безопасность должна быть в голове у программиста.

В голове у программиста должна быть далеко не только безопасность. Ему еще и проблемную задачу кодить нужно. Поэтому голову лучше не загружать тем, чем можно ее не загружать.

>> Конкатенацию массивов тоже удобно делать?

> Не испытывал трудностей за много лет. Опять наверное чего-то не так
> делал

Делал-то так - но мог бы и совсем не делать. А просто плюсик стукнуть - вместо того, чтобы несколько строк кода писать.


 
Игорь Шевченко ©   (2010-02-23 01:18) [35]

Юрий Зотов ©   (23.02.10 00:58) [34]


> Поэтому голову лучше не загружать тем, чем можно ее не загружать.


Оно на уровне рефлексов.


> Делал-то так - но мог бы и совсем не делать.


Нужды не было в частом сложении строк. Возможности языка накладывают свой отпечаток на методы решения проблемы.


 
Германн ©   (2010-02-23 01:29) [36]


> Игорь Шевченко ©
>
> Юрий Зотов ©  

Странно видеть холивар на такую тему между вами. :)


 
GDI+   (2010-02-23 02:00) [37]

В США сейчас программированию начинают учить с Java. Они тупые?


 
Юрий Зотов ©   (2010-02-23 02:08) [38]

> Игорь Шевченко ©   (23.02.10 01:18) [35]
> Оно на уровне рефлексов.

Игорь, ты сабж не забыл, случаем? Какие, нахрен, на этом уровне могут быть рефоексы?


 
Юрий Зотов ©   (2010-02-23 02:10) [39]


> GDI+   (23.02.10 02:00) [37]


Откуда дровишки?


 
Kerk ©   (2010-02-23 02:13) [40]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
> Откуда дровишки?

Не знаю за всех. Но много шума в свое время наделала такая новость:

Why MIT switched from Scheme to Python
http://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python


 
Kerk ©   (2010-02-23 02:13) [41]

Речь именно о "introductory programming course"


 
Германн ©   (2010-02-23 02:15) [42]


> Юрий Зотов ©   (23.02.10 02:08) [38]

ЮЗ отреагировал на [36]. Очередь за ИШ. :)


 
Игорь Шевченко ©   (2010-02-23 02:18) [43]

Юрий Зотов ©   (23.02.10 02:08) [38]

По сабжу я давно высказался. А беседую я по теме, начатой тобой о сишниках и паскале. Так как оба языка знаю :)

Юрий Зотов ©   (23.02.10 02:10) [39]


> Откуда дровишки?


Очевидно отсюда:
http://local.joelonsoftware.com/wiki/Опасности_обучения_на_Java


 
Игорь Шевченко ©   (2010-02-23 02:19) [44]

Германн ©   (23.02.10 02:15) [42]

Ты попкорн не забудь


 
Германн ©   (2010-02-23 02:30) [45]


> Игорь Шевченко ©   (23.02.10 02:19) [44]
>
> Германн ©   (23.02.10 02:15) [42]
>
> Ты попкорн не забудь
>

Эту гадость я не потребляю! И кинотеатры в последние времена ненавижу именно из-за неё. :)


 
Германн ©   (2010-02-23 02:49) [46]


> Игорь Шевченко ©   (23.02.10 02:18) [43]
>
> Юрий Зотов ©   (23.02.10 02:08) [38]
>
> По сабжу я давно высказался. А беседую я по теме, начатой
> тобой о сишниках и паскале.

Не-а. Холивар начал ты, Игорь.
В Игорь Шевченко ©   (22.02.10 23:47) [23]


 
Mystic ©   (2010-02-23 09:42) [47]


> А С++ - там вполне адекватные строки делаются, через теже
> шаблоны. И получается ни чуть не хуже чем Дельфи строки.
>  Иногда даже удобнее.


Броблема в том, что строки из STL стали стандартом после того, как многие сделали свои велосипеды. Если проект сложный и в нем используется много таких библиотек, то возникает определенные геморрой. Плюс еще API, где нужны ANSI строки. Плюс при отладке не всегда просто определить, что там за строка в строке.


 
asail ©   (2010-02-23 11:03) [48]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
>
> Откуда дровишки?

Не знаю как в штатах, а у нас в "Открытом Университете" курс "Введение а компьютерные науки" включал на выбор Pascal/C++/Java. Причем, давно уже. Лет 5 как. Как в других ВУЗах точно не знаю. Но, думаю, что так-же.


 
@!!ex ©   (2010-02-23 11:13) [49]

> [47] Mystic ©   (23.02.10 09:42)

STL строки не лучшая реализация.


 
Кто б сомневался ©   (2010-02-23 13:32) [50]


> @!!ex ©   (22.02.10 23:59) [25]
>
> По поводу преподавания:
> Дети далекие от программирования ваши объяснения про функции,
>  неймспейсы, циклы etc. не примут.


Ох блин ты и объясняешь запутанно, бедные дети..
Нежели не проще сделать так:

Рассказываешь о том как делается программа, без функций. А потом просто приводишь пример, в котором код из 10 строчек используется два раза.
В итоге получаем код из 20 строчек.

Код 1
{код A код из 20 строк}
код 3
{код A - 20 строк - повтор }

А потом говоришь, вот чтобы не было таких повторений, мы сделаем это одним куском, и этот кусок можно вызывать одной строкой хоть сотню раз. И сразу становится понятно для чего функция.


 
@!!ex ©   (2010-02-23 13:42) [51]

> [50] Кто б сомневался ©   (23.02.10 13:32)

Так это следующий этап. Сначала надо рассказать ЧТО такое функция.
Объясняю сложно, а понимают вроде хорошо. :)


 
Кто б сомневался ©   (2010-02-23 13:44) [52]


> @!!ex ©   (23.02.10 13:42) [51]


Так вот именно что прежде всего для этого функция и нужна.
Чтобы можно было вызвать один и тот же код одной строкой много раз.


 
Kerk ©   (2010-02-23 13:51) [53]


> Кто б сомневался ©   (23.02.10 13:44) [52]
>
> Так вот именно что прежде всего для этого функция и нужна.
> Чтобы можно было вызвать один и тот же код одной строкой
> много раз.

(делая туповатое лицо) А разве для этого не циклы нужны?


 
Кто б сомневался ©   (2010-02-23 13:53) [54]


> Kerk ©   (23.02.10 13:51) [53]


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


 
Аноним ©   (2010-02-23 13:56) [55]

лисп или пролог, без вариантов :-))
а двоечников насиловать хаскеллом :-)


 
@!!ex ©   (2010-02-23 13:56) [56]

> [52] Кто б сомневался ©   (23.02.10 13:44)

Функция - это в первую очередь объект(в народных терминах) способный выполнять некоторую работу.

Выделение кода - это уже сильно программисткая задача далекая от жизни.
Топливный насос качает топливо - это его функция. он сделан не для того, чтобы уменьшить количество деталей в машине, а для того, чтобы качать топливо.
Выполнение работы - для начинающих понятнее, чем абстрактное "уменьшение стро кода".


 
Кто б сомневался ©   (2010-02-23 14:06) [57]


> чем абстрактное "уменьшение стро кода".


Вот именно alex что в первую очередь это централизация кода в функции, и возможность не делать дубликатов, тут даже дело не в размере, а для того что быстрее писать (раз написал кирпичик и все), и проще поменять в одном месте чем менять во многих местах - если так объяснять то необученный человек это сходу понимает.
А потом уже тематическое разделение функции (в данном случае это выполнение определенной работы).
А ты начинаешь сразу с тематического назначения функции.


 
@!!ex ©   (2010-02-23 14:41) [58]

> [57] Кто б сомневался ©   (23.02.10 14:06)

Так проще для понимания.


 
oxffff ©   (2010-02-23 14:42) [59]


> Аноним ©   (23.02.10 13:56) [55]
> лисп или пролог, без вариантов :-))
> а двоечников насиловать хаскеллом :-)


Комбинатором неподвижной точки им. Комбинатором.
Что бы поняли что такое функция высших порядков.


 
Loginov Dmitry ©   (2010-02-23 15:30) [60]


> Паскаль vs Cи в обучении. Интересная статья.
> http://www.stolyarov.info/files/anti_c.pdf


Отличный материал! Практически со всеми пунктами согласен. Иногда приходится вести паскаль у первокурсников, уровень действительно у них после школы в основном нулевой (на 95 %). Объяснять им паскаль весьма сложно. А на счет Си я даже не представляю, как это можно объяснить, чтобы хоть кто-то что-нибудь понял. Иногда приходится по этому вопросу спорить с другими преподавателями, и эта статья будет отличным аргументом :)

>
> Преподаватель, который не способен рассказать ламеру про
> ЗдравствуйМир, - профнепрегоден, разве не очевидно?


Вы заблуждаетесь. Всегда есть часть студентов, которым даже ЗдравствуйМир объяснить нереально. Не знаю, может болезнь у них какая (рассеянность или еще что), они не запоминают материал. А некоторые просто неизлечимые лентяи. Правда тройки все-равно им ставишь (ну а на кой фиг с ними связываться?).


> так вот преподу должно быть пофиг, на чем
> рассказывать.


Ну попробуйте попреподавать первому курсу на Pascal, на Си, на Java, на C#, а потом поделитесь своими впечатлениями.


> Вот поэтому программы структурируют. Группы всех этих инструкций
> объединяют в так называемые функции, а функции - модули.
>  5 минут схема на доске. Рассказать, что функция может возвражать
> значение и принимать аргументы.


Поверьте, бесполезно 1-му курсу на вводном уроке объяснять что такое "структурирование", "функции", "модули", "аргументы", "возвращаемое значение". Вас никто не поймет (кроме гуру очкарика). К функциям необходимо готовить постепенно, уже после того, как студенты освоят ввод/вывод, операторы ветвления, циклы, массивы. Необходимо подготовить практические примеры, убедительно доказывающие, что данную задачу следует решать с помощью функции. Если будете торопиться, то все ваши объяснения студенты воспримут как пустой звук.


> Такое понимается неподготовленным человеком, если он того
> хочет


Вы заблуждаетесь! Во первых студент 1-го курса - это вчерашний школьник. Он еще сам не знает, чего он хочет. Задача преподавателя - заинтересовать его, а не отбивать всю охоту к изучению этого предмета на первом же занятии.


 
TUser ©   (2010-02-23 16:14) [61]

Loginov Dmitry ©   (23.02.10 15:30) [60]

> Преподаватель, который не способен рассказать ламеру про
> ЗдравствуйМир, - профнепрегоден, разве не очевидно?

Вы заблуждаетесь. Всегда есть часть студентов, которым даже ЗдравствуйМир объяснить нереально. Не знаю, может болезнь у них какая (рассеянность или еще что), они не запоминают материал. А некоторые просто неизлечимые лентяи.


Очевидно, что есть такая категория. Но разве не пофиг - на каком языке они не поймут ЗдравствуйМир? Если человек пошел учиться на программиста (а на непрограммерских специальностях - зачем там ЗдраствуйМир?), то пущай постарается этот мир понять. Если человек реально стремится к пониманию, то препод ему все это сумеет объяснить, я примерно описал как. Ну, а если он лентяй/тупой/лирик/... - ну не быть ему программистом, так зачем ему тройки все-равно им ставить? Пусть поступает на философский, имхо.

Вообще, имхо, в ВУЗе ориентироваться на аутсайдеров в преподавании как-то неправильно. Да и в школе далеко не всегда уместно.

Во первых студент 1-го курса - это вчерашний школьник.

У нас на факультете (биоинженерии и биоинформатики, то есть это биологи, с эдаким компьютерным уклоном) начинают учить программировать на втором курсе (не я). То есть это не школьник уже, но от программизма все, кроме очкариков, далеки бесконечно. Учат на джаве. Ессно, они сразу сталкиваются аж с ООП. Уж не знаю, как им там рассказывают про мир, но вроде через семестр они программят. Сам видел, как на пересдаче (то есть, наверное, не самые сильные) квиксорт писали, ну то есть понимают они и что такое цикл, и что такое функции. Мне кажется, такой пример опровергает построения типа "вчерашнему школьнику нереально объяснить язык ххх или конструкцию ууу".


 
TUser ©   (2010-02-23 16:41) [62]

Вот специально сейчас залез в презентацию. Сначала им рассказывают про булеву алгебру, доказывают теорему Буля (я б даже рухнув с дуба не догадался с этого начинать), а потом (18й слайд)

Заклинание 1

/*
This is simple Java Program
*/
class Example
{
 public static void main(String args[])
{
  System.out.println("Simple Java program");
//  System.out.println("Test Java program");
}
}


Ну и дальше там бодренько вводятся и циклы, и типы переменных, и все прочее. Судя по написанной статье, студни должны сдохнуть. Но ничего так, живые вроде.

зы. Предмет, насколько мне известно, среди них считается одним из сложных. Что, впрочем, понятно.


 
Игорь Шевченко ©   (2010-02-23 19:29) [63]

TUser ©   (23.02.10 16:14) [61]

Плоды преподавания особенно хорошо заметны в конференции "Начинающим" ближе к новому году и к концу мая. Неважно на чем, на паскале, на С, на Java.

Я в принципе не понимаю, зачем всех (студентов) учить программированию. Школьников понятно - им кругозор надо расширять.


 
Аноним ©   (2010-02-23 19:36) [64]


> Вы заблуждаетесь. Всегда есть часть студентов, которым даже
> ЗдравствуйМир объяснить нереально.

зачем таким объяснять то?
в любом случае, это уже не программист
все равно, что юрист с амнезией


 
Аноним ©   (2010-02-23 19:37) [65]


> Я в принципе не понимаю, зачем всех (студентов) учить программированию.

вот, полностью поддерживаю


 
Eraser ©   (2010-02-23 19:54) [66]

все беды от того, что бОльшая часть студентов-программистов ошиблись при выборе специальности. отчасти из-за ущербности и узости школьного образования.


 
Аноним ©   (2010-02-23 20:05) [67]


> ошиблись при выборе специальности

я об этом и говорил
и их надо не насиловать, вытягивая на тройки, а дать это понять
когда я учился, у нас в группе из 31го человека выпустилось 16 человек, а программистами работают 3е, еще 3е админами


 
Eraser ©   (2010-02-23 20:09) [68]

> [67] Аноним ©   (23.02.10 20:05)


> и их надо не насиловать, вытягивая на тройки, а дать это
> понять

думаю тогда руководство вуза даст понять преподавателю, что в его услугах не нуждается, в этом и есть гнилость системы ;-)
опять же, куда смотрел вуз (или система образования), когда принимали на данную конкретную специальность, данных конкретных студентов?


 
Аноним ©   (2010-02-23 20:13) [69]


> опять же, куда смотрел вуз (или система образования)

на деньги конечно :-)


 
GDI+   (2010-02-23 20:18) [70]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
> Откуда дровишки?


От Джоеля Спольски и его статистике по резюме приходящих к нему на работу.


 
TUser ©   (2010-02-23 20:24) [71]


> Плоды преподавания особенно хорошо заметны в конференции
> "Начинающим" ближе к новому году и к концу мая.

Сомневаюсь, что наши студенты ходят на этот форум :) А Нач. - там вопросы задают как раз те, кто хз что делает на специальности "программирование". Но таких нельзя научить, так что с ними пусть уч.часть разбирается. А у нормальных все получается - выше я об этом написал.

> Я в принципе не понимаю, зачем всех (студентов) учить программированию. Школьников понятно - им кругозор надо расширять.

Все студентов не надо. И никто всех не обучает. А всех студентов на программерской специальности - ну а как иначе? А вот со школьниками не соглашусь. Нафига программирование 99,9% населения, я искренне не знаю. Не говоря уже о том, что среднестатистический лирик вообще идет лесом в таком случае. То есть если обучать всех школьников, то либо у половины имеем двойку в четверти, либо приучаем к халяве.


 
Игорь Шевченко ©   (2010-02-23 21:01) [72]

TUser ©   (23.02.10 20:24) [71]


> А вот со школьниками не соглашусь. Нафига программирование
> 99,9% населения, я искренне не знаю. Не говоря уже о том,
>  что среднестатистический лирик вообще идет лесом в таком
> случае


Физика вроде как входит в школьную программу. А лирикам она туда же не нужна, куда и программирование. Тем не менее, без двоек как-то пытаются жить. А уж насколько физикам нужна ботаника - так в вовсе не нужна. Однако учат. Так и с программированием/информатикой. Хоть и немного разыне вещи, но тем не менее, кругозор надо расширять.


> Сомневаюсь, что наши студенты ходят на этот форум :)


А ты не сомневайся.


 
Игорь Шевченко ©   (2010-02-23 21:02) [73]

Eraser ©   (23.02.10 19:54) [66]


> отчасти из-за ущербности и узости школьного образования


Чем же школьное образование узко и ущербно, поделись ?


 
TUser ©   (2010-02-23 21:30) [74]


> Физика вроде как входит в школьную программу. А лирикам
> она туда же не нужна, куда и программирование. Тем не менее,
>  без двоек как-то пытаются жить. А уж насколько физикам
> нужна ботаника - так в вовсе не нужна. Однако учат. Так
> и с программированием/информатикой. Хоть и немного разыне
> вещи, но тем не менее, кругозор надо расширять.

Наверное, есть вещи, которые нужны для кругозора. Например, образованному человеку желательно знать:

1. Когда началась ВОВ.
2. В чем состоит третий закон Ньютона.

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

3. Какие алгоритмы филогенетической реконструкции используют гипотезу молекулярных часов.
4. Чем отличается индекс возрастной аккумуляции Мьерса от индекса Уипла.

Понятно, что отнесение конкретного вопроса в ту или иную категорию, - дело субъективное. Понятно также, что если опросить профессионалов (в области истории, физики, биологии, демографии, программирования, etc), что из своей области они считают входящим в первую категорию знаний, а потом все полученные списки сконкатенировать, то окажется, что образованных людей с широким кругозором в природе не существует, - одни неучи. :) Отсюда ясно, что выдумывая некий "список кругозора" для реальных людей, а не супер-образованных ботанов с вывихнутым мозгом, стоит внимательно подойти к выбору вопросов, в оный список входящий, отсеивая многое интересное и даже полезное. Я, например, программирование к категории "общечеловеческих ценностей" не отношу.


 
Kerk ©   (2010-02-23 21:32) [75]


> Я, например, программирование к категории "общечеловеческих
> ценностей" не отношу.

Ну да. Логическое мышление вообще редко относят к "общечеловеческим ценностям" :)


 
Игорь Шевченко ©   (2010-02-23 21:45) [76]

TUser ©   (23.02.10 21:30) [74]


> Я, например, программирование к категории "общечеловеческих
> ценностей" не отношу.


А ботанику ?


 
GDI+   (2010-02-23 21:46) [77]


> TUser ©   (23.02.10 20:24) [71]


Еще проблемы русского языка могут мешать. Так как, к примеру, есть такой термин как поток выполнения и поток данных. А когда говоришь поток, то в отрыве от контекста очень сложно понять о чём говорит человек. Это нагружает мозг ненужной информацией.

Почему в США больше хороших программистов - потому что американский английский очень лёгкий язык в котором все структурировано и он учит не нагружать мозг бесполезными вещами.


 
GDI+   (2010-02-23 21:51) [78]


> Игорь Шевченко ©   (23.02.10 21:45) [76]
>
> А ботанику ?


Чем больше в школе "расширяют кругозор" среднего ученика путем зазубривания вместо понимания тем больше потом появляется адептов торсионных генераторов и чудодейственных лекарств. Так как у данного ученика иллюзия всезнания.


> 3. Какие алгоритмы филогенетической реконструкции используют
> гипотезу молекулярных часов.
> 4. Чем отличается индекс возрастной аккумуляции Мьерса от
> индекса Уипла.


А обычный обыватель скажет: от тупые ученые, почитайте Мулдашева там все сказано, как запустили лемурийцы атомные часы у человеческой расы, так они и тикают до 2012 года.


 
Игорь Шевченко ©   (2010-02-23 22:05) [79]

GDI+   (23.02.10 21:46) [77]
GDI+   (23.02.10 21:51) [78]

Не позорься


 
Loginov Dmitry ©   (2010-02-23 23:00) [80]


> Почему в США больше хороших программистов - потому что американский
> английский очень лёгкий язык в котором все структурировано
> и он учит не нагружать мозг бесполезными вещами.


Вот это:


> А когда говоришь поток, то в отрыве от контекста очень сложно
> понять о чём говорит человек. Это нагружает мозг ненужной
> информацией.


к английскому языку относится не в меньшей степени, чем к русскому.


 
Eraser ©   (2010-02-24 02:04) [81]

> [73] Игорь Шевченко ©   (23.02.10 21:02)


> Чем же школьное образование узко и ущербно, поделись ?

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


 
Германн ©   (2010-02-24 02:09) [82]


> Eraser ©   (24.02.10 02:04) [81]

Другой вариант пока что - фантастика. Имхо.


 
Игорь Шевченко ©   (2010-02-24 02:31) [83]

Eraser ©   (24.02.10 02:04) [81]

А причем тут образование ? У него вообще-то несколько иные цели, чем дрессировать на определенные профессии.


 
Eraser ©   (2010-02-24 02:40) [84]

> [83] Игорь Шевченко ©   (24.02.10 02:31)

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


 
Игорь Шевченко ©   (2010-02-24 02:49) [85]

Eraser ©   (24.02.10 02:40) [84]

...менеджера по продаже презервативов, охранника публичного дома, ученика сантехника в ЖЭКе, нужное подчеркнуть.

Сколько ботанику не учи - не будешь представлять. Только вот образование тут никак не причем. Образование должно (по идее) давать базовый набор знаний и навыки в развитии знаний в конкретных приложениях.


 
Германн ©   (2010-02-24 02:50) [86]


> Игорь Шевченко ©   (24.02.10 02:31) [83]
>
> Eraser ©   (24.02.10 02:04) [81]
>
> А причем тут образование ? У него вообще-то несколько иные
> цели, чем дрессировать на определенные профессии.
>

Перечитай "Айзека нашего Азимова". Полезно бывает порою перечитать то, что уже читал.


 
Игорь Шевченко ©   (2010-02-24 02:56) [87]


> Полезно бывает порою перечитать то, что уже читал


Например, правила форума.


 
KilkennyCat ©   (2010-02-24 02:57) [88]


> Игорь Шевченко ©

Не поверишь, постоянно перечитываю. Как молитву перед сном :)


 
Германн ©   (2010-02-24 03:04) [89]

Удалено модератором
Примечание: Offtopic


 
Германн ©   (2010-02-24 03:57) [90]

Удалено модератором


 
TUser ©   (2010-02-24 04:08) [91]


> А ботанику ?

Ну, я, вроде, не скрываю, что мне не нравится школьная программа по биологии. Вряд ли происходит хоть какая-то польза от долгого зазубривания разницы между парно- и непарнопетистосложными листьями. Что-то из ботаники полезно рассказывать, например, утверждение тип "корневище - это видоизмененный побег" с объяснением того, что значит сия мантра. Хорошо ломает стереотипы ("все, что в земле, - корень") и приучает к мысли, что мир устроен не так примитивно, как может показаться на первый взгляд.

Программирование - все-таки слишком специфическая область, имхо. Как индекс Уипла.


 
TUser ©   (2010-02-24 04:10) [92]

> Игорь Шевченко ©   (23.02.10 22:05) [79]
>
> GDI+   (23.02.10 21:46) [77]
> GDI+   (23.02.10 21:51) [78]
>
> Не позорься
>

Я с [78] согласен.


 
asail ©   (2010-02-24 08:16) [93]


> TUser ©   (23.02.10 21:30) [74]


> 3. Какие алгоритмы филогенетической реконструкции используют
> гипотезу молекулярных часов.
> 4. Чем отличается индекс возрастной аккумуляции Мьерса от
> индекса Уипла.

А это в школе учат? Я такого не помню. Или был круглым двоечником, или уж очень давно было - подзабыл... Или, все-ж, не учат.


 
TUser ©   (2010-02-24 09:11) [94]


> А это в школе учат?

Нет, конечно, что вы. И слава богу, которого нет :) Это как раз пример того, чему не надо учить в школе. И программирование туда же, имхо.


 
KSergey ©   (2010-02-24 12:19) [95]

По поводу исходной статьи

По-моему - автору просто хотелось (надо было?) что-нибудь написать.
Ну он и написал.

Опять же вспоминая книжку про Си, которая мне первой попалась в руки (ну правда идею программирования я уже представлял на васике) - спокойно читалась. Как раз начиналась с "хело ворлд".
Наверное автор в ней чего-то писал по поводу зачем там #include приписано (к стати да, именно описывая "каждую строчку"), но не особо акцентируя внимание, что сделал и я. Конечно, кгда "вбил в комп" и попробовал откомпились - я вспомнил "не хочет... чета тама еще какая-то фигня была написана", но опять же до определенного момента воспринимал это как "необходимые заклинания".

К стати, в книге по Ада этих строк вообще невообразимо много в первом же напечатанном листинге "хело ворлд", но там автор прямо говорит "пока считайте, что так надо". По-моему - вполне здравый подход.

uses в дельфи - тоже ведь как-то объяснять надо; ну правда без них можно до какого-то момента, да.


 
Плохиш ©   (2010-02-24 12:25) [96]


> Программирование - все-таки слишком специфическая область

Так же как и сантехник, повар и все остальные профессии...


 
12 ©   (2010-02-24 12:36) [97]

кроме как просто писал за деньги лабрабы-программки для людей далеких от программирования(хирургам, например), иным еще и объяснял, ну, по желанию клиента :)

Вот с паскалем, вправду, трудностей вообще не возникало.

С С тоже не возникало особых, но были
+ С меньше всего было среди обратившихся

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

Начинаешь объяснять циклы на примере рабочего и машины.
for i:=1 to 10 do (вот с 1 - это меня до сих пор с колеи выбивает :), но в учебниках и контрольных так чаще)
begin
writeln("Ввведите чего-то и т.п.");
readln(i);
end;
пришла машина с 10 мешками, ты говоришь рабочему - иди сходи принеси мешок. т.к. все он не поднимет сразу.
потом говоришь, иди сходи принеси еще мешок
так к циклу и подбираешься
так же и с repeat и while
сходи за следующим мешком, пока там не будет 0 мешков..

а вообщем, да, и begin end тут очень удачны..


 
Romkin ©   (2010-02-24 13:37) [98]

Классная статья, спасибо.
Действительно, значение & в scanf я смог понять только после освоения (и приличного, со списками!) Паскаля. А до этого только на уровне обезьяны, тут амперсанд, тут звездочка до, после, в скобках... Ужас :)


 
TUser ©   (2010-02-24 13:49) [99]

> лабрабы-программки для людей далеких от программирования(хирургам, например)

эээ, а хирургов теперь учат программировать?


 
12 ©   (2010-02-24 14:02) [100]


> эээ, а хирургов теперь учат программировать?

информатика на курсе есть. И что-то, наверное, преподают на ней :)

ну а типичные задачи - написать программу, которая печатает табличку сортированную по некому признаку одного из столбцов
сначала ввести 10 параметров эксперимента(массу лягушки / длину ее кишки)
потом различными способами подать на экран


 
Anatoly Podgoretsky ©   (2010-02-24 14:49) [101]

В информатике программирование лишнее. Конечно можно давать, в рамках VBA, чтобы не приходилось приглашать программисто и на ломаном языке рассказывать свои предметные нужности, обучать его предметной области.


 
12 ©   (2010-02-24 16:23) [102]


> В информатике программирование лишнее.

возможно. Достаточно просто логику какую нибудь.

меня как-то уверяли что пентиум 4 считает точнее, чем пентиум 1/2/3
В курсовой по каким-то эритроцитам неоднократно подчеркивалось, что все расчеты были сделаны на процессоре пентиум4. Спрашиваю, нафига именно так писать - сказали что им так говорили на лекции. Сомневаюсь, конечно, что именно так и говорили..
Но где же логика у самого студента?


 
Petr V. Abramov ©   (2010-02-24 18:49) [103]


> 12 ©   (24.02.10 16:23) [102]


> меня как-то уверяли что пентиум 4 считает точнее, чем пентиум
> 1/2/3

скорее всего, услышанный звон  - реальная ошибка в сопроцессоре в какой-то партии первых пней. Был шум, процессоры отзывали, бесплатно меняли и пр. и пр. веселье.


 
Petr V. Abramov ©   (2010-02-24 18:55) [104]


> 12 ©   (24.02.10 12:36) [97]


> for i:=1 to 10 do (вот с 1 - это меня до сих пор с колеи
> выбивает :), но в учебниках и контрольных так чаще)


> сходи за следующим мешком, пока там не будет 0 мешков..

угу, только сия фраза - от знания реализации loop в х86-м асме.
правильно: таскай и считай, когда принесешь десятый, будет перекур :)


 
Kerk ©   (2010-02-24 19:59) [105]


> KSergey ©   (24.02.10 12:19) [95]
> К стати, в книге по Ада этих строк вообще невообразимо много
> в первом же напечатанном листинге "хело ворлд", но там автор
> прямо говорит "пока считайте, что так надо". По-моему -
> вполне здравый подход.

По-моему, при изучении первого и последующих языков подход должен быть разным.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.81 MB
Время: 0.054 c
15-1265104819
brother
2010-02-02 13:00
2010.08.27
Чем разрезать файл?


15-1272036312
@!!ex
2010-04-23 19:25
2010.08.27
Как получить повышенные привилегии в Vista?


2-1275558278
Wayne
2010-06-03 13:44
2010.08.27
Поиск файлов по названию или члючевому слову


8-1204115414
andrew
2008-02-27 15:30
2010.08.27
ondrawitem


6-1205426277
Dima
2008-03-13 19:37
2010.08.27
WinAPI + скачивание файла по http (просто)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский