Решение задач с помощью задания формул и создания макросов
Суммирование элементов столбцов заданной матрицы и получение результатов в одномерных массивах с помощью задания формулы и создания макросов. Нормирование вектора и нахождение его длины, объявление массива, указание его размерности, вывод формы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 18.01.2011 |
Размер файла | 460,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
10
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный университет им. Н.И. Лобачевского»
Экономический факультет
Кафедра Экономической информатики
Отчёт
по дисциплине «Информационные технологии»
Работу выполнила студентка
729 группы д/о
Кудреватых Валерия Евгеньевна
Нижний Новгород 2009
Задача 1
Просуммировать элементы столбцов заданной матрицы размером mхn. Результат получить в одномерном массиве размером n.
Способ 1.
Решим данную задачу с помощью задания формул и создания макросов.
Sub МакросМассив()
' МакросМассив Макрос
' Макрос записан 07.07.2009 (Gddess)
Range("A1").Select
ActiveCell.FormulaR1C1 = "=INT(10*RAND()-2)"
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:C1"), Type:=xlFillDefault
Range("A1:C1").Select
Selection.AutoFill Destination:=Range("A1:C4"), Type:=xlFillDefault
Range("A1:C4").Select
Range("E1").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:R[3]C[-4])"
Range("F1").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:R[3]C[-4])"
Range("G1").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:R[3]C[-4])"
End Sub
Способ 2.
Private Sub CommandButton1_Click()
Set List = Worksheets("Лист1")
Dim str As String ` объявление массива
n = 9 `количество столбцов
m = 4 `количество строк
ReDim A(1 To n, 1 To m) `указание размерности
For i = 1 To n
For j = 1 To m
A(i, j) = Int(Rnd * 10)
Cells(i + 1, j) = A(i, j)
Next j
Next i
ReDim b(1 To m)
For j = 1 To m
For i = 1 To n
Sum = Sum + A(i, j)
Next i
b(j) = Sum
Sum = 0
Next j
str = " "
For j = 1 To m
str = str + CStr(Format(b(j), "Fixed")) + " "
Cells(i, j + 5) = b(j)
Next
End Sub
Private Sub CommandButton3_Click()
Unload Me
End Sub
Способ 3.
Решим задачу с использованием форм.
Private Sub CommandButton1_Click()
Dim str As String
n = 3
m = 4
ReDim A(1 To n, 1 To m)
ReDim b(1 To m)
For i = 1 To n
For j = 1 To m
A(i, j) = Int((10 * Rnd) - 5)
Next j
Next i
str = " "
For i = 1 To n
For j = 1 To m
str = str + CStr(Format(A(i, j), "Fixed")) + " "
Next
Next
'Выведем результат
UserForm1.Label4.Caption = str
For j = 1 To m
For i = 1 To n
Sum = Sum + A(i, j)
Next i
b(j) = Sum
Sum = 0
Next j
str = " "
For j = 1 To m
str = str + CStr(Format(b(j), "Fixed")) + " "
Next
UserForm1.Label3.Caption = str
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Задача 2
Нормировать вектор и найти его длину. Формула
Способ 1.
Решим данную задачу с помощью задания формул и создания макросов.
Sub Макрос1()
'' Макрос1 Макрос
' Макрос записан 06.12.2009 '
Range("A1").Select
ActiveCell.FormulaR1C1 = "=INT(10*слчис()-4)"
Range("A1").Select
ActiveCell.FormulaR1C1 = "=INT(10*RAND()-2)"
Selection.AutoFill Destination:=Range("A1:E1"), Type:=xlFillDefault
Range("A1:E1").Select
ActiveCell.FormulaR1C1 = _
"=SQRT(R[-1]C^2+R[-1]C[1]^2+R[-1]C[2]^2+R[-1]C[3]^2+R[-1]C[4]^2)"
Range("A3").Select
ActiveCell.FormulaR1C1 = "=R[-2]C/R[-1]C"
Selection.AutoFill Destination:=Range("A3:E3"), Type:=xlFillDefault
Range("A3:E3").Select
Range("A3").Select
ActiveCell.FormulaR1C1 = "=R[-2]C/R[-1]C1"
Selection.AutoFill Destination:=Range("A3:E3"), Type:=xlFillDefault
Range("A3:E3").Select
Range("E3").Select
End Sub
Способ 2
Private Sub CommandButton1_Click()
Set List = Worksheets("Лист2")
n = List.Cells(1, 2)
Dim Str As String
ReDim a(1 To n) ` указание размерности
ReDim c(1 To n) `указание размерности
For i = 1 To n
a(i) = Int((10 * Rnd) - 5)
List.Cells(2, i + 1) = a(i)
Next i
'najti dlinu vektora
Sum = 0
For i = 1 To n
Sum = Sum + a(i) ^ 2
Next i
a1 = Sqr(Sum)
'Выведем результат
List.Cells(3, 2) = a1
For i = 1 To n
c(i) = a(i) / a1
List.Cells(4, i + 1) = c(i)
Next i
End Sub
Способ 3
Решим задачу с использованием форм.
Private Sub CommandButton1_Click()
n = UserForm2.TextBox6
Dim Str As String
ReDim a(1 To n)
ReDim C(1 To n)
For i = 1 To n
a(i) = Int((10 * Rnd) - 5)
Str = Str + CStr(a(i)) + " "
Next i
'Выведем в форму в строчку
UserForm2.Label4.Caption = Str
'najti dlinu vektora
Sum = 0
For i = 1 To n
Sum = Sum + a(i) ^ 2
Next i
a1 = Sqr(Sum)
'Выведем результат
UserForm2.Label2.Caption = Format(a1, "##.###")
Str = ""
For i = 1 To n
C(i) = a(i) / a1
Str = Str + CStr(Format(C(i), "Fixed")) + " "
Next i
UserForm2.Label3.Caption = Str
End Sub
Private Sub CommandButton2_Click()
For i = 1 To n
C(i) = a(i) / a1
Next i
UserForm2.Label3.Caption = C(i)
End Sub
Private Sub CommandButton3_Click()
Unload Me
End Sub
Подобные документы
Элементарные функции: тригонометрические и экспоненциальные, для определения округлений и остатков, размерности и размера матриц, задания одномерных и дву- массивов, векторов-столбцов и векторов-строк, удаления строк и столбцов, перестановки элементов.
презентация [139,0 K], добавлен 24.01.2014Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.
лабораторная работа [123,5 K], добавлен 15.01.2014Изучение понятия, видов и методов создания стандартных макросов Microsoft Office Word - набора инструкций, которые сообщают программе, какие действия следует выполнить, чтобы достичь определенной цели. Функции макрорекордера. Редактирование макросов.
курсовая работа [1,1 M], добавлен 18.04.2011Решение нелинейного уравнения вида f(x)=0 с помощью программы Excel. Построение графика данной функции и ее табулирование. Расчет матрицы по исходным данным. Проведение кусочно-линейной интерполяции таблично заданной функции с помощью программы Mathcad.
контрольная работа [1,8 M], добавлен 29.07.2013Одномерные числовые массивы, образование элементами целочисленного массива невозрастающей последовательности. Программное нахождение суммы элементов каждой возможной строки матрицы и формирование массива из найденных сумм, вывод массива-результата.
лабораторная работа [12,8 K], добавлен 09.01.2011Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.
контрольная работа [1,3 M], добавлен 20.12.2012Функции и виды текстовых редакторов. Состав типовой формы документа, его обработка с помощью МS Word. Особенности создания таблиц, форм и макросов. Формирование и заполнение ведомости начисления за услуги предоставления доступа к сети Интернет за месяц.
контрольная работа [871,2 K], добавлен 27.04.2013Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.
лабораторная работа [12,8 K], добавлен 02.12.2014Линейные алгоритмы, условия и циклы. Массивы, строки, множества, подпрограммы и файлы. Определение позиций экстремальных элементов в массивах вещественных чисел. Осуществление циклических сдвигов элементов массива. Определение элементов матрицы.
контрольная работа [719,6 K], добавлен 10.04.2015Расчет корня нелинейного уравнения методом касательных, методом простой итерации, с использованием циклических ссылок, с помощью средств подбора параметра. Формирование на экране произвольного массива (матрицы) чисел и вычисление его элементов по строкам.
контрольная работа [329,3 K], добавлен 25.02.2011