Методика и порядок выполнения работы

End If

Else

End IF

Операторы 3

ELSE

Операторы 2

ELSEIF выражение 2 THEN

Операторы 1

IF выражение 1 THEN

Математическое выражение Запись на Qbasic

IF выражение THEN оператор1

IF выражение THEN оператор1 ELSE оператор2

Теоретическое обоснование

VISUAL BASIC: ПРОГРАММИРОВАНИЕ ВЕТВЛЕНИЙ

Лаб.раб. № 13

Цель и содержание: освоение навыков составления и отладки программ для решения задач с разветвлениями с использованием условного оператора IF.

Различают два типа операторов принятия решений: условные операторы и операторы выбора. Условные операторы используются, когда необходимо, чтобы группа операторов выполнялась при соблюдении определенных условий. Условные операторы бывают двух видов:

1) полная форма:

2) сокращенная форма:

Где выражение – логическое условие, принимающее значение истина или ложь;

оператор1, оператор2 – один или несколько операторов, разделенных двоеточием.

Выражение состоит из констант, переменных, операций отношения и логических операций.

Операции отношения.Операции отношения производят сравнение двух величин. Результат сравнения может быть истиной (TRUE,обозначается1) или ложью (FALSE обозначается 0).Например:

Знак операции Проверяемое отношение Пример выражения
= равно а = b
< > не равно а <> b
< меньше а < b
> больше а > b
<= меньше или равно а <= b
>= больше или равно а >= b

Логические операции. К логическим операциям относятся:

- логическое умножение AND ;

- логическое сложение OR;

- логическое отрицание NOT .

Например:

ax < b x > = a AND x < b

a < xb или cxd x >a AND x <= b OR x >= c AND x<= d

 

Работа операторов: совокупность операторов THEN выполняется, если выражение истинно. Если выражение ложно, выполняется совокупность операторов ELSE. Если слово ЕLSE отсутствует, то управление передается следующему оператору программы.

Такая запись условных операторов называется однострочной.

Можно использовать многострочную форму(блочную) записи оператора IF.

Общий вид:

При выполнении условного блокового оператора проверяется первое выражение и при его истинности выполняется первый блок операторов. Иначе проверяются все логические условия, следующие за словом ELSEIF до тех пор, пока не будет найдено условие, принимающие значение "истина". В этом случае выполняется блок операторов за словом THEN, иначе выполняется блок операторов за словом ELSE. Блоки ELSEIF и ELSE необязательны.

Пример 1.Даны два числа А и В. Определить максимальное среди них.

Можно применять любой из двух вариантов использования IF:

1. Краткий

max=a

If b>max Then max=b

2. Полный

If a>b Then max=a Else max=b

Пример 2.Вычислить значения функции y = .

If x<0 Then MsgBox “Решения нет “,, “ Ф-ция у ”Else MsgBox Sqr (x),,“y= “

Пример 3.Даны два числа А и В. Найти сумму и количество положительных среди них чисел.

Sum=0 : Kol=0

If A>0 Then Sum=Sum+A : Kol=Kol+1

If B>0 Then Sum=Sum+B: Kol=Kol+1

Пример 4.Даны два числа А и В. Есть ли среди них положительные?

If А>0 and B>0 Then MsgBox “Оба положительные “, , “ Числа А и В ”

If А>0 or B>0 Then MsgBox “Одно положительное”, , “Среди чисел А и В “

ElseMsgBox “Нет положительных”, , “Среди чисел А и В “

Пример 5.Дано число X. Определить, является ли оно положительным, отрицательным или нулем.

strZ=”Значение Х-“

If X > 0 Then

MsgBox ” положительное”, , strZ

Else If X < 0 Then

MsgBox “ отрицательное”, , strZ

MsgBox “ это 0", , strZ

 

1. Изучите теоретическое обоснование.

2. Выполните пример:

Для любых а и t, введенных с клавиатуры, вычислить значение функции .

Для этого:

· войдите в среду Visual Basic;

· с помощью стандартного набора инструментов Toolbox создайте экранную форму с командной кнопкой Command1 и надписью «Пуск», нажатием которой запускается программа;

· создайте программный код:

Private Sub Command1_Click ()

Dim а As Integer, t, Y As Single

а = Val (InputBox(“Введите значение а”)) ‘Преобразование введенных

t = Val (InputBox(“Введите значение t”) ) ‘ значений в числа

If t<1 Then Y=a*a*log(t) Else If t<=3 Then Y=1 Else Y=exp(t)*cos(a*t)

MsgBox Y , ,” Значение Y=”

End Sub

· запустите программный код и выполните программу с разными исходными данными.

· измените в программном коде однострочный условный оператор на многострочный следующим образом:

If t<1 Then

Y=a* a *log(t)

Else If t<=3 Then

Y=1

Else Y=exp(t)*cos(a*t)

End If

Повторите запуск программного кода и сравните результат с предыдущим при одинаковых исходных данных.

3. На основании примеров из теоретической части в соответствии со своим вариантом задания (таблица 1) составьте блок-схему решения задачи. Создайте форму и программный код задачи. Отладьте и выполните программу. Результат запишите в отчет.

Таблица 1 – Варианты задания

№ варианта Условие задания
Даны два числа. Большее из этих двух чисел заменить их полусуммой, а меньшее удвоенным произведением.
Даны величины а1 и а2.. Определить, принадлежит ли точка А(а1, а2) кругу x2+y2=16.
Даны три стороны треугольника a, b, c. Определить, является ли такой треугольник равнобедренным, равносторонним или разносторонним.
Определить и вывести на печать номер четверти, в которой находится точка М с координатами х и у.
Даны стороны прямоугольника a, b. Если a >b, найти его площадь, если a< b, найти его периметр, если a= b, то найти его периметр и площадь.
Заданы радиус круга, две смежные стороны прямоугольника. Определить, какая фигура имеет большую площадь, какая меньшую, или они равны?
Даны три числа. Найти среди них максимальное отрицательное число.
Заданы радиус круга R и сторона квадрата A. Определить, какая фигура имеет большую площадь.
Заданы два целых числа. Определить, являются ли они оба четными или оба нечетными, или определить, какое из них четное, а какое нечетное.
Заданы отрезки a, b, c, d. Проверить, могут ли они служить сторонами прямоугольника.
Заданы три числа. Определить, есть ли среди них хотя бы одна пара равных по величине.
Даны три числа. Найти разность между наибольшим и наименьшим среди них.
Даны три числа. Меньшее среди них заменить на 0 .
Найти минимальное значение из величин, определяемых арифметическими выражениями: а=sin(x), b=cos(x), c=lg(x) при любом, введенном х.
Заданы три числа А, В, С. Если они все положительны, то найти их корни; если все отрицательны, то возвести каждое из них в квадрат, иначе найти их сумму.
Даны три разных числа. Найти среди них произведение и количество отрицательных.

 

Содержание отчета и его форма

Выполните все описанные пункты задания, письменно оформите отчет, который должен содержать:

- тему, цель лабораторной работы;

- общий вид условных операторов;

- условие, блок-схему, программу и результат выполнения индивидуального задания.

Контрольные вопросы и защита работы

Защита лабораторной работы включает в себя демонстрацию выполненных программ, подготовленный отчет и устный ответ на вопросы:

1. Какие алгоритмы и программы имеют разветвленную структуру?

2. Основные операции используются в логических выражениях?

3. Какие операторы используются для программирования алгоритмов разветвляющейся структуры?

4. Общий вид и принцип работы оператора условного перехода – однострочного.