Квалификационная работа Давыдовx

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКОГО КРАЯ
ГБОУ ДПО «СТАВРОПОЛЬСКИЙ КРАЕВОЙ ИНСТИТУТ РАЗВИТИЯ ОБРАЗОВАНИЯ,
ПОВЫШЕНИЯ КВАЛИФИКАЦИИ И ПЕРЕПОДГОТОВКИ
РАБОТНИКОВ ОБРАЗОВАНИЯ»
Кафедра математических дисциплин,
информационных технологий
и дистанционного обучения
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
«Объектно-ориентированное программирование на уроках
информатики (на примере Visual Basic)»
Выполнил
Давыдов Константин Михайлович
Подпись__________________________
Научный руководитель
Преподаватель кафедры МД, ИТ и ДО
Лукьянченко Татьяна Александровна
Оценка______________Дата_________
Подпись__________________________
Ставрополь, 2012
Оглавление
Введение ................................................................................................................... 3
Глава 1. Концепция объектно-ориентированного программирования.............. 5
Глава 2. Возможности объектно-ориентированного программирования в
обучении школьников ........................................................................................... 10
Глава 3. Среда программирования Visual Basic ................................................. 15
Заключение ............................................................................................................ 24
Список используемой литературы и источников .............................................. 26
Приложение 1. Разработки заданий по программированию на начальном
уровне в среде Visual Basic .................................................................................. 27
Приложение 2. Примеры VB-приложений, подготовленных учащимися
девятых классов ..................................................................................................... 66
2
Введение
Обучение
школьников
основам
программирования
на
уроках
информатики остаётся очень важным, но сложным процессом. Итоговая
аттестация учащихся девятых и одиннадцатых классов в обязательном
порядке содержит задания по программированию (и задания эти, отнесённые
к средней и высокой категориям сложности, могут принести большое
количество баллов). Олимпиады и конкурсы среди школьников по
информатике с содержательной стороны являются чаще всего олимпиадами
и конкурсами именно по программированию.
В связи с этим актуален выбор сред и программ, обучающих основам
программирования.
Опыт
работы
в
школе
привёл
к
выводу,
что
программирование не в объектно-ориентированных и не визуальных средах
не вызывает такого интереса и не мотивирует должным образом учеников на
работу с высокой степенью самоотдачи. Напротив, именно визуальные среды
заставляют школьников проявлять и развивать творческие начала.
В настоящее время для обучения программированию чаще всего
используются
следующие
среды
объектно-ориентированного
программирования: Delphi, Lazarus, Visual Basic, Visual Basic .NET, Gambas,
C++ Builder, C#, Java. Вопрос обучения программированию в одной из этих
сред – Visual Basic – является актуальным в современном курсе информатики
и ИКТ.
Объектом исследования в рамках квалификационной работы является
объектно-ориентированное программирование в школе.
Предмет исследования – обучение учащихся программированию в
среде Visual Basic.
Цель данной работы – показать значение объектно-ориентированного
программирования на уроках информатики.
Чтобы реализовать поставленную цель, необходимо решить ряд задач,
а именно:
3
-
изучить
теоретические
основы
объектно-ориентированного
программирования;
- определить роль объектно-ориентированного программирования в
школе, сопоставив его возможности с возможностями классического
(процедурного) программирования;
- представить среду программирования Visual Basic;
-
представить
собственный
опыт
обучения
учащихся
программированию в среде Visual Basic, в частности разработать и
представить практические задания с примерами по программированию в VB;
представить работы учеников, созданные в среде программирования Visual
Basic.
Квалификационная работа состоит из введения, трёх глав, заключения
и приложений. В первой главе рассмотрены теоретические основы объектноориентированного
программирования.
Во
второй
–
преимущества
использования объектно-ориентированных сред программирования при
обучении школьников. Третья глава посвящена рассмотрению визуальной
среды программирования Visual Basic. В приложениях представлены
разработки практических заданий для уроков обучения программированию
на VB и примеры работ учеников. Кроме того, на прилагаемом к
квалификационной работе диске представлены работы учеников как в виде
исполнимых файлов, так и в виде программ-«исходников».
4
Глава 1. Концепция объектно-ориентированного программирования
Процесс развития языков и сред программирования непрерывен. Ещё в
1950-е
гг.
XX
века
появились
первые
средства
автоматизации
программирования – языки автокоды. Позднее для языков этого уровня стало
применяться название «ассемблеры». Они были сориентированы на
конкретное семейство ЭВМ (с учетом структуры команд, памяти и других
особенностей). Вместе с тем переменные величины стали изображаться
символическими именами. Числовые коды операций заменились на
словесные обозначения.
Появившиеся позднее алгоритмические языки программирования
высокого
уровня
позволили
записывать
алгоритмы
решения
задач
независимо от структуры конкретной ЭВМ. Их преимущество заключается
также в компактности и наглядности записи алгоритма в формульнословесном виде. Трудоемкость программирования значительно снизилась.
Наряду с языками программирования, решавшими только конкретные
задачи, появились универсальные языки программирования – Си, Паскаль и
другие.
Со временем задачи усложнялись, и программы снова стали слишком
громоздкими. Их стали разбивать на процедуры или функции, которые
решали свои задачи. Написанные, откомпилированные и отлаженные
функции потом собирались воедино. Такое программирование стало
процедурным программированием и стало преобладающим на некоторое
время. Появились библиотеки процедур и функций.
Рост
сложности
и
размеров
программ
потребовал
развития
структурирования данных и появления новых типов данных, которые могут
определяться программистом. Идея объединения данных и всех процедур их
обработки в единый модуль – основа модульного программирования.
Сначала такой модуль был более или менее случайным набором
данных и подпрограмм. В такие модули собирали подпрограммы, которые,
5
как казалось, скорее всего будут изменяться совместно. Программы
составлялись из отдельных модулей. Эффективность таких программ тем
выше, чем меньше модули зависят друг от друга.
Необходимостью стало отделить процедуры, которые вызываются
другими модулями (открытые процедуры) от вспомогательных, которые
обрабатывают данные, заключенные в модуль. Данные, занесенные в модуль
также делятся на открытые и закрытые. Идея модулей преобразовалась в
идею совокупности взаимодействующих объектов. Так возникло объектноориентированное программирование.
В основе концепции объектно-ориентированного программирования
лежит понятие объекта, который объединяет в себе поля (данные) и методы
(выполняемые
объектом
действия).
Объектно-ориентированное
программирование предполагает, что основой управления процессом
реализации программы является передача сообщений объектам. Поэтому
объекты должны определяться совместно с сообщениями, на которые они
должны реагировать при выполнении программы. В этом и заключается
основное
отличие
объектно-ориентированного
от
процедурного
программирования. Разработанная таким образом программа состоит из
объектов – отдельных фрагментов кода, обрабатывающего данные, которые
взаимодействуют друг с другом через определённые интерфейсы.
Главные особенности объектно-ориентированного программирования:
1. Инкапсуляция – объединение данных и черт поведения объекта в
одном пакете и сокрытие подробностей их реализации от пользователя.
Пользователь может изменять только переменные значения экземпляра
класса - цвет, размер и другие, которые определяют текущее состояние
объекта, но от него скрыт сам механизм реализации этих данных.
Применение инкапсуляции защищает данные, принадлежащие объекту от
возможных ошибок. Сокрытие данных - условие для многократного
использования объекта и надежности приложения;
6
2. Наследование – процесс, посредством которого один объект может
наследовать свойства другого и добавлять к ним черты, характерные только
для него. Создается иерархия объектов, где свойства и методы "предков"
автоматически передаются "потомкам", но у них могут быть и свои
индивидуальные данные. Смысл и универсальность наследования в том, что
не надо каждый раз описывать новый объект, достаточно указать "родителя"
(базовый класс) и описать отличительные особенности;
3. Полиморфизм – означает, что метод с одним именем может
применяться к родственным объектам, то есть "потомки" знают, какие
методы они должны использовать. Преимущество полиморфизма в том, что
он позволяет использовать один и тот же интерфейс к родственным
объектам. При этом пользователь не обязан знать, к какому классу
принадлежит объект, объект сам распознает метод;
4. Абстрагирование – метод решения сложных задач. Описывая
поведение сложного объекта, мы выделяем только те стороны, которые нас
интересуют с точки зрения решаемых задач, то есть строим его
приближенную модель. Модель не может описать реальный объект
полностью. Мы выделяем только те характеристики, которые важны для
задачи. Нужно абстрагироваться от несущественных деталей объекта.
Абстрагирование – это взгляд на объект ни как он есть на самом деле, а с
точки зрения наблюдателя и интересующих его характеристик данного
объекта. Характеристики – свойства объекта, то, что касается его состояния
или определяет его поведение, – выделяются в единую программную
единицу
или
некий
абстрактный
класс.
Объектно-ориентированное
проектирование основано на абстрактном объединении объектов в классы. В
виде класса можно представить любую общепринятую абстракцию данных.
Объектно-ориентированные системы, под которыми понимаются все
языки программирования, инструментарии и методологии, поддерживающие
технологию
объектно-ориентированного
программирования,
очень
7
распространены и популярны. Они имеют ряд преимуществ, обусловленных
их особенностями:
Во-первых,
сравнительная
простота
и
наглядность.
Важное
преимущество объектно-ориентированных систем вытекает из их связи с
реальным миром. Разработчик может спроектировать физическую систему в
программную, первоначально задав все важные физические объекты и
соответствующие им программные объекты. Группы взаимосвязанных
физических объектов отображаются в классы, которые можно организовать в
иерархию, начиная с общих классов и добавляя к ним специализированные
подклассы. Процедуры, общие для нескольких классов, находятся в их
общем суперклассе и наследуются ими. Объектно-ориентированный подход
уменьшает концептуальный разрыв между реальным миром и компьютерной
моделью. Он позволяет ясно понимать структуру системы. Поэтому
объектно-ориентированные системы в наше время используются для
моделирования
сложных
физических
систем
на
производстве,
в
телекоммуникациях, и даже в военном и оборонном комплексах.
Во-вторых, объектно-ориентированные системы прекрасно подходят
для внесения требуемых изменений. Это преимущество обусловлено
способом взаимосвязи объектов через сообщения. Гибкость объектноориентированных систем является неоспоримым преимуществом
для
пользователей в быстро меняющихся средах, например, в технологии
программирования. Благодаря использованию объектно-ориентированной
технологии, разработчики программ имеют возможность быстро реагировать
на новые течения рынка в условиях возрастающей конкуренции.
В-третьих, объекты могут использоваться несколько раз. Классы могут
наследовать процедуры от других классов, возможно составление библиотек
наиболее
часто
используемых
классов,
содержащих
процедуры,
предназначенные для специфических нужд и применяющихся в прикладных
задачах.
Объектно-ориентированные
системы
дают
широкий
спектр
многократного использования текстов программ.
8
Четвёртое преимущество –
лёгкость поддержки. Традиционное
программное обеспечение состоит из данных и процедур, осуществляющих
доступ и изменение данных. Данные и процедуры комплектуются отдельно,
поэтому изменение структуры данных влияет на различные модули. В
объектно-ориентированной системе данные и процедуры рассматриваются
вместе как часть одного пакета - объекта. При изменении данных все
задействованные
процедуры
легко
идентифицируются
и
изменяются
одновременно. Поскольку изменение распространяется только на одну
область системы, его побочное влияние на всю систему уменьшается.
Таким образом, объектно-ориентированное программирование, являясь
современной
и
эффективной
разновидностью
программирования,
в
настоящее время имеет хорошие перспективы дальнейшего развития и
распространения.
9
Глава 2. Возможности объектно-ориентированного программирования в
обучении школьников
Введённый в 1985 году в школы новый предмет – основы информатики
и вычислительной техники (ОИВТ) – изначально основывался на изучении
алгоритмизации и программирования. Такова была концепция, разработанная
коллективом авторов, во главе которого стояли
А. П. Ершов, В. А.
Звенигородский, Ю. А. Фермен. Специально для школьников были созданы
языки программирования «Рапира» и школьный алгоритмический язык
(ШАЯ). Авторы первой программы предмета «Основы информатики и
вычислительной техники» и первого учебника – А. П. Ершов, В. М. Монахов,
С. А. Бешенков – выдвинули знаменитый лозунг: «Программирование –
вторая грамотность». Для изучения программирования использовались
школьный алгоритмический язык, похожий на Паскаль, но в русскоязычном
варианте, что облегчало его понимание учениками, а также Бейсик и
«Рапира». В 1990 году коллектив авторов под руководством А. Г.
Кушниренко выпустил новый учебник, в котором для объяснения сложных
алгоритмических конструкций используются исполнительные конструкции
алгоритмов: «робот» и «чертёжник».
В 1987 г. в МГУ была осуществлена разработка учебной среды
программирования
на
основе
школьного
алгоритмического
языка,
получившая название «Е-практикум» (Е-87). Впоследствии она получила
развитие и распространение через известный пакет учебного программного
обеспечения КуМир (Комплект Учебных Миров).
Данная концепция школьного курса информатики практически в
неизменном виде просуществовала более десяти лет. Изучение основ
алгоритмизации и программирования продолжало оставаться его главной
целью. Программирование изучалось посредством языков Паскаль, Бейсик,
ШАЯ (в пакете КуМир – Комплект Учебных Миров).
10
С начала 2000-х годов обострились споры о том, какие языки и среды
программирования нужно выбирать для обучения в школе. Появились и
сторонники технологического подхода, которые вообще считали главным
массовое обучение учеников работе на компьютере с уже существующими
программами, а не программирование. Это объясняли тем, что компьютерная
техника стремительными темпами входит в жизнь каждого человека, и задача
школы обучить работе с ней, а программирование должно стать уделом
наиболее интересующихся данным направлением деятельности (например,
оставить программирование только в специализированных профильных
классах).
Споры продолжаются до сих пор. Очевидно одно – преподавать
программирование по-старому уже нельзя. Время диктует необходимость
изменения сред и языков, на которых обучаются программированию, при
сохранении концепции изучения основ программирования и алгоритмизации,
заложенной в школьную информатику два десятилетия назад.
Анализируя
опыт
преподавания
основ
программирования
в
классических средах QBasic и Turbo Pascal, приходим к следующим выводам.
Языки программирования в своей классической процедурной форме на
современном этапе малоэффективны, поскольку не имеют практической
реализации в виде программных продуктов. Сами эти среды всё труднее
вписать в рамки современных операционных систем и другого программного
обеспечения. Наконец, всё труднее заинтересовать учащихся работой в таких
средах.
Требуется
большая
наглядность
и
результативность,
чтобы
мотивировать школьников в должной мере.
С другой стороны, есть довольно удачный опыт адаптации к
современным условиям пакета КуМир со школьным алгоритмическим
языком. Вероятно, ШАЯ ещё сможет занять свою нишу в средней школе (на
начальных этапах обучениях программированию) и отчасти в старшей
школе.
11
Но наиболее перспективным видом программирования, пригодным для
внедрения в учебный процесс в школе, является объектно-ориентированное
программирование. С начала 2000-х годов оно «отвоёвывает» себе всё новые
позиции. К услугам преподавателей в настоящий момент большой выбор
сред программирования, базирующихся на разных языковых платформах:
Delphi и Lazarus, Visual Basic, Visual Basic .NET и Gambas, C++ Builder и C#,
Java и другие. Работают среды на разных операционных системах. Стоит
отметить, что некоторые из них (Lazarus, Gambas) работают на внедряемых в
настоящее время в школы операционных системах Linux.
Кроме
общих
преимуществ
объектно-ориентированного
программирования над классическим, о чём речь шла в предыдущей главе,
при внедрении в процесс обучения школьников объектно-ориентированное
программирование
имеет
свои
специфические
дополнительные
преимущества.
Самое главное – возможность сразу же видеть результаты своего труда,
что особенно важно для начинающих программировать. Не секрет, что в
процессе обучения, как бы ни старался учитель, ученики иногда теряют
мотивацию из-за непонимания конечных целей обучения, того, зачем они
что-то изучают, где смогут применить умения и навыки. Объектноориентированное программирование предоставляет результат буквально на
каждом уроке. Ученик видит объект, над которым он работал в готовом виде,
если нужно – в виде исполнимого файла.
Отсюда вытекает второй плюс – возможность и желание ученика
постепенно наращивать свои знания и применять их в своих программах.
Подключается мотив соперничества, когда школьник старается, чтобы его
проект не уступал, и даже превосходил проекты одноклассников.
Визуальные
среды
объектно-ориентированных
систем
программирования существенно упрощают начальный этап разработки
программы. Обладая даже минимальными знаниями, ученики могут делать
вполне
работоспособные
приложения,
которые
достойно
смотрятся.
12
Ситуация посильности решаемых задач в таком сложном в целом процессе,
каким является программирование, не может не вызвать положительных
эмоций и благоприятных условий для дальнейшей плодотворной работы.
Благоприятный эмоциональный фон поддерживают даже интерфейсы
объектно-ориентированных
сред
программирования.
Неоднократно
приходилось слышать неудовольствие учеников, программирующих на
языках QBasic и Turbo Pascal: «Опять набираем команды белым шрифтом на
синем экране!» А ведь такая «мелочь» может отбить охоту заниматься
программированием вообще! Визуальные среды позволяют ученику самому
готовить приятный его глазу интерфейс.
Объектно-ориентированное
программирование
позволяет
также
использовать мультимедийные технологии, ресурсы Интернета, что также
повышает интерес учеников к программированию, позволяет понять на своём
уровне, его необходимость, практическую полезность.
Проекты учащихся, выполненные в объектно-ориентированных средах
и сохраненные в виде исполнимых EXE-файлов вполне конкурентоспособны
в различных творческих конкурсах, приложения интересно смотрятся и
эффективно преподносят результаты проделанной работы на конференциях.
А
значит,
объективно-ориентированное
программирование
становится
отличным инструментом развития творчества учащихся, позволяет развивать
межпредметные связи.
Работы учеников по своей тематике зачастую далеко выходят за
пределы собственно информатики. На конференциях различного уровня
ученики представляют свои проекты, выполненные в среде Visual Basic, в
области химии, биологии, математики, истории, географии, литературы и
других областях. С примерами проектов учеников можно познакомиться в
«Приложении №2» к данной работе (исполнимые файлы и «исходники» с
программными кодами представлены на прилагаемом к работе диске).
Таким образом, объектно-ориентированное программирование прочно
заняло
своё
место
в
качестве
эффективной
среды
обучения
13
программированию в школе. Оно позволяет лучше, чем классическое
программирование мотивировать учащихся, задействовать их интересы,
творческие начала. Результативность работы в объективно-ориентированных
средах программирования – их главное преимущество.
Разнообразие
объектно-ориентированных
сред
программирования
оставляет учителю право выбора языковой платформы и конкретной
программы для обучения, что особенно актуально в связи с разнообразием
операционных систем, используемых в школах в настоящее время.
14
Глава 3. Среда программирования Visual Basic
Visual Basic 1.0 для Microsoft Windows увидел свет ещё в 1991 году. За
основу языка был взят синтаксис QBasic, а новшеством, принесшим затем
языку огромную популярность, явился принцип связи языка и графического
интерфейса. В конце 1990-х были выпущены версии 5.0 и 6.0 программы,
считающиеся
классическими.
программирования,
Visual
сочетающий
ориентированных
и
Basic
процедуры
–
и
современный
элементы
компонентно-ориентированных
язык
объектноязыков
программирования. Среда разработки VB включает инструменты для
визуального конструирования пользовательского интерфейса. Компоненты,
предоставленные в Visual Basic, позволяют создавать приложения. В
настоящее время на смену классическому Visual Basic пришла новая среда
программирования Visual Basic .NET
Кроме
общих
достоинств,
присущих
всем
языкам
объектно-
ориентированного программирования, Visual Basic обладает ещё некоторыми
преимуществами, способствующими выбору его в качестве языка обучения
программированию школьников:
1. Сравнительная простота синтаксиса языка. Легкочитаемость и
запоминаемость программного кода;
2. Визуальный интерфейс языка достаточно прост и привычен
школьникам,
он
дает
возможность
быстро
и
легко
разрабатывать
законченные приложения;
3. Благодаря средству создания визуальных элементов, не нужно
составлять большие программы для описания размещения и способа
появления элементов интерфейса, он лишь помещает заранее созданные
объекты в соответствующие места экрана;
4. С помощью Visual Basic можно создавать приложения практически
для любой области современных компьютерных технологий: бизнес-
15
приложения, игры, мультимедиа, базы данных. Приложения могут быть как
простыми, так и очень сложными, в зависимости от поставленной задачи;
5. Привязка VB к хоть и теснимым из школы, но всё ещё имеющим в
ней большой вес разработкам Microsoft, которые в силу широкого их
распространения к тому же находят применение у широкого круга
пользователей. VBA (Visual Basic for Applications) позволяет провести
нестандартную обработку данных в электронных таблицах Excel, расширить
возможности текстового редактора Word, создавать и обрабатывать базы
данных Access. Простота и мощь Visual Basic позволили сделать его
встроенным языком для приложений Microsoft Office;
6. При создании оригинальных web-страниц и организации сервисных
возможностей Интернета также полезен VBScript.
Объектно-ориентированный подход в программировании предлагает
все, что входит в состав приложения, считать объектами, которые
взаимодействуют друг с другом и с пользователем в соответствии с
заданными в программе свойствами и поведением, выполняя необходимые
функции приложения.
Прикладная программа состоит из объектов с некоторыми свойствами
и некоторых операций, которые эти объекты могут выполнять. Текущее
состояние объекта через некоторое время может изменяться, но программа
всегда зависит от объектов.
Объекты приложения VB могут быть вполне «осязаемы» для
пользователя, например, диалоговые окна, кнопки, текстовые и графические
поля. Но кроме этого, объекты могут представлять собой категории, которые
непосредственно не являются частью пользовательского интерфейса и
которые нельзя «потрогать» курсором мыши. Например, рабочие области и
соединения.
Всем объектам, с которыми работает программист, независимо от типа
объекта, присущи стандартные свойства (характеристики, управляющие
поведением объекта) и методы (программное описание действий объекта).
16
При построении приложения программируются действия объектов или
задаются реакции этих объектов на некоторые события. Например,
описываются события при нажатии кнопки.
В VB объект – это комбинация программного кода и данных,
воспринимаемая как единица и которой можно каким-либо образом
манипулировать. Например, в текстовом поле можно выводить информацию,
менять шрифт, размер. Программно каждый объект определяется как
экземпляр класса. Класс - это шаблон или проект, из которого создают
объект.
В VB манипулировать объектами можно двумя способами: изменяя
свойства объекта или заставляя объект выполнять определенные задания.
Событие - действие или ситуация, связанная с объектом (например,
нажатие
клавиши,
загрузка
формы
в
память).
В
традиционном
программировании программа выполняется в строгой последовательности
написания программного кода. В событийно-управляемом программном коде
VB отдельные модули (группы операторов) выполняются только в ответ на
событие.
Так
как
события
могут
происходить
в
произвольной
последовательности, например, щелчок по кнопке, то путь выполнения
программы каждый раз различный.
Свойства определяют представление, поведение и другие черты
объекта. Цвет, шрифт, размер, координаты расположения - все это свойства
объекта. Методы - программные процедуры, которые выполняют некоторые
изменения с объектом. Свойства и методы образуют интерфейс объекта.
В состав среды проектирования Visual Basic включен набор следующих
основных элементов:

главное меню;

панель элементов управления;

конструктор форм;

окно проводника проекта (Project);

окно свойств (Properties);
17

окно макета формы (Form Layout);

стандартная панель инструментов (Standard)

редактор меню (Menu Editor);

окно просмотра объектов (Object Browser).
Интерфейс среды Visual Basic показан на рисунке 1.
Окно инструментария
(панель объектов)
Проводник проекта
Окно формы
Окно свойств
Окно
расположения формы
Рисунок 1. Интерфейс среды Visual Basic
В левой части расположена панель с доступными элементами
управления, с которой можно перетаскивать нужные элементы на форму. В
центре находится форма (окно) приложения. Вверху расположена панель
инструментов среды разработки. Справа расположены окна проекта (Project)
и свойств текущего объекта (Properties). Главное преимущество работы с
объектами в том, что объекты обеспечивают программный код, который уже
не требуется писать ученику. Ему просто нужно установить свойства объекта
и вызвать методы объекта, чтобы побудить объект выполнить требуемые
18
функции. Некоторые свойства можно отредактировать только в период
выполнения программы (RunTime). Многие объекты имеют одинаковые
свойства. Например, свойство Caption. У формы (Form) Caption - это
заголовок окна, а у элемента метки (Label) - это текст внутри метки.
В Visual Basic любой проект состоит из следующих файлов:

файл каждой формы (.frm) - текстовый файл, в котором записан
весь код свойств всех помещённых на форму элементов управления и самой
формы;

файл каждой формы, содержащий бинарную информацию
(например, картинку в PictureBox) (.frx);

файл проекта, содержащий информацию о проекте (.vbp).

информация о рабочей области проекта (workspace) (.vbw).
Дополнительные файлы, которые могут быть подключены к проекту:

файл каждого модуля (.bas).

файл каждого модуля классов (.cls).

файл каждого дополнительного элемента управления (.ctl)

файл ресурсов (.res)

другие файлы (.ocx, .tlb и некоторые другие)
Как показала практика работы с VB в школе, ученики спокойно
воспринимают интерфейс среды разработки, и, после необходимых
разъяснений, уверенно приступают к работе. Они довольно быстро
разбираются с ключевыми свойствами объектов. Буквально через несколько
занятий многие могут самостоятельно разбираться даже с незнакомыми
элементами управления.
Определённым подспорьем в овладении умением программировать
служит встроенная в VB технология Intellisence, благодаря которой
школьники получают «подсказки» в виде небольших всплывающих окон с
полезной информацией о текущем объекте. Такие окна бывают трёх видов:
1.
QuickInfo (рисунок 2). Выдаёт информацию о синтаксисе
текущего оператора Visual Basic. Там, где вводилось имя оператора
19
Рисунок 2. Всплывающее окно QuickInfo
(функции), сразу после поставленного за его именем пробелом или
открывающей круглой скобкой, VB незамедлительно покажет информацию о
синтаксисе этого оператора.
2.
List Properties/Methods (рисунок 3).
Это свойство облегчает работу с объектами в
Visual Basic. Если ставится точка после имени
какого-либо объекта, VB сразу же показывает
список всех доступных свойств и методов этого
объекта.
3.
Available Constants. Функция выводит
Рисунок 3. Всплывающий список
свойств и методов
окно доступных констант. Например, если ставится знак равенства после
Boolean переменной, то Visual Basic выдаст окно выбора нужного из двух
значений (True/False).
Кроме того, если нажать Ctrl+J, то VB выдаст список всех
определенных в программе свойств, методов, констант, типов, включая
встроенные в сам Visual Basic.
Разработка приложения на VB состоит из следующих этапов:
1. Идея проекта, обдумывание будущей программы (решение вопросов,
что программа должна делать, какова будет её структура, какими средствами
можно реализовать задуманное);
2. Проектирование интерфейса – помещение на форму нужных полей,
управляющих элементов, кнопок, списков и других объектов. Установка
свойств объектов (цвета, шрифты, заголовки, размеры и так далее);
3. Написание программного кода. Собственно программирование в
«чистом» виде;
20
4. Отладка программы. Этот этап довольно сложен для начинающих
изучать программирование школьников. Он требует особой внимательности
и терпения;
5. Окончательная компиляция и создание исполнимого EXE-файла.
Некоторые преподаватели с пренебрежением относятся к визуальному
программированию
по
причине
якобы
отвлечения
внимания
от
программирования
в
виде,
написания
программного
кода,
на
создание
«чистом»
интерфейса,
«дизайнерские
штучки».
Действительно, дизайн приложений
немаловажен.
получим
в
Без
него
полной
мы
не
мере
законченный проект, в своём роде
Рисунок 2. Окно ученического приложения по
математике
продукт, готовый к использованию и
не только функциональный, но и удобный и приятный пользователю с точки
зрения интерфейса. На рисунках
3-5
приведены
примеры
интерфейсов разных приложений,
подготовленных
учениками.
Видны не только использованные
управляющие
определённые
позволяющие
элементы,
черты
но
и
дизайна,
безошибочно
определить тематику проектов, и
иногда даже своеобразный стиль
разработчика.
Полученный
Рисунок 5. Окно ученического приложения по
литературе
конечный продукт, результат труда учеников позволяет ответить на главный
вопрос обучения школьников программированию – для чего собственно мы
учим программировать учеников. Не просто даём знания ради знаний, а учим
21
применять их на практике. Работоспособная программа, да ещё интересно
оформленная
–
прекрасный
стимул
обучения
программированию
стороны,
и
с
одной
определённый
показательный итог творческой
работы учащегося – с другой.
Работа над интерфейсом не
только не отвлекает от главной
задачи
–
программированию,
Рисунок 6. Окно ученического приложения по химии
побуждает
научить
но
учеников
даже
самих
проявлять инициативу в изучении и написании программных кодов,
поскольку без этого все их «красивости» дизайна будут пусты и
нефункциональны. Отталкиваясь от дизайна программы, конструирования
интерфейса, ученики, даже не обладающие задатками программистов, готовы
перейти к более сложной задаче – написанию сначала несложного
программного кода.
Наконец, не стоит забывать о психологическом комфорте учащихся.
Работа над интерфейсом, объектами, чем-то сродни обучающей игре –
элементы конструирования, оформления, раскрашивания и так далее.
Сочетать такую деятельность со сложной мыслительной работой по
созданию программного кода весьма полезно. Программирование становится
предметным, а не абстрактным занятием. Даже учащиеся, не обладающие
задатками программистов, в визуальной среде чувствуют себя комфортно.
Мы снимаем психологический барьер настороженности, обеспокоенности,
присущей многим ученикам, что программирование окажется для них
слишком сложным, и они обречены на неуспех в этом виде деятельности.
Получение
исполняемых
EXE-файлов
становится
следующим
стимулом роста ученика. Он видит практический результат своего труда,
22
может поделиться им с другими, и это приносит ни с чем не сравнимые
положительные эмоции. А это уже ситуация успеха, да ещё в сочетании с
интересом ученика, к которой так стремится любой педагог.
Таким образом, Visual Basic имеет целый ряд преимуществ для его
использования при обучении программированию: от результативности
получаемых приложений до психологического комфорта учеников.
23
Заключение
Объектно-ориентированное программирование с наилучшей стороны
зарекомендовало себя среди других систем программирования. Это
направление весьма эффективно и перспективно.
Данный вид программирования прекрасно вписывается в рамки задач
по обучению программированию в школе. Результативность работы в
объективно-ориентированных средах программирования – их отличительная
черта и главное преимущество.
Учитель свободен в выборе конкретной программы благодаря
большому
разнообразию
объектно-ориентированных
сред
программирования, реализуемых на различных языковых платформах и на
разных операционных системах.
Примером
удачной
интеграции
в
учебный
процесс
является
объективно-ориентированная визуальная среда программирования Visual
Basic. Её основные преимущества:
- сравнительная простота и понятность;
- замена за счёт визуализации абстрактной формы программирования
абстрактно-предметной, что важно именно для школьников;
-
результативность,
обусловленная
возможностью
подготовки
работоспособных приложений;
- психологический комфорт для обучающихся, имеющих разную
степень подготовленности и заинтересованности;
- возможность использования среды в качестве инструмента для
реализации самых разнообразных направлений творчества школьников.
Подводя итоги, можно отметить, что цель данной работы – показать
значение
объектно-ориентированного
программирования
на
уроках
информатики – достигнута.
Решены поставленные в работе задачи:
24
-
раскрыты
теоретические
основы
объектно-ориентированного
программирования;
-
показаны
преимущества
объектно-ориентированного
программирования перед классическим (процедурным) программированием;
- представлена среда программирования Visual Basic;
- разработаны и представлены в «Приложении 1» практические задания
с примерами по программированию в среде Visual Basic (на прилагаемом к
работе диске размещены «исходники» и исполнимые файлы);
- представлены в «Приложении 2» примеры работ учеников, созданных
в среде программирования Visual Basic (на прилагаемом к работе диске также
размещены их «исходники» и исполнимые файлы).
Практическая значимость работы состоит в том, что полученные
наработки можно использовать при обучении программированию на уроках
информатики в школе.
25
Список используемой литературы и источников
1.
Кушниренко А. Г., Лебедев Г. В., Сворень Р. А. Основы
информатики и вычислительной техники: учебное пособие для 10-11-х
классов общеобразовательных учреждений. – М., Просвещение, 1991.
2.
Сафронов И. К. Visual Basic в задачах и примерах. – С-Пб., БХВ-
Петербург, 2008.
3.
Угринович Н. Д. Информатика и ИКТ: учебник для 9 класса. –
М., БИНОМ. Лаборатория знаний, 2011.
4.
Хальворсон М. Microsoft Visual Basic 6.0 для профессионалов.
Шаг за шагом. – М., ЭКОМ, 2001.
5.
Батищев П.С. Основы программирования на Visual Basic 6.0.
Электронный
учебник.
[Электронный
ресурс].
URL:
http://psbatishev.narod.ru/vb/v000.htm
6.
Справочники и форумы о Visual Basic, .NET, ASP, VBScript
[Электронный ресурс]. URL: http://vbnet.ru/
26
Приложение 1. Разработки заданий по программированию на начальном
уровне в среде Visual Basic
Уроки 1-2. А) Знакомство с программой
1. Открыть VB через панель инструментов, выбрать
Рисунок 1
Standart.EXE (рис. 1)
При открытии появится панель с формой
(рис. 2). Это и есть наше поле (окно), с которым
мы будем работать.
2. Справа и слева должны быть открыты две
инструментальные
панели (рис. 3)
Если
открыты,
они
не
Рисунок 2
откройте
их, воспользовавшись пиктограммами
,
.
3. Выберите на панели «Параметры»
Свойство «Сaption» - оно обозначает заголовок
формы, и измените название на следующее:
«Моя первая программа»
4. Выберите там же свойство «Icon» иконка
Рисунок 3
5.
Выберите
на
там
, нажмите
, выберите и вставьте нужную иконку.
же
свойство
, при нажатии на
появится
панель с цветами (рис. 4), на которой
выберите нужный цвет панели, если вас не устраивают
все эти цвета, щелкните правой клавишей по белому
цвету внизу и выберите нужный для себя цвет.
Рисунок 4
27
6. Выберите свойство «Border Stile»:
0- вид плоская форма; 1- неизменяемая по
величине форма; 2- изменяемая форма
Итак, наша первая форма готова. Нажмите на пиктограмму
и
просмотрите ее рабочий вид.
Б) Вывод текстов на метку
1.
который
Выберите
инструмент
,
называется “Label”- метка,
нарисуйте прямоугольник.
2. Выберите
свойство метки
«Сaption» и задайте свою надпись, например, «Я ученик лицея 23»
3. Выберите свойство «Border
Stile» 1 (0- плоская рамка, 1- 3D рамка)
4. Свойством
можете выбрать цвет фона
надписи.
5.
Свойствами
можете
задать
тип
шрифта и его размер (Font), а также цвет шрифта (ForeColor)
6. Свойством «Aligment» задайте выравнивание: 0- по левому краю; 1по правому; 2-по центру
В) Вывод текстов в текстовое поле
1. Выберите инструмент
он называется «TextBox» и предназначен
в отличие от инструмента “Label” для ввода и
вывода текста. Нарисуйте прямоугольник.
2. Измените следующие свойства:
28
можете выбрать цвет фона.
a)
плоский, или объемный вид
b)
цвет и размер шрифта.
c)
d)
Свойство «Aligment» - выравнивание.
e)
Свойство «Text» - позволяет задавать надпись.
3.
Создайте сами надпись
красного
цвета на желтом фоне: «Я ученик лицея 23»
Задание для самостоятельной работы
Используя
графический
редактор,
попробуйте сами
оформить
работу, как в приведенном ниже рисунке.
Урок 3. Линейный алгоритм
1. Составим алгоритм по следующей схеме:
алг альфа (арг вещ а,б, рез вещ с)
нач
с:=а+б
кон
Для этого создадим форму с полями и кнопкой. Поля Label1, Label2,
Label3 для надписей «Число 1», «Число 2», «Результат»
29
Поля Text1 и
Text2
для
ввода чисел.
Надпись на кнопке
должна
быть «Сложить» - это свойство –
Caption.
Поля Text1 и Text2 должны
быть без надписей
2. Теперь запрограммируем
кнопку. Откроем её двойным кликом. Появится поле:
Private Sub Command1_Click()
End Sub
Оно
после
программирования
примет вид:
Private Sub Command1_Click()
A = Val(Text1.Text)
B = Val(Text2.Text)
C=A+B
Label4.Caption = C
End Sub
3. Самостоятельно получите программу, считающую сумму, разность,
произведение, квадратный и кубический корни, квадрат, куб числа.
4. Рассмотрим еще один пример – простейший калькулятор.
При нажатии клавиши С все поля должны очиститься. Это
программируется так:
Private Sub Command5_Click()
Text1.Text= “”
Text2.Text= “”
Label4.Caption = “”
End Sub
30
Задание для самостоятельной работы
Самостоятельно составьте программу, вычисляющую следующую
величину:
1. с 
аб
2.
с
3.
с  (а  б ) 2
аб
а б
4. с  а  б
5. с  а 2  б 2
Урок 4. Конструкция «Если»
1 Составить программу в соответствии с алгоритмом:
алг альфа
нач вещ а,б
вывод “введите число ” ; ввод а
вывод нс
если а < 0 то
б:=а*а
иначе б:=sqrt(а)
все
вывод б
кон
Программируем кнопку:
Private Sub Command1_Click()
A = Val(Text1.Text)
If A < 0 Then
Label2.Caption = A * A
Else: Label2.Caption = Sqr(A)
End If
31
End Sub
2.
Составим
программу,
которая
при
вводе вашего
возраста
приветствует Вас фразой «Привет друг», если ваш возраст меньше 18 лет, и
выдает
ответ
«Не
знаю
тебя»
в
противном случае.
Private Sub Command1_Click()
A = Val(Text1.Text)
If A < 18 Then
Label2.Caption = "Привет друг"
Else: Label2.Caption = "Не знаю тебя"
End If
End Sub
Задание для самостоятельной работы
Составьте программу для решения следующих задач:
2 x x  0
4 x иначе
1. Y  
x  1 x  5
 x  1 иначе
2. Y  
 x 2 x  0
3. Y   3
 x иначе
x
4. Y   2 x  4
4 x иначе
5.
Составьте программу, вычисляющую квадратный корень из
числа, если оно положительное, и выдающую сообщение, что число
отрицательное, в случае введения отрицательного числа.
6.
Составьте программу, делящую число А на В, но если В=0,
должно последовать сообщение о невозможности делить на 0
Домашнее задание. Продумать и составить программу решения
квадратного уравнения.
Урок 5. Конструкция «Выбор»
32
1.
Рассмотрим алгоритм урока с конструкцией «Выбор»
алг выбери
нач цел а
вывод «ваш возраст»
ввод а
выбор
при а<=14 :
вывод «привет»
при а <=18 :
вывод «ну и ну»
иначе
вывод «Старик!!!)))»
все
кон
Для его реализации создадим форму и запрограммируем кнопку
«Анализ возраста»
Private Sub Command1_Click()
A = Val(Text1.Text)
Select Case A
Case Is <= 14
Label2.Caption = "Привет"
Case Is <= 18
Label2.Caption = "Ну и ну"
Case Else
Label2.Caption = "Старик!!!)))"
End Select
End Sub
Задание для самостоятельной работы:
Самостоятельно подготовьте программу по алгоритму
алг гороскоп (арг цел - год)
33
нач
выбор
при mod(год,12)=0:вывод «Год Обезьяны»
при mod(год,12)=1:вывод «Год Петуха»
при mod(год,12)=2:вывод «Год Собаки»
при mod(год,12)=3:вывод «Год Свиньи»
при mod(год,12)=4:вывод «Год Крысы»
при mod(год,12)=5:вывод «Год Коровы»
при mod(год,12)=6:вывод «Год Тигра»
при mod(год,12)=7:вывод «Год Зайца»
при mod(год,12)=8:вывод «Год Дракона»
при mod(год,12)=9:вывод «Год Змеи»
при mod(год,12)=10:вывод «Год Лошади»
при mod(год,12)=11:вывод «Год Овцы»
кон
Урок 6. Цикл «Для»
1. Составим программу, печатающую на форме ряд чисел 1,2,3….10.
Программирование кнопки имеет вид:
Private Sub Command1_Click()
For A = 1 To 10 Step 1
Form1.Print A
Next A
End Sub
Измените Print A на Print A;
Получите горизонтальный ряд
2. Получим ряд значений корней
Программа имеет вид:
Private Sub Command1_Click()
For A = 1 To 10 Step 1
34
Form1.Print "Корень из "; A; "="; Sqr(A)
Next A
End Sub
Если
замените
на
Sqr(A)
Round(Sqr(A),2) то получите тот же ряд,
но с округлением до 2 чисел после
запятой. Проделайте это.
3.
Составим
программу,
находящую
сумму
числового
ряда
(арифметической прогрессии) с вводимыми первым, последним числами и
шагом прогрессии.
Private Sub Command1_Click()
A = Val(Text1.Text)
B = Val(Text2.Text)
C = Val(Text3.Text)
S=0
For T = A To B Step C
S=S+T
Next T
Text4.Text = S
End Sub
Задание для самостоятельной
работы:
1.
Составьте программы,
результатами которой будут ряды:
Урок 7. Циклы с пред- и постусловием
1. Рассмотрим пример цикла с предусловием: например, получим
числовой ряд от 1 до 10 с шагом 1 (как в предыдущем уроке). Программа
имеет следующий вид:
35
Private Sub Command1_Click()
A=1
Do While A <= 10
Form1.Print A
A=A+1
Loop
End Sub
2. Рассмотрим пример цикла с постусловием
Программа имеет следующий вид:
Private Sub Command1_Click()
A=1
Do
Form1.Print "Корень из "; A; "=";
Sqr(A)
A=A+1
Loop While A <= 10
End Sub
Задание для самостоятельной
работы:
Самостоятельно
составьте
программы с циклами (первым
и
вторым способами)
Урок 8. Генератор случайных чисел
1. Числовой ряд из 10 чисел задается генератором случайных целых
чисел в диапазоне от 1 до 10. Вывести эти числа на форму и найти их сумму.
Программирование 2 кнопок имеет вид:
Private Sub Command1_Click()
S=0
36
For T = 1 To 10 Step 1
R = Int (Rnd * (10) + 1)
Form1.Print R
S=S+R
Next T
Label2.Caption = S
End Sub
Private Sub Command2_Click()
Form1.Cls
Label2.Caption = ""
End Sub
2. Числовой ряд из 10 чисел задается генератором случайных целых
чисел в диапазоне от 1 до 20. Вывести эти числа на форму, найти их сумму и
количество цифр меньше или равных введенному условию. Программа имеет
вид:
Для кнопки «Очистить»
Private Sub Command2_Click()
Form1.Cls
Label2.Caption = ""
Label5.Caption = ""
Text1.Text = ""
End Sub
Для кнопки «Получить ряд»:
Private Sub Command1_Click()
A = Val(Text1.Text)
K=0
S=0
For T = 1 To 10 Step 1
R = Int(Rnd * (20) + 1)
If R <= A Then
37
K=K+1
End If
Form1.Print R
S=S+R
Next T
Label2.Caption = S
Label5.Caption = K
End Sub
Задания для самостоятельной работы:
a)
Сколько в той же последовательности <10
b)
Сколько в той же последовательности чисел =7
c)
Сколько в той же последовательности четных чисел
d)
Сколько в той же последовательности нечетных чисел
e)
Найти сумму всех чисел
f)
Найти сумму всех четных чисел
g)
Найти и указать, из каких чисел нацело вычисляется квадратный
корень
h)
Найти на сколько отличается сумма четных чисел от нечетных
Урок 9. Числовые массивы
1. Открыть VB
2.
Создать
форму
для
заполнения массива
Программирование кнопок
Private
Sub
Command1_Click()
Dim A(1 To 10) As
Integer
For T = 1 To 10
A(T) = Int (Rnd * 10 + 1)
38
Next T
For N = 1 To 10
Form1.Print A(N)
Next N
End Sub
Private Sub Command2_Click()
Form1.Cls
End Sub
3. Проверьте несколько раз
и посмотрите результат в таблице на
форме.
4. Следующий пример: Найти сколько четных элементов в массиве,
результат вывести в отдельное окно.
Программирование кнопок
Private Sub Command1_Click()
Dim A(1 To 10) As Integer
For T = 1 To 10
A(T) = Int(Rnd * 10 + 1)
Next T
K=0
For N = 1 To 10
Form1.Print A(N)
If Int(A(N) / 2) = A(N) / 2 Then
K=K+1
End If
Next N
Text1.Text = K
End Sub
Private Sub Command2_Click()
Form1.Cls
39
Text1.Text = ""
End Sub
Задачи для самостоятельного решения: результат вывести в
отдельное окно.
1.
Найти сколько элементов меньше 6 в массиве.
2.
Найти сколько нечетных элементов в массиве
3.
Найти сколько элементов делится нацело на 3
4.
Найти сумму четных элементов массива
5.
Найти сумму нечетных элементов массива
6.
Найти сумму всех элементов массива
7.
Найти насколько сумма четных элементов отличается от суммы
нечетных элементов
8.
Найти из скольких элементов массива нацело вычисляется
квадратный корень
Урок 10. Скроллеры
1. Составим программу, суммирующую 2 числа, со вводом чисел
через скроллеры. Диапазон ввода чисел от 1 до 10. Скроллеры
вставляются с использованием пиктограмм для вертикального
и
горизонтального
скроллера.
Они
отличаются
только
расположением.
На форме расположите 2 скроллера VScroll1, VScroll2 и задайте их
свойства:
. Не удивляйтесь, Max - это нижняя позиция,
Min – верхняя. Начальную
позицию
задайте равной 1.
Изобразите другие поля и кнопку с надписью.
2.
Двойной клик на форме и наберите программу начальной
загрузки формы
Private Sub Form_Load()
Label2.Caption = 1
40
Label3.Caption = 1
End Sub
Щелкните по первому скроллеру и запрограммируйте его
3.
Private Sub VScroll1_Change()
Label2.Caption = VScroll1.Value
End Sub
Аналогично поступите со вторым скроллером
Private Sub VScroll2_Change()
Label3.Caption = VScroll2.Value
End Sub
4.
Запрограммируйте кнопку
Private Sub Command1_Click()
A = VScroll1.Value
B = VScroll2.Value
C=A+B
Label1.Caption = C
End Sub
Задания для самостоятельной работы
1. Составьте программу для вычисления корней
из чисел от 1 до 20. Результат должен быть округлен
до 2 цифр после запятой.
2. Составьте программу,
для
вычисления
значений
углов от
20 до 30
синусов
градусов.
3.
Задание
аналогично
заданию 1, но
выполните без кнопки, т.е. программировать надо сам
скроллер
(подсказка: используйте при программировании скроллера следующее:
C = VScroll1.Value)
41
Урок 11. Переключатели и «флажки»
1. Составим программу, аналогичную программе 1 из урока 5. Суть
её такова: при возрасте до 14 лет – реакция «Привет», от 14 до 18 – реакция
«Ну и ну», после 18 «Старик!!!))»
2. Программирование кнопки с конструкцией «Если» имеет вид:
Private Sub Command1_Click()
If Option1.Value = True Then
Label2.Caption = "Привет!!!"
ElseIf Option2.Value = True Then
Label2.Caption = "Ну и ну"
Else:
Label2.Caption
=
"Старик!!!)))"
End If
End Sub
3. Самостоятельно видоизмените программу так, чтобы она работала
без кнопки «Принять» (ответ появлялся сразу после выбора опции
(переключателя)).
4. Составим программу, показывающую текст и убирающую текст
при включении, выключении
«флажка».
В
простейшем
варианте
программа выглядит так:
Private Sub Check1_Click()
If Label1.Caption = "" Then
Label1.Caption = "Привет всем!!!"
Else: Label1.Caption = ""
End If
End Sub
5. Рассмотрим другую программу, включающую и выключающую
видимость картинки
42
Пиктограммой
нарисуйте
графическое поле и задайте его свойства:
В свойстве Picture
выберите
картинку
для
вставки,
свойство
Stretch
(вписать
картинку
точно
рамку)
поставьте
True,
в
и
поставьте границы объекта:
Вид программы :
Private Sub Check1_Click()
If Image1.Visible = True Then
Image1.Visible = False
Else
Image1.Visible = True
End If
End Sub
Задания для самостоятельной работы (задания 1-3 – проекты с
переключателями, задание 4 – с «флажками»)
1.
Составьте
программу
–
тригонометрический
калькулятор,
вычисляющий синусы, косинусы, тангенсы и котангенсы.
2.
Составьте программу – степенной калькулятор, вычисляющий 2,
3, 4, 5 степень числа.
3.
Составьте программу – калькулятор корней, вычисляющий корни
различных степеней.
4.
Видоизмените из пункта 5 урока программу так, чтобы при
включении кнопки картинка менялась на другую.
Урок 12. Списки ListBox и ComboBox
43
1. Составим программу – англо-русский словарь (для начала из 5 слов).
Для этого пиктограммой
нарисуйте поле «список». Двойным щелчком
откройте поле формы и запрограммируйте параметры загрузки:
Private Sub Form_Load()
List1.AddItem "Доброе утро"
List1.AddItem "Дом"
List1.AddItem "Школа"
List1.AddItem "День"
List1.AddItem "Дерево"
End Sub
Далее запрограммируйте кнопку:
Private Sub Command1_Click()
Select Case List1.ListIndex
Case 0
Label1.Caption = "Good Morning"
Case 1
Label1.Caption = "House"
Case 2
Label1.Caption = "School"
Case 3
Label1.Caption = "Day"
Case 4
Label1.Caption = "Tree"
End Select
End Sub
Задание: видоизмените программу таким образом, чтобы она работала
без кнопки.
44
2. Составим программу с использованием раскрывающегося списка
(пиктограмма
ComboBox). Программа будет переводить в метры
другие меры длины.
Определим три переменные:
Dim A, B, C As Single
Параметры начальной загрузки формы:
Private Sub Form_Load()
Combo1.AddItem "мили"
Combo1.AddItem "дюймы"
Combo1.AddItem "сантиметры"
Combo1.AddItem "дециметры"
A = 1854
End Sub
Программируем кнопку:
Private Sub Command1_Click()
B = Val(Text1.Text)
C=A*B
Label3.Caption = C
End Sub
Программируем ComboBox.
Private Sub Combo1_Click()
Select Case Combo1.ListIndex
Case 0
Label1.Caption = "мили"
A = 1854
Case 1
Label1.Caption = "дюймы"
A = 0.0245
Case 2
45
Label1.Caption = "сантиметры"
A = 0.01
Case 3
Label1.Caption = "дециметры"
A = 0.1
End Select
End Sub
Задание: видоизмените программу таким образом, чтобы она работала
без кнопки.
Задание для самостоятельной работы
Составьте программу, переводящую в килограммы основные меры
массы если: Тонна=1000 кг, пуд = 16 кг, грамм=0,001 кг фунт=0,456 кг
Урок 13. Диалоговые окна InputBox и MsgBox
1. Составим программу, выдающую при нажатии кнопки сообщение об
авторе в виде появляющейся панели. После нажатия ОК это окно должно
закрываться. Программа имеет следующий вид:
Private Sub Command1_Click()
MsgBox "Прогу создал Иванов 9 А", 64,
"Об авторе"
End Sub
Цифры
после
запятой
имеют
следующий смысл:
64 -
информационное сообщение
48 -
предупреждение
32 -
вопрос пользователю
16 -
критическое предупреждение
46
2.
Составим
критическое
программу,
предупреждение
выдающую
«На
0
делить
нельзя», если введенный знаменатель равен нулю,
и производящую деление в противном случае.
Программирование кнопки имеет вид:
Private Sub Command1_Click()
A = Val(Text1.Text)
B = Val(Text2.Text)
If B = 0 Then
MsgBox "На
0
делить нельзя", 48,
"Предупреждение"
Text2.Text = ""
Text3.Text = ""
Else
Text3.Text = Round(A / B, 2)
End If
End Sub
3.
Составим
программу,
приглашающую ввести вашу фамилию
при нажатии кнопки, и печатающую её
в метке.
Программирование кнопки имеет
следующий вид:
Private Sub Command1_Click()
A = InputBox("Введите ваше
имя", "Поле записи")
Label2.Caption = A
End Sub
4.
Составим
программу,
47
переводящую градусы из шкалы по Кельвину в
градусы по Цельсию, если соотношение между
ними определяется формулой:
K = t + 273 (где
K – кельвины, t – градусы Цельсия). Программа
имеет следующий вид:
Private Sub Command1_Click()
A = InputBox("Введите Кельвины", "Поле
ввода")
Label2.Caption = Val(A)
T = A + 273
Label4.Caption = T
End Sub
Задания для самостоятельной работы
1. Составьте программу, вычисляющую квадратный корень из числа
(запрос через InputBox), выдающую сообщение о неправильном вводе (через
MsgBox), если число отрицательное.
2. Составьте программу, переводящую км/ч в м/с (запрос через
InputBox) , если 1 км/ч=1000/3600 м/с
3. Составьте программу, переводящую мили в км (запрос через
InputBox), если 1 миля = 1,854 км
Урок 14. Создание выпадающего меню.
1. Рассмотрите в
папке
«К
программу.
15
уроку»
Заполните
поля «Число 1», «Число
2» числами, войдите в
меню «арифметика», выберите любое действие (в примере – деление)
48
При выборе пункта меню «Информация»,
при
нажатии
пункта
«автор»
появляется
информация об авторе
2. Приступим к созданию выпадающего
меню. Откройте новый проект Вижуал Бейсика,
оформите все вспомогательные объекты (поля
ввода, вывода, кнопку). Далее: войдите в пункт
меню «Инструменты – Редактор Меню»
Появится панель,
которую необходимо
правильно заполнить.
Видим,
что у нас 2
уровня:
«Информация»
«Арифметика»,
пункта меню
1
и
содержащие пункты
второго уровня. Создадим их:
А) Заполните пункт «Заголовок»
словом «информация» , пункт «Имя»
словом «инф» (это имя кнопки в
программе)
Б) Переведите курсор ниже синей
линии
и
нажмите
(должны
появиться 3 точки) и введите в пункт
«Заголовок» слово «автор» в пункт
«Имя» - слово «авт».
В) Снова
переведите курсор
ниже пункта «автор» и наберите слово
«арифметика». Это заголовок второго
пункта меню. Снова переведите курсор
ниже, и нажав
наберите пункты
«сложение», «вычитание». Видно, что
49
между пунктами меню имеется полоса.
Создадим ее. Вместо заголовка
введите знак «-», вместо имени введите «любой текст» (программировать
данный пункт всё равно не будем – название не имеет значения)
3. Теперь запрограммируем пункты меню. Нажмите на пункте «автор»
и запрограммируйте его:
Private Sub ав_Click()
MsgBox "Лицей 23", 64, "Иванов"
End Sub
Пункты математических действий запрограммируйте самостоятельно
Кнопка «Очистка»
Private Sub Command1_Click()
Text1.Text = ""
Text2.Text = ""
Label1.Caption = ""
End Sub
Проверьте работоспособность вашей программы. Самостоятельно
дополните программу математическими функциями по своему усмотрению.
Урок 15. Простейший экзаменатор.
1. Создадим простейшую программу – экзаменатор по географии,
задающую 5 вопросов о столицах стран, и выставляющую оценку. При
нажатии кнопки начинают появляться вопросы. При завершении теста
выставляется оценка и кнопка исчезает.
Рассмотрим программу. Зададим все переменные:
Dim A(1 To 5), B(1 To 5), V As String, T As Byte
A(1 To 5) – массив вопросов
B(1 To 5) – массив ответов
V- вводимый ответ
T- счетчик правильных ответов
Начальная загрузка формы – в ней заполняются массивы.
50
Private Sub Form_Load()
Command1.Caption = "Начать"
A(1) = "Столица Англии"
A(2) = "Столица Италии"
A(3) = "Столица Франции"
A(4) = "Столица России"
A(5) = "Столица Сша"
B(1) = "Лондон"
B(2) = "Рим"
B(3) = "Париж"
B(4) = "Москва"
B(5) = "Вашингтон"
T=0
End Sub
Программирование кнопки.
Private Sub Command1_Click()
For I = 1 To 5
V = InputBox(A(I), "Вопрос № " & I)
If V = B(I) Then
T=T+1
End If
Next I
Label1.Caption = "Оценка"
If T < 2 Then
T=2
End If
Label3.Caption = T
Command1.Visible = False
End Sub
Задание для самостоятельной работы
51
Составьте программу, задающую 10 вопросов, и ставящую оценку 5 за
9-10 правильных ответов, 4 - за 7-8 правильных ответов, 3 - за 5-6
правильных ответов, в остальных случаях ставится оценка 2
Урок 16. Простейшая графика.
1. Рассмотрим операторы простейшей графики. Нарисуйте на форме
графическое поле, используя пиктограмму
Это поле «PictureBox».
Задайте свойство BackColor - белый.
2. Зададим систему координат, в которой будем строить графические
объекты. Для этого запрограммируйте
систему
координат
при
загрузке
формы:
Private Sub Form_Load()
Picture1.Scale (-10, 10)-(10, -10)
End Sub
Это означает,
что в поле мы
задали систему координат, но
она
никак не отражена на графическом поле. Просто пользователь должен знать,
что за пределы данных координат он никак не выйдет.
3.
Составим
программу,
которая будет строить
точки
красного цвета, заданной толщины
в этом поле. Для этого добавьте на
форму
кнопку
для
построения
точки, поля ввода координат Х, У,
и толщины. В программировании будем использовать оператор «Pset»
4. Программа кнопки «Построить» имеет вид:
Private Sub Command1_Click()
X = Val(Text1.Text)
52
Y = Val(Text2.Text)
R = Val(Text3.Text)
Picture1.DrawWidth = R
Picture1.PSet (X, Y), vbRed
End Sub
Помни!
Цвета
задаются
указанием кода цвета или напрямую для основных цветов:
vbBlack-черный
vbRed – красный
vbGreen – зеленый
vbYellow –желтый
vbBlue - синий
vbMagenta – cиреневый
vbCyan – голубой
vbWhite - белый
5. Составим программу построения окружностей с центром в точке
Х,У,
радиуса
R,
зеленого
цвета.
Программа имеет вид:
Private Sub Command1_Click()
X = Val(Text1.Text)
Y = Val(Text2.Text)
R = Val(Text3.Text)
Picture1.DrawWidth = R
Picture1.Circle (X, Y), R, vbGreen
End Sub
6. Составим программу, строящую линию, по точкам Х1,Y1, Х2,Y2,
синего цвета. Программа имеет следующий вид:
Private Sub Command1_Click()
X1 = Val(Text1.Text)
Y1 = Val(Text2.Text)
53
R = Val(Text3.Text)
X2 = Val(Text4.Text)
Y2 = Val(Text5.Text)
Picture1.DrawWidth = R
Picture1.Line (X1, Y1)-(X2, Y2),
vbBlue
End Sub
Урок 17. Построение графиков.
1. Построим график функции Y=AX2+BX+C
Загрузка – стандартная:
Private Sub Form_Load()
Picture1.Scale (-10, 10)-(10, -10)
End Sub
Кнопка «Оси»
Private Sub Command1_Click()
Picture1.DrawWidth = 1
Picture1.Line (-10, 0)-(10, 0)
Picture1.Line (0, -10)-(0, 10)
Picture1.Line (10, 0)-(9.5, -0.5)
Picture1.Line (10, 0)-(9.5, 0.5)
Picture1.Line (0, 10)-(0.5, 9.5)
Picture1.Line (0, 10)-(-0.5, 9.5)
For T = -9 To 9
Picture1.Line (T, -0.3)-(T, 0.3)
Picture1.Line (-0.2, T)-(0.3, T)
Next T
End Sub
Кнопка «Построить»
Private Sub Command2_Click()
54
A = Val(Text1.Text)
B = Val(Text2.Text)
C = Val(Text3.Text)
Picture1.DrawWidth = 2
For X = -10 To 10 Step 0.01
Picture1.PSet (X, A * X ^ 2 + B * X + C), vbRed
Next X
End Sub
Кнопка «Очистить»
Private Sub Command3_Click()
Picture1.Cls
Picture1.DrawWidth = 1
Picture1.Line (-10, 0)-(10, 0)
Picture1.Line (0, -10)-(0, 10)
Picture1.Line (10, 0)-(9.5, -0.5)
Picture1.Line (10, 0)-(9.5, 0.5)
Picture1.Line (0, 10)-(0.5, 9.5)
Picture1.Line (0, 10)-(-0.5, 9.5)
For T = -9 To 9
Picture1.Line (T, -0.3)-(T, 0.3)
Picture1.Line (-0.2, T)-(0.3, T)
Next T
End Sub
Задание для самостоятельной работы
Составьте программу для построения графика
1. Y=ASin(BX)
55
2. Y=ATg(X)
Урок 18. Создание энциклопедий.
1. Для создания энциклопедии в папке «Мои документы» создайте
папку «Энциклопедия», в ней папку «фото». Программу будем сохранять в
папке «Энциклопедия», фотографии в папке «Фото». Задайте на форме 3
поля: “ImageBox”, “ListBox”, “Label”
2. Заполните папку «фото» картинками (в нашем примере это картинки
Подлодка.bmp, Стрельба.bmp, 2 авианосца.bmp)
56
3. Приступаем к программированию: Заполним поле “ListBox” – оно
заполняется при загрузке формы.
Private Sub Form_Load()
List1.AddItem "подлодка"
List1.AddItem "2 авианосца"
List1.AddItem "стрельба"
End Sub
4.
Запрограммируем
сам
список “ListBox”:
Private Sub List1_Click()
Select Case List1.ListIndex
Case 0
Label1.Caption = "Подводная лодка всплывает"
Image1.Picture = LoadPicture(App.Path & "\фото\Подлодка.bmp")
Case 1
Label1.Caption = "Линкор ведет стрельбу по врагу"
Image1.Picture = LoadPicture(App.Path & "\фото\Стрельба.bmp")
Case 1
Case 2
Label1.Caption = "Два авианосца выполняют боевое задание"
Image1.Picture = LoadPicture(App.Path & "\фото\2 авианосца.bmp")
End Select
End Sub
5. И последнее. Чтобы в момент загрузки на форме была и картинка и
текст в части Form_Load добавьте:
Private Sub Form_Load()
List1.AddItem "подлодка"
List1.AddItem "2 авианосца"
List1.AddItem "стрельба"
Image1.Picture = LoadPicture(App.Path & "\фото\Подлодка.bmp")
57
Label1.Caption = "Подводная лодка всплывает"
End Sub
Урок 19. Таймеры.
1. Поместите на поле 2 объекта: поле “Label” и элемент
- он
называется «Timer». Он при выполнении программы не виден. Задайте ему
свойства «Interval» = 1000 (1cек) и “Enabled”=True (включен).
Запрограммируем наши часы: (Timer)
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub
2. Замените строку программы на :
Label1.Caption = Now
3. Замените последнее на
Label1.Caption = Date
4. Замените последнее на
Label1.Caption = Day(Date)
5. Замените последнее на:
Label1.Caption = Hour(Time)
6. Замените последнее на:
Label1.Caption = Second(Time)
7. Научимся включать и выключать таймеры. Первая программа будет
печатать на форме числа от 1 до 10 с интервалом в 1 секунду. Создайте
форму с кнопкой и таймером, свойства таймера задайте: интервал 1000,
таймер выключен. При нажатии кнопки он должен включиться, а
выключиться, когда будет напечатан ряд чисел от 1 до 10.
Программируем начальную загрузку:
Dim A As Integer
Private Sub Form_Load()
58
Timer1.Enabled = False
A=1
End Sub
Программируем кнопку, включающую таймер:
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Программируем таймер:
Private Sub Timer1_Timer()
Form1.Print A
A=A+1
If A = 11 Then
Timer1.Enabled = False
End If
End Sub
8. Создадим программу, которая в течении 15 секунд предоставляет
возможность ввести пароль. Если ввели неправильно, или опоздали по
времени, появляются сообщения об этом. Создадим форму. Для текстового
поля установите свойство
. Это значит, что все символы будут
вводиться в виде * (пароль закрыт от просмотра)
Введите для формы свойство начальной загрузки:
Private Sub Form_Load()
Timer1.Enabled = True
End Sub
Для
свойство:
таймера
установите
- 15 секунд.
Запрограммируем таймер, чтобы по истечении 15 секунд последовало
сообщение «Ваше время истекло» и программа закрылась
Private Sub Timer1_Timer()
MsgBox "Ваше время истекло"
59
End
End Sub
Запрограммируем
на
вывод
сообщения
о
неправильном
или
правильном ответе (пароль – слово «Париж»)
Private Sub Command1_Click()
A = Text1.Text
If A = "Париж" Then
Timer1.Enabled = False
MsgBox "Вы угадали"
Else: Text1.Text = ""
Text1.SetFocus
End If
End Sub
Урок 20. Рисование мышью на форме.
1. Составим программу, оставляющую за собой след красного цвета,
толщиной 3 пункта.
Загрузка формы имеет вид:
Private Sub Form_Load()
Form1.DrawWidth = 3
End Sub
Сама программа имеет вид:
Private
Sub
Form_MouseMove
(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then 'при нажатой л.к.м.
Form1.PSet (X, Y), vbRed
End If
End Sub
2. Программа имеет минус: при быстром проведении между точками
остается пространство. Ликвидируем этот недостаток.
60
Объявим переменную: Dim T As Boolean
Она логическая принимает значения «True» или «False»
Программируем нажатие ЛКМ
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
T = True
CurrentX = X
CurrentY = Y
End Sub
Из последнего видим, что машина запоминает текущие координаты
мышки!
Начальная загрузка имеет вид:
Private Sub Form_Load()
Form1.DrawWidth = 2
End Sub
Программируем движение мышки при нажатой ЛКМ:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If T Then
Line -(X, Y), vbRed
End If
End Sub
Программируем, что будет при отпущенной ЛКМ.
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As
Single, Y As Single)
T = False
End Sub
Задание для самостоятельной работы
Измените ту же программу так, чтобы в ней можно было менять цвет и
толщину линий, а также стирать.
61
Урок 21. Строковые переменные.
1. Создадим программу, осуществляющую вырезки из строковых
переменных
Из примера видно, что из слова «Ставрополь» вырезан
фрагмент
начиная со 2 символа, включает 4 символа:
2. Рассмотрим эту программу:
Объявим переменные:
Dim Tx1, Tx2 As String, A, B As Byte
Tx1- считываемая переменная
Tx2- вырезка
A, B – символы в вырезке.
Кнопка «Вырезать»
Private Sub Command1_Click()
Tx1 = Text1.Text
A = Val(Text2.Text)
B = Val(Text3.Text)
Tx2 = Mid(Tx1, A, B)
Text4.Text = Tx2
End Sub
Кнопка «Очистить»
Private Sub Command2_Click()
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Задание для самостоятельной
работы:
Создайте
программу
«Перевертыш», печатающую введенное слово наоборот
(Подсказка:
используйте функцию Len и цикл)
62
3. Создадим эффект бегущей строки.
Разместите на форме таймер, начальные значения которого :
Программа имеет вид:
Dim A As String, T As Byte
Private Sub Command1_Click()
A = "ставрополь "
T=1
Timer1.Enabled = True
End Sub
Таймер
Private Sub Timer1_Timer()
Text1.Text = Mid(A, 1, T)
If T > Len(A) Then
Timer1.Enabled = False
End If
T=T+1
End Sub
Текстовое поле необходимо вначале выровнять (Aligment) по правому
краю
Задание. Продумайте, как создать бегущую строку слева направо.
Урок 22. Программирование простейших игр.
63
1. Создадим игру, в которой
компьютер «загадывает» число
(генерирует случайным образом) от 1 до 20 и предлагает вам угадать его. В
случае, если вы ввели число большее, меньшее или равное задуманному –
программа выдает сообщения об этом. Необходимо отгадать задуманное
число за наименьшее число попыток
Первым
делом
внедрим
стандартным способом внешний модуль
для переменных:
Public R, A As Byte
где R – задуманное число, A счетчик попыток
2. Организуем начальную загрузку формы:
Private Sub Form_Load()
‘Загадывание числа R машиной
Randomize Timer
R = Int(Rnd * 20 + 1)
A=1
End Sub
3. Программируем кнопку «Ввести число»
Private Sub Command1_Click()
'Cчетчик числа попыток
B = Val(Text1.Text) 'Считывание
числа
If B = R Then
Label4.Caption = "Вы угадали"
Text1.Locked = True
ElseIf B < R Then
Label4.Caption = "Мое больше!"
A=A+1
Label2.Caption = A
64
Else
Label4.Caption = "Мое меньше!"
A=A+1
Label2.Caption = A
End If
End Sub
Задание для самостоятельной работы
1. Программа «Игра - Баше»
Смысл игры в следующем: Всего имеется 15 предметов. Можно брать
от 1 до 3. Машина играет с человеком – ходы по очереди. Проигрывает тот,
кто возьмет последний предмет.
2. Составьте программу игры в крестики – нолики с компьютером.
Продумайте беспроигрышную тактику (Задание повышенной сложности).
65
Приложение 2. Примеры VB-приложений, подготовленных учащимися
девятых классов
1. Проект «Стили интерьера и темперамент человека» (автор Богушевич Анастасия)
Использовано 102 формы VB, текстовые и графические поля, меню,
кнопки, разработан тест «Найдите ваш безупречный стиль»
Приложение содержит разделы, в которых рассказывается об основных
стилях в оформлении помещений, говорится о том, как создать тот или иной
66
стиль. Каждый раздел проиллюстрирован фотографиями.
Сделана попытка проследить взаимосвязь темперамента человека с
предпочтением им определённого стиля в дизайне.
2. Проект «Денежные единицы мира» (автор - Заздравных Оксана)
Использовано 3 формы VB, списки, текстовые и графические поля,
меню, кнопки. Приложение является электронным справочником денежных
единиц разных стран мира.
67
3. Проект «Строение человеческого скелета и органов» (автор –
Габибова Мадина)
Использовано большое количество форм, кнопок, текстовых и
графических полей, разработаны диалоговые окна, меню, программными
средствами в приложение добавлен тест. Приложение является медицинским
электронным справочником о строении человеческого скелета и внутренних
органах.
Более подробно эти и другие работы учеников представлены на диске,
прилагаемом к данной квалификационной работе.
68
Download