Ввод данных с помощью системной функции InputBox
Наиболее удобным является ввод информации с помощью системной функции InputBox, которая не требует никаких объектов на форме. Пример использования функции InputBox приведен ниже:
Dim Slovo As String, Number1 As Single, Number2 As Single
Slovo = InputBox("Введите слово")
Number1 = Val(InputBox("Введите первое число"))
Number2 = Val(InputBox("Введите второе число"))
Вывод данных с помощью системной функции MsgBox
Эта функция называется Окно сообщения. Более простая и чаще применяемая ее форма, когда функция выдает информацию в окно сообщения, имеет вид:
MsgBox Текст
Где Текст – это строка сообщения. Например:
MsgBox “y=”+str(y)+“ x=’+str(x)
Линейные алгоритмы
Задача 4. Составить проект программы для нахождения площади круга и длины окружности по заданному радиусу.
Первый этап.
Исходным данным является радиус и его надо будет задавать в процессе работы проекта программы. Обозначим его R, а выходными данными будут площадь круга и длина окружности, обозначим их буквами – S и L соответственно. Для работы проекта нам понадобится одна форма и на ней уже есть стандартные элементы, а нестандартные мы должны разместить на ней сами. Дадим название проекту: Площадь круга и длина окружности. Для ввода R нужно одно окно (Текстовое поле) и, чтобы пользователь знал для чего предназначено Текстовое поле, расположим рядом с ним Метку – пояснительную надпись. Кроме того, на форме должны быть еще одна Метка, на которой должны появится площадь круга и длина окружности, а также Командная кнопка для запуска команд программы на выполнение. Пользователь должен ввести длину радиуса и щелкнуть по командной кнопке, чтобы вычислить площадь круга и длину окружности. Для вычисления площади круга воспользуемся формулой S=pR2, а длины окружности L=2pR.
Второй этап.
Запустим VB и создадим пользовательский интерфейс.
Нам надо разместить на форме 1 объекта класса Текстовое поле, 2 объектов класса Метка и 1 объект класса Командная кнопка. Для их создания надо использовать Окно инструментов Toolbox(слева от формы), если его нет на экране, то открыть, используя меню: View→Toolbox.
Форма с размещенными на ней объектами будет выглядеть так

Теперь надо наполнить каждый объект содержанием, т. е. для каждого объекта указать свойства. Для этого на экране должна быть выставлено окно свойств - Properties. Если его нет на экране, то открыть, используя меню: View→ Properties.
Заполняем объекты содержанием по порядку. Прежде всего, зададим свойство Caption формы, для этого надо щелкнуть по форме вне объектов и, перейдя в окно свойств, свойству Caption формы дать название – Вычисление площади круга и длины окружности.
Свойству Caption первой метки - Label1 присвоим значение – Введите длину радиуса.
Свойству Caption второй метки – Label2 присвоим значение – пусто.
Для каждого Текстового поля можно указать множество различных свойств, как и для меток, но следует обратить внимание на то, что у Текстового поля нет свойства Caption, а есть свойство Text. Мы присвоим свойству Text значение пусто (Empty). Заполним содержанием объект Командная кнопка. Главным свойством этого объекта является Событие (мы говорили, что для получения результата надо щелкнуть по командной кнопке). Присвоим свойству Caption значение – Нажми, чтобы вычислить площадь круга и длину окружности.
После того, как мы укажем все выше перечисленные свойства, форма примет вид

Третий этап.
Программирование – Это главный этап создания проекта программы (Windows - приложения) в среде Visual Basic. На этом этапе мы должны создать программный код обработки события – щелчка мышью по командной кнопке, т. е. составить перечень операторов, выполнение которых приведет к решению поставленной задачи. Этот перечень операторов называется процедурой.
Для раскрытия окна программного кода достаточно сделать двойной щелчок по командной кнопке, раскроется окно процедуры:
Private Sub Command1_Click()
End Sub
В этой заготовке Command1_Click() – название нашей процедуры (это название мы создали сами), Private Sub и End Sub – ключевые (служебные) слова Visual Basic, Private – частный, локальный, Sub – процедура, End – конец.
Между строками этой заготовки наберем с помощью клавиатуры строки с операторами нашей программы:
Dim R As Integer, L As Single, S As Single
R = Text1.Text
S = 3.14*R^2 : L=2*3.14*R
Label2.Caption = "Площадь круга = " + Str(S)+ " Длина окружности = " +Str(L)
После того, как текст программы набран между строками заготовки, и система программирования не выдала никаких сообщений о синтаксических ошибках можно запустить программу на выполнение, ввести исходные данные и щелкнуть мышью по командной кнопке, после чего сработает процедура Command1_Click() и в поле Label2 появится результат.
Запуск программы на исполнение можно произвести несколькими способами:
ü «нажатием» пиктограммы
-Start на линейке инструментов;
ü выбрать Run (главное меню) → Start; (→ - означает, что выбирается пункт меню или выполняется действие, следующие за стрелкой);
ü F5.
Завершение исполнения программы также можно произвести несколькими способами:
ü «нажатием» пиктограммы
-End;
ü Run (главное меню) → End;
ü закрытием окна формы.
Аварийное завершение исполнения программы – одновременное нажатие клавиш Ctrl + Break → End .
Программирование ветвлений на языке Visual Basic
Ветвление - выбор пути решения задачи в соответствии с выполнением или невыполнением некоторого условия выбора.
Алгоритмы, в которых последовательность выполнения некоторых действий зависит от выполнения проверяемых условий, называются нелинейными.
Для записи условий используются логические выражения, которые также называют условными выражениями. Условные выражения могут быть простыми и сложными.
Простое условие - это два выражения, между которыми помещается знак сравнения.
Примеры записи простых условий:
A>0, C<=D, B<>0 и т. д.
Сложное условие - это последовательность простых условий, заключенных в круглые скобки, которые соединены между собой знаками логических операций: And (и) - логического умножения, Or (или) - логического сложения, Not (не) - логического отрицания.
Примеры записи сложных условий:
(A>B) AND (B>C)
(A>=B) OR (A<=C) OR (A=D)
Истинность сложных условий определяется в соответствии с таблицами истинности для логических функций AND, OR, NOT.
Таблица истинности для логического умножения AND и OR
А | В | А AND В | А OR В |
False | False | False | False |
False | True | False | True |
True | False | False | True |
True | True | True | True |
Таблица истинности для логического отрицания (NOT)
A | NOT A |
False | True |
True | False |
Задача 5 .Ни в одном языке программирования нет... выражений
a.) текстовых | b.) арифметических | c.) логических | d.) физических |
Понятие условного оператора If
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Этот оператор в языке Visual Basic имеет две формы записи: упрощенная однострочная форма и более сложная многострочная форма.
Однострочная форма записи условного оператора:
If Условие Then оператор1 Else оператор2
Многострочная форма записи условного оператора:
If Условие Then
<оператор 1>
Else
<оператор 2>
End if
Примечания:
ü полужирным шрифтом выделяются ключевые слова;
Различают два вида условных переходов: двойной условный переход и одинарный условный переход.
Двойной условный переход работает так: если условие имеет истинное значение, делается переход к выполнению операторов Оператор 1, стоящих после слова Then. Если условие имеет ложное значение, делается переход к выполнению операторов Оператор 2, стоящих после слова Else. После этого выполнение условного оператора прекращается и выполняются операторы, стоящие за условным оператором. Блок - схема двойного условного перехода изображена в разделе Алгоритмизация.
Одинарный условный переход работает так: если условие имеет истинное значение, делается переход к выполнению операторов, стоящих после слова Then. Если условие имеет ложное значение, выполнение условного оператора прекращается и начинают выполняться операторы, стоящие за условным оператором. В этом случае оператор условия будет выглядеть так:
If условие Then
<операторы>
End If
Или так:
If условие Then <операторы>
Задача 6: Составить блок-схему и программу вычисления значений функции:
при X=-2; 4; 5
Постановка задачи:
Требуется: Вычислить значение функции Y для заданных значений X.
Дано: X– значение X
Разработка интерфейса:
Разместим на форме следующие объекты:
ü Label1 - имя метки для вывода слов "Введите значение X"
ü Text1 - имя текстового окна для ввода значения X (свойству Text присвоить значение пусто (Campty)).
ü Label2 - имя метки для вывода значения функции.
ü Пуск - имя командной кнопки
.
Блок-схема алгоритма:

Программа:
Private Sub Command1_Click()
Dim X As Single, Y As Single
X = Text1.Text
If X >= 4 Then
Y = 4 * Sqr(X)
Else
Y = 7 * X
End If
Label2.Caption = "Y=" + Str(Y) + " при X=" + Str(X)
End Sub
Задача 7. Составить блок-схему и программу, в которой определяется полугодие года (первое или второе) по номеру введенного месяца.
Требуется: Вывести сообщение о номере полугодия года.
Дано: N – номер месяца.
Разработка интерфейса:
Разместим на форме следующие объекты:
ü Label1 - имя метки для вывода слов "Введите номер месяца года"
ü Text1 - имя текстового окна для ввода значения N (свойству Text присвоить значение пусто).
ü Пуск - имя командной кнопки.
ü Label2 - имя метки для вывода номера полугодия.
Тогда интерфейс программы будет выглядеть так:

В проекте программы будет использована одна переменная N - номер месяца.
Блок-схема алгоритма решения задачи представлена ниже:


Программный код процедуры этой задачи будет выглядеть таким образом:
|
Оператор If можно использовать и в таком виде, в котором вместо оператора Else (иначе) можно ставить оператор ElseIf (иначе если) и делать условия вложенными таким образом:
If условие 1 Then
[Серия 1]
[ElseIf условие 2 Then
[Cерия 2 для ElseIf]
...
[ElseIf условие n Then
[Cерия n для ElseIf]
[Else
[Cерия для Else]]
End If
Задача 8. По номеру введенного весеннего месяца (переменная n) определить название месяца.
Если считать, что n – номер введенного весеннего месяца, то фрагмент кода программы будет
![]() |
следующий:
Программирование повторений
Повторение - это многократное выполнение одного или нескольких предписаний алгоритма.
Цикл - это оператор языка программирования, с помощью которого это повторение будет выполнять компьютер - исполнитель алгоритмов.
В языке Visual Basic циклы - многострочные операторы двух видов: циклы со счетчиком и циклы с условием.
Программирование повторений с помощью цикла со счетчиком
Цикл со счетчиком - это многострочный оператор, его синтаксис таков:
For Имя=Знач1 To Знач2 [Step Знач3]
Серия повторяющихся операторов
Next [Имя],
где Имя - это имя переменной, которую называют счетчиком;
Знач1 - начальное значение счетчика;
Знач2 -. конечное значение счетчика;
Знач3 - величина, на которую изменяется значение счетчика при одном повторении. Она называется шагом цикла.
Серию повторяющихся операторов иначе называют телом цикла.
Логика работы оператора цикла со счетчиком такая. Сначала цикл проверяется на непротиворечивость, т. е. если конечное значение счетчика больше начального, то шаг цикла должен быть положительным, а если конечное значение счетчика меньше начального, то шаг должен быть отрицательным. Если проверка выявила такое противоречие, то работа цикла прекращается и выполняются операторы, следующие за оператором цикла. Если же противоречия нет, то повторяющиеся операторы будут выполнены при начальном значении счетчика. Затем начальное значение счетчика будет изменено на величину шага цикла, сделана проверка на то, что не вышло ли значение счетчика за пределы интервала между начальным и конечным значениями и если вышло, то работа цикла будет прекращена, а если нет, то повторяющиеся операторы будут выполнены при новом значении счетчика, после чего значение счетчика опять будет изменено на величину шага цикла и т. д.
Оператор цикла со счетчиком будем представлять в виде блок-схемы следующим образом:


Блок “Конец повтора”, изображенный на этой блок – схеме, можно не использовать, а сразу осуществить переход к блоку “Повторять, меняя имя от Знач1 до Знач2 с шагом Знач3”.
Выражение Step Знач3 может отсутствовать, в этом случае шаг считается равным единице. Шаг может быть как целым, так и дробным, как положительным, так и отрицательным.
Например, решим такую задачу:
Задача 9. Вывести на форму таблицу значений функции Y=X3-3X-0.5 на отрезке [-2,4] с шагом H=0,25.
Рассмотрим эту задачу подробно, начиная с постановки задачи. Из условия задачи видно, что начальное значение X равно –2, конечное 5, а шаг равен 0,25. Таким образом, значение X соответствует параметрам счетчика в цикле For и для каждого значения счетчика надо вычислить значение функции Y и вывести вычисленное значение Y и значение счетчика X.
Блок – схема решения задачи 9 будет выглядеть так, как показано на рисунке ниже.
Разберемся с тем, как будет выглядеть интерфейс для данной задачи, т. е. определим, какие объекты надо разместить на форме для ввода исходных данных, для вывода результатов выполнения программы и какое событие должно произойти, чтобы был выполнен код программы. Из постановки задачи видно, что исходными данными являются значения X, а они формируются автоматически от -4 до 2 с шагом 0.25 и их вводить не надо, а значит, и не нужны объекты на форме для ввода исходных данных.
Для вывода результатов работы программы удобно воспользоваться методом Print, который позволяет осуществить вывод результатов непосредственно на форму, т. е. для вывода результатов других объектов на форме также не нужно. Разместим на форме одну командную кнопку, свойству Caption которой присвоим значение «Старт», а при щелчке мышью по ней начнется вывод значений функции при очередном значении аргумента.


Тогда программный код процедуры Command1_Click():
|
Рассмотрим более сложную задачу, в которой рассматриваются алгоритмы поиска суммы, количества и произведения элементов последовательности.
Задача 10. Дана последовательность: Sin(0.1)/0.1, Sin(0.2)/0.2, Sin(0.3)/0.3,…, Sin(1)/1. Найти сумму отрицательных элементов последовательности, количество положительных и произведение элементов последовательности, значения которых больше 0.5.
Из условия задачи видим, что аргумент функции Sin и знаменатель элемента последовательности изменяются с равным шагом, известно начальное значение и конечное значение этих величин. Таким образом, эти величины соответствуют параметрам счетчика в цикле For и для каждого значения счетчика надо вычислить значение очередного элемента последовательности.
Пусть:
x – имя счетчика,
xn - начальное значение счетчика,
xk – конечное значение счетчика,
h – шаг изменения счетчика,
y – значение очередного элемента последовательности,
s - сумма отрицательных элементов последовательности,
k – количество положительных элементов последовательности,
p - произведение элементов последовательности, значения которых больше 0.5.
Для ввода xn, xk и h используем функцию InputBox, для вывода элементов последовательности применим оператор Print, а он не требует никаких объектов на форме, а для вывода s, p и k – функцию MsgBox, для программного кода – командную кнопку.
Блок – схема решения задачи представлена:


Программный код задачи будет представлен в виде:
|
Эту задачу можно решить иначе, если вычислить количество повторений цикла по формуле N=(xk-xn)/h+1. Тогда цикл надо осуществлять по другой переменной, которая изменяется от 1 до N, а за изменением x следить самим. Фрагмент программы будет выглядеть в этом случае так:
|
Программирование повторений с помощью циклов с условием
Если заранее неизвестно, какое количество раз надо повторить тело цикла, используются циклы с условием. Такой цикл реализуется с помощью многострочного оператора Do … Loop.
Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием. Синтаксис цикла с предусловием:
Do Условие
Серия повторяющихся операторов
Loop
![]() |
Оператор цикла с предусловием будем представлять в виде блок-схемы следующим образом:
Если условие выхода из цикла стоит после тела цикла (в конце), то такой цикл называется циклом с постусловием.
Синтаксис цикла с постусловием:
Do
Серия повторяющихся операторов
Loop Условие
Оператор цикла с постусловием будем представлять в виде блок-схемы следующим образом:
![]() |
Проверка условия выхода из цикла производится с помощью ключевых слов While или Until.
Если в условии используется ключевое слово While, то условие называется условием продолжения цикла. В этом случае тело цикла выполняется повторно до тех пор, пока условие выполняется.
Если в условии используется ключевое слово Until, то условие называется условием завершения цикла. В этом случае тело цикла выполняется повторно до тех пор, пока условие не выполняется.
После ключевого While (или Until) записывается условное выражение. В циклах с предусловием Серия повторяющихся операторов может не выполняться ни разу, а в циклах с постусловием - хотя бы один раз.
Задача 11. Составить программу нахождения суммы элементов последовательности: 1/1, 1/4, 1/9, …, пока очередной член последовательности не станет меньше заданного числа E(число Е меньше или равно 1).
Постановка задачи. Из условия задачи видно, что знаменатель-это квадрат натурального числа, а также видно и то, что количество повторений цикла неизвестно. Решим эту задачу с помощью цикла с предусловием. Пусть счетчиком цикла будет переменная I и счетчик изменяется от единицы с шагом 1. Число E введем с клавиатуры, а в переменной S накопим сумму.
![]() |
Блок-схема:
![]() |
Программа:
Программный код решения задачи 8 с использованием цикла с постусловием и ключевого слова Until будет выглядеть так:
|
Задача12. Задан фрагмент алгоритма:
если а<0 то а=-а
если b<0 то b=-b
Пока выполняется условие (a>b) делать a=a-b
В результате выполнение данного алгоритма с начальными значениями a=-13;b=5 какие значения примут переменные a и b?
Из условия задачи видно, что здесь использован цикл с предусловием. Перед его непосредственным использованием a=13, а b=5. После выполнения первой итерации a=8, а b=5, после второй a=3, а b=5, при следующей итерации будет осуществлен выход из цикла. Таким образом, a=3, а b=5
Задача 13.
![]() |
Что определяет фрагмент алгоритма, приведенного на блок - схеме?
МАССИВЫ
Понятие массива
Для хранения в памяти компьютера большого числа однотипных данных используются массивы. В основе массивов лежит понятие индекса.
Допустим, нам известна температура в каждый из дней октября
День месяца | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | … | 29 | 30 | 31 |
Температура, °С | 5 | 7 | 9 | 8 | 2 | 0 | 3 | 11 | 12 | 3 | 0 | -2 | -4 | 0 | … | 0 | 1 | 2 |
Тогда температура - это последовательность чисел, следующих по порядку одно за другим. А день месяца – это порядковый номер элемента в этой последовательности или индекс.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |








