Скачать 1.07 Mb.
|
Введение Это методическое пособие предназначено для учителей, которые планируют проводить занятия по курсу «Основы программирования на приме-ре Visual Basic .NET» (.NET читается как «дот нет»). Курс разработан всемирно известной корпорацией Майкрософт в рамках инициативы «Партнерство в образовании»1 и ориентирован на учащихся 10-11 классов. По соглашению между Майкрософт и Министерством образования и науки Российской Федерации в ряде учебных заведений планируется ап-робация русской версии Microsoft Visual Basic .NET. Данный курс позво-ляет научиться разрабатывать проекты с помощью этой системы. Цель курса состоит в том, чтобы познакомить с основными концепциями программирования учеников старших классов, которые либо облада-ют начальной подготовкой в области компьютеров, либо вообще не знакомы с ними. На протяжении курса ученики изучают такие базовые приемы программирования, как написание псевдокода, создание форм, объявление переменных, вычисление выражений, использование ветвле-ний и циклических конструкций и многое, многое другое. При этом они осваивают приемы создания интересных и привлекательных программ (приложений). Все приведенные в курсе задания по разработке приложений ориентированы на использование Visual Basic. NET. Однако в тексте упоминаются и другие языки программирования .NET (C#, J#) и приводятся примеры кодирования базовых алгоритмических конструкций на этих языках. Это помогает ученикам получить представление о многообразии имеющихся в их распоряжении средств создания программ. В данном пособии описаны учебные материалы, подготовленные корпорацией Майкрософт к курсу, и даются рекомендации по подготовке учебного класса к занятиям, тематическому планированию курса и про-ведению занятий. Кроме того, здесь приведены базовые сведения об архитектуре .NET Framework и методологии объектно-ориентированного программирования и даны ссылки на источники дополнительной информации. Электронная версия методического пособия доступна по адресу www.microsoft.com/rus/education 1 Более подробную информацию об этой программе вы можете получить на веб-сайте Майкро-софт по адресу: http://www.microsoft.com/Rus/Education/PiL 1. История развития языков программирования Машинный язык. На заре компьютерной эры, в 40-50-е годы XX века, программы писались на языке машинных кодов (computer language) и представляли собой бинарные (двоичные) инструкции для процессора, т. е. фактически очень длинные последовательности нулей и единиц. Со-ставление и отладка таких программ были чрезвычайно трудоемким де-лом. Программы на машинных языках были машинно зависимыми, т. е. для каждой ЭВМ необходимо было создавать свою собственную программу, так как в программе в явной форме учитывались аппаратные ресурсы ЭВМ. Ассемблеры. В начале 50-х годов XX века были созданы языки про-граммирования, получившие общее название ассемблеров (assembly languages), в которых процессору задавались текстовые инструкции. Теперь вместо нулей и единиц программисты могли пользоваться операторами, которые были похожи на слова английского языка (например, команда MOV пересылала данные между регистрами). Для преобразования текста программы на ассемблере в понятный компьютеру машинный код исполь-зовался компилятор. Программы на ассемблере были, так же как и ма-шинные коды, машинно зависимыми. Языки высокого уровня. С середины 50-х годов XX века начали созда-ваться первые языки программирования высокого уровня (high-level languages). Это были машинно независимые языки программирования, так как они использовали универсальную компьютерную логику и не были привязаны к типу ЭВМ. Ниже приведены примеры языков программирования высокого уров-ня, создававшихся и использовавшихся для решения разных задач: 3 FORTRAN (расшифровывается как FORmula TRANslator — транслятор формул) — язык, предназначенный для научных и технических расчетов. 3 COBOL (Common Business-Oriented Language — стандартный язык для делового применения) — язык, в основном предназначавшийся для коммерческих приложений, обрабатывавших большие объемы нечисловых данных. 1. История развития языков программирования 5 3 LISP (List Processing — обработка списков) и PROLOG — языки, со-зданные для исследований в области искусственного интеллекта. 3 BASIC (Beginner’s All-Purpose Symbolic Instruction Code — универсаль-ный язык символьных инструкций для начинающих) — язык, отличаю-щийся простотой создания программ. 3 Pascal (назван его создателем Виртом в честь великого французского математика, физика, литератора и философа Блеза Паскаля) — создан в 1970 году как язык для обучения программированию. По мнению Вирта, Pascal должен был способствовать соблюдению правильной дисциплины программирования, поэтому, наряду со строгой типиза-цией, в нем сведены к минимуму возможные синтаксические неодно-значности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком. 3 C (произносится «Си») — язык, позволяющий создавать быстро и эф-фективно выполняющийся программный код. Языки объектно-ориентированного программирования. В 90-х годах XX века начали создаваться объектно-ориентированные языки программирования (следующий этап развития языков программирования высо-кого уровня), позволяющие визуально конструировать графический интерфейс приложений: 3 Visual Basic .NET — среда разработки, созданная корпорацией Microsoft для создания приложений с графическим интерфейсом в среде операционной системы Windows на основе платформы .NET. 3 C++ и С# — языки объектно-ориентированного программирования, созданные на базе языка С и использующие все его преимущества. 3 Object Pascal — язык, созданный компанией Borland для разработки приложений с графическим интерфейсом в среде Delphi для операционной системы Windows. На рис. 1 представлена упрощенная схема развития языков программирования. 6 Основы программирования на примере Visual Basic .NET 2. Введение в объектно-ориентированное программирование В данном пособии рассматривается учебный курс с использованием системы программирования Visual Basic .NET, которая базируется на методологии под названием «объектно-ориентированное программирование» (ООП). В основе ООП лежит понятие объекта, объединяющего в себе свойства объекта и методы объекта (действия объектов и над объектами). Такое объединение свойств и методов в объекте называется инкапсуляцией. Она позволяет при создании программы скрыть особенности реализации того Составлена на базе источника: http://www.oreilly.com/pub/a/oreilly/news/languageposter_0504.html 3. Краткий обзор .NET Framework и Visual Studio .NET 7 или иного способа обработки информации внутри объекта и облегчает по-вторное использование ранее написанного кода. Для описания разных видов программных объектов служат классы. Класс определяет набор свойств и методов, являясь своего рода шабло-ном, на основе которого создаются объекты. Соответственно, любой объ-ект является экземпляром некоторого класса. Разработка объектно-ориентированной программы сводится, в первую очередь, к созданию на-бора классов, обладающих необходимыми программисту свойствами и методами. Новые классы могут создаваться на основе уже существующих (предков), при этом они (потомки) наследуют свойства и методы последних. Создавая классы-потомки, разработчик может добавить им новые свойства и методы, а может переопределить методы, унаследованные от класса-предка. Возможность менять поведение программных объектов при вызове одноименного метода называется полиморфизмом. Инкапсуляция, наследование и полиморфизм — три базовых принципа, лежащих в основе ООП. После того как необходимые классы определены, разработчику про-граммы остается создать на их основе нужные объекты и организовать взаимодействие между ними путем обмена сообщениями и реакции на события. В этом взаимодействии объектов, собственно, и заключается ра-бота объектно-ориентированной программы. В приложении 1 даны определения базовых понятий объектно-ориен-тированного программирования. Если вы не знакомы с языком Visual Basic .NET, рекомендуем также изучить справочник по нему, приведенный в приложении 2. 3. Краткий обзор .NET Framework и Visual Studio .NET Система объектно-ориентированного программирования Visual Basic .NET является составной частью единой среды разработки приложений Visual Studio .NET. Последняя, в свою очередь, базируется на разработанной корпорацией Майкрософт платформе .NET Framework и представляет со-бой универсальный инструмент, с помощью которого можно создавать са- 8 Основы программирования на примере Visual Basic .NET мые разнообразные приложения, начиная от программ командной строки и заканчивая веб-службами XML. Такие приложения могут созда-ваться с использованием разных языков программирования, из которых Visual Basic .NET является, по-видимому, наиболее простым для восприятия и освоения. Чтобы немного разобраться в сущности разработанных Майкрософт технологий, кратко рассмотрим архитектуру .NET Framework, а также место Visual Studio .NET и Visual Basic .NET в этой архитектуре. Основным элементом .NET Framework является общеязыковая среда выполнения приложений. Эту среду (по-английски она называется Common Language Runtime, или CLR) можно считать неким агентом, кото-рый выполняет следующие функции: 3 обеспечивает компиляцию кода по мере вызова тех или иных компо-нентов программы; 3 распределяет память для кэширования откомпилированного кода и размещения данных; 3 управляет потоками вычислений и удаленным взаимодействием про-грамм; 3 обеспечивает строгую проверку типов данных и другие виды проверки точности кода, что гарантирует безопасность и надежность выполне-ния программ. Таким образом, основным принципом работы CLR является управле-ние программным кодом. Именно поэтому код, который выполняется в .NET Framework, называют управляемым кодом (managed code), а код, который выполняется на компьютере, минуя CLR, — неуправляемым (unmanaged). Более того, данные, с которыми работает управляемый код, также находятся под полным контролем CLR и поэтому называются управляемыми данными (managed data). Другой основной компонент .NET Framework — общая для всех язы-ков программирования библиотека классов. Ее наличие позволяет разра-ботчикам использовать единую систему типов данных и вызываемых функций (точнее, программных объектов, их свойств и методов1). Соответственно, большая часть функциональности программы, которая ранее реализовывалась за счет функций и процедур конкретного языка про-граммирования, теперь обеспечивается использованием библиотеки 1 Классы, объекты, свойства и методы более подробно обсуждаются далее в разделе, посвящен-ном основам объектно-ориентированного программирования. 3. Краткий обзор .NET Framework и Visual Studio .NET 9 классов. Например, чтобы вычислить квадратный корень в предыдущих версиях Visual Basic, программисту нужно было воспользоваться конструкцией вида: X=SQR(Y) В Visual Basic .NET аналогичный оператор будет выглядеть иначе: X=System.Math.Sqrt(Y) В этой конструкции уже будет задействован один из стандартных классов библиотеки .NET Framework, относящийся к так называемому пространству имен 1 (namespace) System.Math. Существенным преимуществом данного подхода является возмож-ность использовать одни и те же классы в программах, написанных на разных языках программирования: и на тех, которые разработаны корпорацией Майкрософт, и на языках сторонних производителей. Более того, разработчики могут создавать свои собственные библиотеки классов и использовать их в дальнейшей работе. А межъязыковое взаимодействие и общая среда разработки позволяют, например, в Visual Basic .NET-приложениях использовать компоненты, написанные на других языках .NET Framework. Если изобразить основные компоненты, обеспечивающие разработку и выполнение программ на компьютере с операционной системой Windows, то получится схема, приведенная на рис. 2. Как видно из схемы, Visual Studio .NET — это единая среда разработки приложений, как традиционных, так и работающих в среде выполне-ния .NET Framework. И если первые весьма жестко привязаны к особенностям интерфейса прикладного программирования в операцион-ной системе Windows (Win32 API), то для вторых CLR «экранирует» эти особенности. Такой подход делает написанные для общеязыковой среды программы легко переносимыми на компьютеры, работающие не под управлением Windows 2. 1 В .NET Framework пространством имен называется некоторая область, в которой определены названия, свойства и методы используемых классов (как системных, так и создаваемых разра- ботчиком программы). 2 Примеры такого переноса уже известны, например, проект Portable .NET для Linux и других Unix-подобных систем или проект Rotor для FreeBSD и Mac OS X. 10 Основы программирования на примере Visual Basic .NET Рис. 2 Совместное использование Visual Studio .NET и .NET Framework пре-доставляет в распоряжение разработчиков один из самых мощных на се-годняшний день инструментов для создания приложений. В то же время этот инструмент является весьма простым в освоении, что дает возмож-ность применять его в курсах школьной учебной программы. В настоящее время корпорация Майкрософт выпускает два разных ва-рианта Visual Studio для платформы .NET 1: 1 Visual Studio .NET 2003 (в различных редакциях) и отдельные компо-ненты этой среды разработки; 3 Visual Studio 2005 (опять же в различных редакциях) и ее отдельные компоненты. Некоторые компоненты Visual Studio 2005 в варианте Express Edition (например, Visual Basic 2005 Express Edition) сейчас распространяются корпорацией Майкрософт бесплатно; их дистрибутивы доступны для «скачивания» с сайта корпорации 2. 1 Более подробные сведения приведены на русскоязычном веб-сайте Майкрософт: http://www.microsoft.com/Rus/Msdn/vs 2 См. http://msdn.microsoft.com/vstudio/express 4. Учебные материалы 11 Следует отметить, что в этих вариантах (2005 — наиболее современ-ный) различаются как среда разработки, так и среда выполнения прило-жений (версия 2003 базируется на .NET Framework 1.1, а версия 2005 — на .NET Framework 2.0). Различия необходимо учитывать и в процессе разработки программ с помощью данных систем, и при использовании программ в дальнейшем. В состав Visual Studio .NET входят следующие языки программирова-ния: 3 Visual Basic .NET; 3 C# (произносится Си-шарп); 3 J# (произносится Джей-шарп); 3 C++ (произносится Cи плюс плюс). Кроме того, в эту систему включена электронная справочная система (так называемая библиотека MSDN). Русскоязычная справка размещена в Интернете по адресу http://msdn.microsoft.com/library/rus/ 4. Учебные материалы В комплект подготовленных к курсу «Основы программирования на примере Visual Basic .NET» учебных материалов входят: 3 методическое пособие для учителей, которое вы сейчас читаете; 3 учебное пособие по языку объектно-ориентированного программиро-вания Visual Basic .NET для учащихся; 3 прилагаемый к данному пособию компакт-диск (в тексте он обознача-ется как Microsoft-CD). Для того чтобы подготовиться к проведению занятий по данному курсу, необходимо заранее и тщательно ознакомиться с содержимым этих материалов. Рассмотрим подробнее, как устроено учебное пособие и что находится на компакт-диске. 12 Основы программирования на примере Visual Basic .NET Учебное пособие Учебное пособие включает 12 глав, каждая из которых предваряется вступлением, напрямую не относящимся к обсуждаемому материалу. В этих вступлениях кратко раскрывается история развития Microsoft через создание различных версий операционных систем и языка программиро-вания Basic, что позволяет параллельно с изучением языка программирования совершить «путешествие во времени». В тексте пособия используются следующие соглашения, касающиеся шрифтового оформления и выделения важной информации. 3 Курсивом выделены важные понятия и термины, а также названия диалоговых окон, пунктов меню и управляющих элементов (тексто-вых полей, кнопок и т. д.) графического интерфейса. 3 Шрифтом Courier выделены тексты программ на языке программирования Visual Basic. 3 Важная информация и формулы выделены в тексте восклицательным знаком: 3 Материалы, содержащие дополнительную интересную информацию, выделены значком Л . В конце каждой главы приведен тест, позволяющий оценить степень усвоения материала учениками. На каждый вопрос правильный ответ единственный, его нужно выбрать из четырех предложенных вариантов. Приведем краткий обзор содержания учебного пособия. |