Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК доп_раздел.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
20.74 Mб
Скачать
    1. Выполнение задания 4

3.4.1. Создать и отладить программы вычисления суммы и произведения элементов массива А(10), размещенного в ячейках А1:А10 листа Excel. Обращение к этим программам осуществить из основной процедуры.

1.Набрать текст процедуры

Public Sub СуммаПроизведение( )

‘Обращение к процедуре суммирования

Сумма

‘Обращение к процедуре произведения

Произведение

End Sub

‘Текст процедуры суммирования

Public Sub Сумма( )

Dim A(10), S, I As Integer

S = 0

For I = 1 To 10

A(I) = Cells(I, 1)

S = S + A(I)

Next

MsgBox (“Сумма равна” & S)

End Sub

‘Текст процедуры перемножения

Public Sub Произведение( )

Dim A(10), Р, I As Integer

Р = 1

For I = 1 To 10

A(I) = Cells(I, 1)

Р = Р * A(I)

Next

MsgBox (“Произведение равно” & Р)

End Sub

2. Разместить в ячейках А1:А10 листа Excel исходные данные.

3. Запустить процедуру на выполнение.

3.4.2. Создать и отладить процедуры вычисления площади треугольника по основанию и высоте. Исходные данные передавать через головную процедуру.

  1. Набрать текст процедуры:

Public Sub Передача параметров( )

‘Описание переменных для хранения значений высоты (Н) и основания (а)

Dim Высота, Основание As Integer

Запись значений высоты и основания из ЭТ

Высота = Range(“B1”)

Основание = Range(“B2”)

Вызов процедуры ПлощадьТреугольника с передачей значений Н и а

Call ПлощадьТреугольника(Основание, Высота)

End Sub

‘Описание процедуры ПлощадьТреугольника

Public Sub ПлощадьТреугольника(а, Н)

Dim Площадь As Single

Площадь = 0.5 * а * Н

MsgBox(“Площадь равна” & Площадь)

End Sub

2. Ввести в ячейки В1 и В2 значения высоты и основания треугольника (например, 4 и 8).

3. Запустить процедуру на выполнение.

3. 5. Выполнение задания 5

Создать программу согласно индивидуальному заданию. Вариант задания выбирается по последней цифре шифра.

Вариант 1. Вычислить

У=

где х – сумма положительных элементов пятой строки массива М(6,8).

Вариант 2. Вычислить Y =

где х – сумма отрицательных элементов второго столбца массива Р(7,7).

Вариант 3. Вычислить

Y =

где х – произведение элементов четвертого столбца массива L(7,4).

Вариант 4. Вычислить

У=

где х – сумма элементов третьей строки массива Q(9,8).

Вариант 5. Вычислить

У=

где х – сумма отрицательных элементов шестой строки массива Р(10,9).

Вариант 6. Вычислить

У=

где х – максимальный элемент массива С(8,5).

Вариант 7. Вычислить

У=

где х – минимальный элемент массива М(6,7).

Вариант 8. Вычислить

У=

где х – сумма элементов пятого столбца массива Р(8,7).

Вариант 9. Вычислить

У=

где х – сумма элементов третьего столбца массива D(5,6).

Вариант 0. Вычислить

У=

где х – произведение элементов четвертой строки массива D(5,6).

4. Отчет по работе

Распечатки процедур и таблиц работы.

4. Блок контроля освоения дисциплины

4.1. Методические указания к выполнению контрольной работы

4.1.1. Общие методические указания

Контрольная работа выполняется только студентами специальностей 210106.65 и 210302.65 и содержит одну задачу, которую следует реализовать на языке VBA. Отчет по контрольной работе должен содержать титульный лист (см. рис. 1), листинг (распечатку) программы и распечатку фрагментов электронных таблиц с результатами вычислений. При этом необходимо проверить все ветви работы программы и, соответственно, привести результаты работы каждой ветви.

Пример выполнения контрольной работы

Создать процедуру для выполнения следующих действий:

  1. Записать в массив с именем N данные, хранящиеся в ячейках C4:F6

листа Excel с именем «Данные».

  1. Найти сумму элементов второго столбца массива N и присвоить ее

значение переменной D.

  1. Вывести диалоговое окно с сообщением «Сумма элементов второго

столбца равна» D.

  1. Если D < -5, записать D в ячейку Е листа Excel с именем

«Коэффициент».

Если –5 < D < 3, записать D в ячейку Е2 листа «Коэффициент».

При 3 < D < 7 поместить D в ячейку Е3, иначе – в ячейку Е4 листа «Коэффициент».

5. Проанализировать значение ячейки В3 листа Excel с именем «Коэффициент».

Если это значение больше нуля, записать в ячейки B5:E7 листа с именем «Новый» утроенное значение массива N.

Если значение ячейки ВЗ<=0, то вычислить и записать в ячейки D3:G5 листа Excel с именем «Новый» значения функции синус от элементов массива N Sin(N(I,J)).

Решение

1. Определяем размерность исходного массива на листе «Данные». Для этого рассмотрим фрагмент электронной таблицы (рис. 2):

Рис. 2

Очевидно, что размерность массива N три строки и четыре столбца, то есть имеем массив N (3,4).

2. Теперь определяем адрес первой ячейки электронной таблицы «Данные», начиная с которой будем считывать исходный массив. Нумерация строк цикла (переменная I) начинается с единицы. Первый элемент массива N (3,4) располагается в четвертой строке электронной таблицы, значит, адрес строки, с которой начнем считывание массива, будет I + 3. Нумерация столбцов цикла (переменная J) также начинается с единицы. Первый элемент массива N (3,4) располагается в третьем столбце электронной таблицы, значит, адрес столбца, с которого начнем считывание массива, будет J + 2.

3. Для того, чтобы иметь возможность считать исходный массив из ЭТ в программу:

  • создадим файл в табличном процессоре Excel;

  • присвоим открывшейся Книге 1 имя «Контрольная работа». Для этого

выполним команды: Файл - Сохранить как - введем имя Контрольная работа;

  • переименуем рабочий Лист 1 в лист с именем Данные. Для этого

выполним команды: Щелчок правой клавишей мыши по имени Лист 1 – Переименовать – введем имя листа Данные (аналогичным образом создадим листы Коэффициент и Новый);

  • введем массив данных на лист Данные. Заполняем ячейки C4:F6 любыми

значениями. Но не следует вводить дробные или очень большие числа – помните, что Вы должны иметь возможность для контроля работы программы сами провести те же самые вычисления, что и программа. Например, в результате ввода исходных данных получим следующий фрагмент программ (рис. 3):

Рис. 3

  1. Пишем первый фрагмент программы, организующий считывание

исходного массива в программу для дальнейшей обработки (рис. 4).

  1. Организуем выполнение задания 2 - найти сумму элементов второго

столбца массива N и присвоить ее значение переменной D. Для этого вспоминаем алгоритм суммирования:

  • Обнулить ячейку, где будет храниться сумма;

  • Организовать цикл по перебору элементов массива (у нас столбец

фиксирован – номер 2, значит, J=2, а цикл следует организовать по перебору строк);

Рис. 4

  • На каждом шаге цикла добавляем к сумме очередной элемент

массива. В результате получаем фрагмент программы рис. 5.

Для контроля сразу просчитываем сумму элементов второго столбца нашего массива (рис. 3): -9 + 0 + 17 = 8. При запуске программы на выполнения в диалоговом окне должен быть выведен тот же результат.

Рис. 5

6. Организуем выполнение задания 3 - вывести диалоговое окно с сообщением «Сумма элементов второго столбца равна» D. Фрагмент программы представлен на рис.6, а результат работы фрагмента – на рис. 7.

Р ис. 6

Рис. 7

  1. Используя оператор условного перехода If, создаем фрагмент программы

для выполнения задания 4

Если D < -5, записать D в ячейку Е листа Excel с именем

«Коэффициент».

Если –5 < D < 3, записать D в ячейку Е2 листа «Коэффициент».

При 3 < D < 7 поместить D в ячейку Е3, иначе – в ячейку Е4 листа «Коэффициент».

Фрагмент программы, реализующий это задание, приведен на рис. 8.

Рис. 8

По результатам наших вычислений D = 8, значит, результат должен быть записан в ячейку Е4. Запустив программу на выполнение (F5), убеждаемся в правильности работы программы (рис. 9).

Рис. 9

8. Пишем фрагмент программы согласно п. 5 задания. Необходимо проанализировать значение ячейки В3 листа Коэффициент и в зависимости от ее значения записывать вновь вычисленный массив либо в один, либо в другой диапазон ячеек листа Новый.

8.1. Определим адресацию этих диапазонов с точки зрения построения циклов. Для этого рассмотрим интересующие нас диапазоны ячеек (рис. 10).

Если В3 >0, вновь вычисленный массив нужно записывать начиная с ячейки В5. Поскольку цикл перебора строк начинает работу с I=1, адрес строки первого элемента массива получается равным I+4. Аналогичным образом определяем, что адрес первого столбца массива равен J+1.

Значение ячейки В3 >0

Первый элемент – пятая строка (I + 4), второй столбец (J + 1).

Значение ячейки В3 <=0

Первый элемент – третья строка

(I +2), четвертый столбец (J + 3).

Рис. 10

8.2. При проверке условия B3>0 необходимо вести запись двумерного массива чисел и по одной, и по другой ветви – значит, обе ветви условного оператора должны содержать вложенные циклы.

8.3. Заносим в ячейку В3 листа Коэффициент число 10. Поскольку это число больше нуля, при правильной организации ветвления в ячейках В5:Е7 листа Новый должны быть записаны утроенные значения массива N(3,4).

8.4. Пишем фрагмент программы согласно заданию 5. (рис. 11):

Рис. 11

8.5. Запускаем программу на выполнение (F5). Результат выполнения приведен на рис. 12.

Рис. 12

8.6. Вносим в ячейку В3 листа Коэффициент число -5. Так как теперь выполняется условие В3 <=0, в ячейки D3:G5 листа Новый должны записаться значения функции Sin от элементов исходного массива. Запускаем программу на выполнение (F5). Результат вычислений приведен на рис. 13.

Рис. 13

Итак, мы убедились в работоспособности созданной программы.

Листинг программы приведен в Приложении.