- •Основы и принципы работы в vba
- •Часть 2 омск 2008
- •Часть 2
- •5.1. Теоретические сведения
- •5.2. Индивидуальные задания
- •6.1. Теоретические сведения
- •6.2. Индивидуальные задания
- •Циклы накопления суммы и произведения.
- •7.1. Теоретические сведения
- •7.2. Индивидуальные задания
- •Создание и использование процедур
- •8.1. Теоретические сведения
- •8.1.1. Создание процедур-функций типа Function
- •8.1.2. Создание процедуры-подпрограммы Sub
- •8.2. Индивидуальные задания
- •Часть 2
- •644046, Г. Омск, пр. Маркса, 35
Циклы накопления суммы и произведения.
ВЫЧИСЛЕНИЕ СУММЫ ЧИСЛОВЫХ РЯДОВ
Цель работы: изучение принципов организации цикловcнакоплением суммы и произведения; получение навыков разработки алгоритмов с нахождением суммы для числовых и функциональных рядов.
7.1. Теоретические сведения
Существует широкий круг задач вычислительного характера по нахождению суммы или произведения последовательности функций или чисел.
Пусть требуется вычислить сумму: .
Решение сводится к последовательному вычислению промежуточных сумм:
(1)
Вычисление значения Sn представляет собой искомую сумму S. Значение промежуточных сумм S1, …, Sn-1 не требуется сохранять в памяти компьютера, поэтому последовательность уравнений (1), можно представить в виде общей формулы:
S = S + ai (2)
Таким образом, вычисление суммы сводится к ее накоплению в переменной S. Формула (2) составляет основу цикла накопления суммы.
П р и м е р 1. Вычислить сумму:.
Алгоритм решения представлен на рис. 7.1.
В блоке 2 задается начальное значение суммы. Цикл по накоплению суммы S организуется при помощи управляющей переменной цикла i.
Действия по заданию начального значения i, изменение ее на шаг Δi=1 (i = i +1) и проверка достижения конечного значения i = 10 задаются в блоке 3.
Телом цикла является блок 4, в котором осуществляется накопление суммы (1/i – текущее слагаемое).
Вывод значения суммы ряда организуется с помощью диалогового окна вывода (блок 5).
ПрограммаVBА имеет вид:
OptionExplicit
Sub PR1()
Dim S As single, i as integer
S=0
For i= 1 to 10
S=S+1/i
Next i
MsgBox(“ Сумма ряда S=” & S)
End Sub
Аналогичным образом вычисляется произведение Отличие состоит в том, что формула имеет вид: Р = Ру, аначальноезначение произведения Р, которое задается перед циклом, должно быть равноединице.
7.2. Индивидуальные задания
З а д а н и е 1. Составить схему алгоритма и программу вычисления суммы (произведения) с передачей результатов на лист Excel(табл. 7.1).
Таблица 7.1
Функции для вычисления суммы или произведения
Вариант |
Задание |
Функция |
Исходные данные |
Ответ |
1 |
2 |
3 |
4 |
5 |
1 |
1 |
|
x = 9 |
Z = –8,571103 |
2 |
|
– |
С = 7,929 | |
3 |
|
t = /3, x = 0,8 |
V = 1,293 |
Продолжение табл. 7.1
1 |
2 |
3 |
4 |
5 |
2 |
1 |
x= 11 |
А = 4,249 | |
2 |
– |
F= 14,957 | ||
3 |
|
x = 9, a = 12 |
V = 40,53 | |
3 |
1 |
x= 0,57 |
T= 0,044 | |
2 |
|
x = 10 |
G = 8,697 | |
3 |
|
x = 2 |
J =3 ,611 | |
4 |
1 |
|
x = 2 |
С = 4,343 |
2 |
x = 4 |
V = 66,21 | ||
3 |
b = 9 |
M = – 18,422 | ||
5 |
1 |
b = 9 |
S = 9,634 | |
2 |
x = 3 |
K = 35,152 | ||
3 |
x = 6 |
N = 7,3 |
Продолжение табл. 7.1
1 |
2 |
3 |
4 |
5 | ||||
6 |
1 |
x = 2 |
Y = 0,083 | |||||
2 |
n = 2,5 |
M = 8,007 | ||||||
3 |
q = 9 |
W = –0,91 | ||||||
7 |
1 |
x = 7 |
A = –8.719 | |||||
2 |
i = –1 |
F = 75,173 | ||||||
3 |
|
k = –2 |
L = 11,38 | |||||
8 |
1 |
x = 1 |
Y = 0,998 | |||||
2 |
x = 4 |
U = 489,139 | ||||||
3 |
x = 0,99 |
PR = 132,843 | ||||||
9 |
1 |
x = 10 |
Y = 79,995 | |||||
2 |
x = 7 |
M = 4,007 | ||||||
3 |
x = 12 |
T = 35,479 |
Продолжение табл. 7.1
1 |
2 |
3 |
4 |
5 |
10 |
1 |
G = 11,479 | ||
2 |
x = 12 |
H = – 8,131 | ||
3 |
u = 45 |
D = 48,807 | ||
11 |
1 |
x = 1 |
Y = –15,605 | |
2 |
x = 2 |
U = 69,84269 | ||
3 |
x = 27 |
PR = 0,0866105 | ||
12 |
1 |
|
x = 1 | |
2 |
k = 5 |
L = 19,37
| ||
3 |
x = 5 | |||
13 |
1 |
– |
Q = 21,754 | |
2 |
N = |
h = 6 |
N = –1,6610-7 | |
3 |
h = 3 |
M = 11,942 |
Окончание табл. 7.1
1 |
2 |
3 |
4 |
5 | |
14 |
1 |
– |
C = 0,575 | ||
2 |
x = 7 |
K= –301,141 | |||
3 |
Y = 1,2 U = 1 |
PT = 78 | |||
15 |
1 |
G = 3 |
CA = –145,535 | ||
2 |
|
T = 2 |
RM = –0,024 | ||
3 |
H = 6 |
ED = 770,733 | |||
16 |
1 |
U = 3 |
HP = 119,7 | ||
2 |
|
x = 6 |
C = 0,065 | ||
3 |
x = 2 |
S = 92,626 |
Задание 2. Составить схему алгоритма и программу вычисления суммы (произведения) (табл. 7.2)с выводом результатов в окноMsgBox.
Таблица 7.2
Функции для накопления суммы
Вариант |
Функция |
Исходные данные |
1 |
2 |
3 |
1 |
|
x= 1,62 |
2 |
|
x= 3,34 |
Окончание табл. 7.2
1 |
2 |
3 |
3 |
|
x= 0,92 |
4 |
|
x= 0,85 |
5 |
|
x= 0,65 |
6 |
|
x = 1,01 |
7 |
|
x = 0,26 |
8 |
|
x = 2,45 |
9 |
|
x = 0,95 |
10 |
|
x = 0,56 |
11 |
|
x = 0,71 |
12 |
|
x = 0,97 |
13 |
|
x = 1,82 |
14 |
|
x = 2,31 |
15 |
|
x = 0,27 |
16 |
|
x = 2,76 |
17 |
|
x = 1,27 |
18 |
|
x = 0,14 |
19 |
|
x = 1,19 |
20 |
|
x= 0,98 |
Лабораторная работа 8