Методичка_VBA
.pdf129
MsgBox "Поднимите флажок:какой максимальный " _
&"период непрерывного увеличения добычи нефти " _
&"нужно найти-первый или последний."
Exit Sub
End If
'переменная f будет фиксировать факт наличия п ериода
'нарастания хотя бы у одной компании
'k — счетчик строк на рабочем листе при выводе данных f = 0
k = 1
'j —счетчик внешнего цикла для перебора комп аний
'i — счетчик внутреннего цикла для перебора номера года 'l — текущая длительность периода для данной ко мпании 'MaxL — максимальная длина периода увеличения
'добычи нефти для текущей компании.
For j = 1 To n l = 0
MaxL |
= |
0 |
|
|
|
For i = 2 To m |
|
||||
If DN(i, |
j) |
> DN(i |
- 1, j) Then |
||
l = |
l |
+ |
1: f = |
1 |
|
Else |
|
|
|
|
|
l |
= |
0 |
|
|
|
End |
If |
|
|
|
|
'fl — переменная типа Boolean,
'принимающая значения либо ложь либо истина .
'В зависимости от выбора флажка проверяется истинность
'различных неравенств .
If CheckBox1 = True Then fl = (l > MaxL) st1 = "Первый"
Else
fl = (l >= MaxL) st1 = "Последний"
End If
'Если длина текущего периода оказалась больше чем MaxL,
'переопределяем значение переменной MaxL и вычисляем
'последний год периода возрастания добычи
If fl Then MaxL = l: fin = a(m) - m + i
Next
If MaxL > 0 Then
'Выводим результаты в рабочий лист,
'если нашелся период возрастания
'в столбец B рабочего листа выводим начало периода возрастания
130
With Sheets("Результат")
.Cells(k + 2, 1) = Naz(j)
.Cells(k + 2, 2) = fin - MaxL
.Cells(k + 2, 3) = fin End With
k = k + 1 End If
Next
If f = 0 Then MsgBox "Таких компаний нет"
Else
MsgBox " Неправильно определены диапазоны"
Exit Sub End If
'Управление видимостью элементов управления
CommandButton1.Visible = False
CommandButton2.Visible = True
Sheets("Результат").Activate
'Создание названия и заголовка таблицы р езультатов st2 = rng1.Cells(1, 1)
st3 = rng1.Cells(m, 1)
st = st1 & "максимальный период увеличения добычи " _ & "нефти за" & st2 & "-" & st3 & "г."
With Sheets("Результат")
.Cells(1, 1) = st
.Cells(2, 1) = "Имя компании"
.Cells(2, 2) = "Начало периода"
.Cells(2, 3) = "Конец периода"
End With
Exit Sub
'Обработка ошибок 'Окно сообщения формируется в зависимости от кода оши бки
ErrorHandler:
Select Case Err.Number Case 13
MsgBox "Неправильно введены числовые данные", 48
Exit Sub Case 56
MsgBox "Ошибка ввода/вывода", 56 Exit Sub
Case 1004
MsgBox "Заполните правильно адреса диапазонов", 1004 Exit Sub
Case 9
MsgBox "Создайте лист Результат", 9
131
Unload UserForm1 Case else
MsgBox "Непредвиденная ошибка" End Select
End Sub
Private Sub CommandButton2_Click()
'Выгрузка формы из оперативной памяти
Unload UserForm1 End Sub
Private Sub UserForm_Initialize()
'При открытии формы очищаем диапазон,
'содержащий таблицу результатов
Sheets("Результат").Range("A:C").Clear
End Sub
3.5.Выполнить команду Debug/Compile VBA Project.
4.Процесс создания диалогового окна и процедур, связанных с ним, завершен.
Не забудьте удалить символ «'» в начале 10 строки. Для того чтобы проверить,
как работает созданная программа, нажмите кнопку F5. Создайте различные ситуации, приводящие к вызову оператора On Error.
5.Создайте на рабочем листе кнопку для запуска разработанной формы.
132
Примеры вопросов теста по программированию
1. Определить какую задачу можно решить с помощью процедуры PRY.
Public Sub PRY()
kol = 0: m = 5000000000 For i = 1 To 10
x = InputBox("Введите число") If x = m Then kol = kol + 1 If m>x Then
m = x kol = 1
End If Next
MsgBox "m=" & CStr(m) & " Таких чисел " & CStr(kol) End Sub
1)Определить максимальное значение и количество чисел равных максимуму в последовательности вводимых чисел.
2)Определить минимальное значение в последовательности вводимых чисел и максимальный индекс числа равного минимуму.
3)Определить максимальное значение в последовательности вводимых чисел и максимальный индекс числа равного максимуму.
4)Определить минимальное значение и количество чисел равных минимуму в последовательности вводимых чисел.
5)Нет правильного варианта ответа.
2.В программе, записанной на объектно-ориентированном языке программирования Visual Basic, определить, что является свойством объекта.
Private Sub CommandButton1_Click() Label1.Visible = True Sheets(1).Activate
End Sub
1)CommandButton1_Click 2)Range("A1") 3)True 4)Activate 5)Visible
3. После выполнения фрагмента программы
A = Array(-6, 2, 4, 0, -1, 3) For n = 1 To 3
For m = n + 1 To 4
If A(n) < A(m) Then
c = A(n): A(n) = A(m): A(m) = c End If
Next
Next
порядок элементов в массиве A будет следующий
1) -6, -1, 0, 2, 3, 4 2) 4, 3, 2, 0, -1, -6 3) -6, 4, 2, 0, -1, 3
|
133 |
4) 3, -1, 0, 2, 4, -6 |
5) 3, 4, 2, 0, -1, -6 |
4. Определить выходные значения переменных A и C после выполнения алгоритма (см. рисунок)
1) -2,3 2) 0, 3 3) -1, 2 4) 1,4 5) зацикливание
5.В какой строке приведенного фрагмента программного кода содержится ошибка?
10Dim a(50) As Integer
20For i = 1 To 50
30a(i) = Range(i, 1)
40Next
6.Фрагмент программы, в котором значения двумерного массива задаются с помощью вложенных циклов, записан в VB. Определите, какое значение приобретет элемент массива А[2,3].
For n=1 to 5
For k=1 to 5
If n>=k and n+2<5 Then A(n,k)=n+k^2 Else A(n,k)=n*k^2
Next k Next n
1)-5 2)0 3)18 4)11
134
Контрольная работа
Контрольная работа выполняется в Excel с использованием средств VBA. Рабочая книга: Контрольная_работа2. Формат имени рабочих листов: Задача<номер задачи>.
1. Запишите на VBA следующие арифметические выражения. Напишите программы для вычисления значений арифметических выражений (для ввода и вывода значений переменных используйте диалоговые окна).
1. |
|
|
a sin 3 b2 |
|
|
|
|
log |
|
x |
2 |
|
|
|
|
|
|
|||||||||||||||
|
|
cos25 ctg60 |
|
|
2 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
(x8 8x ) |
8 |
(a2 |
(b 3 ctgx ) |
|||||||||||||||||||||||||||
2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
x sin 2 a3 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
xyz 3,3 |
|
x 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
3. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
107 ln sin 2 x |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
4. |
|
(b cos2 y4 )(ab tg(x 3 y2 ) |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
cos110 |
|
|
|
ctg( y) |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
xb |
|
cos2 (x b)3 |
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
5. |
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
x2 (x 1) |
sin 2 (x a) |
|||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sin 3 (x2 |
a)2 |
3 |
|
|
|
x |
|
|
|
|
|
|
||||||||||||
6. |
|
|
b |
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
x2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
cos (x b) |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tg(t) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
7. |
|
3 3sin(t) |
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
cos(bt sin 2 t) 2tgt |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ae |
|
|
|
|
|||||||||
8. |
btg 2 x |
|
|
|
a |
|
|
|
|
|
|
|
a |
|||||||||||||
|
|
|
|
2 |
|
x |
|
|
|
|
|
|
|
|
|
bx |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
sin |
|
|
|
|
|
cos( |
|
|
) |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
a |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
cos3 (x2 b)2 5 |
|
|
|
x |
|
|
|
|
|
|||||||||||||||
9. |
|
|
|
|
b |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
x e3 ( x b ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cos2 (x b)3 x4
10.
a
ex2 sin 2 (x a)
2. Запишите на VBA следующие логические выражения. Напишите программы для вычисления значений логических выражений.
1.(2 *2 = 4 или 3 * 3 = 10) (2 * 2 = 5 или 3 * 3 = 9)
2.(2 * 2 = 4 и 3 * 3 = 10) (2 * 2 = 5 и 3 * 3 = 9)
3.(2 * 2 = 4 или 3 * 3 = 10) (2 * 2 = 5 и 3 * 3 = 9)
4.(2 * 2 = 4 и 3 * 3 = 10) (2 * 2 = 5 или 3 * 3 = 9)
5.(2 * 2 = 4 или 3 * 3 = 10) (2 * 2 = 5 или 3 * 3 = 9)
6.(2 * 2 = 4 и 3 * 3 = 10) (2 * 2 = 5 и 3 * 3 = 9)
7.(2 * 2 > 4 или 3 * 3 = 9) (2 * 2 = 5 и 3 * 3 = 9)
8.(2 * 2 4 и 3 * 3 = 9) (2 * 2 = 5 или 3 * 3 = 9)
135
9.(2 * 2 = 4 и 3 * 3 = 9) (2 * 2 = 5 или 3 * 3 9)
10.(2 * 2 = 5 или 3 * 3 = 9) (2 * 2 = 4 и 3 * 3 9)
3.Создать программу для вычисления значения функции g.
|
1 X 2 |
|
|
|
, X 0, |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
1 |
|
|
X |
4 |
||||||||||||||||||
1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
g |
|
|
|
|
|
|
sin 2 |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
2 X |
|
|
|
|
|
|
|
|
|
|
|
, X 0, |
||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
2 |
X |
|
|
|
||||||||||||
|
3sin( x) cos2 (x), x 0, |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
2. |
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
1 x |
2 |
|
|
, x 1. |
||||||||||||||||
|
3 |
|
|
|
|
||||||||||||||||||
|
3x2 |
|
|
|
, x 0 |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
x |
2 |
|
|
|
||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3. |
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
2x |
|
|
|
|
|
|
|
||||||||||
|
|
1 |
|
|
|
|
|
, X 0, |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
1 x |
2 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
3 sin 2 (2x) |
, x 0, |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
4. |
|
|
|
|
|
|
|
|
2 |
|
(x) |
||||||||||||
g 1 cos |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
2 1 2x, x 0, |
||||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
1 x2 , x 0, |
||||||||||||||||||||||
|
|
|
|
1 x |
|
|
|
|
|
|
|
||||||||||||
5. |
g |
|
|
|
|
|
|
|
|
, x 0, |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
3 1 e 0, 2 x |
||||||||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
1 |
|
|
x |
|
|
|
, x 0, |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
6. |
g |
|
|
1 3x |
|
|
|
, x 0, |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
2 3 1 x |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
1 |
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, x |
0, |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
7. |
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 x |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
, x 0, |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
3 |
|
|
|
|
|||||||||||||||||||||||
|
2 |
(x) |
|
|
|
|
|||||||||||||||||||||||||
|
|
cos |
|
|
|
|
|||||||||||||||||||||||||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
1 x 2 , x 0, |
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8. |
g sin 2 x |
|
|
|
|
1 x |
|
, x 0, |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 cos |
(x) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
1 |
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, x |
0, |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
9. |
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 x |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
, x 0, |
||||||||||||||||||||
|
|
|
|
3 |
|
|
|
|
|||||||||||||||||||||||
|
2 |
(x) |
|
|
|
|
|||||||||||||||||||||||||
|
|
cos |
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
1 2x2 |
sin 2 (x), x 0, |
||||||||||||||||||||||||||||
|
|
|
|
2 x |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
10. g |
|
|
|
|
|
|
, x 0, |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
3 2 e 0,1X |
|
|
|
|
4. Создать функцию пользователя для начисления премии. Премия агенту по продажам начисляется по следующему правилу: если продукции продано меньше чем на C1 руб., то премия составляет i1% от стоимости реализованной продукции; если продукции продано не меньше, чем на С1 руб., но меньше, чем на С2 руб., то премия составляет i2%, и т.д.; если продукции продано не меньше, чем на Сk руб., то премия составляет ik+1%.
Используя созданную функцию пользователя, создать таблицу начисления премии для некоторого агента за n месяцев.
Сделать отчет: создать документ, содержащий постановку задачи, блок-схему решения задачи, листинг программы.
136
Вариант |
n |
С1 |
С2 |
С3 |
i1 |
i2 |
i3 |
i4 |
|
1 |
|
12 |
10000 |
20000 |
|
1 |
1,5 |
2,3 |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
11 |
20000 |
40000 |
|
2 |
3,0 |
4,5 |
|
|
|
|
|
|
|
|
|
|
|
3 |
|
10 |
30000 |
60000 |
120000 |
3 |
4,5 |
6,8 |
7,4 |
|
|
|
|
|
|
|
|
|
|
4 |
|
9 |
40000 |
80 000 |
160000 |
4 |
6,0 |
9,0 |
9,9 |
|
|
|
|
|
|
|
|
|
|
5 |
|
12 |
50000 |
100000 |
200 000 |
5 |
7,5 |
11,3 |
12,4 |
|
|
|
|
|
|
|
|
|
|
6 |
|
11 |
60000 |
120000 |
240 000 |
6 |
9,0 |
13,5 |
14,9 |
|
|
|
|
|
|
|
|
|
|
7 |
|
10 |
70000 |
140000 |
280 000 |
1 |
1,5 |
2,3 |
2,5 |
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
80000 |
160000 |
320 000 |
2 |
3,0 |
4,5 |
5,0 |
|
|
|
|
|
|
|
|
|
|
9 |
|
12 |
90000 |
180000 |
360 000 |
3 |
4,5 |
6,8 |
7,4 |
|
|
|
|
|
|
|
|
|
|
0 |
|
11 |
100000 |
200 000 |
|
4 |
6,0 |
9,0 |
|
|
|
|
|
|
|
|
|
|
|
5. |
Сгенерировать с помощью формулы |
f a (b a) *СЛЧИС()на рабочем |
листе доход фирмы в некоторых условных единицах, где a = -500, b=600 за 2000, 2001... 2009. Номер года должен содержаться в столбце А, доход — в столбце B.
Составить программу для решения следующей задачи.
Вариант |
Задача |
1 |
Найти сколько лет фирма имела убытки. Определить средний |
|
убыток, если он был. |
2 |
Вычислить сумму убытков фирмы. Определить максимальный |
|
убыток, если он был. |
3 |
Найти сколько лет фирма имела прибыль. Определить макси- |
|
мальную прибыль, если она была |
4 |
Вычислить сумму прибыли фирмы. Определить минимальную |
|
прибыль, если она была. |
5 |
Вычислить суммы прибылей и убытков фирмы. Когда прибыль |
|
была максимальной? |
6 |
Вычислить сумму убытков фирмы. Когда убытки были макси- |
|
мальными? |
7 |
Вычислить суммы прибылей и убытков за первые семь лет рабо- |
|
ты. Найти наибольший доход за этот период. |
8 |
Вычислить сумму убытков фирмы и определить, сколько лет |
|
фирма несла убытки? В каком году убыток был максимальным? |
9 |
Вычислить средние арифметические всех прибылей и убытков |
|
фирмы. В каком году фирма имела наименьшую прибыль? |
0 |
Вычислить средний доход фирмы. В каком году доход был наи- |
|
большими? |
Сделать отчет: создать документ, содержащий постановку задачи, блок-схему решения задачи, листинг программы, распечатку формы.
137
6. Создать пользовательскую форму, имеющую следующие элементы управления: список, два переключателя, рамку, метку, текстовое поле, две кнопки. Построить диалог согласно таблице. Список заполнить программно по формуле f A (B A) *rnd ()
Вариант |
A |
B |
Задача при выборе пер- |
Задача при выборе второ- |
|||||||
|
|
|
вого переключателя |
|
го переключателя |
|
|||||
1 |
-4 |
4 |
Найти |
|
количество |
вы- |
Найти среднее геометри- |
||||
|
|
|
бранных в списке чисел |
ческое выбранных в спи- |
|||||||
|
|
|
|
|
|
|
|
|
ске чисел |
|
|
2 |
1 |
9 |
Найти |
количество |
отри- |
Найти |
сумму квадратов |
||||
|
|
|
цательных |
чисел |
среди |
отклонений выбранных в |
|||||
|
|
|
выбранных в списке |
списке чисел от среднего |
|||||||
3 |
-1 |
5 |
Найти |
количество |
поло- |
Найти среднее арифмети- |
|||||
|
|
|
жительных |
чисел |
среди |
ческое |
положительных |
||||
|
|
|
выбранных в списке |
чисел среди выбранных в |
|||||||
|
|
|
|
|
|
|
|
|
списке |
|
|
4 |
-4 |
8 |
Найти |
количество |
отри- |
Найти среднее арифмети- |
|||||
|
|
|
цательных |
чисел |
среди |
ческое |
отрицательных |
||||
|
|
|
выбранных в списке |
чисел среди выбранных в |
|||||||
|
|
|
|
|
|
|
|
|
списке |
|
|
5 |
-3 |
7 |
Найти среднее геометри- |
Найти |
количество |
вы- |
|||||
|
|
|
ческое выбранных в спи- |
бранных в списке чисел |
|||||||
|
|
|
ске чисел |
|
|
|
|
|
|
||
6 |
5 |
10 |
Найти |
сумму |
квадратов |
Найти |
произведение |
вы- |
|||
|
|
|
выбранных чисел |
|
бранных чисел |
|
|||||
7 |
-6 |
12 |
Найти |
количество |
поло- |
Найти |
сумму квадратов |
||||
|
|
|
жительных |
чисел |
среди |
отклонений выбранных в |
|||||
|
|
|
выбранных в списке |
списке чисел от среднего |
|||||||
8 |
-2 |
5 |
Найти |
первый |
положи- |
Найти среднее арифмети- |
|||||
|
|
|
тельный |
элемент |
среди |
ческое |
положительных |
||||
|
|
|
выбранных в списке |
чисел среди выбранных в |
|||||||
|
|
|
|
|
|
|
|
|
списке |
|
|
9 |
-4 |
7 |
Найти |
|
первый |
отрица- |
Найти среднее арифмети- |
||||
|
|
|
тельный |
элемент |
среди |
ческое |
отрицательных |
||||
|
|
|
выбранных в списке |
чисел среди выбранных в |
|||||||
|
|
|
|
|
|
|
|
|
списке |
|
|
10 |
3 |
9 |
Найти |
сумму |
квадратов |
Найти |
количество |
вы- |
|||
|
|
|
отклонений |
выбранных |
бранных чисел в списке |
||||||
|
|
|
чисел в списке от средне- |
|
|
|
|||||
|
|
|
го |
|
|
|
|
|
|
|
|
Сделать отчет: создать документ, содержащий постановку задачи, блок-схему решения задачи, листинг программы, распечатку формы.
138
7. Реализовать решение задачи в среде VBA. Ввод и вывод данных выполнять в ячейки рабочего листа.
Вариант |
Задача |
1 |
В каждой строке матрицы А(n,m), имеющей нечетный номер, |
|
найти максимальный элемент. |
2 |
В матрице А(n,m) найти номер последнего из ее столбцов, |
|
имеющего равное количество положительных и отрицательных |
|
элементов. Если таких столбцов нет, то вывести 0. |
3 |
В каждой строке матрицы А(n,m), имеющей четный номер, найти |
|
минимальный элемент. |
4 |
В каждой строке матрицы А(n,m) найти количество элементов |
|
меньше среднего арифметического всех элементов этой строки. |
5 |
В каждом столбце матрицы А(n,m), имеющем нечетный номер, |
|
найти максимальный элемент. |
6 |
В каждом столбце матрицы А(n,m) найти количество элементов |
|
меньше среднего арифметического всех элементов этого столб- |
|
ца.. |
7 |
В каждом столбце матрицы А(n,m), имеющем четный номер, най- |
|
ти минимальный элемент. |
8 |
В матрице А(n,m) найти максимальный среди минимальных эле- |
|
ментов ее столбцов. |
9 |
В каждой строке матрицы А(n,m), найти произведение суммы по- |
|
ложительных и суммы отрицательных элементов. |
0 |
В матрице А(n,m) найти минимальный среди максимальных эле- |
|
ментов ее строк. |
8. * Выполнить формализацию задачи. Разработать алгоритм решения. Написать и отладить программу, реализующую алгоритм. Входные и выходные данные хранить в ячейках различных рабочих листов Excel. Спроектировать пользовательский интерфейс с использованием элементов управления: RefEdit, кнопка, рамка, метка. Остальные элементы управления использовать по необходимости. Запрограммировать перехват ошибок. Исходные данные сгенерировать с помощью датчика случайных чисел. Сделать отчет.
Вариант |
Задача |
1 |
Известен поквартальный выпуск продукции для А цехов. Вывес- |
|
ти среднее арифметическое выпуска по всем цехам и определить |
|
цеха, выпустившие продукции больше среднего значения по всем |
|
цехам. |
2 |
Известны годовые объемы добычи нефти каждой из А компаний |
|
за последние В лет. Для каждой компании определить года, в те- |
|
чение которых было добыто максимальное количество нефти. |
3 |
Известны очки, полученные каждым из В спортсменов- |
|
многоборцев в каждом из А видов соревнований. Для каждого |