
- •Процесс создания приложения. Основные понятия visual basic
- •Процесс создания Windows-приложения
- •Объекты и их свойства
- •Свойства в visual basic
- •События-процедуры
- •Режимы интерпретации и компиляции
- •Окна Project Explorer и Form Layout
- •Метод Move
- •Метод Print
- •Переменные
- •Константы
- •Глобальные, контейнерные и локальные переменные
- •Статические переменные
- •Таймеры
- •Линейки прокрутки
- •Урок №7
- •Операторы. Выражения. Функции.
- •Оператор присваивания
- •Урок №8
- •Системные функции
- •Msgbox Текст [Опция] [, Заголовок]
- •Обработка строковых выражений
- •Функции выделения подстроки
- •Урок №9
- •Простые и сложные условия, логические выражения.
- •Операторы управления
- •Программирование ветвлений.
- •Урок №10
- •Программирование сложных условий. Вложенный оператор if.
- •If условие1 then
- •Урок 11
- •Обработка событий мыши
- •Свойство MousePointer
- •Технология Drag-and-Drop
- •Графические объекты
- •Объект Комбинированное окно
- •Оператор Select Case
- •Функции задания цвета rgb и qbColor
- •Графические методы
- •События МouseDown и МouseUp
- •Элемент управления Shape
- •Функция rnd
- •Повторения и циклы.
- •Урок 18
- •Циклы с условием
- •Вложенные циклы
- •Массивы
- •Многомерный массив
- •Массив объектов
- •Пользовательские процедуры и функции
- •Процедуры
- •Функции
- •Программный модуль
- •Объекты для работы с дисками
- •Редактор меню
- •Создание контекстного меню
- •Типы файлов
- •Текстовые файлы
- •Открытие файла
- •Закрытие файлов
- •Запись в файл
- •Чтение из файла
- •Объект Общий Диалог
- •Диалог Open/Save As
- •Мультимедийные приложения
Функция rnd
В некоторых программах, например, в контрольных, а чаще в играх требуется запрограммировать вычисление вероятности какого-нибудь события. События могут произойти или не произойти. В теории вероятности такие события называются случайными. Вероятностью случайного события называется измеренная в процентах (или долях единицы) возможность совершения этого события. Кроме того, очень часто требуется задать произвольное число, установить случайную последовательность каких-либо действий, то есть вызвать произвольное, случайное число.
Для этой цели в VB существует специальная встроенная функция Rnd, значения которой – число, случайным образом выбираемое из интервала между 0 и 1. Число, на самом деле берется не случайно, а из очень длинной последовательности так называемых псевдослучайных чисел. И поэтому перед использованием Rnd необходимо случайным образом определить первоначальное место в этой последовательности.
Для этой цели используется оператор Randomize z, где z – произвольное число. Чтобы действительно все было случайно, необходимо, чтобы z при каждом запуске было разным. В VB для этого удобно пользоваться функцией Timer (встроенный счетчик времени). Она возвращает текущее значение времени с точностью до 0,01 сек. А по умолчанию, если z отсутствует, VB все равно считает его равным значению Timer.
Если надо получить случайное число в интервале от 1 до 10, необходимы следующие операторы:
Randomize
N = 1 + Int(Rnd*10)
Rnd возвращает число от 0 до 1, Int возвращает целую часть числа.
Попробуйте сами написать операторы, возвращающие случайные числа в интервалах 10-20, 0-7, 1-99, (-10) – (+10).
Общая формула для интервала N1-N2 выглядит так
N=N1 + Int(Rnd*(N2-N1+1)).
Задание1. Игра «Угадайка». На форме 2 кнопки и Текстовое Окно. По одной кнопке компьютер загадывает случайное число. Играющий вводит число в Текстовое Окно и с помощью второй кнопки проверяет правильность. Выдаются сообщения «угадал», «не угадал». Можно усложнить: выдавать сообщения с указанием – число больше или меньше задуманного.
Повторения и циклы.
Повторение – многократное повторение одного или нескольких предписаний алгоритма.
Цикл – оператор языка программирования, с помощью которого это повторение будет выполнять компьютер.
Циклы – это многострочные операторы двух видов: циклы со счетчиком и циклы с условием.
В 1 случае используется особая переменная, которая называется счетчиком. Ей присваивается начальное значение, и ее значение изменяется каждый раз при повторении. И когда она достигает конечного значения, цикл прекращается.
Во 2 случае цикл продолжается до тех пор, пока выполняется некоторое условное выражение.
Цикл со счетчиком. FOR – NEXT
Для организации определенного числа повторений используется многострочный оператор FOR-NEXT.
For Имя = Нач.Значение To Кон.Значение [ Step ЗначениеШага]
Тело цикла(повторяющиеся операторы)
Next [Имя]
Имя – имя переменной, счетчика цикла. Эта переменная меняется от начального до конечного значения, каждый раз на величину шага. Если шаг отсутствует, по умолчанию считается, что он = 1.
Работа оператора выполняется в следующем порядке:
Задается начальное значение параметра цикла.
Проверяется больше или нет параметр цикла, чем конечное значение. Если больше, то происходит выход из цикла.
Если параметр цикла меньше конечного, то выполняются последовательно все операторы тела.
При выполнении Next (следующий) к параметру цикла прибавляется значение шага.
Переход ко второму пункту и повторение пунктов 2-5.
Цикл повторяется до тех пор, пока счетчик не примет значение больше конечного. Если изначально значение счетчика больше конечного, то цикл не будет выполнен ни разу.
Задание2. По кнопке задаются и печатаются на форме 20 случайных чисел в интервале 0 – 100. Можно интервал чисел задать с помощью Окон Ввода.
Циклические операторы - одни из наиболее часто применяемых в программировании. Применяются для сложных математических расчетов, для создания графических узоров, мультипликационных эффектов и для других повторений.
З
адание3.
Нарисуйте
на форме разноцветные мыльные пузыри
с разными радиусами. Координаты центра
и радиус задайте случайным образом.
S=0
О
S=S+A
дна
из наиболее частых задач, решаемых с
помощью циклического оператора – это
подсчет суммы чисел.
Д
A
Алгоритм решения этой задачи можно изобразить
д
анной
схемой алгоритма.
I =I+1
З
I>10
нет
да
S
В циклических операторах предусмотрена возможность для экстренного выхода из цикла. Оператор Next For позволяет выйти из цикла For до его завершения. Тем самым программа сможет среагировать на определенное событие, не выполняя цикл заданное количество раз. Операторы Exit For обычно используются с операторами IF. If условие Then Exit For. Эта конструкция очень полезна для обнаружения особых ситуаций в ходе выполнения цикла.
Задание5. Дополните предыдущее задание. Если очередная отметка будет = 2, то подсчет средней отметки кончается и выводится сообщение "Неуспевающий".
Домашнее задание:
1.Сделайте тестирующую программу с помощью цикла. Например, проверка знания таблицы умножения.
2. Оформите Задание1 как игрушку для детей. Примените циклические алгоритмы.
Контрольные вопросы:
1. Как задать случайное число в заданном интервале, целое и десятичное, положительное и отрицательное?
2. Что такое цикл?
3. Какие бывают операторы цикла?
4. Синтаксис и алгоритм выполнения цикла со счетчиком?