Смекни!
smekni.com

Методические указания к выполнению лабораторных работ по курсу: «информатика» (2 семестр) для групп 2040, 2240, 2440, 2Б41, 2Б42, 2Б43, 2540 (стр. 2 из 2)

Next i

End Sub

Индивидуальные задания

Формируются путем вариации чисел в массивах исходных данных X и Y

Пример

Лабораторная работа №6

Тема: Программирование арифметических выражений. Оконный ввод-вывод информации на VBA

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

Порядок работы

  1. Набрать на листе 1 в первых двух столбцах таблицу исходных данных X и Y, например Ваш прогноз температуры на 10 дней (A2:A11, B2:B11), первую строку использовать для подписи заголовков столбцов. Под таблицей поместить командную кнопку «РАСЧЕТ»
  2. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения с листа массивов X и Y (из предыдущей лабораторной работы № 5). Переменную N (количество точек, по которым считается коэффициент а) ввести с помощью функции оконного ввода INPUTBOX.
  3. Дополнить программу расчетом коэффициента линейной регрессии (а) по расчетной формуле из лабораторной работы № 3.
  4. Результат расчета (коэффициент линейной регрессии а) вывести с помощью функции оконного вывода MSGBOX.
  5. Проверить правильность вычисления коэффициента линейной регрессии (а) путем задания массива исходных данных в виде прямой линии под углом 45 градусов (а=1)

Программа

Dim X(10), Y(10), N As Variant ' объявление переменных уровня модуля

Private Sub CommandButton1_Click()

'Считываем N из окна ввода

N = InputBox("ВВеди N", "Окно ввода")

‘********************** сюда вставить фрагмент чтения с листа массивов

'Вычислим все суммы в расчетной формуле

s1 = 0

s2 = 0

s3 = 0

s4 = 0

For i = 1 To N

s1 = s1 + X(i)

s2 = s2 + Y(i)

s3 = s3 + X(i) * Y(i)

s4 = s4 + X(i) ^ 2

Next i

'Вычисляем коэффициент линейной регрессии а и выводим его в окно

a = (N * s3 - s1 * s2) / (N * s4 - s1 ^ 2)

Call MsgBox("Коэффициент А= " & a, 0, "Результаты")

End Sub

Индивидуальные задания

Формируются путем вариации чисел в массивах исходных данных X и Y

Пример

Лабораторная работа №7

Тема: работа с массивами и отладка программ на VBA

Цель работы: научиться на VBA: программировать вычисления с помощью статических и динамических, одномерных и двухмерных массивов, выполнять программу пошагово, с точками останова и просмотром значений переменных

Порядок работы

  1. Набрать на листе 1 в первых трех столбцах таблицу исходных данных X и Y, например Ваш прогноз температуры и давления на 10 дней (A3:A12, B3:B12, C3:C12), первую и вторую строки использовать для подписи заголовков столбцов. Под таблицей поместить командные кнопки «РАСЧЕТ» и «ОЧИСТКА»
  2. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения с данных из таблицы листа в одномерный массив X(i) и двухмерный массив Y(i,j)
  3. Дополнить программу пересчета элементов двухмерного массива Y из град. Цельсия в град. Фаренгейта и из мм ртутного столба – в МПа и программой записи элементов массива на лист ( в столбцы 4 и 5)
  4. Через кнопку «ОЧИСТКА» открыть редактор VBA и набрать фрагмент программы, стирающий содержимое столбцов 4 и 5.
  5. Заменить статические массивы на динамические и добиться такого же результата работы программы.

Расчетные формулы

Программа

Dim X(10), Y(2, 10) As Variant ' объявление переменных уровня модуля

Const N = 10

Private Sub CommandButton1_Click()

' цикл считывания N ячеек первого столбца в одномерный массив X,

' второго и третьего столбцов - в двухмерный массив Y

For i = 1 To N

X(i) = Worksheets(1).Cells(i + 2, 1).Value

Y(1, i) = Worksheets(1).Cells(i + 2, 2).Value

Y(2, i) = Worksheets(1).Cells(i + 2, 3).Value

Next i

'пересчет град. Цельсия в град.Фаренгейта Y(1,i) и мм.рт.столбца в килоПаскали Y(2,i)

For i = 1 To N

Y(1, i) = Y(1, i) * 9 / 5 + 32

Y(2, i) = Y(2, i) / 748 * 101.325

Next i

' цикл записи результатов расчет в 4 и 5 столбцы первого листа Excel

For i = 1 To N

Worksheets(1).Cells(i + 2, 4).Value = Y(1, i)

Worksheets(1).Cells(i + 2, 5).Value = Y(2, i)

Next i

End Sub

Private Sub CommandButton2_Click()

' цикл очистки 4 и 5 столбцов первого листа Excel

‘***************сюда вставить фрагмент, подобный как в лаб.работе №5

End Sub

Индивидуальные задания

Формируются путем вариации чисел в массивах исходных данных X и Y

Пример