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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

9

z

 

 

 

 

e cx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

0, 555; c

1, 44;

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2 10 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

z3

 

 

 

 

0,1z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

1

 

 

 

e y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln((0,1u) y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

(z

2

 

 

 

 

ln z)

 

 

 

 

 

 

 

 

 

 

 

z

1, 04; a

 

4 10

8

;

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(e 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,5a

 

 

 

m)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

(1

 

mz

 

 

 

 

2 y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln(1

 

 

z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

s2

z

 

 

 

 

(1

 

 

az)2

sin(az)

 

 

 

 

 

 

 

 

 

11

w

 

 

 

 

tg0 (1

 

 

x)

 

 

 

 

z2 e0

 

a

1,5; x

 

1,44;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

15 10 9

 

 

 

 

 

d

0, 99

 

 

 

 

2

 

 

3x

 

 

| x

1|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

(1

 

 

a2

a3 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ln a

 

 

5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

t

tgx

 

 

 

r

(1

 

ln x)

 

k

6; r

15 10

7

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

t

 

 

 

 

(1

 

 

e

k 4

)

 

 

 

 

 

x

0,095

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x3

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100t

 

 

 

 

 

 

 

 

 

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

0,5 10 8 ; c

 

 

1,9;

t

(dc

 

 

 

a

 

 

 

 

 

c2

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( j

 

 

 

 

3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

4; a

 

1,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

0, 5t

 

 

 

 

e1

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w tg(d 1)

 

 

et 2

1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

1, 75;b

 

8,1;

 

 

s

 

 

 

 

 

 

ta

1

 

 

 

4 e2b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

4;t

45 10 8

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

sa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1

 

 

0,1a)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v

s

( j

 

 

0,5)

 

 

 

 

a2

 

 

b2

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

1, 75;

 

 

 

 

 

 

 

y

 

 

 

 

 

 

a e

 

 

2b

 

 

1

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3,4

 

 

 

b

4,5 10

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

1

 

 

 

ln(1

200b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1

 

 

 

a

 

 

 

 

a 2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

e1,55b

 

 

(1

 

 

a 2

 

 

 

a3 )

 

 

 

 

 

 

 

 

 

41

5. ЦИКЛЫ В ИНЖЕНЕРНЫХ РАСЧЕТАХ

Если в программе необходимо повторить один оператор или последовательность операторов несколько раз, используются операторы циклов. Операторы циклов заключают такой оператор или группу операторов между ключевыми словами начала и конца цикла и определяют условия повтора выполнения. Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации. Если параметр цикла целочисленный, он называется счетчиком цикла. Имеется большой выбор средств организации циклов, которые можно разделить на две группы: циклы For...Next и циклы Do...Loop.

5.1. Циклы For...Next

Циклы For…Next используются, когда заранее определено, сколько раз должны выполняться операторы цикла.

For <счетчик> = <нач. значение> То <кон. значение> Step <приращение>

<операторы>

Next

В роли счетчика количества повторений в цикле может выступать любая переменная числового типа. Приращение может быть как положительным, так и отрицательным числом. Если приращение равно единице, то конструкция Step может быть опущена. Если приращение отрицательно, то начальное значение, естественно, должно быть больше конечного.

Например, в следующей программе счетчиком является переменная целого типа, увеличивающаяся на каждом шаге цикла на 1:

For i = 1 To 10 C=i^2 MsgBox C Next

Врезультате выполнения программы будут выведены в окно сообщений квадраты целых чисел от 1 до 10.

Вдругом примере значения функции Sin(x), полученные на интервале от 0 до 1 с приращением аргумента 0,1, будут выведены в ячейки первого столбца рабочего листа Лист1, начиная с первой строки:

i=1 ‘ номер строки, в ячейки которой осуществляется вывод

For x = 0 To 1 Step 0.1

42

y=Sin(x)

Worksheets(“Лист1”).Cells(i, 1)=y

i=i+1 ‘номер строки увеличивается на 1

Next

5.2. Циклы Do...Loop

Циклы Do...Loop используются в тех случаях, когда заранее неизвестно, сколько раз должна выполняться расположенная в теле цикла группа операторов. Такой цикл продолжает работу до тех пор, пока не будет выполнено определенное условие. Существуют 4 типа операто-

ров цикла Do...Loop:

1) Цикл с ключевым словом While продолжает свою работу, пока условие остается истинным, т. е. пока условие выполняется, и задается в двух вариантах, представленных ниже.

Do While <условие>

Условие проверяется до того, как выполняется

<операторы >

группа операторов, образующих тело цикла

Loop

 

 

 

Do

Условие проверяется после того, как операторы,

<операторы>

составляющие тело цикла, будут выполнены хотя

Loop While <условие>

бы один раз

 

 

2) Цикл с ключевым словом Until продолжает свою работу, пока условие является ложным, т. е. условие не выполняется, и задается в двух вариантах, представленных ниже.

Do Until <условие>

Условие проверяется до того, как выполняется

<операторы>

группа операторов, образующих тело цикла

Loop

 

 

 

Do

Условие проверяется после того, как операторы,

<операторы>

составляющие тело цикла, будут выполнены хотя

Loop Until <условие>

бы один раз

 

 

Если условие постоянно будет ложно, то программа зациклится. Чтобы этого не произошло, значения переменных, входящих в условие, должны изменяться в теле цикла. Если произошло зацикливание (зависание машины), надо прервать программу нажатием <Ctrl+Break> и исправить ошибку.

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

43

Для решения этой задачи необходимо подсчитать количество записей в таблице. Для этого создадим командную кнопку и напишем для нее следующую процедуру:

Private Sub CommandButton1_Click()

i = 3 строка, с которой начинаются записи в таблице

Do Until Worksheets("Склад").Cells(i, 3) = "" проверяется условие – не

являеся ли строка пустой

i = i + 1 подсчитывается количество заполненных строк

Loop

Worksheets("Склад").Cells(i + 4, 1) = "Общее количество видов"

Worksheets("Склад").Cells(i + 4, 3) = i End Sub

Цикл будет работать до тех пор, пока не встретится пустая строка. В переменной i после окончания цикла будет записан номер строки, следующей за последней заполненной строкой таблицы. Результат выведется в первый и третий столбец на 4 строки ниже последней строки таблицы (рис. 5.1).

Рис. 5.1. Образец оформления рабочего листа для примера 1

Пример 2. Пусть необходимо вычислить значения t sin 2 (x) e3 x

на интервале x = 3 (0,1) 4 (х меняется от 3 до 4 с шагом 0,1).

Создадим командную кнопку и напишем для нее следующую процедуру:

Private Sub CommandButton1_Click() x=3 : n=1

Do While x<=4

44

t=Sin(x)^2+Exp(3-x)

Worksheets(“Лист1”).Cells (1, n) =t x=x+0.1 : n=n+1

Loop End Sub

Перед началом цикла переменной x присваивается начальное значение 3. Затем в начале цикла проверяется условие x <= 4, где 4 − конечное значение x. Если это условие верно, то выполняются все операторы, входящие в тело цикла и вычисляется значение x, увеличенное на величину шага. Как только условие x <= 4 станет неверным, циклический процесс и выполнение программы завершается.

В этой программе в одной строке записано два оператора, разделенные двоеточием. Результаты вычислений размещаются в первой строке на рабочем листе Excel.

 

Пример

3. Пусть нужно вычислить значение q по формуле:

 

 

 

 

q

 

z2 8a

ln( z 0,5) для z={1; 4; 7,5; 9; 15} и a =3, а также для зна-

чений z = 0 (0,5) 5. Ввод исходных данных должен осуществляться из ячеек рабочего листа. Вывод результатов надо организовать в ячейки на рабочем листе Excel.

Составим две процедуры. Первую с использованием оператора цикла For...Next и вторую с использованием оператора цикла Do...Loop. Для решения задачи оформим рабочий лист согласно образцу (рис. 5.2).

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

Private Sub CommandButton1_Click() a = 3

j = 18 ' j − это номер строки, в которую введено первое значение z

For i = 1 To 5 счетчик количества значений переменной z

z = Worksheets("Лист4").Cells(j, 2) q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5) Worksheets("Лист4").Cells(j, 3) = q j = j + 1

Next i End Sub

Для кнопки «Расчет Do...Loop» процедура может иметь вид:

Private Sub CommandButton2_Click() a = 3 : j = 18 : z = 1

Do While z <= 5

45

q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5) Worksheets("Лист4").Cells(j, 8) = q z = z + 0.5

j = j + 1 Loop End Sub

Рис. 5.2. Образец оформления рабочего листа для примера 3

Для проверки результатов вычислений с помощью формул Excel в ячейку D15 можно поместить формулу:

=КОРЕНЬ(B15^2+8*$J$7)*LN(B15+0,5)

Ее надо скопировать в ячейки D16:D19 и в ячейки I15:I23. Результат расчета с помощью VBA и Excel должен совпасть.

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

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

2.В табл. 5.1 приведены формулы и два варианта исходных данных, по которым надо составить две программы с одними и теми же расчетными формулами. Предусмотреть вывод результатов в ячейки таблицы на рабочем листе Excel.

46

 

 

 

Таблица 5.1

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

For...Next

Do...Loop

1

 

 

 

(10r

 

 

j)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

2,1; r

1,4 10

4

;

j

0(0,1)1, 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e m

ln(c

 

1)

 

 

 

 

 

 

 

 

 

 

 

c2

 

 

 

 

 

 

 

 

 

 

 

m

7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

(h m

 

 

j2 )

 

 

(0,001c)2

j

{4,2; 0,3; 1,7}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

0,12 10 3 ;

 

 

i

1(0,5)10

y

 

 

 

 

 

i b

 

 

 

 

b

2

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 b

 

 

 

 

 

 

 

b

8,5; n

 

2;

 

 

 

 

 

z

 

 

 

y tg(

n

)

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

{2;1; 8,3}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1,55; k

 

6;

 

 

j

2(0,2)0

z

 

 

 

 

a

1

 

 

tg(4

 

 

 

j

 

 

 

y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

e

 

j 0,01 y

 

 

 

 

(k

 

z)2

 

 

 

 

 

 

 

 

 

 

j

{8,9;

0,6; 1; 6,4};

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

2,7 10 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1,55; k

 

6;

 

 

j

2(0,2) 0,15

z

 

 

 

 

a

1

 

 

tg(4

 

 

 

j

 

 

 

y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

e

 

j 0,01 y

 

 

 

 

(k

 

z)2

 

 

 

 

 

 

 

 

 

 

j

{8,9;

0,6; 1; 6,4};

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,7 10 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

5

y

 

 

(m

j

 

 

b)

 

 

 

 

 

e10 a

 

 

 

 

 

 

 

 

 

 

b

2,5; m

 

 

3;

 

 

j

b(0, 25)3,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tga

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

1,4 10 3 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

2

 

y

b

 

 

 

 

 

 

 

 

 

 

a

 

 

 

b

 

 

 

 

 

 

 

 

 

 

j

{0,7;

2,6; 2,9}

 

 

 

 

 

 

 

(mb

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

1,74;

 

 

 

 

 

 

i

0(0,5)3

c

 

2(b

 

i)

 

 

 

 

 

 

 

 

2 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

{0,9; 8,4; 2};

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

0, 014

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

e1 c

 

4, 9(x2

 

 

1)

 

 

 

 

 

 

 

 

 

 

y

1,06 10 4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1,56; k

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

5,4; m

 

 

4;

 

 

k

1(0,5)5,5

v

0, 4 u

 

 

b

 

 

 

 

 

 

2

 

 

0, 7k

3, 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

0,05 10 4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

1000 e 0,2u

 

 

 

ln(800,1u)

k

{6; 4; 0,3; 7}

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

0,911; y

 

 

2,92;

 

i

1(0, 2)2

z

ty2

 

 

 

i

 

 

 

 

 

x

 

 

tgy

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ix

 

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

t

6,96 10

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

{9; 1,4; 5}

 

 

 

 

 

q

 

 

 

 

 

z2

 

 

5z

 

 

 

 

ln( y

0,33)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

w

 

 

0, 76 j

 

 

 

 

e

tj

 

(

4 y

)

2

 

 

 

 

 

 

y

2, 5; t

 

 

 

7, 4;

 

 

j

0(0,1)2

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n

9;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

21

 

w

 

 

0,1t

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

j

{0, 5; 8, 4; 0, 3}

 

 

 

 

 

 

 

 

 

(2

 

 

n2 )

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

s

7,94; m

 

 

10;

 

 

k

0(0,5)10

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(e

 

 

 

 

 

 

5s

 

km )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n(5,2 f )

 

 

 

 

 

 

 

 

 

 

 

 

f

3,2 10 4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v

(1

 

my

 

 

 

 

 

 

mk )

 

 

 

 

 

 

 

 

 

 

k

{4; 0,5; 8}

 

 

 

 

 

 

 

 

 

 

 

ln(1

 

 

 

 

y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

47

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

 

 

 

 

 

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

 

For...Next

 

Do...Loop

11

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

a

1,24; m

 

16;

j

1, 78(0, 2)3, 2

 

w

 

 

 

tg(

)

 

 

(1

 

 

 

1,3t)

e m

 

 

t

15 10

5

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2

 

 

j

{0,5; 9,1; 5}

 

 

 

 

r

0,99

 

3w

 

 

 

j

| a

1|

 

 

 

12

 

2

 

 

sin(

k

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

5,05; m

6;

k

a(

0,5)3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 10 3 ;

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

cos(m

b)

 

 

 

 

 

 

 

 

 

 

 

k

{1,6; 9,1; 8}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

(d 2

b

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1

 

 

e0,004 k

0,4 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

y

 

 

 

 

 

 

 

a

 

 

 

 

 

(1 ji)

 

 

b

2,9; j

 

6;

 

 

i

b(

0,1)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(b e 10 b )

 

 

a

110,5 10

8

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i {7; 4; 2; 6}

 

 

 

 

 

 

t

y

 

 

 

 

 

 

 

 

 

 

 

 

|

 

1, 2

 

 

j |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos( y

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,2 j 2,5 y

a

1,17; y

 

0,14;

j

0,8(0, 02)1

z

 

 

 

t

 

 

a

m

 

 

4 e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

ln(0.4

m)

 

 

 

 

 

 

 

 

 

 

 

t

45 10 5 ; m 4;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

{5; 3; 1; 7; 3}

 

 

 

 

(3,1

 

0, 7a z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1,555 10 4 ;

j

a(0,1)5, 43

r

 

 

j

x

1

 

 

 

20a

 

 

 

 

 

 

 

 

 

 

 

(1

 

 

5a)

 

 

 

 

 

 

 

 

 

 

 

a

4,43; n

15;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

r

12r

e

7,5

 

(x

 

r

)

 

 

j

{5,4; 2,7; 0,1}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

6. ПРОГРАММЫ С РАЗВЕТВЛЕНИЕМ. УСЛОВНЫЕ ОПЕРАТОРЫ

Если некоторые действия в программе, например вычисления по формулам, должны происходить только при выполнении какого-либо условия, то такая программа имеет разветвление, которое обеспечивается условным оператором. Для записи проверяемого условия используются операции сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно), < > (не равно).

Каждое условие всегда имеет два значения – либо оно верно (True – правда), либо неверно (False – ложь).

Проверяемое условие может быть и сложным, состоящим из нескольких простых условий. Для записи сложного условия используются логические операции объединения: And – сложное условие верно, когда оба простых условия верны, иначе сложное условие будет

48

ложным; Or – сложное условие верно, когда хотя бы одно из простых условий верно.

Объединяя условия логическими операциями And и Or в различных вариантах, можно составить сложное условие, например:

x >= 1 And x =< 10 Or x = 15

Это условие будет верно, если х находится внутри интервала

[1:10] либо если х = 15.

6.1. Строчный и блочный условные операторы

Условный оператор имеет общий вид If…Then…Else… (если…тогда…иначе…) и в строчной форме записи представляет конструкцию:

If <условие> Then <оператор 1> Else <оператор 2>,

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

ется, то нужно выполнить оператор 1, иначе нужно выполнить оператор 2.

Например:

If Temper<10 Then MsgBox”Надеть куртку” Else MsgBox”Надеть ветровку”

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

If <условие> Then

<операторы>

Else

<операторы>

End If

Блочный условный оператор заканчивается строкой с ключевыми словами End If.

Например:

If Temperatura<10 Then

MsgBox”Надеть куртку” MsgBox”Надеть сапоги”

Else

MsgBox”Надеть ветровку” MsgBox”Надеть кроссовки”

End If

49

В строчном и в блочном операторе может отсутствовать Else:

If <условие> Then

<операторы>

End If

Если необходимо проверить более одного условия, то можно использовать вложение операторов If друг в друга.

Пример 1 программы вычислений по формулам с использованием строчного условного оператора If:

 

 

 

 

 

 

 

 

 

 

z2

y e 2x 1;

z

ln x

 

;

w

 

xy,

x

x 1

nx 2,

x

z2

 

 

 

 

Dim x As Single, y As Single, w As Single, n As Single

x= Val(InputBox(«Введите x»))

n= Val(InputBox(«Введите n»))

y= Exp(-2 * x) + 1

z= Log(x) / (x + 1)

If x < z ^ 2 Then w = Sqr(x * y) Else w = n * x + 2

Msgbox (“w=” & w)

В этой программе можно вывести результат в ячейку на рабочем листе Excel. Для этого вместо MsgBox следует записать

Worksheets(“Лист1”).Range(“a1”)=w

Значение w будет выведено в ячейку А1 на рабочем листе с име-

нем Лист1.

6.2. Разветвляющиеся программы со сложными условиями

Пример 2 программы вычислений значения функции y со сложным условием. Значения n и x вводятся с клавиатуры:

 

 

 

 

 

 

 

y

 

x,

при x 0,

n

0

nx

2, при x

0,

n 0

 

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

'Ввод исходных данных

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

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

If x >= 0 And n >= 0 Then y = Sqr(x)

50