Название: Решение задач с помощью задания формул и создания макросов
Вид работы: контрольная работа
Рубрика: Информатика и программирование
Размер файла: 94.45 Kb
Скачать файл: referat.me-140117.docx
Краткое описание работы: Суммирование элементов столбцов заданной матрицы и получение результатов в одномерных массивах с помощью задания формулы и создания макросов. Нормирование вектора и нахождение его длины, объявление массива, указание его размерности, вывод формы.
Решение задач с помощью задания формул и создания макросов
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный университет им. Н.И. Лобачевского»
Экономический факультет
Кафедра Экономической информатики
Отчёт
по дисциплине «Информационные технологии»
Работу выполнила студентка
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
Похожие работы
-
Программное определение числовых массивов
Одномерные числовые массивы, образование элементами целочисленного массива невозрастающей последовательности. Программное нахождение суммы элементов каждой возможной строки матрицы и формирование массива из найденных сумм, вывод массива-результата.
-
Обработка массивов данных в среде Turbo Pascal
Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.
-
Макросы в C++
Как было замечено, почти каждый макрос проявляет свой изъян или в языке, или в программе. Если вы хотите использовать макросы, прочитайте, пожалуйста, вначале очень внимательно руководство по вашей реализации C препроцессора.
-
Управление подключением макросов в приложениях Office
Приложения Office (начиная с 2000) имеют три уровня безопасности для управления загрузкой макросов, а также возможность использования цифровой подписи. С помощью этих механизмов можно более гибко управлять режимами загрузки.
-
10 задач с решениями программированием на Паскале
Задача 1. Условие: Найти среднее арифметическое общей совокупности элементов тех строк заданной матрицы, последний элемент которых равен 1. Программа:
-
Методы работы с массивами на языке BASIC
В работе описывается лишь несколько способов применения массивов. Если возникнет потребность в более глубоком изучении этого раздела программирования, необходимо обратиться к специальной литературе для соответствующего алгоритмического языка.
-
Обработка одномерных массивов и матриц
Заполнение массива из целых чисел с присвоением элементам разных значений. Варианты программы с использованием различных операторов организации циклов. Определение квадрата максимального из четных элементов массива и общего числа нулевых элементов.
-
Понятие и элементы массива
Массив - это коллекция переменных, которые имеют общее имя и базовый тип. Функциональные возможности, виды массивов и их характеристика. Основные требования к входным и выходным данным массива. Использование IF THEN для перехвата всех возможных ошибок.
-
Алгоритмические языки: обработка одномерных массивов
Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
-
Разработка виртуального вычислительного устройства с многослойной структурой
Разработка виртуального вычислительного устройства с кассетной структурой. Массивы и кластеры. Вычисления над элементами массива. Вычислительные функции пакета LabVIEW. Логическая последовательность выполнения отдельных частей программы (подпрограммы).