Конспекты школьника
Вид материала | Конспект |
- Конспекты уроков, 617.19kb.
- Конспекты по философии, 410.53kb.
- Конспекты лекций осеннего семестра 2007/08 учебного года Конспекты практических занятий, 22.06kb.
- Лекции для родителей первоклассников. Тема: «Позиция школьника и ее влияние на учебную, 191.43kb.
- Цифровые информационные ресурсы по географии мультимедийные диски, 16.67kb.
- Родительское собрание в 1 классе. Режим дня в жизни школьника, 78.66kb.
- Режим дня младшего школьника, 96.3kb.
- Моу сош №18 Использование литературных произведений на уроках биологии, 120.94kb.
- Критерии воспитанности личности школьника, 29.72kb.
- Режим дня младшего школьника, 79.47kb.
Содержание.
1. ^ Что такое ООП.
2. Свойства, методы и события.
3. Изучаем события, связанные с активностью мыши.
4. Использование элементов управления.
5. Использование переключателей и флажков.
6. Использование списков.
7. Простой текстовый редактор.
8. Текстовый редактор с возможностью форматирования текста.
9. продолжение следует
Данный материал не является полноценным учебником по программированию на языке VisualBasic, а содержит только необходимый минимум для выработки у школьников алгоритмического мышления и начальных навыков программирования.
В качестве системы программирования можно использовать Microsoft VisualBasic 6 rus.
При использовании материалов ссылка на источник обязательна.
Учимся программировать!
Конспекты школьника.
^ Что такое ООП
Языки программирования претерпели большие изменения с тех пор, как в сороковых годах началось их использование.
Первые языки программирования были очень примитивными и представляли собой последовательность нулей и единиц. Использование таких языков было крайне неудобно с точки зрения программиста. Первая попытка оптимизации программирования в двоичных кодах заключалась в разработке специальной системы кодирования двоичных машинных команд многобуквенными мнемоническими сокращениями.
В пятидесятых годах появились языки программирования высокого уровня. Форма записи программ на на них по сравнению с машинными языками и ассемблером ближе к традиционной математической форме и разговорному языку.
Первые программы для ЭВМ редко превышали объем 1 кбайт, сейчас же программы несравненно больше. По мере увеличения размера программ приходилось искать способы позволяющие упростить программирование.
Идеи разделения программ на относительно самостоятельные крупные части, реализующие определенные процедуры и функции и образующие определенную иерархию взаимосвязей, нашли отражение в структурном подходе к разработке и созданию программных средств. В программировании структурный подход появился с возникновением первых подпрограмм (процедур и функций), написанных в так называемом процедурно-ориентированном стиле.
Дальнейшее развитие структурного подхода привело к модульному программированию. Оно предусматривает представление прикладной задачи в виде иерархии взаимодействующих модулей или программ.
Введение типов данных обозначило еще одно направление развития технологии программирования. Типизация данных предназначена как для облегчения составления программ, так и для автоматического выявления ошибок. Использование структурных или комбинированных типов позволяет сократить объем рутинной работы работу программиста.
По мере развития технологии программирования все адекватнее отражалась структура решаемой прикладной задачи и осуществлялось объединение данных и процедур для их обработки. Это и привело к появлению в программировании объектного подхода. Сейчас уже совершенно ясно, что на смену традиционному программированию, пришло объектно-ориентированное (сокращенно ООП).
Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов. Первый объектно-ориентированный язык программирования был разработан в конце 60-х годов в Норвегии. Авторы этого языка очень точно угадали перспективы развития программирования: их язык намного опередил свое время. В 70-е годы было разработано большое число экспериментальных объектно-ориентированных языков программирования. Эти языки так и остались экспериментальными, но в результате их исследования были разработаны современные объектно-ориентированные языки программирования. Разработка новых объектно-ориентированных языков программирования продолжается.
Успех ООП стиля программирования объясняется предоставляемой им возможностью естественно имитировать объекты нашего мира. Решая сложные проблемы, выдвигаемые жизнью, человек постепенно развил в себе замечательные способности к обобщению, классификации и созданию абстракций. В окружающих нас объектах мы находим общие признаки, свойства, способы поведения.
Объекты объединяются в классы. К одному классу принадлежат объекты с одинаковым набором свойств, методов и событий.
Представьте себе, что в обычном языке не существует объектов (понятий), абстрагирующих окружающий мир. Тогда для того, чтобы сообщить другому человеку о каком-то предмете, например автомобиле, пришлось бы его подробно описывать. Трудно вообразить, сколько времени потребовалось бы для описания объекта. Причем описание должно быть очень точным, чтобы не возникло ошибочное представление о другом объекте.
То же относится и к программированию. Например, для использования окна ничего не нужно разрабатывать, вы просто используете объект класса "окно". Класс - это группа объектов с одинаковыми свойствами и методами. Если вы создаете собственное приложение, то большую помощь при этом окажут собственные объекты. В исходном коде вы используете программное представление таких объектов. Такой способ рассмотрения больше соответствует реальности, чем при чисто процедурной разработке приложений.
В объектно-ориентированном подходе к разработке программ центральным является понятие класса объектов. В ООП класс обладает следующими важнейшими свойствами:
- инкапсуляция (Характеристики объекта и методы (процедуры и функции) для их обработки объединяются в описании класса объектов, причем предполагается что доступ к характеристикам объекта будет происходить через соответствующие методы, т.е. они защищены от внешнего вмешательства);
- наследование (Один класс может быть получен от другого. В в таком случае говорят, что один класс является базовым, а другой - производным. Это позволяет повторно использовать уже созданный код в других проектах. Производный класс наследует всю структуру характеристик и поведение базового, однако может дополнять или модифицировать их.);
- полиморфизм (Полиморфизм означает, что различные объекты используют одинаковую абстракцию, т.е. могут обладать свойствами и методами с одинаковыми именами. Однако обращение к ним будет вызывать различную реакцию для различных объектов. Большое достоинство полиморфизма состоит в том, что при использовании объекта можно вызывать определенное свойство или метод, не заботясь о том, как объект выполняет задачу. Это очень важно при модификации программного обеспечения. Изменения или новшества просто адаптируются к имеющимся компонентам приложения.).
Итак, класс - это тип, объект - это переменная этого типа. В описании класса указываются все его свойства (характеристики) и методы (процедуры и функции). Для того чтобы использовать объекты их надо объявить.
Для того чтобы лучше понять суть вопроса вернемся к QBasic и рассмотрим несколько примеров.
^ Точка. Программа рисования и стирания точки.
REM точка
'установка графического режима
SCREEN 1
'координаты точки
x = 10
y = 10
'цвет фона
cf = POINT(x, y)
'рисуем точку
PSET (x, y)
'стираем точку
PSET (x, y), cf
END
^ Снег 1. Программа рисования и стирания 100 точек.
REM снег 1
SCREEN 1
x1 = 10
y1 = 10
x2 = 10
y2 = 10
... 'тут много строчек (примерно, 194 :) )
...
...
x100 = 10
y100 = 10
FOR i = 1 TO 100
'как-то изменяем координаты точки (нам это сейчас не важно)
............................
cf1 = POINT(x1, y1)
PSET (x1, y1)
SLEEP 1 'пауза
PSET (x1, y1), cf1
... 'тут много строчек (примерно, 388 :) )
...
...
'как-то изменяем координаты точки
...........................
cf100 = POINT(x100, y100)
PSET (x100, y100)
SLEEP 1 'пауза
PSET (x100, y100), cf100
NEXT i
END
Не программа - а ужас. Попробуем ввести массивы.
^ Снег 2. Программа рисования и стирания 100 точек.
REM снег 2.1
SCREEN 1
DIM x(1 TO 100) AS INTEGER
DIM y(1 TO 100) AS INTEGER
DIM cf(1 TO 100) AS INTEGER
FOR i = 1 TO 100
'как-то изменяем координаты точки (нам это сейчас не важно)
........................
cf1 = POINT(x(i), y(i))
PSET(x(i), y(i))
SLEEP 1 'пауза
PSET (x(i), y(i)), cf(i)
NEXT i
END
REM снег 2.2
SCREEN 1
DIM p(1 TO 100, 1 TO 3) AS INTEGER
FOR i = 1 TO 100
'как-то изменяем координаты точки (нам это сейчас не важно)
........................
cf1 = POINT(p(i,1), p(i,2))
PSET(p(i,1), p(i,2))
SLEEP 1 'пауза
PSET (p(i,1), p(i,2)), p(i,3)
NEXT i
END
Так лучше, но все-таки довольно путано. Попробуем ввести комбинированные типы.
^ Точка. Программа рисования и стирания точки.
REM точка 2
TYPE point
x AS INTEGER 'коодината x
y AS INTEGER 'коодината y
cf AS INTEGER 'цвет фона под точкой
END TYPE
DIM p AS point
POINT(p.x, p.y)
PSET(p.x, p.y)
SLEEP 1 'пауза
PSET (p.x, p.y), p.cf
NEXT i
END
^ Снег 3. Программа рисования и стирания 100 точек.
REM снег 3
TYPE point
x AS INTEGER
y AS INTEGER
cf AS INTEGER
END TYPE
DIM p(1 TO 100) AS point
FOR i = 1 TO 100
'как-то изменяем координаты точки (нам это сейчас не важно)
........................
p(i).cf = POINT(p(i).x, p(i).y)
PSET(p(i).x, p(i).y)
SLEEP 1 'пауза
PSET (p(i).x, p(i).y), p(i).cf
NEXT i
END
Так вот оно лучше. Теперь с первого взгляда на код понятно, что делает программа. Причем, обратите внимание: все свойства объекта (координаты точки, цвет фона под точкой) собраны вместе, а не разбросаны по нескольким одномерным массивам (или вообще ни как не связанным друг с другом переменным) и не прячутся за не понятными индексами двумерного массива (сравните: p(i).y и p(i,2)).
Следующий логический шаг - это объединение свойств (координаты, цвет) точки и методов (процедур) для их обработки.
К сожалению, QBasic не поддерживает понятие класса, поэтому мы сами "расширим" его возможности :)
REM снег 4
КЛАСС point
x AS INTEGER
y AS INTEGER
cf AS INTEGER
SUB рисование
cf = POINT(x, y)
PSET(x, y)
END SUB
SUB стирание
PSET (x, y), cf
^ END SUB
END КЛАСС
DIM p(1 TO 100) AS point
FOR i = 1 TO 100
'как-то изменяем координаты точки (нам это сейчас не важно)
........................
p.рисование
SLEEP 1 'пауза
p.стирание
NEXT i
END
Теперь давайте на основе класса точка (point) создадим новый класс - цветная точка (color_point). Класс color_point наследует от своего родителя все характеристики (координаты - x и y, цвет фона под точкой - cf) и процедуру стирания точки. Процедуру рисования точки придется модифицировать (рисовать будем цветную точку). Так же дополним класс новым свойством - цвет точки.
REM цветной снег
КЛАСС color_point ИЗ КЛАССА point
c AS INTEGER
SUB рисование
cf = POINT(x, y)
PSET(x, y),c
END SUB
^ END КЛАСС
DIM p(1 TO 100) AS color_ point
FOR i = 1 TO 100
'как-то изменяем координаты и, возможно, цвет точки (нам это сейчас не важно)
........................
p.рисование
SLEEP 1 'пауза
p.стирание
NEXT i
END
Для дальнейшего изучения программирования мы будем использовать язык программирования Visual Basic.
Название Visual Basic говорит само за себя. Visual Basic, в отличии от традиционных систем программирования, представляет совершенно иной стиль программирования. Уже по слову "Visual" можно догадаться, что в Visual Basic реализован визуальный стиль программирования. Вы даже не программируете, а проектируете приложение. Ваша первая задача при этом — создать рабочую среду, прежде чем начать набирать первую строку кода.
Слово Basic в названии указывает на то, что синтаксис программ и операторы опираются на язык высокого уровня Basic (Beginners Atlpurpose Symbolic Instruction Code - многоцелевой код символических команд для начинающих), но заметно от него отличается.
Создадим для примера простейшее приложение. Точнее создавать и программировать не придется вообще ничего: Visual Basic изначально предоставляет готовое приложение, состоящее из одного окна (формы) класса Form.

Запустим Visual Basic. После запуска Visual Basic на экране появляется диалоговое окно, в котором вы можете выбрать тип создаваемого приложения. Из этого же окна можно загрузить уже существующий проект.
За некоторыми пиктограммами диалогового окна скрываются мастера (Wizards), сопровождающие разработчика при создании приложений и берущие на себя часть его работы, например подключение базы данных или создание формы. В процессе работы мастера создается почти готовое приложение с различными формами, соответствующей рабочей средой, меню, панелью инструментов и т.п. Это приложение можно потом совершенствовать и настраивать.
Выберем тип проекта "Стандартный EXE".
Сразу после этого Visual Basic предложит новую "пустую" форму. Данная форма не является абсолютно пустой - она содержит основные элементы окна Windows: заголовок, управляющие кнопки, кнопку вызова системного меню.

Любое приложение Windows выполняется в соответствующем окне. Visual Basic - это среда разработки приложений под Windows, поэтому для любого разрабатываемого приложения предлагается окно (форма).
Итак, первая программа готова. Чтобы увидеть результат ее работы, запустим программу.

Это приложение имеет минимум того, что нужно любому приложению, выполняемому в среде Windows, и не одним элементом больше. Оно представляет собой каркас или заготовку, обеспечивающее разработчика всем необходимым для каждого приложения вообще.
Отметим, что окно (а вместе с ним и приложение) действительно ничего не делает с точки зрения пользователя. Вместе с тем это пустое окно выполняет достаточно большую работу, например, оно ожидает действий пользователя, реагирует на изменение своего размера, перемещение, сворачивание, разворачивание, закрытие.
Учимся программировать!
Конспекты школьника.
^ Свойства, методы и события
Visual Basic относится к системам визуального программирования, называемыми также системами RAD (быстрая разработка приложений). Разработка приложения включает в себя два взаимосвязанных этапа:
- создание пользовательского интерфейса приложения;
- определение функциональности приложения.
Пользовательский интерфейс определяет внешний вид формы при выполнении приложения и то, каким образом пользователь управляет приложением.
Функциональность приложения определяется процедурами, которые выполняются при возникновении определенных событий.
Таким образом, в процессе разработки приложения в форму помещаются компоненты, для них устанавливаются необходимые свойства и создаются обработчики событий.
Прикладные программы, или приложения, создаются в интегрированной среде разработки (IDE). С помощью средств интегрированной среды разработчику удобно проектировать интерфейсную часть приложения, а также писать программный код и связывать его с элементами управления.
Главное окно среды разработчика содержит несколько окон. Все окна подчиняются главному окну Visual Basic и могут "прикрепляться" (dockable) к одному из его краев.

^ Окно формы (конструктор форм) — главный элемент приложения.
Окно формы, часто называемое просто "форма", является главным элементом приложения. Форма представляет собой контейнер для элементов управления. Точки сетки на форме только помогают размещению элементов и при работе приложения не видны.
При запуске Visual Basic открывающаяся на экране форма не содержит элементов управления. После щелчка на пиктограмме требуемого элемента управления курсор мыши принимает форму крестика. Теперь нужно указать в форме начальный угол элемента управления, нажать левую кнопку мыши и, не отпуская ее, установить размер элемента. После достижения нужного размера кнопка отпускается и в форме появляется выбранный элемент управления.
^ Панель компонентов.
Кнопки, поля ввода и другие элементы, которые нужны для создания приложения, расположены на этой панели. Для выбора элемента управления (Control) нужно щелкнуть на нем и затем с помощью мыши установить в форме его размер и позицию. После двойного щелчка на пиктограмме элемента в центре формы появляется соответствующий элемент стандартного размера.
^ Окно свойств.
В этом окне задаются свойства выбранного элемента управления.
Окно проекта.
В окне проекта отображаются все элементы приложения: формы, модули, классы и т.п., сгруппированные по категориям. В Visual Basic все разрабатываемые приложения называются проектами. Проект содержит несколько групп компонентов (формы, модули и т.п.). Все приложения Visual Basic строятся по модульному принципу, поэтому и объектный код состоит не из одного большого файла, а из нескольких частей. Несколько приложений также могут объединяться в группы.
^ Окно расположения формы.
Оно показывает, где будет располагаться окно формы на экране монитора в период выполнения программы. Положение формы можно изменять перетаскиванием мышью.
^ Панель инструментов Visual Basic.
В верхней части экрана находится центр управления Visual Basic — панель инструментов (Toolbar). Ее можно настраивать, как это обычно делается в приложениях Microsoft.
Окно кода.

Сразу после запуска Visual Basic это окно не отображается. Тем не менее, оно едва ли не самое важное в Visual Basic, так как именно в нем вводится программный код. Код в Visual Basic разделяется на процедуры и, как правило, непосредственно связан с определенными элементами управления.
Итак. Запускайте Visual Basic, создайте стандартный проект. Ознакомитесь с основными элементами рабочей среды.
Мы помним, что объекты имеют свои свойства. С помощью свойств можно управлять внешним видом, а также поведением объектов при проектировании и при выполнении приложения. Обычно установка свойств происходит на этапе проектирования с помощью окна свойств, хотя свойства объектов можно изменять и программным способом.
Для обращения к объекту в приложении предназначено свойство Имя (Name), первоначальное значение которого образуется автоматически. Например, кнопка (CommandButton), помещенная на форму первой, получает имя Command1, второй - Command2 и т.д. Обычно разработчик предпочитает дать объектам более информативные имена, чем имена по умолчанию. Целесообразно объекта присваивать имена, которые дают возможность распознать их тип и назначение. Пример: frmMyForm, cmdExit.
^ Элемент управления | Стандартные префиксы |
Обычная форма (Form) | frm |
Кнопка (Command button) | сmd |
Надпись (Label) | lbl |
Текстовое поле (Text box) | txt |
Флажок (Check box) | chk |
Переключатель (Option button) | opt |
Окно с рисунком (Picture bох) | pic |
Рамка (Frame) | fra |
Фигура (Shape) | shp |
Изображение (Image) | img |
Список (List box) | lst |
Поле со списком (Combo box) | cbo |
Внимание! Свойство Name играет особую роль. Ошибки при его задании часто приводят к серьезным последствиям. Имя является идентификатором элемента управления. Поэтому сначала всегда следует задавать имя элемента управления и лишь затем писать для него код обработки его события.

Установите с помощью окна свойств следующие значения: Имя - frmMyForm, Caption - "Моя форма". Запустите программу и обратите внимание на верхний левый угол окна.
Вы увидите надпись:

Программным способом свойство Caption можно так: frmMyForm.Caption = "Это моя форма". Получим:
