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

4379
знаков
0
таблиц
6
изображений

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«Нижегородский государственный университет им. Н.И. Лобачевского»

Экономический факультет

Кафедра Экономической информатики

Отчёт

по дисциплине «Информационные технологии»

Работу выполнила студентка

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


Информация о работе «Решение задач с помощью задания формул и создания макросов»
Раздел: Информатика, программирование
Количество знаков с пробелами: 4379
Количество таблиц: 0
Количество изображений: 6

Похожие работы

Скачать
31953
3
5

... ] Private имяПеременной [As типДанных] Static имяПеременной [As типДанных] Public имяПеременной [As типДанных] Операторы Dim, Private, static, public определяют область действия переменной. С помощью одного оператора вы можете объявлять несколько переменных, разделяя их запятыми. Примеры объявления переменных приведены ниже: Private bInSuccess As Boolean Dim strLastname As String, ...

Скачать
48568
2
25

... широкие возможности по созданию макросов. В ходе написания данной курсовой работы был создан макрос на языке SVB для проверки гипотезы о нормальности остатков регрессии. Необходимость разработки данного приложения связана с особенностями осуществления регрессионного анализа в пакете STATISTICA. Написанный модуль был использован при эконометрическом моделировании вторичного рынка жилья в г. ...

Скачать
40236
10
2

... for Application позволяет с легкостью решать многие задачи.   1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ В ПРИМЕНЕНИИ К РЕШЕНИЮ ПОСТАВЛЕННЫХ ЗАДАЧ 1.1 функция пользователя Функция пользователя создается на рабочем листе с названием модуль VBA, после чего с ними можно работать с помощью мастера функций. Для создания модуля VBA необходимо щелкнуть правой кнопкой мыши на ...

Скачать
64490
0
14

... разнообразных форм организации учебного процесса, внедрения современных методов обучения и педагогических технологий, учета местных условий. Данная выпускная квалификационная работа посвящена исследованию автоматизации работы в среде MS Office в школьном курсе информатики. Изучение этой темы в общеобразовательной школе вынесено в профильный курс «Информатика и информационные технологии» для 10 - ...

0 комментариев


Наверх