
- •Основы системы программирования
- •Введение
- •1 Основы системы программирования Visual Basic
- •1.1 Загрузка системы программирования
- •1.2 Среда разработки
- •1.3 Последовательность разработки проекта
- •1.4 Сохранение проекта
- •1.5 Основные элементы управления
- •1.5.1 Надпись (Label)
- •1.5.2 Текстовое поле (TextBox)
- •1.5.3 Кнопка (CommandButton)
- •1.5.4 Окно списка (ListBox)
- •1.6 Последовательность разработки информационной технологии
- •1.6.1 Формализация задачи
- •1.6.2 Составление схемы алгоритма
- •1.6.3 Разработка проекта
- •1.6.4 Сохранение проекта
- •1.6.5 Выполнение проекта
- •1.6.6 Отладка программы
- •1.7 Основы языка программирования Visual Basic
- •1.7.1 Типы данных
- •1.7.2 Объявление данных
- •Dim имя переменной As Тип данных
- •1.7.3 Оператор присваивания
- •1.7.4 Встроенные функции языка Visual Basic
- •Имя функции(аргумент)
- •1.7.5 Организация ввода данных
- •1.7.6 Организация вывода данных
- •MsgBox сообщение [,атрибут] [,заголовок]
- •Format (параметр,"прототип")
- •2 Структурное программирование
- •2.1 Структура Следование
- •2.2 Структура Развилка
- •If условие Then
- •Iif(логическое выражение, выражение1, выражение2)
- •If условие Then
- •If Условие1 Then
- •Goto имя метки
- •Номер строки
- •2.3 Структура Цикл
- •3 Производные алгоритмические структуры
- •Dim Имя массива(размерность) As Тип данных
- •Dim Имя массива(количество строк, количество столбцов) As Тип данных
- •3.1 Производная алгоритмическая структура Формирование
- •3.2 Производная алгоритмическая структура Пересчёт
- •3.3 Производная алгоритмическая структура Поиск по ключу
- •3.4 Производная алгоритмическая структура Поиск максимума
- •3.5 Производная алгоритмическая структура Поиск минимума
- •3.6 Производная алгоритмическая структура Cумма
- •3.7 Производная алгоритмическая структура Произведение
- •3.8 Производная алгоритмическая структура Счётчик
- •3.9 Производная алгоритмическая структура Выборка
- •3.10 Производная алгоритмическая структура Перестановка
- •3.11 Сортировка элементов массива
- •Библиографический список
- •Приложение извлечения из межгосударственного стандарта
- •2 Описание схем
- •2.2 Схема программы
- •3 Описание символов
- •3.1 Символы данных
- •3.2 Символы процесса
- •3.3 Символы линий
- •3.4 Специальные символы
- •4 Правила применения символов и выполнения схем
- •4.1 Правила применения символов
- •4.2 Правила выполнения соединений
- •Содержание
- •Основы системы программирования
- •190031, СПб., Московский пр., 9.
3.5 Производная алгоритмическая структура Поиск минимума
Используется для нахождения минимального элемента массива и его местоположения.
Особенности алгоритма аналогичны производной алгоритмической структуре Поиск максимума. Отличие состоит в том, что начальным значением дополнительной переменной может быть число, намного большее любого из возможных значений, которые могут принимать элементы массива.
Пример 17.
Разработать информационную технологию, позволяющую определить местоположение элемента матрицы А произвольной размерности mn, имеющего минимальное значение. При наличии нескольких одинаковых минимальных элементов выбрать элемент, имеющий наибольшие индексы.
Входные данные:
m – целое число;
n
– целое число;
A = [aij], , – массив целых чисел.
Выходные данные:
min – минимальное значение элемента массива, целое число;
k и q – значения индексов, определяющих его местоположение, целые числа.
Описание математических и логических зависимостей.
min = a11;
для i = 1… m,
для j = 1… n,
если ai j ≤ min, то min = ai j, k = i, q = j.
Схема алгоритма:
Нет
Нет
Да
К
од
приложения:
Private Sub Command1_Click()
Dim m As Integer, i As Integer, j As Integer, k As Integer, q As Integer
Dim a() As Integer, min As Integer
m=InputBox(“Количество строк матрицы=”)
n =InputBox(“Количество столбцов матрицы=”)
Redim a(1 To m,1 To n)
For i=1 To m
For j=1 To n
a(i,j)=InputBox(“a(“ & i & ”,” & j & ”)”)
Next j
Next i
Print “Исходный массив”
For i=1 To m
For j=1 To n
Print a(i, j);
Next j
Next i
min = a(1,1)
For i=1 To m
For j=1 To n
If a(i,j)<=min then
min = a(i, j)
k=i: q=j
End If
Next j
Next i
MsgBox “ Минимум = ” & min & Сhr(10) & _
”Индекс i=” & k & “Индекс j=” & q
End Sub
3.6 Производная алгоритмическая структура Cумма
Используется для вычисления суммы элементов массива или степенного ряда.
Особенности алгоритма.
1. Вводится дополнительная переменная, которая служит для хранения значений суммы.
2. Дополнительной переменной присваивается начальное значение, равное 0.
3. Определяется тип циклического процесса:
цикл с параметром, если задана размерность массива или ее можно определить перед началом процесса;
итерационный цикл, если накопление суммы заканчивается при достижении заданной точности.
4. Телом цикла служит структура, в которой вычисляется значение искомой суммы.
Пример 18.
Разработать информационную технологию, позволяющую вычислить сумму значений элементов первой и последней строк матрицы А произвольной размерности m×n.
Входные данные:
m – целое число;
n – целое число;
A = [aij], , – массив вещественных чисел.
Выходные данные:
s – искомая сумма, вещественное число.
Описание математических и логических зависимостей.
Схема алгоритма:
Нет
Код приложения:
Option Base 1
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim s As Single, a() As Single, i As Integer, j As Integer
m=InputBox(“Введите количество строк матрицы”)
n=InputBox(“Введите количество столбцов матрицы”)
Redim a(m,n)
For i=1 To m
For j=1 To n
a(i, j)=InputBox(“a(“ & i & ”,” & j & ”)”)
Next j
Next i
s=0
For j=1 To n
s=s+a(1, j)+a(m, j)
Next j
Print “Исходная матрица”
For i=1 To m
For j=1 To n
Print Format(a(i, j),”0.00”);
Next
Next
Msgbox “Сумма первой и последней строк матрицы равна ” & s
End Sub
При вычислении суммы членов степенного ряда дополнительной переменной присваивается значение, равное значению первого члена степенного ряда.
Пример 19.
Разработать информационную технологию, позволяющую вычислить величину натурального логарифма, представленного в виде таблицы значений функции, заданной с помощью ряда Тейлора.
Полученную величину сравнить со значением библиотечной функции.
Входные данные: х – аргумент функции, вещественное число;
eps – константа, определяющая заданную точность вычисления, вещественное число.
Выходные данные:
s – значение суммы степенного ряда, вещественное число.
Описание математических и логических зависимостей.
;
s
= ln;
n
= 2.
В цикле с постусловием выполнять:
ln1= ln;
;
s =
s + ln; n
= n + 1,
пока
|ln1–ln| > eps.
Схема алгоритма:
Нет
Код приложения:
Private Sub Form_Activate()
Const eps As Single = 0.000001
Dim x As Double
Dim ln As Double
x = InputBox("Введите значение аргумента")
ln = (x - 1) / x: s = ln: n = 2
Do
ln1 = ln
ln = (x - 1) ^ n / (n * x ^ n)
s = s + ln
n = n + 1
Loop While (Abs(ln1 - ln) > eps)
MsgBox "Заданная точность = " & eps & Chr(10) & _
"Сумма ряда=" & Format(s, "0.00000") & " логарифм=" & _
Format(Log(x), "0.00000") & Chr(10) & "Итераций - " & n - 2
End Sub
Результат выполнения.