Файл: Контрольная работа по теме Базы данных в Excel 72 IV. Макросы в ms excel 78 Макросы для автоматизации работ 78.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 749
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
15. Поголовье коров в сельскохозяйственных организациях (на 1 января; голов)
| 1996 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 |
Алатырский | 5321 | 3754 | 3487 | 3233 | 2894 | 2627 | 2550 | 2317 | 1872 |
Аликовский | 4111 | 3913 | 3797 | 3858 | 3725 | 3562 | 3279 | 3086 | 2686 |
Батыревский | 4656 | 4005 | 3748 | 3649 | 3355 | 3055 | 3020 | 2650 | 1870 |
Вурнарский | 5550 | 4915 | 4897 | 4465 | 3996 | 3864 | 3798 | 3459 | 2970 |
Ибресинский | 2869 | 2694 | 2687 | 2636 | 2538 | 2317 | 2250 | 2035 | 1814 |
Канашский | 6065 | 5039 | 4893 | 4475 | 3733 | 3618 | 3421 | 2901 | 2194 |
Козловский | 2513 | 1840 | 1651 | 1456 | 1158 | 1101 | 976 | 822 | 645 |
Комсомольский | 3339 | 3190 | 3075 | 2981 | 2904 | 2836 | 2768 | 2507 | 2267 |
Красноармейский | 3309 | 3004 | 2890 | 2739 | 2422 | 2408 | 2408 | 2179 | 1690 |
Красночетайский | 2916 | 2646 | 2593 | 2581 | 2510 | 2386 | 2363 | 2210 | 2010 |
Марпосадский | 3040 | 2508 | 2235 | 1948 | 1811 | 1552 | 1258 | 977 | 836 |
Моргаушский | 5260 | 5074 | 5075 | 5030 | 4987 | 4887 | 4802 | 4500 | 3871 |
Порецкий | 3861 | 3163 | 2977 | 2719 | 2418 | 2316 | 2136 | 1761 | 1522 |
Урмарский | 3027 | 2453 | 2798 | 2627 | 2201 | 2022 | 2022 | 1304 | 1012 |
Цивильский | 4738 | 3731 | 3827 | 3477 | 3034 | 2940 | 2811 | 2564 | 2148 |
Чебоксарский | 7230 | 6571 | 6485 | 5882 | 5381 | 5225 | 5019 | 4483 | 3801 |
Шемуршинский | 2255 | 2179 | 2043 | 1869 | 1742 | 1569 | 1419 | 1207 | 909 |
Шумерлинский | 2422 | 1898 | 1806 | 1819 | 1599 | 1411 | 1249 | 930 | 767 |
Ядринский | 4578 | 4018 | 4167 | 3903 | 3631 | 3557 | 3535 | 3247 | 3010 |
Яльчикский | 4270 | 3730 | 3742 | 3581 | 3545 | 3502 | 3503 | 3493 | 3079 |
Янтиковский | 3029 | 2854 | 2837 | 2683 | 2511 | 2483 | 2441 | 2135 | 1861 |
Приложение 3
Тексты макросов
Текст макроса для кластерного анализа
OptionExplicit
Constn = 14 ' Количество объектов
Dimx(n) AsDouble ' Массивы координат (параметров)
Dim y(n) As Double ' объектов
Dims(n, n) AsDouble ' Матрица расстояний между объектами
DimChain(3, n - 1) AsDouble 'Массив параметров цепочки расстояний
' 1-ый параметр - расстояние
' 2-ой параметр – номер первого объекта
' 3-ий параметр – номер второго объекта
Dim Checked(n) As Boolean ' Массив выбранных объектов
Dim i, j, k As Integer '
Dim Imin As Integer '
Dim Jmin As Integer '
Dim MinS As Double '
Dim Xmin As Double ' Переменные,
Dim Xmax As Double ' необходимые
Dim Ymin As Double ' для нормирования
Dim Ymax As Double ' данных
Private Sub CommandButton1_Click()
' Считывание данных
For i = 1 To n: x(i) = Cells(i + 5, 3): Next
For i = 1 To n: y(i) = Cells(i + 5, 4): Next
'
' Нормирование данных
'
' Определение границ параметров объектов
Xmin = 1E+38: Xmax = -1E+38
Ymin = 1E+38: Ymax = -1E+38
For i = 1 To n
If x(i) < Xmin Then Xmin = x(i)
If x(i) > Xmax Then Xmax = x(i)
If y(i) < Ymin Then Ymin = x(i)
If y(i) > Ymax Then Ymax = x(i)
Next
' Пересчет в нормированные значения (на диапазон 0..100)
For i = 1 To n
x(i) = 100 * (x(i) - Xmin) / (Xmax - Xmin)
y(i) = 100 * (y(i) - Ymin) / (Ymax - Ymin)
Next
' Расчет матрицы расстояний между объектами
For i = 1 To n
For j = 1 To n
s(i, j) = Sqr((x(i) - x(j)) ^ 2 + (y(i) - y(j)) ^ 2)
Next
Next
For i = 1 To n: Checked(i) = False: Next
' Нахождение первой пары наиболее близких объектов
k = 1
MinS = 1E+38
For i = 1 To n - 1
For j = 2 To n
If s(i, j) < MinS And i <> j Then
MinS = s(i, j): Imin = i: Jmin = j
EndIf
Next
Next
'Цикл расчета массива цепочки расстояний
k = 1
While k < n - 1
k = k + 1
MinS = 1E+38
For i = 1 To n - 1
For j = 2 To n
If (s(i, j) < MinS) And (i <> j) And _
(Checked(i) And Not Checked(j) Or _
Not Checked(i) And Checked(j)) Then
MinS = s(i, j): Imin = i: Jmin = j
End If
Next
Next
' Параметры очередной пары наиболее близких объектов
Chain(1, k) = MinS
Chain(2, k) = Imin
Chain(3, k) = Jmin
Checked(Imin) = True: Checked(Jmin) = True
Wend
'Вывод цепочки расстояний на экран
For i = 1 To n - 1
Cells(i + 10, 6) = Chain(1, i)
Cells(i + 10, 7) = Chain(2, i)
Cells(i + 10, 8) = Chain(3, i)
Next
End Sub
Текст макроса для решения систем дифференциальных уравнений
Option Explicit
Dim N(3) As Double
Dim F(3) As Double
Dim k1, k2, k3, k4, k5, k6 As Double
Dim T, tt, dt As Double
Dim i, k, h, nPeriod As Integer
Sub Systema()
F(1) = k1 * N(1) - k2 * N(1) * N(2)
F(2) = -k3 * N(2) + k4 * N(1) * N(2)
F(3) = 0
End Sub
Private Sub CommandButton1_Click()
For i = 1 To 3: N(i) = Cells(7 + i, 2): Next
k1 = Cells(16, 2): k2 = Cells(17, 2)
k3 = Cells(18, 2): k4 = Cells(19, 2)
k5 = Cells(20, 2): k6 = Cells(21, 2)
T = Cells(12, 2)
dt = Cells(13, 2)
nPeriod = Int(T / 50 / dt)
k = 8
Cells(k, 4) = 0
For i = 1 To 3: Cells(k, 4 + i) = N(i): Next
tt = 0: h = 0
While tt < T
h = h + 1
tt = tt + dt
Call Systema
For i = 1 To 3: N(i) = N(i) + F(i) * dt: Next
If h = nPeriod Then
k = k + 1
Cells(k, 4) = tt
For i = 1 To 3: Cells(k, 4 + i) = N(i): Next
h = 0
End If
Wend
End Sub
Текст макроса для генерации временного ряда
Private Sub CommandButton1_Click()
Randomize Timer
Tip = Int(1 + 4 * Rnd(Timer))
Cells(2, 12) = Tip: 'Tip = 4
For i = 1 To 50
If Tip = 1 Then y = 60 + 200 * i + 600 * Sin(i / 2) + (-300 + 600 * Rnd(Timer))
If Tip = 2 Then y = 50 * Log(i) + 20 * Sin(i / 2) + (-10 + 20 * Rnd(Timer))
If Tip = 3 Then y = 20 + 5 * 2 ^ (i / 10) + 20 * Sin(i / 2) + (-10 + 20 * Rnd(Timer))
If Tip = 4 Then y = 50 + 300 * 2 ^ (-i / 5) + 30 * Sin(i / 2) + (-20 + 40 * Rnd(Timer))
Cells(i + 4, 2) = i
Cells(i + 4, 3) = y
Next
End Sub
Приложение 4
Транспорт и связь
(данные по Чувашской республике [11])
1. Во всех вариантах получить уравнение регрессии, адекватно описывающее представленные данные.
2. Для расчетов не использовать данные за 2004 год.
3. Данные за 2004 год использовать для сопоставления с результатами прогноза.
4. Для повышения точности расчетов значения годов заменить на их порядковые номера.
Например, года:
1995 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 |
заменить на:
1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1. Перевозки грузов автомобильным транспортом всех отраслей экономики (по хозяйствам, в распоряжении которых 10 и более грузовых автомобилей; тысяч тонн)
1995 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 |
32872,1 | 22595,3 | 19264,9 | 18096,5 | 20374,5 | 17835,8 | 15736,5 | 21818,5 | 17467,8 |
2. Грузооборот автомобильного транспорта всех отраслей экономики (по хозяйствам, в распоряжении которых 10 и более грузовых автомобилей; тысяч тонно-километров)
1995 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 |
787506,2 | 581921,2 | 513206,1 | 557120,9 | 482524,5 | 487927,2 | 629398,1 | 955533,8 | 599922,4 |