
- •Для начинающих
- •Содержание
- •Глава 2. Работа в среде Visual Basic 32
- •Часть II. Программирование на Visual Basic – первый уровень 40
- •Глава 0. Переменные величины 41
- •Глава 1. Разветвляющиеся программы 58
- •Глава 2. Циклические программы 72
- •2.5. Оглядимся вокруг 81
- •Глава 3. Отладка программы 82
- •Глава 4. Типичные маленькие программы 86
- •Глава 5. Графика 92
- •Глава 6. Процедуры 106
- •Глава 7. Работа с таймером, временем, датами 115
- •Глава 7. Объекты пользователя 193
- •Глава 2. Устройство и работа компьютера 229
- •Глава 0.Предисловие
- •0.1.Кому предназначена эта книга?
- •0.2.Задачи, игры.
- •0.3.Почему Visual Basic?
- •0.4.Какой вам нужен компьютер и какая версия Visual Basic?
- •0.5.Краткое содержание с рекомендациями
- •Часть I. Программирование без программирования.
- •От автора
- •К читателю
- •Часть I. Программирование без программирования
- •Глава 0.Первые шаги
- •0.1.Что такое программа?
- •0.2.Не программа, а проект
- •0.3.Первые шаги - за ручку
- •Глава 1.Проект - "Калькулятор"
- •1.1.Задание на проект
- •1.2.Проектируем
- •1.3.Свойства форм и элементов управления
- •1.4.Имена и надписи
- •1.5.Программируем. Проект готов
- •1.7.Помещаем фото на калькулятор
- •1.8.Музыка в проекте
- •1.9.Система координат
- •1.10.Вывод сообщений - MsgBox
- •1.11.Меню пользователя
- •1.12.Кино в проекте
- •Val(Число1.Text) _
- •Глава 2.Работа в среде Visual Basic
- •Глава 3. - Отладка программы
- •2.1.Что нужно знать и уметь перед тем, как сесть за компьютер
- •2.2.Инсталляция Visual Basic
- •2.3.Порядок работы над проектом в Visual Basic
- •2.4.Загрузка Visual Basic и выход из него
- •2.5.Сохранение проекта на диске. Загрузка проекта с диска
- •2.6.Окна среды Visual Basic
- •2.7.Главное меню Visual Basic
- •2.8.Перенос вашего проекта на другие компьютеры
- •Часть II. Программирование на Visual Basic – первый уровень
- •Глава 0.Переменные величины
- •0.1.Переменные величины. Оператор присваивания
- •0.2.Объявление переменных величин
- •0.3.Еще об именах
- •0.4.Математика. Запись арифметических выражений
- •0.5.Типы данных и точность вычислений
- •Integer и Long - целые числа
- •Три совета
- •0.6.Порядок создания простого вычислительного проекта
- •Задача:
- •Порядок создания проекта:
- •5. Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат.
- •0.7.Строковые переменные
- •0.8.Как выводить информацию оператором Print
- •0.9.Диалог с компьютером
- •0.10.Как выводить информацию в текстовое поле
- •0.11.Оглядимся вокруг
- •Глава 1.Разветвляющиеся программы
- •1.1.Что такое выбор (ветвление)
- •1.2.Условный оператор If или как компьютер делает выбор
- •1.3.Правила записи однострочного оператора If
- •1.4.Случайные величины
- •1.5.Многострочный If
- •If условие Then операторы ElseIf операторы
- •1.6.Ступенчатая запись программы
- •1.7.Вложенные операторы If. Логические операции и выражения
- •1.8.Оператор варианта Select Case
- •1.9.Улучшаем калькулятор.
- •If IsNumeric("-67,3") Then MsgBox ("Это число") Else MsgBox ("Это не число")
- •1.10.Функция MsgBox
- •Глава 2.Циклические программы
- •2.1.Оператор перехода GoTo. Цикл. Метки
- •2.2.Выход из цикла с помощью If
- •2.3.Операторы цикла Do
- •2.4.Оператор цикла For
- •2.5.Оглядимся вокруг
- •Глава 3.Отладка программы
- •3.1.Типы ошибок. Сообщения об ошибках.
- •3.2.Отладка программы. Окна отладки. Режимы отладки.
- •Глава 4.Типичные маленькие программы
- •4.1.Вычислительная циклическая программа
- •4.2.Роль ошибок
- •4.3.Счетчики
- •4.4.Сумматоры
- •4.5.Вложение циклов в разветвления и наоборот
- •4.6.Вложенные циклы
- •4.7.Поиск максимального из чисел
- •Глава 5.Графика
- •5.1.Объекты. Их свойства, их события, их методы
- •5.2.Три способа рисовать
- •5.3.Первый способ - Загрузка в Visual Basic готовых изображений
- •5.4.Второй способ - Объекты Line и Shape
- •5.5.Взаимное перекрытие объектов. Метод zOrder
- •5.6.Цвет в Visual Basic
- •5.7.3 Способ - Рисуем при помощи графических методов
- •Снеговик Ефрем
- •5.8.Используем в рисовании переменные величины
- •5.9.Использование случайных величин при рисовании
- •Глава 6.Процедуры
- •6.1.Зачем нужны процедуры пользователя
- •6.2.Операторы Stop, End и Exit Sub
- •6.3.Переменные вместо чисел
- •6.4.Константы
- •6.5.Процедуры с параметрами
- •Private Sub Рисуем_мой_значок (Otstup As Integer, Razmer As Integer, Tsvet As Long)
- •Глава 7.Работа с таймером, временем, датами
- •7.1.Тип данных Date
- •7.2.Таймер
- •7.3.Проект "Будильник-секундомер"
- •7.4.Анимация
- •Глава 8.Работа с мышью и клавиатурой
- •8.1.Работа с мышью
- •8.2.Работа с клавиатурой
- •8.3.Проект - Гонки (игра)
- •8.4.Задание на игру “Торпедная атака
- •Часть III. Программирование на Visual Basic - второй уровень
- •Глава 0.Массивы
- •0.1.Переменные с индексами
- •0.2.Одномерные массивы переменных величин
- •0.3.Двумерные массивы
- •0.4.Какие бывают массивы
- •0.5.Использование массивов при программировании игр
- •0.6.Массивы элементов управления
- •Глава 1.Разные звери в одном ковчеге
- •1.2.Пользовательский тип данных
- •1.3.Коллекции
- •1.4.Рамка (Frame)
- •Глава 2.Элементы управления
- •2.1.Флажок (CheckBox)
- •2.2.Переключатель (OptionButton)
- •2.3.Полосы прокрутки (hScrollBar и vScrollBar)
- •2.5.Список (ListBox) и поле со списком (ComboBox)
- •2.6.Знакомство с другими элементами управления
- •Глава 3.Строки, файлы, обработка ошибок
- •3.1.Строки
- •3.2.Файлы
- •3.3.Функция Shell
- •3.4.Обработка ошибок. Оператор On Error
- •Глава 4.Функции. Параметры процедур и функций
- •4.1.Функции. Параметры функций
- •4.2.Локальные переменные
- •4.3.Массивы как параметры
- •4.4.Передача параметров по ссылке и по значению
- •4.5.Индукция. Рекурсия
- •4.6.Сортировка
- •4.7.Объекты, как параметры процедур
- •Глава 5.Проект, который выглядит солидно
- •5.1.Из чего бывает "сделано" приложение Windows
- •5.2.Элемент управления CommonDialog
- •5.3.Панель инструментов Toolbar
- •5.4.Проект - "Графический редактор"
- •Глава 6.Проекты из нескольких форм и модулей
- •6.1.Работа с несколькими формами
- •6.2.Модули кода
- •6.3.Структура проекта. Окно Project Explorer.
- •6.4.Зоны видимости
- •6.5.Затенение
- •6.6.Префиксы имен
- •6.7.К чему все эти сложности?
- •Глава 7.Объекты пользователя
- •7.1.Инкапсуляция - "Объект в футляре"
- •7.2.Игра "Сачок". Постановка задачи
- •7.3.Таймер и общая механика работы проекта
- •7.4.Этап проектирования
- •7.5.Порядок создания объектов
- •7.6.Создаем ловца
- •7.7.Создаем шар. Завершаем проект
- •7.8.Еще об объектах
- •Глава 8.Visual Basic и Интернет
- •8.1.Понятие об Интернет, Web-станицах и языке html
- •8.2.Создание Web-страницы
- •8.3.Сценарий на Web-странице
- •8.4.Доступ к локальному диску
- •8.5.Собственный броузер
- •Глава 9.Visual Basic и базы данных
- •9.1.Понятие о базах данных
- •9.2.Создаем заготовку базы данных при помощи Visual Data Manager
- •9.3.Работа с базами данных. Элементы управления Data и dbGrid. Язык sql.
- •Глава 10.До свидания
- •10.1.Нерассмотренные возможности Visual Basic
- •10.2.Миг между прошлым и будущим
- •Приложение 1. Необходимые сведения о компьютере и программе
- •Глава 0.Первое представление о компьютере и программе
- •0.1.Что такое компьютер. Первое представление о программе.
- •0.2.Как человек общается с компьютером
- •Глава 1.Программа и программирование
- •1.1.Список команд. Командный и программный режимы
- •Последовательность работы человека с роботом
- •1.2.Что важно знать о программе
- •1.3.Понятие о процедуре. Может ли робот поумнеть?
- •1.4.Программа для компьютера на машинном языке
- •1.5.Языки программирования
- •1.6.Пример настоящей программы для компьютера на языке Лого
- •1.7.Последовательность работы программиста на компьютере
- •1.8.Основные приемы программирования
- •Глава 2.Устройство и работа компьютера
- •2.1.Как устроен и работает компьютер
- •Процессор
- •Порядок обмена информацией между устройствами компьютера
- •2.2.Устройство и размеры оперативной памяти
- •2.3.Взаимодействие программ в памяти
- •2.4.Внешние устройства компьютера
- •Устройства ввода
- •1. Клавиатура.
- •2. Мышь.
- •Устройства вывода
- •Внешняя память
- •Связь компьютеров между собой. Модем. Сети
- •2.5.Кодирование информации в компьютере
- •Приложение 2. Работа в Windows. Ввод текста
- •Работа в Windows
- •Файлы и папки
- •Как вводить программу в компьютер или работа с текстом в текстовом редакторе
- •Решение заданий
- •Список литературы
- •Предметный указатель
0.3.Еще об именах
Как правильно дать имя объекту, мы говорили в 1.4. Переменные же величины мы привыкли обозначать буквами (a, s, d ... ). Большинство языков программирования, в том числе и Visual Basic, позволяет обозначать переменные именами. Вот два равносильных фрагмента программы:
a=3; |
Summa=3; |
b=4-a; |
ROBBY=4-Summa; |
Debug.Print a, b+50 |
Debug.Print Summa, ROBBY+50 |
В том и другом случае будут напечатаны числа 3 и 51. Очевидно, компьютеру все равно, как мы обозначаем переменные величины или объекты, в смысл имен он не вдумывается и не удивляется, что переменная Summa никакой суммой не является, а просто числом 3.
Многие авторы не рекомендуют использовать в именах русские буквы, говорят, что это опасно. Лично я в связи с этим практически ни разу с большими проблемами не столкнулся. Мой совет: если у вас с английским все ОК, то избегайте русских букв, в противном случае ничего страшного, если вы будете все именовать по-русски.
Примеры правильной записи имен:
a
polnaja_Summmma
tri_plus_dva
s25
a1b88qqQQQQQQQQQQQQ
oshibka
Это_не_имя
Примеры неправильной записи имен:
polnaja summa - содержится символ (пробел), не являющийся буквой, цифрой или знаком подчеркивания
Это правильное имя- содержится символ (пробел), не являющийся буквой, цифрой или знаком подчеркиван
2as - начинается с цифры
Domby&Son - содержится символ & , не являющийся буквой, цифрой или знаком подчеркивания
Visual Basic игнорирует в именах разницу между строчными и прописными буквами. Так, для него Summa и sUmmA - одно и то же имя. И он присматривает за тем, чтобы в окне кода они были написаны одинаково (но не за всеми русскими именами он так присматривает).
0.4.Математика. Запись арифметических выражений
Простые арифметические вычисления лучше делать на калькуляторе, чем на компьютере, а вот сложные - наоборот. В этом разделе вы научитесь правильно вводить в компьютер сложные формулы. Если вы - школьник не самых старших классов, то не все, что здесь написано, будет вам понятно. Не огорчайтесь, при дальнейшем чтении непонятные вещи вам не понадобятся.
Действия арифметики обозначаются в Visual Basic следующим образом:
ДЕЙСТВИЕ |
РЕЗУЛЬТАТ |
СМЫСЛ |
2 + 3 |
5 |
плюс |
4 - 1 |
3 |
минус |
2 * 3 |
6 |
умножить |
10 / 2 |
5 |
разделить |
17 \ 5 |
3 |
целочисленное деление (17 делится на 5, получается 3, в остатке 2) |
17 Mod 5 |
2 |
остаток от целочисленного деления |
2 ^ 3 |
8 |
2 3 (два в кубе) - возведение в степень |
На уроках математики мы привыкли писать ab+cd , подразумевая: a умножить на b плюс c умножить на d. В Visual Basic это выражение мы обязаны писать так: a*b+c*d. Иначе компьютер подумает, что нужно к переменной, имеющей имя ab, прибавить переменную, имеющую имя cd. Во избежание двусмысленности знак умножения положено писать всегда, в том числе и перед скобками. Например, a * (b+c).
Скобки. Ввиду того, что с клавиатуры всю информацию приходится вводить символ за символом в одну строку, ввод двухэтажных выражений, таких как
очень затруднен. Поэтому для обозначения деления и выбрана косая черта. Это выражение на Visual Basic положено записывать так: (a+1)/(b+1). Если бы мы не поставили скобок, то выражение получилось бы таким a+1/b+1, а это неправильно, так как компьютер, как и мы, всегда перед сложением и вычитанием выполняет умножение и деление, поэтому в последнем случае он бы сначала разделил 1 на b , а затем к результату прибавил a и 1.
Вопрос: когда в выражениях можно ставить скобки? Ответ: всегда, когда у вас возникают сомнения в правильной очередности действий. Лишняя пара скобок не помешает. Пример: записать на Visual Basic выражение:
Его можно было бы записать так:
(1 + a / (2+a*b)) / (3+a) * b .
Разберитесь в этой записи. К сожалению, в выражениях разрешается писать только круглые скобки. Квадратные и фигурные запрещены. От этого сложные выражения с большим количеством скобок на глаз воспринимаются с трудом, так как трудно для конкретной скобки увидеть ее законную пару. В этом случае я могу посоветовать идти "от малого к большому", то есть сначала заметить самые малые из взятых в скобки фрагменты выражения (у нас это 3+a и 2+a*b). После этого будет уже легче заметить более крупные фрагменты, такие как 1 + a / (2+a*b) , и т.д.
Разобрались? Эта запись меня совсем не удовлетворяет, так как мы не знаем, что Visual Basic будет делать раньше - делить (1 + a / (2+a*b)) на (3+a) или умножать (3+a) на b. А от этого зависит результат. Добавим для верности пару скобок:
((1 + a / (2+a*b)) / (3+a)) * b
Теперь все в порядке.
Запись десятичных дробей. Путаница с точками и запятыми. Почти во всех языках программирования и уж, конечно, в Visual Basic, в десятичных дробях принято вместо запятой ставить точку. Пример: 62.8 - шестьдесят две целых восемь десятых. Однако, если помните, при вводе дробей в InputBox Visual Basic требовал запятую, да и результаты он выводит с запятой. В чем дело? Visual Basic, являясь приложением Windows, частично воспринимает от нее привычку пользоваться в России запятой. Особой проблемы тут нет. Используйте метод "научного тыка" - пользуйтесь точкой, а если Visual Basic жалуется или начинает делать что-то не то, тогда меняйте ее на запятую.
Математические
функции. Кроме нескольких
действий арифметики Visual
Basic может
выполнять и другие математические
действия, например, извлечение квадратного
корня. На компьютере нет клавиши со
значком
,
поэтому в Visual
Basic имеется
специальная функция - Sqr.
Например, корень из 25 обозначается так
- Sqr(25),
корень из a+b
так - Sqr(a+b).
Здесь Sqr
- сокращение от английского выражения
Square
root
- квадратный корень. То, из чего нужно
извлечь корень, записывается в скобках.
Приведу неполный список математических функций Visual Basic:
ДЕЙСТВИЕ |
РЕЗУЛЬТАТ |
СМЫСЛ |
Sqr (25) |
5 |
корень квадратный |
Round (5.82716) |
6 |
округление до целых |
Round (5.82716, 3) |
5.827 |
округление до трех знаков после точки |
Abs ( -20) |
20 |
абсолютная величина (модуль) числа |
Fix (3.98) |
3 |
целая часть числа (дробная часть отбрасывается) |
Fix (-3.98) |
-3 |
|
Int (3.98) |
3 |
наибольшее целое число, не превышающее выражение в скобках |
Int (-3.98) |
-4 |
|
Rnd |
0.73088 |
случайное число из диапазона (0 - 1) |
Кроме этого, имеются функции Sin, Cos, Tan (что означает тангенс), Atn (что означает арктангенс), Exp, Log и др.
Работа со случайными величинами описана в 1.4, 5.9.
Примеры:
Выражение (2+1)^2 при вычислении даст 9 Выражение 1+ (2+8)^3 при вычислении даст 1001 Выражение 1+Abs(5-8) при вычислении даст 4 Выражение 2^4+Sqr(35+1) при вычислении даст 22 Выражение Sqr (8+Int(41.5)) при вычислении даст 7 Выражение 21 \ (Round (2.54+1)) при вычислении даст 5
Задание 9: Определите без компьютера, что напечатает данный фрагмент программы:
a = (2^2+1) * (20- (2^2)^2) - 11 : b=11 \ (a-4) : Debug.Print a^2 + b - 1