- •Набережные Челны
- •Введение
- •Алгоритмы
- •Лабораторная работа№1
- •Варианты заданий для лабораторной работы №1
- •Лабораторная работа № 2.
- •Варианты заданий для лабораторной работы№2
- •Лабораторная работа №3
- •Варианты заданий для лабораторной работы №3
- •Лабораторная работа №4
- •Варианты заданий для лабораторной работы №4
- •Контрольные вопросы
- •Содежание
Лабораторная работа№1
Арифметические выражения.
Пример1.
Даны вещественные числа x,y,u. Вычислить A и B.
,
.
Напишем псевдокод алгоритма решения задачи:
Начало Пример1 (x, y, u \A, B)
вещественные x, y, u, A, B ‘указание типа переменных
ввод x, y, u
вывод A, B
Конец Пример1
Блок-схема алгоритма решения задачи приведена на рис.2. Каждый блок блок-схемы выполняет какое то действие оператора. Опишем действия каждого оператора.
О
ператор
1 осуществляет ввод переменных x,y,u.
Оператор 2 вычисляет значение A.
Оператор 3 вычисляет значение B.
Оператор 4 выводит полученные значения A и B.
Рис. 2.
Решение на Excel:
Ввод формул в ячейки:
В5: =LN (ABS (B1^2+B2^2))
В6: =SIN (2*B3)
|
A |
B |
1 |
x= |
1 |
2 |
y= |
0 |
3 |
u= |
-3 |
4 |
|
|
5 |
A= |
0 |
6 |
B= |
0,279415 |
Программа на VBA:
Sub Пример1() 'начало программы
Dim y As Single 'объявление типа переменных
Dim x As Single
Dim u As Single
Dim A As Single
Dim B As Single
x = InputBox("x=", "ввод x") ' команда ввода
y = InputBox("y=", " ввод y")
u = InputBox("u=", " ввод u")
A = Log(Abs(x ^ 2 + y ^ 2)) ' команда присваивания
B = Sin(2 * u)
MsgBox ("A=") & A 'команда вывода
MsgBox ("B=") & B ‘символ склеивания - &
End Sub ’конец программы
Sub Пример2()
Dim y As Single
Dim x As Single
Dim u As Single
Dim A As Single
Dim B As Single
x = InputBox("x=", "ввод x")
y = InputBox("y=", "ввод y")
u = InputBox("u=", "ввод u")
Worksheets("Лист2").Activate
Rem активация рабочего листа
A = Log(Abs(x ^ 2 + y ^ 2))
B = Sin(2 * u)
Range("A1").Value = "x="
Range("B1").Value = x
Range("A2").Value = "y="
Range("B2").Value = y
Range("A3").Value = "u="
Range("B3").Value = u
Range("A5").Value = "A=": Range("B5").Value = A
Range("A6").Value = "B=": Range("B6").Value = B
MsgBox ("A=") & A
MsgBox ("B=") & B
End Sub
Sub Пример3()
Dim y As Single
Dim x As Single
Dim u As Single
Dim A As Single
Dim B As Single
Worksheets("Лист1").Activate
' активация рабочего листа
x = Range("B1").Value
y = Range("B2").Value
u = Range("B3").Value
A = Log(Abs(x ^ 2 + y ^ 2))
B = Sin(2 * u)
MsgBox ("A=") & A
MsgBox ("B=") & B
Range("С5").Value = A
Range("С6").Value = B
End Sub
Варианты заданий для лабораторной работы №1
Даны вещественные числа a,b,z,u,v. Вычислить X и Y.
1.
Y = cos (4u).
2.
,
3.
,
Y=
.
4.
X=
,
Y=
.
5.
,
.
6.
,
.
7.
,
.
8.
9.
10.
11.
12.
,
13.
,
14.
,
15
. X=ln
.
16.
,
17.
,
18.
,
19.
,
20.
,
21.
,
22.
,
23.
,
24.
,
25.
,
26.
,
27.
,
28.
,
29.
,
30.
,
Лабораторная работа № 2.
Логические функции.
Для выполнения следующих лабораторных работ необходимо ознакомиться с логическими функциями И(), ИЛИ(), ЕСЛИ().
Логическая функция И() возвращает значение ИСТИНА, если все ее аргументы имеют значение ИСТИНА, и возвращает значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ.
Синтаксис логической функции И():
И(логическое_значение1;логическое_значение2;…)
Логическая функция ИЛИ() возвращает значение ИСТИНА, если хотя бы один из ее аргументов имеет значение ИСТИНА, и возвращает ЛОЖЬ, если все ее аргументы имеют значение ЛОЖЬ.
Синтаксис логической функции ИЛИ():
ИЛИ(логическое_значение1;логическое_значение2;…)
Аргументы этих логических функций должны быть логическими значениями, массивами или ссылками, которые содержат логические значения. Если аргумент, который является ссылкой или массивом, содержит тексты или пустые ячейки, то такие значения игнорируются. Если указанный интервал не содержит логических значений, то И() возвращает значение ошибки #ЗНАЧ!
Таблица истинности для логических функций:
-
A
B
A И B
A ИЛИ B
ИСТИНА
ИСТИНА
ИСТИНА
ИСТИНА
ИСТИНА
ЛОЖЬ
ЛОЖЬ
ИСТИНА
ЛОЖЬ
ИСТИНА
ЛОЖЬ
ИСТИНА
ЛОЖЬ
ЛОЖЬ
ЛОЖЬ
ЛОЖЬ
Логическая функция ЕСЛИ() – это условный оператор (развилка)или проверка выполнения некоторого условия. Возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если – ЛОЖЬ.
Синтаксис логической функции ЕСЛИ():
ЕСЛИ (логическое_выражение; значение_если_ истина; значение_ если_ложь)
Логическое_выражение – это любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ. Например, А10=100 – это логическое выражение; если значение в ячейке А10 равно 100, то выражение принимает значение ИСТИНА, а в противном случае – ЛОЖЬ.
Значение_если_истина – это значение, которое возвращается, если логическое_выражение равно ИСТИНА.
Значение_если_ложь – это значение, которое возвращается, если логическое_выражение равно ЛОЖЬ.
Эти значения могут быть формулами.
До 7 функций ЕСЛИ могут быть вложены друг в друга для конструирования более сложных задач.
,
Пример2.
при
>0.1
при ≤0.1
Программа на VBA:
Конструкция с Select case:
Sub Пример4()
Dim y As Single
Dim x As Single
Dim m As Single
Dim n As Single
Dim S As Single
x = InputBox("x=", "ввод x")
y = InputBox("y=", " ввод y")
Worksheets("Лист2").Activate
m = (7.002 * 0.1 ^ (1 / 3) - 1 + x * (Exp(2) + Exp(-2)) / 10) ^ (1 / 5)
n = Log(3) * (Cos(Application.Pi() / 5) + Cos(3 * Application.Pi() / (5 * y)))
Select Case m ^ 2 + n ^ 2
Case Is > 0.1
S = Atn(5 * m ^ 2 + 7 * n ^ 2)
Case Else
S = Atn(5 * m ^ 2 - 7 * n ^ 2)
End Select
Range("A1").Value = "x="
Range("B1").Value = x
Range("A2").Value = "y="
Range("B2").Value = y
Range("A3").Value = "m=": Range("B3").Value = m
Range("A4").Value = "n=": Range("B4").Value = n
Range("A5").Value = "S=": Range("B5").Value = S
MsgBox ("S=") & S
End Sub
Конструкция IF..THEN…ELSE…END IF:
Sub Пример5()
Dim y As Single
Dim x As Single
Dim m As Single
Dim n As Single
Dim S As Single
x = InputBox("x=", " ввод x")
y = InputBox("y=", " ввод y")
Worksheets("Лист 2").Activate
m = (7.002 * 0.1 ^ (1 / 3) - 1 + x * (Exp(2) + Exp(-2)) / 10) ^ (1 / 5)
n = Log(3) * (Cos(Application.Pi() / 5) + Cos(3 * Application.Pi() / (5 * y)))
If m ^ 2 + n ^ 2 > 0.1 Then
S = Atn(5 * m ^ 2 + 7 * n ^ 2)
Else
S = Atn(5 * m ^ 2 - 7 * n ^ 2)
End If
Range("A1").Value = "x="
Range("B1").Value = x
Range("A2").Value = "y="
Range("B2").Value = y
Range("A3").Value = "m=": Range("B3").Value = m
Range("A4").Value = "n=": Range("B4").Value = n
Range("A5").Value = "S=": Range("B5").Value = S
MsgBox ("S=") & S
End Sub
Блок-схема алгоритма решения задачи приведена на рис. 3.
да
Рис.3
Решение на Excel:
|
A |
B |
1 |
x= |
2 |
2 |
y= |
-2 |
3 |
m= |
1,302927 |
4 |
n= |
1,534544 |
5 |
S= |
1,530773 |
В3:
= (7,002*0,1^(1/3)-1+B7*(EXP(2)+EXP(-2))/10)^(1/5)
В4:
=LN(3)*(COS(ПИ()/5)+COS(3*ПИ()/(5*B8)))
В5:=ЕСЛИ((B9^2+B10^2)>0,1;ATAN(5*B9^2+7*B10^2);ATAN(5*B9^2-7*B10^2))
