Содержание | ||
На основную страницу приложения |
ЭТОТ НОМЕР ПОЛНОСТЬЮ ОПУБЛИКОВАН НА НАШЕМ СЕРВЕРЕ!
|
ВВЕДЕНИЕ Вашему вниманию предлагается краткий (скажем точнее — предельно краткий) курс языка Си. В нем обобщается практический опыт проведения занятий со школьниками старших классов и поэтому, помимо собственно сведений о языке, содержится ряд рекомендаций для преподавателя. Ни сам курс, ни тем более упомянутые рекомендации нельзя считать исчерпывающими. Автор использует для обучения школьников различные версии Турбо Си, поэтому ряд вопросов рассмотрен применительно именно к этой системе программирования. Но поскольку, во-первых, таких вопросов не много, а, во-вторых, Турбо Си — достаточно распространенная система, подобная привязка курса, надеемся, не создаст существенных проблем для читателя. Вследствие того что данный курс отражает опыт проведения занятий в конкретной школе, он не мог быть сделан полностью "автономным". В частности, поскольку школьники, изучавшие данный курс, всегда были, как минимум, знакомы с языком Паскаль, в тексте сохранились фрагменты, адресованные тем, кто имеет определенный опыт программирования на Паскале. Данная ситуация (изучение Си после Паскаля) является типичной, и автор надеется, что для тех, кто знаком с Паскалем, аналогии между ним и Си облегчат изучение последнего, а всем остальным не помешают. У читателя может возникнуть вопрос, на который автор хотел бы ответить заранее: почему для изучения выбирается несколько "архаичный" Си вместо более современного языка Си++? На практике мы, конечно, знакомим детей с Си++, но именно после "чистого" Си. В обоснование такого подхода (отнюдь не бесспорного) приведем лишь один пример. В Си, в отличие от Паскаля, механизм передачи параметров в функции не "спрятан" за "var-" и "не var-параметрами", а представлен в чистом виде: если параметр передается по значению — передается именно его значение, если "по ссылке" — указатель. (Конечно, при изучении Паскаля опытный преподаватель наглядно объяснит то же самое и на языке "var — не var", но в Си ничего дополнительно объяснять не надо — язык сам все объясняет.) В Си++ механизм передачи параметров в функции снова немного "спрятан". Это, безусловно, удобно для программистов, которые и так хорошо понимают, как устроен механизм передачи параметров, но не слишком удобно для целей обучения (речь, конечно, идет об обучении программистов), когда хочется наглядно продемонстрировать этот механизм. Приведенный пример демонстрирует общий подход: "чистый" Си выбран именно потому, что в нем практически все лежит "на поверхности" и не спрятано для удобства программистов. Еще несколько слов о структуре курса. Поскольку данный материал вовсе не является справочником по языку Си, а отражает именно реальный учебный курс, сведения о тех или иных средствах языка могут быть не сконцентрированы в одном разделе, а "размазаны" по нескольким, Кроме того, еще раз подчеркиваем, что мы вовсе не ставили целью сделать курс полным и всеобъемлющим, мы в первую очередь старались обратить внимание читателя на вопросы, которые, как правило, вызывают проблемы у начинающих программировать на Си.
|