
2. Расчетные задания по программированию на vba
2.1 Разветвляющиеся программы.
Составить блок-схему и программу на VBA для решения задач, представленных в табл. 2.1.
Таблица 2.1.
№варианта |
Условие |
№вариа нта |
Условие |
0 |
t=max(x+y+z,xy)+min(x,y) |
1 |
z=min[max(a,x),b] |
2 |
max(a,b) при a>0 c= min(a,b) при a<=0 |
3 |
max(a,b) при a<2 z= min(a,c) при a>=2 |
4 |
Для данных a,b,c прове-рить, выполняется ли нера-венство a<b<c |
5 |
Для данных x,y,z прове-рить, выполняются ли одновременно неравенства x>y и y>z |
6 |
z=max[min(a,b),c] |
7 |
t=[min(a,b)]2+[max(b,c)]2 |
8 |
c=max(ab,a+b)+min(a,b) |
9 |
z=max[x+y,max(a,b)] |
10 |
Даны точки (x1,y1) и (x2,y2). Определить, лежат ли они на одной окружности с цен-тром в начале координат |
11 |
Определить, принадлежит ли точка (x,y) окружности радиуса R с центром в начале координат |
12 |
Определить, лежит ли точ-ка (x,y) внутри круга с центром в точке (1,1) и радиусом, равным 5. |
13 |
Определить, принадлежит ли точка (x,y) отрезку, соединяющему точку (1,1) и (5,10). |
14 |
Определить, принадлежит ли точка (x,y) кольцу с цен-тром в начале координат с внешним радиусом 5 и с внутренним радиусом 3. |
15 |
Определить номер четвер-ти плоскости, в которой находится точка (x,y). |
16 |
Определить, лежит ли точ-ка (x,y) внутри эллипса x2/169+y2/25 = 1 |
17 |
Определить, лежит ли точ-ка (x,y) на прямой ax+by=c |
18 |
Определить, коллинеарны ли вектора a=(a1,a2,a3) и b=(b1,b2,b3) |
19 |
Даны числа a,b,c. Удвоить эти числа, если a>b>c, и за-менить их абсолютными значениями в противном случае |
Пример выполнения задания 2.1
Условие. Составить блок-схему и программу на VBA для решения следующей задачи. Даны числа a, b, c. Удвоить эти числа, если a>b>c и заменить их абсолютными значениями в противном случа
Блок-схема
a=abs(a) b=abs(b) c=abs(c)
a=2a b=2b c=2c
нет
да
Программа
Sub p1()
Dim a As Single, b As Single, c As Single
a= Val(InputBox(“Введите a”))
b= Val(InputBox(“Введите b”))
c= Val(InputBox(“Введите c”))
if a > b and b>c then a=2*a: b=2*b: c=2*c else a=abs(a): b=abs(b): c=abs(c)
MsgBox “a=” & a & “ b=” & b & “ c=” & c
End Sub
2.2. Циклические программы
Составить блок-схему и программу на VBA для решения задач, представленных в табл. 2.2.
Таблица 2.2.
№ вар. |
Условие |
№ вар. |
Условие |
0 |
s=a+a2+...+a6 |
1 |
s=(a+x)(a+2x)...(a+6x) |
2 |
s=(5+8+... +35)/(4+7+...+34) |
3 |
s=1+3+32+... +37 |
4 |
|
5 |
|
6 |
p=8*9*... *14/(8+9+...+14) |
7 |
p=4*6*...*20/(4+6+...+20) |
8 |
s=2+22+23+...+27 |
9 |
s=sinx+sin2x+...+sin8x |
10 |
p=(x-2)(x-4)(x-8)(x-16) |
11 |
p=a(a+2)(a+4)...(a+2n) |
12 |
s=(2+4+...+40)/(1+3+...+39) |
13 |
s=3+32+...+36 |
14 |
p=(a-1)(a-2)...(a-11)/a |
15 |
p=(y-3)(y-6)...(y-12) |
16 |
|
17 |
|
18 |
Возвести число 4 в 7-ю степень, не применяя опе-рацию возведения в степень |
19 |
Возвести число 3 в 8-ю степень, не применяя операцию возведения в степень |