Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учеб_мет_пос_Пустовалова_Кишкурно

.pdf
Скачиваний:
44
Добавлен:
09.03.2016
Размер:
2.02 Mб
Скачать

If x < 0 And n < 0 Then y = n * x + 2

MsgBox ((“y=” & y) 'Вывод результата

End Sub

Пример 3 программы вычисления значения функции y с вложенным оператором If:

x

5,

при x

0

 

 

 

 

 

y

3x,

при 0

x 5

x2 ,

при x

5

Private Sub CommandButton1_Click() Dim x As Single, y As Single

x = Val(InputBox("Ввелите x "))

If x<0 Then y =x+5 Else If x<=5 Then y=Sqr(3*x) Else y =x^2 MsgBox (y)

End Sub

Пример 4 (использование блочного оператора If). Вычислить зна-

чения y = sin2x, w = ctgx, если х < 5; y = 1–sinx, w = arctgx, если х 5. x = {9; 0.1; -4; 5; 12}

Private Sub CommandButton1_Click() Dim x As Single, y As Single, z As Single Dim w As Single, I As Integer

For i=1 to 5

x = Val(InputBox("Введите значение х"))

'Проверка условий и расчет значений

If x > 5 Then

y = Sin(x)^2

w = cos(x)/sin(x) Else

y = 1 - Sin(x) w = Atn(x) End If

MsgBox (“x=” & x & “ y=” & y & “ w=” & w)

Next End Sub

Пример 5. Вычислить значение функции :

cos2 ( jx),

xj

2s

, x = 1,7 s = 5,2 значение j задать

v 2

tg( jx),

2s xj 3s

самостоятельно.

 

 

 

 

5

ex/ 2 ,

xj

3s

 

51

Оформим Лист2 согласно образцу (рис. 6.1). Переименуем «Лист2» в «Условный оператор», вставим расчетные формулы и введем исходные данные.

Рис. 6.1. Образец оформления программы с разветвлением на листе Excel

Для кнопки «Расчет If» напишем следующую процедуру:

Private Sub CommandButton1_Click()

Worksheets("Условный оператор").Range("c2") = "Вычисления с раз-

ветвлением" ‘вносит текст в ячейку «С2» листа «Условный оператор»

Dim x As Single, s As Single, v As Single, j As Single x=Val(InputBox(“Введите значение х”)) s=Val(InputBox(“Введите значение s”))

j = Worksheets("Условный оператор ").Range("i19")

If x * j < 2 * s Then v = Cos(x * j) ^ 2 Else If x * j >= 2 * s And _ x * j <= 3 * s Then v = 2 * Tan(j * x) Else v = 5 - Exp(x / 2)

MsgBox ("Значение v=" & Format(v, "##.####"))

End Sub

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

=ЕСЛИ(D19*I19<2*F19;COS(I19*D19)*COS(I19*D19);ЕСЛИ(И (D19*I19>=2*F19;D19*I19<=3*F19);2*TAN(I19*D19);5- EXP(D19:D19/2)))

Результат вычислений, полученный с помощью формул Excel и процедуры VBA, должен совпасть.

52

6.3.Содержание заданий

1.Выполнить приведенные выше примеры программ с разветвлением.

2.Составить программу по условиям, приведенным в табл. 6.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6.1

 

 

 

 

 

 

 

 

 

Формула для вычислений

 

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

1,774;

 

 

 

 

 

a

 

m2

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

5; x

3,2(0,2)5

 

 

 

 

 

(a

 

x)

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1,

 

 

 

 

 

 

 

 

 

 

 

| y |

1

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

sin2 y,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| y | 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

a

bi,

 

 

 

 

 

 

 

 

 

 

i

3b

 

 

 

 

b

0, 05; a

1, 72;

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tgb

ai,

 

 

 

 

 

i

 

 

3b

 

i

5(2)5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

da

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

e1 d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3ab

e4

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

ln(

 

 

 

i

)

 

 

 

 

 

 

 

 

 

x

8;1,99;

4; 0, 2 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

e

a x

 

 

 

 

 

 

xm

 

 

 

 

 

 

 

 

a

105 10

4

;

 

 

 

 

 

 

 

 

 

ln2

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

4; i

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

( is)2 ,

 

 

 

 

 

 

 

 

s

 

2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(

6s),

s

2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

(ctgy)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

2, 75; a

 

5,5 10

4

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( j

2ay)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

6;

8,1; 15; 4, 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

x

y

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

0,5 y

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

)

,

 

 

 

 

 

 

x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

sin (

 

j

)

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

y

1, 4 10 3 ; x 0, 2;

 

 

p

 

 

e

 

 

 

 

 

 

 

ln (

 

 

x

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

y )

 

 

m

4; j

5(2)11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

,

 

 

 

 

 

 

 

 

 

p

 

 

y2

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x

 

 

 

,

 

 

 

 

 

 

p

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(j

 

 

 

 

p)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

Продолжение табл. 6.1

 

 

 

 

 

 

 

 

 

 

 

 

Формула для вычислений

 

Исходные данные

6

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

4,2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

i

 

 

 

(t

i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

5; 1,75;

3; 1; 2,9;

1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

4

 

 

 

 

(1

 

 

 

 

 

2a

2

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

i,

 

 

 

 

 

 

 

d

 

 

 

t(t

i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

et

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9(a i),

 

d

 

 

 

t(t i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

x

 

tg(a2

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

3, 7(0,1)5;

 

 

 

 

 

 

(d

 

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

51, 9 10 5 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

ak

 

 

 

d ,

 

 

 

 

 

 

3x

ac

 

 

 

 

 

a

4; k

1

 

 

 

 

 

cos(ak) ea 1,

 

 

3x

ac

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

t

 

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

3; i 8(4)24;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(a2

 

 

 

b) e a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c 6 10 4 ; a 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

4,8 10 3

 

 

 

ia,

 

t

 

 

 

5c

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

i2 t,

 

 

 

 

t

5c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

s

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

ln | w |

 

 

 

 

 

 

 

 

 

 

 

w

4 10 3 ;

 

 

 

 

(w2

 

 

 

j)

 

 

 

 

 

 

 

 

 

 

 

 

 

j

1(0,5)5;

 

 

 

 

 

 

 

 

 

 

 

 

e j ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

0, 25

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

s

3 f

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

s

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

s

3

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(w

 

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

a

1, 2; k

3;

 

 

 

 

 

 

 

 

 

 

0,2x

 

k,

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7 10 3 ;

 

 

 

w

 

 

 

 

 

 

 

 

2

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

2 x k

,

 

 

 

 

 

 

x

 

 

 

 

 

m

4(0, 2)6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v

 

 

 

 

 

w3

|

 

x

 

 

 

a |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln(1

 

 

a)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

x

 

 

 

 

 

(x

 

 

a)

 

 

 

 

 

 

 

 

 

 

 

a

1, 33 10 3 ; x

6,8;

 

d

 

 

e j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

6; j

0, 2; 1;

3;

6,1

 

 

 

 

 

 

 

 

 

 

ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3,6

 

 

d

x,

 

 

 

 

 

 

d

 

k

 

a

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(

 

 

 

 

1),

 

 

 

d

 

 

k

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

c

2tg(

 

f

)

 

 

 

ln t

 

 

 

 

 

 

 

 

 

 

 

f

125 10 6 ;

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1,711; t

1,1(0,1)2;

 

 

d

 

 

 

y

e 2t

 

 

 

f ,

c

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

y3 ,

 

 

 

 

 

 

c

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

Окончание табл. 6.1

 

 

 

 

 

 

 

 

Формула для вычислений

 

Исходные данные

13

y

cos

2

 

x2

 

 

 

 

 

 

a

1, 055; x

0, 6;

 

 

|

x |

 

 

 

 

 

 

n

6(2)14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| y |,

 

 

 

 

 

y

a

x n

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

e

y ,

 

y

a x n

 

 

 

 

 

 

 

 

 

 

 

 

14

w

 

s3

e

2s

 

 

 

s

5, 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

5; 0, 04;

2,1; 6

;

 

 

cos2 ( jx),

 

2s

xj

j

10, 4 104

 

 

 

 

 

 

 

 

 

 

v

2

 

tg( jx),

 

(2s

xj) и (xj 3s)

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

e 2 ,

 

 

 

xj

3s

 

 

 

 

 

15

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

x

4 10 3 ; s

1,1;

 

b

12s

 

e 2

(x

j)

 

 

 

 

 

j

4(0,5)7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

2xj

b,

 

b

1, 5

 

 

 

 

 

|13x

 

 

j | b,

 

b

1, 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. ВЫЧИСЛЕНИЕ СУММ, ПРОИЗВЕДЕНИЙ, ЭКСТРЕМУМОВ

Рассмотрим примеры, демонстрирующие возможности использования в программах операторов цикла и условных операторов.

7.1. Примеры вычисления сумм и произведений

Пример 1. Программа вычисления суммы элементов b = {5, 2; 4,5; 1; 2,9; 3}.

Sub CommandButton1_Click()

Dim b As Single, s As Single, i As Integer s = 0

For i = 1 To 5

b = Val(InputBox(«Введите элемент массива b»)) s = s + b

Next

MsgBox (“Сумма элементов массива равна= ” & s)

End Sub

Здесь элементы b вводятся с клавиатуры по одному числу, сумма чисел вычисляется в переменной s.

55

Пример 2. Программа вычисления произведения элементов

t = {0,4; –1,5; 2,8; 3; 0,9; 7,3} и значения w в соответствии с фор-

мулой: w 2

6 sin (tk )

 

k 1

Sub CommandButton2_Click() Dim t As Single, w As Single Dim p As Single, k As Integer P=1

For k = 1 To 6

t = Val(InputBox(“t=”)) p=p*sin(t(k))

Next w=2+p MsgBox w End Sub

7.2. Одномерные массивы. Вычисление экстремумов

Массивами называются совокупности данных одного типа, объединенные одним именем. Элементы массивов называются индексированными переменными.

Одномерные массивы имеют один индекс, например a(i), где a – имя массива, i – номер элемента массива.

Массивы до их использования в программе должны быть объявлены в операторе Dim, например:

Dim a(5) As Single

Здесь определено, что будет использоваться одномерный массив с 6-ю элементами вещественного типа одинарной точности. Число в скобках указывает номер последнего доступного для использования номера индекса. Нумерация индексов начинается с нуля.

После объявления элементы массива могут использоваться в выражениях подобно простым переменным, но с указанием индекса в круглых скобках. Например, после приведенного выше объявления массива а(i) в программном коде можно обращаться к следующим элементам массива: а(0), а(1), а(2), а(3), а(4), а(5).

Если необходимо использовать определенную нумерацию элементов массива, например с 5 до 10, то это указывается при объявлении массива следующим образом:

Dim a(5 to 10) As Single

56

После этого в программном коде будут доступны следующие элементы массива: а(5), а(6), а(7), а(8), а(9), а(10).

Пример 3. Программа определения максимального элемента массива d = {12; 0,4; 30; –2; 5; 9,3} и номера этого элемента.

Sub CommandButton2_Click()

Dim d(1 To 6) As Single, max As Single, n As Integer, i As Integer For i = 1 To 6

d(i) = Val(InputBox(«Введите элемент массива d»))

Next

max = d(1) : n = 1 For i = 1 To 6

If d(i) > max Then max = d(i): n = i Next

MsgBox (“Макс. знач. =” & max & “ имеет элемент с номером ” & n)

End Sub

Пример 4. В таблице на рис. 7.1 представлены значения температуры воздуха. Необходимо определить среднюю, минимальную и максимальную температуры, а также количество дней с положительной и отрицательной температурой.

Для решения этой задачи оформим лист Excel согласно образцу (рис. 7.1). Переменные можно объявить в разделе General (на листе программы в самом верху перед первым Sub), и тогда они могут быть использованы для расчета в разных процедурах рабочей книги:

Dim i As Integer, Ndata As Integer

Dim Nplus As Integer, Nminus As Integer

Dim sum As Single, mx As Single, disp As Single Dim min As Single, max As Single, x As Single

Процедура для кнопки «Среднее значение» (расчет средней температуры):

Private Sub CommandButton1_Click() i = 6

Do Until Worksheets("Лист1").Cells(i, 4) = "" i = i + 1

Loop

Ndata = i – 1 количество расчетных дней ‘Вычисление суммарной температуры

sum = 0 ячейка с именем Sum обнуляется цикл для просмотра всех строк таблицы

57

For i = 7 To Ndata

x = Worksheets("Лист1").Cells(i, 4) ‘ ввод значения температуры из i-й строки 4-го столбца

sum = sum + x суммирование значений температуры

Next i

mx = sum / (Ndata - 6) ‘определение среднего значения

Worksheets("Лист1").Cells(Ndata + 2, 4) = "Средняя температура"

Worksheets("Лист1").Cells(Ndata + 2, 7) = mx End Sub

Рис. 7.1. Образец оформления программы расчета температуры

Для кнопки «min» (расчет минимальной температуры) процедура имеет вид:

Private Sub CommandButton2_Click() Dim l as Integer

min = Worksheets("Лист1").Cells(Ndata - 6, 4)

l=7 ‘номер строки, с которой начинается таблица

For i = 7 To Ndata

x= Worksheets("Лист1").Cells(i, 4) If x < min Then

min = x

58

l=i запоминание номера строки с минимальной температурой

End If Next i

Worksheets("Лист1").Cells(Ndata+3,4) = "Минимальная температура" Worksheets("Лист1").Cells(Ndata + 3, 7) = min Worksheets("Лист1").Cells(Ndata + 3, 9) = "Была " Worksheets("Лист1").Cells(Ndata + 3, 10) = Cells(l, 3)

End Sub

В данной процедуре переменной min присваивается значение температуры из первой строки таблицы. Затем каждое очередное значение сравнивается со значением min. Если очередное значение температуры оказывается меньше min, то это число посылается в min.

Процедура для кнопки «max» (расчет максимальной температуры):

Private Sub CommandButton3_Click()

min = Worksheets(" Лист1 ").Cells(Ndata - 6, 4) For i = 7 To Ndata

x = Worksheets(" Лист1 ").Cells(i, 4) If x > max Then max = x

Next i

Worksheets(" Лист1 ").Cells(Ndata + 4, 4) = " Максимальная температура " Worksheets(" Лист1 ").Cells(Ndata + 4, 7) = min

End Sub

Для кнопки «>0 и <0» (расчет количества дней с положительной и отрицательной температурой):

Dim k1 As Integer, k2 As Integer k1 = 0: k2 = 0

For i = 7 To Ndata

x = Worksheets(" Лист1 ").Cells(i, 4)

расчет количества дней с положительной температурой k1 и отрицательной температурой k2

If x > 0 Then k1 = k1 + 1 Else k2 = k2 + 1 Next

Worksheets(" Лист1 ").Cells(Ndata + 5, 4) = "Кол. дней с плюсовой темп." Worksheets(" Лист1 ").Cells(Ndata + 5, 7) = k1

Worksheets(" Лист1 ").Cells(Ndata + 6, 4) = " Кол. дней с минусовой темп." Worksheets(" Лист1 ").Cells(Ndata + 6, 7) = k2

End Sub

59

7.3.Содержание заданий

1.Разработать программу по условиям, приведенным в табл. 7.1.

2.Создать кнопку «Сумма» и написать программу, вычисляющую сумму элементов массива из табл. 7.1.

3.Для командной кнопки «Произведение» создать и выполнить программу, вычисляющую произведение элементов массива.

4.Для командной кнопки «Максимум» создать и выполнить программу, вычисляющую максимальный элемент массива.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 7.1

 

 

Формула для вычислений

 

 

Исходные данные

 

h

d

 

 

n

 

 

 

2

 

 

 

n

5; d 12,55 10 4 ;

 

1

i 1

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

0,8; 4; 0,17; 2; 0,9;1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

g

c

m (b

j

1)2

 

 

 

m

4; c

 

0, 0045;

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

b

0, 49; 0,55;

2;

0, 71

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

z

0,1 x

 

 

 

m (x

2)2

m

5;

 

 

 

 

 

 

 

 

 

3

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2,1; 0, 6; 1,1; 2, 7; 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

2 k

 

 

 

 

 

 

 

 

k

6;

 

 

 

 

4

g

 

 

 

 

f

 

 

 

 

 

 

 

 

a

2, 3; 7;

7, 2; 4; 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 (

ai

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

vi ,

 

vi 0

a

1, 75; b

 

4,15;

 

5

wi

 

 

 

 

b

,

 

 

vi

0

v

1;1,5;

 

4;

12,9; 3

 

 

 

 

 

vi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

n

5; y

2; 3;

1,5;

2;1 ;

 

q

 

(xi

 

yi )

 

 

6

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

x

2, 7;

 

5; 4; 3,5;

7, 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

6; b

2,3; 4; 0,5; 2; 3; 9 ;

 

ci

 

 

ai

 

bi

 

 

 

 

7

 

 

n

c

 

 

 

 

 

 

 

 

a

0,5; 2; 2,5;1; 0; 0, 7

 

d

(

 

 

i

)

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

d

n1 a

 

c

 

n2 (b

1)2

n1

6; n2

5; b

19;1; 24; 4, 2; 8 ;

 

 

 

 

 

 

i

 

 

 

 

i

 

 

a

0,8;12;

4; 39, 2; 3; 0, 4

 

 

i 1

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

ai

 

(d

 

 

e xi

 

sin xi )

d

51, 05 10 4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

5

 

 

 

cos xi )

x

0, 7; 6;

7; 0, 9;

0, 2; 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60