Объектно - ориентированное программирования в среде Visual Basic Express Edition 2005

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

Содержание
  1. Введение. Понятие алгоритма. Основные типы алгоритмических структур. Исполнители алгоритмов.
  2. Объектно-ориентированное программирование. Понятие объекта. Свойства. Методы. События.
  3. Интегрированная среда разработки Visual Basic. Графический интерфейс. Форма и управляющие элементы формы.
  4. Типы данных. Арифметические выражения.  
  5. Процедуры.
  6. Функции.
  7. Функции преобразования типов.
  8. Математические функции.
  9. Функции ввода и вывода,
  10. Функции даты и времени.
  11. Функции по работе со строками.
  12. Графические функции.

 

1. Введение. Понятие алгоритма. Основные типы алгоритмических структур. Исполнители алгоритмов. 


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

Основные типы алгоритмических структур:

  • Структура следование (линейная) - команды выполняются последовательно c указанной очередностью.
  • Структура ветвление - действия выполняются в зависимости от истинности некоторого условия.
  • Структура повторение (цикл) - многократное выполнение одного и того же набора команд.
    Тело цикла - последовательность повторяемых команд, которая может быть и пустой.
  • Структура множественный выбор - действия выполняются в зависимости от значений некоторой переменной.
  • Иерархическая структура - последовательность действий выполняется в узлах ориентированного графа.

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

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

Канторовского диагонального метода

Примеры блок-схем алгоритмов различных типов. Использованы материалы Единой коллекции цифровых образовательных ресурсов
по ссылке

Линейные вычислительные алгоритмы
Ветвление  [карточка ресурса]
Пример алгоритма с условием
Алгоритм Евклида
Алгоритмы над целыми числами. В.А.Петров, С.Н. Поздняков Алгоритм Евклида
Примеры блок-схем алгоритмов с массивами:

Алгоритм поиска наибольшего и наименьшего элементов массива

Алгоритм сортировки массива методом пузырька
[карточка ресурса]

Обучающие учебные среды:
Система программирования КуМир [карточка ресурса]

2. Объектно-ориентированное программирование. Понятие объекта. Свойства. Методы. События.


Для того, чтобы алгоритм можно было выполнить на компьютере в автоматическом режиме необходимо записать его на понятном компьютеру языке, используя среду объектно-ориентированного программирования. Такая среда позволяет визуализировать процесс разработки различных типов приложений, благодаря инструментальным панелям, меню, диалоговым окнам, обеспечивающим создание объектов с заданными свойствами, методами, событиями.
Знакомство с основами объектно-ориентированных языков формирует у школьников структурное мышление. Освоение материала происходит на протяжении нескольких лет. В процессе знакомства с различными объектами школьник учится детально проектировать элементы разрабатываемой модели. 
Вопрос выбора программного продукта не является существенным, поскольку объектно-ориентированные языки сближаются по технологическим реализациям. Языки программирования инвариантны к предметной области.
Исторически сложилось, что при изучении основ программирования язык Basic (QBasic - одна из первых его версий) использовался в качестве учебного языка. Язык BASIC (Beginners Allpurpose Symbolic Instructional Code) несет в себе многоцелевой код символьных инструкций для начинающих.
Visual Basic является продуктом многолетней эволюции языка BASIC. С появлением платформы Windows фирма Microsoft внедряет визуальную среду для создания программ, работающих в режиме диалога с пользователем.
Дальнейшее развитие среда программирования Visual Basic Express Edition 2003-2010 получила с появлением технологии платформы .Net. Это система программирования позволяет создавать проектные решения, которые поддерживают практически любые области современных компьютерных технологий: бизнес-приложения, игры, мультимедиа, клиент-серверные приложения, Web -приложения. Его популярность обусловлена двумя причинами: относительной простотой и продуктивностью.
Простота в использовании и дружественный интерфейс позволили написание компьютерных программ сделать доступным широкому кругу пользователей.

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

  • свойства
  • функциональные характеристики
  • события над объектами.

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

Примеры классов
Основы программирования в среде Visual Basic. Свойства. Методы. События.
Объектно-ориентированное программирование в Visual Basic
Особенности алгоритмизации в объектно - ориентированном программировании

Упражнения
  1. Какие классы объектов существуют в приложении Excel?
  2. Какие классы объектов существуют в приложении Word?
  3. Приведите пример добавления экземпляра класса Windows Form в проект?

3. Интегрированная среда разработки Visual Basic. Графический интерфейс. Форма и управляющие элементы формы.
Интегрированная среда разработки

ПО включает систему программных средств, используемую при разработке программного обеспечения:
  • текстовый редактор;
  • средства поддержки интерфейса;
  • компилятор и/или интерпретатор - программы перевода в машинный код или байт-код (Java), понятный компьютеру;
  • отладчик - программу для трассировки и анализа пошагового выполнения программ;
  • справочную систему.

    Современные среды разработки также содержат разнообразные инструменты:
  • браузеры классов для просмотра и редактирования классов;
  • макрокоманды (макросы);
  • конструкторы экранных форм и отчетов;
  • языки SQL запросов;
  • графический интерфейс пользователя;
  • средства управления версиями.
    Программный проект интегрированной среды разработки включает различные программные модули. Основой для создания графического интерфейса при разработке ПО являются форма.
    Форма - это окно приложения, в котором размещаются управляющие элементы. Классы управляющих элементов (Controls) предназначены для выполнения различных функций:
Управляющий элементНазначение
ButtonКнопка управления
CheckBoxФлажок
GroupBoxИнструмент для группировки данных
LabelТекстовое поле для обозначений
ListBoxСписки
ComboBoxСписок с комбинированным окном
PanelПанель
PictureBoxОкно для работы с графикой
RadioButtonПереключатель
TextBoxОкна ввода - вывода текстовых и числовых данных
 














Управляющие элементы

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

Общие свойства графических объектов
Выполнить задания. Читать дополнительно о процедурах (5). 

4.   Типы данных.   Арифметические выражения  


Информатика, как точная наука, работает с формальными структурами данных. Примерами структур данных являются числа, логические значения, последовательности, таблицы, строки, списки, деревья, графы и т.п. Структуры данных существуют независимо от их реализации в программировании. Уже в XVIII - XIX веках ученые использовали эти понятия. Это основные кирпичики информации, из которых формируется сложная структура объектов. Удачный выбор структуры данных для представления информации может существенно повысить эффективность решения задачи. Реализация структур объектов в языке программирования производится через соответствующие типы данных. Важным компонентом платформы .Net является иерархически организованная библиотека классов - пространство имен .Net. Корневым элементом в этой сложной структуре является имя SystemSystem содержит фундаментальные типы данных платформы .Net, используемые в приложениях: Object, Byte, Char, Array, Int32, String, и др. Кроме того System содержит элементы пространства имен второго уровня и более 100 системных классов, обеспечивающих преобразование типов данных, интерфейсы и аттрибуты классов, обработку исключений, управления процессами выполнения приложений.

Таблица типов данных платформы .Net

КатегорияИмя классаОписаниеТип данных в VBC#C++
Integer ЦелоеByte8-битовое целое без знакаBytebytechar
SByte8-битовое целое со знакомSBytecbytesigned char
Int1616-битовое целое со знакомShortshortshort
Int3232-битовое целое со знакомIntegerintint
Int6464-битовое целое со знакомLonglong__int64
UInt1616-битовое целое без знакаUShortushortunsigned short
UInt3232-битовое целое без знакаUIntegeruintunsigned int
UInt6464-битовое целое без знакаULongulongunsigned __int64
Floating point числа с плавающей точкойSingle32-битовое число с плавающей точкойSinglefloatfloat
Double64-битовое число с плавающей точкойDoubledoubledouble
Logical ЛогическийBooleanЛогический тип (true, false)Booleanboolbool
Other ДругиеChar16-битовый Unicode символCharcharwchar_t
Decimal128-битовое число с фиксированной точкойDecimaldecimalDecimal
IntPtrЦелое со знаком размером 32-бит или 64-бит в зависимости от платформыIntPtrIntPtrIntPtr
UIntPtrЦелое без знака размером 32-бит или 64-бит в зависимости от платформыUIntPtrUIntPtrUIntPtr
Class objects класс объектовObjectКорень в иерархии объектаObjectobjectObject*
StringСтрока символов Unicode неизменной длиныStringstringString*

  

 

 

 

 

 

 

 

 
























Основные типы данных в среде Visual Basic Express Edition

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

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


5 Процедуры.

Вопросы:

  1. С какими управляющими элементами нам приходилось сталкиваться на практике ?
  2. Какие свойства управляющих элементов “TextBox”, “Button” вы знаете?
  3. Какие свойства являются общими  для всех графических управляющих элементов?

Интегрированная среда Visual Basic широко применяется при моделировании различных типов задач. Модульное программирование в объектно-ориентированных языках основано на разбиении кода на отдельные компактные модули. Каждый модуль разбивается на процедуры, а процедура может быть подпрограммой или функцией. Подпрограммы делятся на общие процедуры и процедуры обработки событий. Процедуры обработки событий начинают выполняться в ответ на какое-либо событие. Общие процедуры выполняются после явного их вызова из какого-нибудь места программы. После выполнения такой процедуры происходит автоматический возврат на следующий за вызовом процедуры оператор.

Процедуры
Cобытийная процедура
Применение знаний при выполнении практической работы

Предлагается открыть готовый проект с использованием событийной процедуры. Рассматривается проект prjZ5_1, приведенный на CD – диске, прилагаемом к книге Н. Угриновича “Преподавание курса Информатика и ИКТ в основной и старшей школе. Методическое пособие.”, М.:БИНОМ. Лаборатория знаний.2007г
Домашнее задание

Задания

6 Функции. Функции преобразования типов.


Вопросы: 
  1. Какие типы процедур вы знаете ?
  2. С какими управляющими элементами мы познакомились на предыдущем занятии?
  3. С помощью каких свойств определяются размеры формы и кнопки?

Упрощенное описание функции:

Function <имя_функции> [(<аргументы>)] [As <Тип>]
<операторы>
End Function

Вызов функции выполняется с помощью оператора присваивания:

<переменная> = <имя_функции> {(<аргументы>)]

При записи функций нескольких аргументов аргументы в списке отделяются друг от друга запятыми. Демонстрируется презентация, в которой представлен синтаксис описания функций и их назначение.

Функции

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

Типы стандартных функций:

  1. функции преобразования типов данных;
  2. математические функции;
  3. строковые функции;
  4. функции ввода - вывода;
  5. функции даты – времени
  6. функции по работе с символьной информацией


Применение знаний при выполнении практической работы

Написать проект “Три шара”, в котором при вызове функции случайным образом создаётся шар одного из трех цветов: красный, синий или желтый. Функция возвращает цвет шара. Определить сколько шаров каждого цвета было создано за N раз случайной выборки?

Проект Три шара

7. Функции преобразования типов данных

Вопросы :

  1. Какие отличия существуют между функцией и процедурой общего вида?
  2. Какие управляющие элементы используются при создании проектов?
  3. Как добавить нумерацию в текст кода?


Преобразование типов данных используется в проектах Visual Basic:

  • в процессе считывания данных из текстовых полей форм и преобразования к числовому типу Val();
  • в процессе преобразования символа в числовой код Asc;
  • в процессе преобразования символа в кодировке Unicode в числовой код AscW;
  • в процессе преобразования числового кода в символ Chr;
  • в процессе преобразования числового кода в символ в кодировке Unicode ChrW;
  • в процессе представления числа в формате строки Str;
  • в процессе преобразования числовых типов данных из одной системы счисления в другую
    Oct, Hex;
  • на платформе .NET функции ToDouble, ToString, принадлежащие ветви системы имен System.Convert.
    В процессе изложения нового материала демонстрируется презентация, в которой определены основные функции преобразования типов данных.

    Функции преобразования типов данных

    Проекты:
  1. Проект “Коды символов”
  2. Проект “Перевод чисел”
  3. Проект “Калькулятор"


(project 6 CD – диск Преподавание курса “Информатика и ИКТ” в основной и старшей школе.
Компьютерный практикум . Бином. Москва 2007
www.lbz.ru)

Задания

8. Математические функции

Вопросы :

  1. Какая функция преобразует строковые символы в числовые?
  2. Какие управляющие элементы используются при создании проекта "Калькулятор"?
  3. К какой ветви системы имен относится функции ToDouble, ToString?


Важный компонент платформы .NET - общая для всех языков программирования библиотека классов. Наличие библиотеки классов позволяет разработчикам программного обеспечения применять единую систему программных объектов для языков программирования платформы .NET c использованием иерархической структуры пространства имен. Математические методы и функции относятся к ветви пространства имен System.Math. В стандартных математических функциях определены типы аргументов и количество аргументов. Математические функции могут иметь один или более аргументов. При записи функции нескольких аргументов аргументы в списке отделяются друг от друга запятыми.

Математические функции

Проект "Математические функции" Задания по работе с арифметическими выражениями

9. Функции ввода и вывода

5. Процедуры

Вопросы:
  1. Какая функция округляет до ближайшего целого?
  2. Как показать сетку на форме?
  3. К какой ветви системы имен относятся математические функции?


Рассматриваются стандартные функции ввода – вывода:

  • Функция InputBox - ввод данных с помощью диалоговой панели.
  • Функция MsgBox - вывод сообщений с помощью диалогового окна.
  • Класс MessageBox - вывод сообщений с помощью диалогового окна.


Функция InputBox


Функция MsgBox

Класс MessageBox (платформа .NET) выводит окно сообщения, содержащее текст, кнопки, и символы, оповещающее или инструктирующее пользователя. Относится к ветви пространства имен System.Windows.Forms. Используется в языках платформы .NET: C#, C++, VB, J#, JScript.

Задания

  1. Вывести сообщение: “Как вы думаете 2011 год високосный?” Варианты ответа: “Да” или “Нет”. В ответ вывести сообщение о правильности ответа.
  2. Ввести последовательность чисел от 1 до 10, используя панель InputBox. Присвоить значения элементам массива A(0:9).

10. Функции даты и времени

Вопросы:

  1. Определите стиль диалогового окна сообщений, если на панели отображается три кнопки: «Да», «Нет» и «Отмена».
  2. Как показать нумерацию в программном коде?
  3. К какой ветви системы имен относятся математические функции?

Функции даты и времени относятся к ветви пространства имен System.DateTime. Структура объекта DateTime представлена 64-битовой областью. Временные интервалы представляет класс TimeSpan. Временной интервал используется при вычитании дат, а также при добавлении некоторого интервала к дате или вычитании интервала из даты. Использование функций даты и времени является трудоемким, поэтому мы познакомимся только с некоторыми из них. 


Описание функций даты и времени

Проект “ Функции даты и времени ”

Упражнения

 

11. Функции по работе со строками.

Вопросы:
  1. Какие функции используются для определения дня недели, дня года?
  2. К какой ветви системы имен относятся функции даты и времени?
  3. К какой ветви системы имен относятся функции разности дат?

Рассматриваются наиболее часто встречаемые строковые функции: Left, Right, Mid, Len, LTrim, RTrim, Trim, LCase, UCase, InStr. Строковые функции относятся к ветви системы имен Microsoft.VisualBasic. В процессе изложения нового материала демонстрируется презентация, в которой определены основные функции по работе со строками.

Описание строковых функций

Проект "Строковые функции"

Задания по работе со строками

11. Графические функции.

Список литературы

  1. 1. Угринович Н. Д. Информатика и ИКТ 9 - 11 классы. М. Бином. Лаборатория знаний.2007 - 2011гг.
  2. 2. Документация Microsoft Visual Studio 2005 Express Edition
  3. 3. Макарова Н.В. Информатика 9 класс. Питер. 2000г.