6
z2
0.5 sin2 y 3 z2 / 5
При x = 14.26, y = –1.22, z = 3.510 2
u e x y tg2 z 1 x .
x2 y2 2
t = 0.564849.
При x = –4.5, y = 0.75×10–4, z = 0.845×102 u = –55.6848.
v
1 sin2 x y y
x
1 .
z
При x = 3.74×10–2, y = –0.825, z = 0.16×102, v = 1.0553.
12sin2 y
z2 z3
z4
w cos x cos y
1 z
.
2 3 4
При x = 0.4×104, y = –0.875, z = –0.475×10–3 w = 1.9873.
ln y x x y sin2 arctg z .
2
При x = –15.246, y = 4.642×10 –2, z = 20.001×10 2 = –182.036.
6.
10 3 x xy2 arcsin2 z
x y .
При x = 16.55×10–3, y = –2.75, z = 0.15 = –38.902.
7.
5arctg x 1 arccos x .
4
При x = 0.1722, y = 6.33, z = 3.25×10 –4 = –172.025.
8.
arctg x arctg z
При x = –2.235×10–2, y = 2.23, z = 15.221 = 39.374.
9.
y
x x y x
cos y
z
y x
.
2
1 y x
При x = 1.825102 , y = 18.225, z = –3.298102
= 1.2131.
10.
a 2 x
x 4
y 3 ex1/sin z .
При x = 3.981102 , y = –1.625103 , z = 0.512 a = 1.26185.
11.
b y 3 x
x y 1
e x y
sin 2 z
.
2
При x = 6.251, y = 0.827, z = 25.001 b = 0.7121.
y arctg z
yx x y 6
12.
с 2
3
.
x 1
y2 1
При x = 3.251, y = 0.325, z = 0.466104
c = 4.025.
При x = 17.421, y = 10.365103 , z = 0.828 105
f = 0.33056.
yx1
x y
14.
g 2 x 11/sin z .
2 x y
При x = 12.310 1, y = 15.4, z = 0.252 10 3
xy1 ey1
g = 82.8257.
15. h
1
y x .
2 3
При x = 2.444, y = 0.869102 , z = –0.13 103
h = –0.49871.
16.
y 2.7
c2 x2
ecx
( a b) 2
cx b
a 3.7;
b 0.07;
c 1.5;
x 5.75
17.
y 4.5
(a b)2
(a b)2
10
1 ln( a b) ln( a b)
ex2
a 7.5;
b 1.2; x 0.5
2 2
18.
y 2.4
(a b)sin (a b) 10 (x b)
a 5.1;
b 0.7;
x 0.05
19.
y ax
5.7(x2 b2 )
tg2 b
x2
a 0.1;
b 2.4;
x 0.3
20.
ln( x2 c) 10 2
y
0.7 x ad c dx3
a 4.5;
c 7.4;
d 2.1;
x 0.15
ЛАБОРАТОРНАЯ РАБОТА № 3.
РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ
Цель лабораторной работы: научиться пользоваться элементами управления для организации переключений (RadioButton). Написать и отладить программу разветвляющегося алгоритма.
Логические переменные и операции над ними
Переменные логического типа описываются посредством служеб- ного слова bool. Они могут принимать только два значения – False (ложь) и True (истина). Результат False (ложь) и True (истина) возника- ет при использовании операций сравнения > (больше), < (меньше),
!= (не равно), >= (больше или равно), <= (меньше или равно), == (равно).
Описываются логические переменные следующим образом:
bool b;
В языке C# имеются логические операции, применяемые к пере- менным логического типа. Это операции логического отрицания (!), ло- гическое И (&&) и логическое ИЛИ (||). Операция логического отрица- ния является унарной операцией. Результат операции ! есть False, если операнд истинен, и True, если операнд имеет значение «ложь». Так,
!True → False (неправда есть ложь),
!False → True (не ложь есть правда).
Результат операции логическое И (&&) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях. Результат опера- ции логическое ИЛИ (||) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.
Условные операторы
Операторы ветвления позволяют изменить порядок выполнения операторов в программе. К операторам ветвления относятся условный оператор if и оператор выбора switch.
Условный оператор if используется для разветвления процесса об- работки данных на два направления. Он может иметь одну из форм: со- кращенную или полную.
Форма сокращенного оператора if: if (B) S;
где В – логическое или арифметическое выражение, истинность которо- го проверяется; S – оператор.
При выполнении сокращенной формы оператора if сначала вычис- ляется выражение B, затем проводится анализ его результата: если B ис- тинно, то выполняется оператор S; если B ложно, то оператор S пропус- кается. Таким образом, с помощью сокращенной формы оператора if можно либо выполнить оператор S, либо пропустить его.
Форма полного оператора if:
if (B) S1; else S2;
где B – логическое или арифметическое выражение, истинность которо- го проверяется; S1, S2 – операторы.
При выполнении полной формы оператора if сначала вычисляется выражение B, затем анализируется его результат: если B истинно, то вы- полняется оператор S1, а оператор S2 пропускается; если B ложно, то выполняется оператор S2, а S1 – пропускается. Таким образом, с по- мощью полной формы оператора if можно выбрать одно из двух аль- тернативных действий процесса обработки данных.
Для примера вычислим значение функции:
sin(x), если x a
y(x) cos(x), если a x b
tg(x), если x b
Указанное выражение может быть запрограммировано в виде
if (x <= a)
y = Math.Sin(x);
if ((x > a) && (x < b)) y = Math.Cos(x);
if (x >= b)
y = Math.Sin(x) / Math.Cos(x);
или с помощью оператора else: if (x <= a)
y = Math.Sin(x);
else
if (x < b)
y = Math.Cos(x);
else
y = Math.Sin(x) / Math.Cos(x);
Оператор выбора switch предназначен для разветвления процесса вычислений по нескольким направлениям. Формат оператора:
switch (<выражение>)
{
case <константное_выражение_1>: [<оператор 1>];
<оператор перехода>;
case <константное_выражение_2>: [<оператор 2>];
<оператор перехода>;
...
case <константное_выражение_n>: [<оператор n>];
<оператор перехода>; [default:
<оператор>;]
}
Замечание. Выражение, записанное в квадратных скобках, являет- ся необязательным элементом в операторе switch. Если оно отсутству- ет, то может отсутствовать и оператор перехода.
Выражение, стоящее за ключевым словом switch, должно иметь арифметический, символьный или строковый тип. Все константные вы- ражения должны иметь разные значения, но их тип должен совпадать с типом выражения, стоящим после switch или приводиться к нему. Клю- чевое слово case и расположенное после него константное выражение называют также меткой case.
Выполнение оператора начинается с вычисления выражения, рас- положенного за ключевым словом switch. Полученный результат срав- нивается с меткой case. Если результат выражения соответствует метке case, то выполняется оператор, стоящий после этой метки, за которым обязательно должен следовать оператор перехода: break, goto, return и т. д. При использовании оператора break происходит выход из switch и управление передается оператору, следующему за switch. Если же ис- пользуется оператор goto, то управление передается оператору, поме- ченному меткой, стоящей после goto. Наконец, оператор return завер- шает выполнение текущего метода.
Если ни одно выражение case не совпадает со значением оператора switch, управление передается операторам, следующим за необязатель- ной подписью default. Если подписи default нет, то управление пере- дается за пределы оператора switch.
Пример использования оператора switch:
int dayOfWeek = 5; switch (dayOfWeek)
{
case 1:
MessageBox.Show("Понедельник"); break;
case 2:
MessageBox.Show("Вторник"); break;
case 3:
MessageBox.Show("Среда"); break;
case 4:
MessageBox.Show("Четверг"); break;
case 5:
MessageBox.Show("Пятница"); break;
case 6:
MessageBox.Show("Суббота"); break;
case 7:
MessageBox.Show("Воскресенье"); break;
default:
MessageBox.Show("Неверное значение!"); break;
}
Поскольку на момент выполнения оператора switch в этом примере переменная dayOfWeek равнялась 5, то будут выполнены операторы из блока case 5.
В ряде случаев оператор switch можно заменить несколькими опе- раторами if, однако не всегда такая замена будет легче для чтения. На- пример, приведенный выше пример можно переписать так:
int dayOfWeek = 5; if (dayOfWeek == 1)
MessageBox.Show("Понедельник");
else
if (dayOfWeek == 2)
else
MessageBox.Show("Вторник");
if (dayOfWeek == 3) MessageBox.Show("Среда");
else
if (dayOfWeek == 4) MessageBox.Show("Четверг");
else
if (dayOfWeek == 5) MessageBox.Show("Пятница");
else
if (dayOfWeek == 6) MessageBox.Show("Суббота");
else
if (dayOfWeek == 7)
MessageBox.Show("Воскресенье");
else
MessageBox.Show("Неверное значение!");
|