Сделай Сам Свою Работу на 5

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





Лабораторная работа № 33

VISUAL BASIC: Программирование ветвлений

(2 часа)

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

Например:

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

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.

Общий вид:

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

Операторы 1

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

Операторы 2

ELSE

Операторы 3

End 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

Else

MsgBox “ это 0", , strZ

End If

 

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

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) при любом, введенном х.
Заданы три числа А, В, С. Если они все положительны, то найти их корни; если все отрицательны, то возвести каждое из них в квадрат, иначе найти их сумму.
Даны три разных числа. Найти среди них произведение и количество отрицательных.

 

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

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

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

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

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

5 Контрольные вопросы

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

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

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

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

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.