- •Н. Н. Пустовалова, т. В. Кишкурно
- •Информатика и компьютерная графика
- •Учебно-методическое пособие для студентов-заочников
- •Химико-технологических специальностей
- •Введение
- •1 Ознакомление со средой windows
- •1.1 Работа с мышкой и окнами
- •1.2 Создание, открытие и сохранение файлов
- •1.3 Операции копирования, перемещения, вставки
- •1.4 Поиск файла
- •1.5 Программы группы «Стандартные»
- •1.6 Содержание заданий
- •2 Текстовый редактор word
- •2.1 Ввод, редактирование и форматирование текста
- •2.2 Таблицы в текстовых документах
- •2.3 Работа с рисунками. Художественное оформление текстов
- •2.4 Математические формулы
- •2.5 Оформление текста
- •2. 6 Нумерация страниц, стили, оглавление
- •2. 7 Параметры страниц и печать
- •2.8 Содержание заданий
- •1.3. Текст программы
- •1.4. Вычисление суммы
- •Заключение
- •Оглавление
- •3 Приложение microsoft excel
- •3.1 Ввод и редактирование данных
- •3.2 Форматирование таблицы
- •3.3 Вычисления в Excel
- •3.4 Создание диаграмм. Вставка объектов и печать
- •3.5 Содержание заданий
- •Зарплата работников за январь
- •4 Использование vba в среде excel. Линейные программы.
- •4.1 Элементы управления
- •4.2 Среда редактора Visual Basic for Application
- •4.3 Основные конструкции vba
- •4.4 Линейные программы
- •4.5 Содержание заданий
- •5 Циклы в инженерных расчетах
- •5.1 Циклы For ... Next
- •5.2 Циклы Do...Loop
- •5.3 Содержание заданий
- •6 Программы с разветвлением. Условные операторы
- •6.1 Строчный и блочный условные операторы
- •6.2 Разветвляющиеся программы со сложными условиями
- •6.3 Содержание заданий
- •7 Вычисление сумм, произведений, экстремумов
- •7.1 Примеры вычисления сумм и произведений
- •7.2 Одномерные массивы. Вычисление экстремумов
- •7.3 Содержание заданий
- •8 Формы пользователя
- •8.1 Свойства и методы элементов управления. Списки
- •8.2 Пример работы с формой пользователя
- •8.3 Содержание заданий
- •9 Приложение mathcad
- •9.1 Ввод информации
- •9.2 Графики
- •9.3 Содержание заданий
- •10 Вычисление интегралов, решение уравнений и систем уравнений
- •10.1 Приближенное вычисление интегралов
- •10.2 Решение уравнений
- •2. Содержание задания
- •10.3 Решение систем линейных уравнений
- •10.4 Содержание заданий
- •11 Компьютерная графика
- •11.1 Виды графических изображений
- •10.2 Инструменты в графическом редакторе Adobe Photoshop
- •10.3 Слои и выделение графических изображений
- •10.4 Обработка изображений, ввод текста
- •10.5 Корректировка и использование фильтров
- •10.6 Примеры использования фильтров
- •10.7 Содержание заданий
- •12 Задания для контрольной работы
- •Задание № 1. Составление программ линейной структуры на языке vba
- •Задание № 2. Программирование алгоритмов циклической и разветвляющей структуры
- •Задание № 3. Вычисление сумм, произведений, нахождение минимумов и максимумов
- •Задание № 4. Вычисление интегралов и решение уравнений
- •Литература
- •Содержание
- •Информатика и компьютерная графика
- •220006. Минск, Свердлова. 13а.
- •220006. Минск, Свердлова. 13а.
7.1 Примеры вычисления сумм и произведений
Пример 1. Программа вычисления суммы элементов
b = {5, 2; 4,5; 1; 2,9; 3}.
Sub CommandButton1_Click()
Dim b As Single, s As Single, i As Integer
s = 0
For i = 1 To 5
b = Val(InputBox(«Введите элемент массива b»))
s = s + b
Next
MsgBox (“Сумма элементов массива равна= ” & s)
End Sub
Здесь элементы b вводятся с клавиатуры по одному числу, сумма чисел вычисляется в переменной s.
Пример 2. Программа вычисления произведения элементов
t = {0,4; -1,5; 2,8; 3; 0,9; 7,3} и значения w в соответствии с формулой:
Sub CommandButton2_Click()
Dim t As Single, w As Single
Dim p As Single, k As Integer
P=1
For k = 1 To 6
t = Val(InputBox(“t=”))
p=p*sin(t(k))
Next
w=2+p
MsgBox w
End Sub
7.2 Одномерные массивы. Вычисление экстремумов
Массивами называются совокупности данных одного типа, объединенные одним именем. Элементы массивов называются индексированными переменными.
Одномерные массивы имеют один индекс, например a(i), где a – имя массива, i – номер элемента массива.
Массивы, до их использования в программе, должны быть объявлены в операторе Dim, например:
Dim a(5) As Single
Здесь определено, что будет использоваться одномерный массив с 6-ю элементами вещественного типа одинарной точности. Число в скобках указывает номер последнего доступного для использования номера индекса. Нумерация индексов начинается с нуля.
После объявления элементы массива могут использоваться в выражениях подобно простым переменным, но с указанием индекса в круглых скобках. Например, после приведенного выше объявления массива а(i) в программном коде можно обращаться к следующим элементам массива: а(0), а(1), а(2), а(3), а(4), а(5)
Если необходимо использовать определенную нумерацию элементов массива, например с 5 до 10, то это указывается при объявлении массива следующим образом:
Dim a(5 to 10) As Single
После этого в программном коде будут доступны следующие элементы массива: а(5), а(6), а(7), а(8), а(9), а(10)
Пример 3. Программа определения максимального элемента массива d = {12; 0,4; 30; –2; 5; 9,3} и номера этого элемента.
Sub CommandButton2_Click()
Dim d(1 To 6) As Single, max As Single, n As Integer, i As Integer
For i = 1 To 6
d(i) = Val(InputBox(«Введите элемент массива d»))
Next
max = d(1) : n = 1
For i = 1 To 6
If d(i) > max Then max = d(i): n = i
Next
MsgBox (“Макс. Знач. =” & max & “ имеет элемент с номером ” & n)
End Sub
Пример 4. В таблице на рис.7.1 представлены значения температуры воздуха. Необходимо определить среднюю, минимальную и максимальную температуры, а также количество дней с положительной и отрицательной температурой.
Для решения этой задачи оформим лист Excel согласно образцу (рис. 7.1). Переменные можно объявить в разделе General (на листе программы в самом верху перед первым Sub) и тогда они могут быть использованы для расчета в разных процедурах рабочей книги:
Dim i As Integer, Ndata As Integer
Dim Nplus As Integer, Nminus As Integer
Dim sum As Single, mx As Single, disp As Single
Dim min As Single, max As Single, x As Single
Рис. 7.1 − Образец оформления программы расчета температуры
Процедура для кнопки «Среднее значение» (расчет средней температуры):
Private Sub CommandButton1_Click()
i = 6
Do Until Worksheets("Лист1").Cells(i, 4) = ""
i = i + 1
Loop
Ndata = i – 1 ‘количество расчетных дней
‘Вычисление суммарной температуры
sum = 0 ‘ ячейка с именем Sum обнуляется
‘ цикл для просмотра всех строк таблицы
For i = 7 To Ndata
x = Worksheets("Лист1").Cells(i, 4) ‘ ввод значения температуры из i-той строки 4-го столбца
sum = sum + x ‘суммирование значений температуры
Next i
mx = sum / (Ndata - 6) ‘определение среднего значения
Worksheets("Лист1").Cells(Ndata + 2, 4)="Средняя температура"
Worksheets("Лист1").Cells(Ndata + 2, 7) = mx
End Sub
Для кнопки «min» (расчет минимальной температуры) процедура имеет вид:
Private Sub CommandButton2_Click()
Dim l as Integer
min = Worksheets("Лист1").Cells(Ndata - 6, 4)
l=7 ‘номер строки, с которой начинается таблица
For i = 7 To Ndata
x = Worksheets("Лист1").Cells(i, 4)
If x < min Then
min = x
l=i ‘запоминание номера строки с минимальной температурой
End If
Next i
Worksheets("Лист1").Cells(Ndata+3,4)="Минимальная температура"
Worksheets("Лист1").Cells(Ndata + 3, 7) = min
Worksheets("Лист1").Cells(Ndata + 3, 9) = "Была "
Worksheets("Лист1").Cells(Ndata + 3, 10) = Cells(l, 3)
End Sub
В данной процедуре переменной min присваивается значение температуры из первой строки таблицы. Затем каждое очередное значение сравнивается со значением min. Если очередное значение температуры оказывается меньше min, то это число посылается в min.
Процедура для кнопки «max» (расчет максимальной температуры):
Private Sub CommandButton3_Click()
min = Worksheets(" Лист1 ").Cells(Ndata - 6, 4)
For i = 7 To Ndata
x = Worksheets(" Лист1 ").Cells(i, 4)
If x > max Then max = x
Next i
Worksheets(" Лист1 ").Cells(Ndata + 4, 4) = «Максимальная температура "
Worksheets(" Лист1 ").Cells(Ndata + 4, 7) = min
End Sub
Для кнопки «>0 и <0» (расчет количества дней с положительной и отрицательной температурой):
Dim k1 As Integer, k2 As Integer
k1 = 0: k2 = 0
For i = 7 To Ndata
x = Worksheets(" Лист1 ").Cells(i, 4)
‘расчет количества дней с положительной температурой k1 и отрицательной температурой k2
If x > 0 Then k1 = k1 + 1 Else k2 = k2 + 1
Next
Worksheets(" Лист1 ").Cells(Ndata + 5, 4) = _ «Кол.дней с плюсовой темп."
Worksheets(" Лист1 ").Cells(Ndata + 5, 7) = k1
Worksheets(" Лист1 ").Cells(Ndata + 6, 4) = _
" Кол.дней с минусовой темп."
Worksheets(" Лист1 ").Cells(Ndata + 6, 7) = k2
End Sub