Решение задач с помощью задания формул и создания макросов

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПООБРАЗОВАНИЮ
Государственное образовательноеучреждение высшего профессионального образования
«Нижегородскийгосударственный университет им. Н.И. Лобачевского»
Экономический факультет
Кафедра Экономическойинформатики
Отчёт
по дисциплине«Информационные технологии»
Работу выполнила студентка
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.AutoFillDestination:=Range(«A1:C1»), Type:=xlFillDefault
Range(«A1:C1»).Select
Selection.AutoFillDestination:=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 AsString ‘ объявление массива
n = 9‘количество столбцов
m = 4 ‘количествострок
ReDim A(1 Ton, 1 To m) ‘указание размерности
For i = 1 Ton
For j = 1 Tom
A(i, j) =Int(Rnd * 10)
Cells(i + 1,j) = A(i, j)
Next j
Next i
ReDim b(1 Tom)
For j = 1 Tom
For i = 1 Ton
Sum = Sum +A(i, j)
Next i
b(j) = Sum
Sum = 0
Next j
str = “”
For j = 1 Tom
str = str +CStr(Format(b(j), «Fixed»)) + ” ”
Cells(i, j +5) = b(j)
Next
End Sub
Private SubCommandButton3_Click()
Unload Me
End Sub
Способ 3.
Решим задачус использованием форм.
/>/> 
Private SubCommandButton1_Click()
Dim str AsString
n = 3
m = 4
ReDim A(1 Ton, 1 To m)
ReDim b(1 Tom)
For i = 1 Ton
For j = 1 Tom
A(i, j) =Int((10 * Rnd) — 5)
Next j
Next i
str = “”
For i = 1 Ton
For j = 1 Tom
str = str +CStr(Format(A(i, j), «Fixed»)) + ” ”
Next
Next
‘Выведемрезультат
UserForm1./>Label4.Caption = str
For j = 1 Tom
For i = 1 Ton
Sum = Sum +A(i, j)
Next i
b(j) = Sum
Sum = 0
Next j
str = “”
For j = 1 Tom
str = str +CStr(Format(b(j), «Fixed»)) + ” ”
Next
UserForm1.Label3.Caption= str
End Sub
Private SubCommandButton2_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.AutoFillDestination:=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.AutoFillDestination:=Range(«A3:E3»), Type:=xlFillDefault
Range(«A3:E3»).Select
Range(«A3»).Select
ActiveCell.FormulaR1C1= “=R[-2]C/R[-1]C1″
Selection.AutoFillDestination:=Range(«A3:E3»), Type:=xlFillDefault
Range(«A3:E3»).Select
Range(«E3»).Select
End Sub
Способ 2
/>/>Private SubCommandButton1_Click()
Set List =Worksheets(«Лист2»)
n =List.Cells(1, 2)
Dim Str AsString
ReDim a(1 Ton) ‘ указание размерности
ReDim c(1 Ton) ‘указание размерности
For i = 1 Ton
a(i) =Int((10 * Rnd) — 5)
List.Cells(2,i + 1) = a(i)
Next i
‘najti dlinuvektora
Sum = 0
For i = 1 Ton
Sum = Sum +a(i) ^ 2
Next i
a1 = Sqr(Sum)
‘Выведемрезультат
List.Cells(3,2) = a1
For i = 1 Ton
c(i) = a(i) /a1
List.Cells(4,i + 1) = c(i)
Next i
End Sub
/>
Способ 3
Решим задачус использованием форм.
/>/>/>PrivateSub CommandButton1_Click()
n =UserForm2.TextBox6
Dim Str AsString
ReDim a(1 Ton)
ReDim C(1 Ton)
For i = 1 Ton
a(i) =Int((10 * Rnd) — 5)
Str = Str +CStr(a(i)) + ” ”
Next i    
‘Выведем вформу в строчку
UserForm2.Label4.Caption= Str
‘najti dlinuvektora
Sum = 0
For i = 1 Ton
Sum = Sum +a(i) ^ 2
Next i
a1 = Sqr(Sum)
‘Выведемрезультат
UserForm2.Label2.Caption= Format(a1, “##.###”)
Str =””
For i = 1 Ton
C(i) = a(i) /a1
Str = Str +CStr(Format(C(i), «Fixed»)) + ” ”
Next i
UserForm2.Label3.Caption= Str
End Sub
Private SubCommandButton2_Click()
For i = 1 Ton
C(i) = a(i) /a1
Next i
UserForm2.Label3.Caption= C(i)
End Sub
Private SubCommandButton3_Click()
Unload Me
End Sub
/>