- •Литература:
- •Язык программирования Visual Basic является основой не только системы программирования, его версия -
- •Методика программирования на Visual Basic сводится к следующему:
- •В основе ООП лежат три принципа: инкапсуляции, наследования и полиморфизма.
- •Программный объект в ООП называется «контейнером». Контейнер включает в себя данные и программный
- •Рисунок 2. Первоначальное состояние среды разработки Visual Basic
- •1.2. Алфавит и лексемы языка
- •При запуске Редактора кода (Code Editor) появляется окно, котором можно вводить текст программы.
- •Лексемы языка Visual Basic. Программирование линейного вычислительного процесса
- •Лексема — это единица текста программы,
- •Visual Basic накладывает на имена следующие ограничения:
- •Примеры имен переменных:
- •В Visual Basic, как и в других языках программирования, есть зарезервированные (ключевые) слова,
- •Существуют соглашения по стилю имен, которых желательно придерживаться:
- •Длинное целое (Long) – занимает четыре байта памяти; Короткое целое (Byte) – всего
- •Переменные — это объекты, предназначенные для хранения данных. В разные моменты времени переменные
- •Option Explicit ‘запрещение запуска программы
- •Константы — это объекты, значения которых остаются постоянными и не могут быть изменены
- •Вещественные константы представляются в памяти
- •Примеры использования предопределенных констант:
- •Различают динамические и статические
- •2.2. Встроенные функции Visual Basic
- •Randomise — генератор случайных чисел;
- •Арифметическое выражение в Visual Basic
- •Составить программу для вычисления результата по формуле:
- •Текст программного модуля приведён ниже. Процедура запускается по щелчку мыши на свободном поле
- •При программировании часто приходится выводить информацию непосредственно на форму с помощью метода Print.
- •В ситуации, когда необходимо продолжать печатат значения в той же строке, вызывая новые
- •Алгоритмизация
- •Алгоритм и его свойства
- •Алгоритм и его свойства
- •Начало
- •Язык блок-схем
- •Требования к изображению блок-схем
- •Алгоритм решения квадратного уравнения
- •Текст модуля
- •Текст модуля (продолжение)
- •Базовые алгоритмы циклической
- •Базовые алгоритмы циклической
- •Программирование разветвляющихся процессов
- •Условный оператор
- •Условный оператор
- •Пример программы
- •Оператор выбора Select Case
- •Оператор выбора Select Case
- •Программный код должен содержать 5 одинаковых процедур для 5 событий – щелчок мышью
- •Sub Summa(v1%, v2%, v3%, v4%, v5%, s%, m%)
- •Private Sub Проверка1_Click()
- •Системные функции, функции RND, Timer, IIf
- •К системным функциям относятся функции, действие которых напрямую зависит от работы Windows. Мы
- •Окно ввода
- •Текст модуля
- •Функция MsgBox служит для выдачи сообщени пользователю через системное окно.
- •Простая экранная форма – приветствие приведена на рисунке. В этом окне имеются три
- •Рассмотрим использование ещё нескольких функций: датчика случайных чисел, счётчика времени и IIf.
- •Private Sub Комманда1 _Click()
- •Программирование циклических процессов
- •Объявление массивов
- •Объявление массива имеет следующий вид: Dim / Public / Private Имя_Массива (индексы)_Аs Тип_Данных
- •Объявление одномерного массива из восьми
- •Динамические массивы применяются в том случае, когда количество элементов массива заранее неизвестно и
- •Пример:
- •Для того, чтобы организовать повторени операций используют оператор цикла For Next. Оператор используется
- •Задача 1:
- •Задача2: Сумма элементов массива
- •Задача 3.
- •Программирование циклических процессов (продолжение)
- •Электронная форма для задачи поиск максимального элемента в одномерном массиве.
- •Private Sub Комманда1_Click() Dim MyArray As Single
- •Сортировка методом «пузырька»
- •Текст модуля: Сортировка
- •Пользовательское меню программы
- •Private Sub Комманда1_Click()
- •Пользовательское меню программ
- •Private Sub Комманда1_Click()
- •Оператор цикла Do-Loop. Логическ управляемый цикл, оператор Do — начало оператор Loop —
- •3) Условие False в начале цикла.
- •Условие проверяется в конце цикла.
- •Пример программы на использование цикла с условием. Расчёт количества расфасованных пакетов.
- •Цикл For Each. Оператор относится к категории объектных операторов, т.е. применяется к массивам,
- •Формула линейной интерполяции
- •Пример программы с оператором For Each.
- •Пример программы с оператором For Each (продолжение).
- •Использование процедур в VB
- •Программные модули на VB состоят из процедур. Использование процедур упрощает программирование, разбивая код
- •В противоположность ей процедура обработки события после вызова остаётся в ожидания событий, вызванных
- •Если имя процедуры уникально, то включать имя модуля
- •присваивается переменной с именем процедуры. Обычно процедуре для выполнения требуется некоторая информация о
- •Ключевое слово ByVal служит признаком того, что параметр передаётся по значению. Например:
- •Private Sub Комманда1_Click() Dim M, Y As Single
- •Function arcsin(x)
- •Использование файлов в Visual Basic
- •Работа с файлами в языке Visual Basic
- •Следовательно, для ввода и вывода данных в файл имеет значение не имя файла,
- •Важнейшим атрибутом файла является его
- •Операторы и функции для работы с файлами последовательного доступа
- •Формат записи оператора:
- •Пример:
- •Записывать данные в текстовый файл можно
- •Пример результата для оператора Write:
- •В качестве примера запишем программу, которая помещает в объект Text1 класса Текстовое поле
- •Разработать приложение, в котором необходимо: создать список группы студентов с указанием их фамилии,
- •Программный код для приложения можно
- •Private Sub Command2_Click()
- •Do Until EOF(2)
- •Выход
Алгоритм и его свойства
Блок – схемой называется наглядное графическое представление изображения алгоритма, когда отдельные действия (этапы) алгоритма изображаются при помощи различных геометрических фигур, а связи между ними при помощи линий и стрелок.
Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
Структурный подход к программированию предполагает использование только нескольких основных структур (линейных, ветвящихся, циклических), комбинация которых позволяет разрабатывать всё многообразие алгоритмов и программ.
Начало
нет да
Язык блок-схем
Блок - конец/начало, используется для обозначения конца или начала алгоритма
Блок – процесс, используется для обозначения действия приводящего к получению единственного результата
Блок – решение, используется для обозначения разветвляющегося действия (проверки условия)
Блок – данные, используется для обозначения операций ввода/вывода
Язык блок-схем
Блок – подготовка (модификатор), используется для обозначения заголовка цикла
Блок – типовой процесс, используется для обозначения подпрограммы, фрагмента алгоритма
Соединитель, ставится в разрыв линии связи
Линии связи указывают направление вычислительного процесса, при естественном направлении сверху вниз и слева направо стрелку можно не ставить, во всех остальных случаях и при изломе линии стрелка обязательна
Требования к изображению блок-схем
Блок-схемы алгоритмов, как и любая техническая документация должны соответствовать требованиям стандартов.
При изображении блок-схем, все элементы должны иметь одинаковые геометрические размеры (например соотношение высоты и ширины 1:3); вертикально и горизонтально все элементы должны располагаться на одной прямой, т.е. вписываться в регулярную сетку по горизонтали и по вертикали; линии связей не должны иметь множество пересечений, лучше использовать разрыв с элементом соединитель, который ставится в месте выхода и в месте входа линии связи; текст пояснений внутри блоков записывается на естественном языке или с помощью математических формул.
Алгоритм решения квадратного уравнения
Начало
а,b,с
нет
а=0
да
нет
b=0
да нет c=0
да
Ax2+Bx+C=0
Действ. к. нет
нет
D=b2-4ac D>0
да
X=-c/b x
Нет решения |
1 |
1
x1,2 b d 2a
X1,2
1
Мн-во реш. |
1 |
конец |
Текст модуля
Private Sub Комманда1_Click() a = Val(Текст1)
b = Val(Текст2)
c = Val(Текст3)
Текст4 = " " :Текст5 = " " If a <> 0 Then
d = b * b - 4 * a * c If d > 0 Then
x1 = (-b + Sqr(d)) / 2 / a: x2 = (-b - Sqr(d)) / 2 / a
Текст4 = "x1=" & Str(x1):Текст5 = "x2=" & Str(x2): GoTo1 Else
Текст4 = «Действит. корней нет": GoTo 1 End If
End If
Текст модуля (продолжение)
If b <> 0 Then
x = -c / b: Текст4 = “корень=“ & Str(x): GoTo 1 End If
If c <> 0 Then Текст4 = “Нет решения” Else Текст4 = “Мн-во решений”
1: End Sub
Базовые алгоритмы циклической
структуры
Сумма
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S=0 |
|
|
|
|||
|
ai,n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
i>n |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
i=i+1 |
|
|
|
|
|
нет |
|
|
|
i=1..n |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
S=S+ai |
|
|
|
|||||||
|
i<n |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
да |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
S |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
S=S+ai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
конец
Базовые алгоритмы циклической
структуры
Максимум
ai,n
Мax=a1:im=1
i=1..n
ai>Max |
нет |
|
|
да |
|
Мax=ai:im=i Max,im
конец
Счётчик
ai,n,p,l
K=0
i=1..n
нет
l<ai<p да
K=k+1
k
конец