Referat.me

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

Вид работы: контрольная работа

Рубрика: Информатика и программирование

Размер файла: 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. Логическая последовательность выполнения отдельных частей программы (подпрограммы).