- •Вопросы к экзамену
- •Информатика. Информация. Свойства информации.
- •Двоичная, десятичная и шестнадцатеричная системы.
- •Операционные системы. Виды операционных систем.
- •Обеспечение интерфейса пользователя.
- •Часть 2. Язык Visual Basic
- •Логические константы, переменные, операции, выражения. Примеры.
- •Операции сравнения
Часть 2. Язык Visual Basic
Типы данных. Объявление типа переменной.
Тип данных – способ хранения и представления данных в компьютерной системе.
Типы данных |
||
Числовые |
Нечисловые |
|
Целые: целые со знаком – Integer, Long, SByte, Short без знака- Byte, Uinteger, Ulong, Ushort |
Вещественные: с фиксированной точкой – LDecimal с плавающей точкой – Single, Double |
Логический – Boolean Символьный – Char, String Date, Object |
Описание переменных
Dim|Private|Public ИмяПеременной As ТипПеременной
Dim – локальное описание переменных, которые используются в данной процедуре.
Publiс – доступна для всех подпрограмм, не может быть описана внутри подпрограммы.
Private – не может быть описана внутри подпрограммы, она доступна в пределах только своего модуля.
Оператор присваивания. Арифметические операции. Арифметические выражения. Математические функции. Примеры.
Оператор присваивания (выполняется справа налево):
ИмяПеременной=ЗначениеПеременной(х=5)
ИмяПеременной=Выражение(х=(а+в)/с)
ИмяПеременной=ДругаяПеременная(х=у)
Пример: к=к+1
Арифметические операции: А^B, -A, A*B, A/B, A\B, AmodB, A+B, A-B
Пример:
х=5\2
х=2
Арифметические функции: math.Функция(ИмяПеременной)
Пример:
Math.Round(5,4)=5
Math.Truncate(6.1)=6
Организация ввода и вывода данных. Примеры.
Окно ввода: InputBox(Приглашение[, Заголовок][, Начальное значение])
Приглашение – любой текст, который размещается в окне ввода. Его назначение – подсказка пользователю, что он должен ввести.
Заголовок – надпись в строке заголовка окна ввода.
Начальное значение – значение, которое будет введено автоматически (по умолчанию), если пользователь будет с этим согласен.
Возвращаемым значением функции InputBox является информация, вводимая пользователем, типа string.
Пример:
Х=val(InputBox(“Введите исходное значение Х”))
Окно вывода (сообщения): MsgBox(Текст [, Опция][, Заголовок])
Текст – строка сообщения, ради получения которого данная функция и применялась.
Параметр Опция отвечает за набор пиктограмм и кнопок в окне сообщения. Опция=Оп1+Оп2
Логические константы, переменные, операции, выражения. Примеры.
Логические константы и переменные – это константы и переменные, имеющие тип Boolean. Boolean – тип данных для хранения логических величин. Может иметь только два значения: True (Истина) и False(Ложь). При переводе числовых данных значений в логические значения ноль становится False, а все другие значения – True. При обратном преобразовании False становится нулем, а True – единицей. Идентификаторы True и False являются ключевыми словами Visual Basic 2005.
Как правило, логические переменные используются для хранения информации о состоянии какого-либо объекта. Например, отсортирован ли массив, найдено ли искомое значение и так далее. Пример использования логической переменной рассмотрен в разделе 7.16.
Операции сравнения
Для сравнения двух однотипных величин в Visual Basic 2005 предусмотрено шесть различных операций сравнения. Все они имеют одинаковый приоритет. Знаки операций сравнений приведены в таблице 7.
Таблица 7
Знак операции сравнения |
Пример использования |
Описание операции |
= |
a = b |
Равно. Операция возвращает значение True, если значения равны друг другу. Во всех остальных случаях результатом операции будет значение False. |
< > |
a <> b |
Неравно. Операция возвращает значение True, если значения неравны друг другу. Иначе результатом операции будет значение False. |
< |
a < b |
Меньше. Операция возвращает значение True, если значение переменной a меньше значения переменной b. Иначе результатом операции будет значение False. |
<= |
a <= b |
Меньше или равно. Операция возвращает значение True, если значение переменной a меньше или равно значению переменной b. Иначе результатом операции будет значение False. |
> |
a > b |
Больше. Операция возвращает значение True, если значение переменной a больше значения переменной b. Иначе результатом операции будет значение False. |
>= |
a >= b |
Больше или равно. Операция возвращает значение True, если значение переменной a больше или равно значению переменной b. Иначе результатом операции будет значение False. |
Обратите внимание, что если знак операции состоит из двух символов (например, неравно), то между символами пробел не ставится.
Программирование ветвлений. Условный оператор. Функция If. Примеры.
Условный оператор в Visual Basic 2005 предназначен для организации ветвлений. Существует две формы синтаксиса условного оператора: однострочный оператор и многострочный оператор.
Как следует из названия, однострочный оператор всегда записывается в одну строку. Он используется в тех случаях, когда ветви алгоритма содержат небольшое количество действий, чаще всего одно. Однострочный условный оператор имеет следующий синтаксис.
If Условное Выражение Then Оператор1 Else Оператор2
Многострочный условный оператор записывается в несколько строк. Причем распределение ключевых слов по строкам является обязательным и не может быть изменено. Рассмотрим синтаксис многострочного условного оператора.
If Условное Выражение Then
Группа Операторов 1
Else
Группа Операторов 2
End If
В отличие от однострочного условного оператора, ветви многострочного оператора могут содержать не одно, а несколько действий. Поэтому данная форма условного оператора применяется гораздо чаще однострочной формы. Ее традиционно рекомендуют использовать начинающим программистам.
Так как принцип работы условного оператора не зависит от его синтаксической формы, то в дальнейшем мы не будем делать разницы между однострочной и многострочной формами. Рассмотрим логику работы условного оператора.
Условный оператор позволяет в определенный момент времени выбрать дальнейший путь выполнения алгоритма. Переход к выбранному пути называется условным переходом. Существует два вида условного перехода: одинарный или двойной.
Одинарный условный переход (другое его название – обход) предполагает, что действия есть только в одной ветви алгоритма, а другая его ветвь пуста, то есть не содержит ни одного действия. Условный оператор, реализующий такой переход, не имеет части, которая начинается с ключевого слова Else. Если Условное Выражение имеет значение Истина (True), то выполняются операторы, стоящие после ключевого слова Then. Если Условное Выражение имеет значение Ложь (False), то выполнение условного оператора завершается и программа продолжает свою работу с оператора, стоящего после условного.
При двойном условном переходе действия находятся в обеих ветвях алгоритма. Условный оператор, реализующий двойной условный переход, содержит как часть Then, так и часть Else. Если Условное Выражение имеет значение Истина (True), то выполняются операторы, стоящие в части Then. Если Условное Выражение имеет значение Ложь (False), то выполняются операторы, стоящие в части Else. Заметим, что части Then и Else никогда не могут быть выполнены одновременно. После завершения работы условного оператора выполнение программы продолжается с оператора, стоящего сразу после него.
В качестве примера рассмотрим четыре разных варианта вычисления модуля числа. Исходное число a вводится с помощью функции InputBox. Модуль числа записывается в переменную b. Ее значение выводится с помощью функции MsgBox. Здесь мы рассмотрим несколько фрагментов программного кода. Полный текст программы приведен в приложении 4.
Одинарный условный переход, однострочный условный оператор.
b = a
If a < 0 Then b = -a
Сначала предполагаем, что модуль числа равен самому числу. Если исходное число – отрицательное, то меняем знак числа на противоположный.
Одинарный условный переход, многострочный условный оператор.
b = a
If a < 0 Then
b = -a
End If
Здесь рассуждения полностью аналогичны предыдущему случаю. Разница заключается в форме записи условного оператора.
Двойной условный переход, однострочный условный оператор.
If a >= 0 Then b = a Else b = -a
Если исходное число неотрицательное, то модуль равен самому числу. В противном случае для вычисления модуля исходного числа необходимо изменить его знак.
Двойной условный переход, многострочный условный оператор.
If a >= 0 Then
b = a
Else
b = -a
End If
Логика работы этого варианта такая же, как и у предыдущего. Но вместо однострочного условного оператора используется многострочный условный оператор.
Программирование повторений. Цикл со счетчиком. Примеры.
Цикл со счетчиком применяется в тех случаях, когда можно точно определить, сколько раз должны повториться операторы программы. В Visual Basic 2005 цикл со счетчиком реализуется с помощью оператора For. Рассмотрим его синтаксис.
For Счетчик = Нач. значение To Кон. Значение Step Шаг
Операторы тела цикла
Next
В синтаксической структуре принято выделять две части: заголовок цикла (первая строка оператора цикла) и тело цикла (блок операторов, стоящих между строками For и Next). В старых версиях языка Basic после ключевого слова Next необходимо было указывать Счетчик цикла. В Visual Basic 2005 это является необязательным.
Выполнение цикла со счетчиком происходит в несколько этапов.
Заголовок цикла проверяется на отсутствие противоречий. Это возможно в двух случаях.
Если Начальное значение меньше Конечного Значения, то Шаг цикла должен быть больше нуля.
Если Начальное значение больше Конечного Значения, то Шаг цикла должен быть меньше нуля.
Visual Basic 2005 позволяет не указывать Шаг в заголовке цикла, опуская при этом ключевое слово Step. В таких случаях Шаг цикла считается равным единице. Если заголовок цикла является противоречивым, то цикл выполняться не будет, а работа программы будет продолжена с оператора, стоящего после ключевого слова Next.
Если в заголовке цикла нет противоречий, то переменная Счетчик становится равной Начальному значению.
При данном значении Счетчика выполняются операторы тела цикла.
Значение счетчика изменяется на величину Шага. Если Шаг положительный, то значение Счетчика будет увеличиваться. Если Шаг отрицательный – уменьшаться. Если в заголовке цикла шаг не указан, то значение Счетчика будет увеличиваться на единицу.
Проверяется, попадает ли значение Счетчика в диапазон от Начального значения до Конечного значения. Если да, то происходит переход к пункту 3, и цикл выполняется еще раз. В противном случае работа цикла завершается.
Если среди операторов тела цикла встречается оператор Exit For, то выполнение цикла после этого оператора сразу прекращается независимо от значения Счетчика.
Программирование повторений. Циклы с условием. Примеры.
Цикл с условием используется в тех случаях, когда число повторений цикла заранее неизвестно. Например, при обработке совокупности чисел, ввод которой прекращается при появлении первого нуля.
Цикл с условием – это многострочный оператор Visual Basic 2005, первая строка которого начинается со слова Do, а последняя строка начинается со слова Loop.
Выделяют две разновидности цикла с условием: цикл с предусловием и цикл с постусловием. В цикле с предусловием условие цикла располагается перед телом цикла.
Do Условие Цикла
Тело цикла
Loop
При этом возможна ситуация, когда операторы тела цикла не выполнятся ни разу. Другими словами условие цикла можно сформулировать таким образом, что управление никогда не попадет внутрь цикла.
В цикле с постусловием условие расположено после тела цикла. Поэтому операторы тела цикла обязательно выполнятся хотя бы один раз, чтобы выполнение программы могло дойти до проверки условия.
Do
Тело цикла
Loop Условие цикла
Вне зависимости от вида цикла его условие может быть записано в одной из двух форм.
Условие продолжения цикла (условие While).
While Условное выражение
В этом случае операторы тела цикла выполняются, пока Условное выражение имеет значение Истина (True). Цикл завершается, когда Условное выражение принимает значение Ложь (False).
Условие завершения цикла (условие Until).
Until Условное Выражение
Цикл с таким условием завершается, когда Условное выражение принимает значение Истина (True). Если Условное выражение ложно, то выполнение цикла продолжается.
Таким образом, в Visual Basic 2005 возможны четыре различных варианта цикла с условием.
Do While Условное выражение
Тело цикла
Loop
Do Until Условное Выражение
Тело цикла
Loop
Do
Тело цикла
Loop While Условное выражение
Do
Тело цикла
Loop Until Условное Выражение
Меняя Условные выражения, каждый вид цикла можно заменить на любой другой без потери работоспособности программы. Если Условие цикла сформулировано с ошибкой, то программа может попасть в бесконечный цикл. Бесконечный цикл – это цикл, в котором количество повторов ничем не ограничено. В таких случаях говорят, что программа «зациклилась» или «зависла». Чаще всего бесконечный цикл возникает из-за ошибок в условии цикла: условие продолжения всегда имеет значение Истина (True) или условие завершения цикла всегда имеет значение Ложь (False). Прервать программу, попавшую в бесконечный цикл, можно только из среды Visual Basic 2005. Для этого необходимо перейти из окна работающей программы в окно среды Visual Basic 2005 и выбрать команду Stop Debugging из пункта меню Debug.
Среди операторов тела цикла может встречаться особый оператор Exit Do. Он прекращает выполнение цикла при любом значении его условия. Выполнение программы продолжается с оператора, стоящего сразу после ключевого слова Loop.
Организация программ со структурой вложенных циклов на примере использования оператора цикла с постусловием.
Организация программ со структурой вложенных циклов на примере использования оператора цикла с предусловием.
Организация программ со структурой вложенных циклов на примере использования оператора цикла со счетчиком.
Приемы определения количества, формирования суммы, произведения, факториала.
Приемы нахождения наименьшего и наибольшего значений в последовательности, массивы.
Одномерные массивы. Ввод и вывод массивов. Примеры.
Динамические массивы. Объявление массива, изменение его размера. Примеры использования.
Формирование нового массива из элементов исходного массива.
Сортировка одномерныx массивов. Пример.
Двумерные массивы. Объявление массива. Ввод матрицы с использованием функции lnputBox. Вывод матрицы в окно списка (ListBox). Примеры.
Двумерные массивы. Обработка квадратных матриц. Примеры.
Тип данных String. Основные функции обработки строк. Примеры.
Процедуры и функции. Сравнительная характеристика.
Классификация подпрограмм. Процедуры. Передача параметров по значению и по ссылке. Глобальные и локальные переменные. Примеры.
Классификация подпрограмм. Функции. Определение возвращаемого значения функции. Примеры.
