Разработать информационную технологию, позволяющую зaполнить матрицу Y=[yij], первый столбец которой хранит значения аргумента х (при изменении х от начального значения х0 до конечного значения хk с шагом Dх), а второй – значения функции y = sin(x).
Входные данные: х0 – вещественное число;
xk – вещественное число;
dx – шаг, вещественное число.
Выходные данные:
Y = [yij], , – массив вещественных чисел.
Математическая модель:
Размерность массива вычисляется по формуле:
m = ;
для x = x0..xk, i = 1..m, yi,1 = x, yi,2 = sin(x)
Схема алгоритма:
Код приложения:
Private Sub Command1_Click()
Dim x0 As Single, xk As Single, dx As Single
Dim i As Integer, y() As Single, m As Integer
x0=InputBox(“Введите начальное значение параметра цикла”)
xk=InputBox(“Введите конечное значение параметра цикла”)
dx=InputBox(“Введите шаг изменения параметра цикла”)
m=(xk-x0)/dx+1
ReDim y(1 To m,1 To 2)
x=x0
For i=1 To m
y(i,1) = x
y(i,2) = sin(x)
x=x+dx
Next
For i=1 To m
Print “y(“ & i & “,1)=” & y(i,1) & ” y(“ & i & ”,2)=” & y(i,2)
Next
End Sub
П р и м е ч а н и е. Значения y(i,1) и y(i,2) лучше выводить с использованием функции Format: Format (y(i,1), “0.00”), Format (y(i,2), “0.00”).
|
|
Частным случаем алгоритма структуры Формирование служит алгоритм ввода значений элементов массива. В этом случае в вычислительную среду вводятся не только размерность массива, но и значения элементов.
Алгоритм ввода значений элементов одномерного массива А произвольной размерности m и вывода введённых значений на форму представлен на схеме:
Алгоритм ввода значений элементов массива будет обозначаться одним блоком:
Алгоритм вывода значений элементов массива также будет обозначаться одним блоком:
Код приложения на языке Visual Basic, реализующий представленный выше алгоритм:
Option Base 1
Private Sub Command1_Click()
Dim m As Integer, i As Integer, a() As Integer
m=InputBox(“Введите размерность массива”)
ReDim a(m)
For i=1 To m
a(i)=InputBox(“Введите а(“ & i & ”)”)
Next
Print “Значения элементов введённого массива:”
For i=1 To m
Print “a(“ & i & ”)=” & a(i)
Next
End Sub
1.2. Производная алгоритмическая структура Пересчёт
Используется для изменения значений элементов массива, хранящихся в вычислительной среде в соответствии с заданной математической зависимостью.
Особенности алгоритма.
1. Значения элементов массива, которые требуется пересчитать в соответствии с заданной математической зависимостью, хранятся в вычислительной среде.
2. Математическая зависимость, в соответствии с которой изменяются значения элементов массива, задаётся структурой Следование, которая служит телом цикла.
3. Алгоритм разрабатывается в зависимости от того, требуется или нет сохранять значения элементов исходного массива.
|
|
Пример 3.
Разработать информационную технологию, позволяющую уменьшить значения элементов массива А произвольной размерности m в k раз (k ≠ 0). Новый массив не заполняется.
Входные данные:
А = [ai], – массив вещественных чисел;
k – целое число; т – целое число.
Выходные данные:
А = [ai], – пересчитанный массив вещественных чисел.
Математическая модель:
для i = 1..m, ai = при k ¹ 0
Схема алгоритма:
Код приложения:
Private Sub Command1_Click()
Dim m As Integer, k As Integer, i As Integer
Dim a() As Single
m=InputBox(“Введите размерность массива ”)
ReDim a(1 To m)
Print “Введите значения элементов массива”
For i=1 To m
a(i)=InputBox(“a(“ & i & ”)”)
Next
Print “Исходный массив”
For i=1 To m
Print “a(“ & i & ”) =“ & Format(a(i),”0.00”)
Next
k=InputBox (“Введите значение k”)
If k<>0 Then
For i=1 To m
a(i) = a(i)/k
Next
Print Chr(10);“Результирующий массив”
For i=1 To m
Print Format(a(i),”0.00”
Next
Else
Print “На нуль делить нельзя”
End If
End Sub
2. ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС ПОИСК
Используется для нахождения местоположения элементов или их значений в массиве в соответствии с условием поиска. Условие поиска определяется операциями отношения (<, <=, >, >=, <>) между двумя операндами. Одним из операндов служит элемент массива, а другим – переменная, называемая Ключом поиска. Различают следующие производные алгоритмические структуры:
– Поиск по ключу;
– Поиск максимума;
– Поиск минимума.
2.1. Производная алгоритмическая структура Поиск по ключу
Используется для поиска местоположения элементов массива в соответствии с условием поиска, заданного выражением:
<Элемент массива> <Операция отношения> <Ключ поиска>
Особенности алгоритма.
1. Ключу поиска присваивается начальное значение, определяющее элементы массива, местоположение которых должно быть найдено. В большинстве случаев значение ключа поиска задаётся вводом.
2. Организуется циклический вычислительный процесс: цикл или цикл в цикле. Телом цикла служит структура Развилка, определяющая условие, в соответствии с которым должны быть найдены элементы массива. Если значение элемента массива удовлетворяет условию поиска, то значение его индексов выводится на визуальное устройство или сохраняется в вычислительной среде.
Если условие поиска ложно, осуществляется переход к следующему элементу массива.
3. В алгоритме предусматриваются действия, которые выполняются, если условие поиска окажется ложным для всех элементов массива. В этом случае вводится понятие "Флажок".
"Флажок" – это переменная, которая, как правило, может принимать два значения: True (Истина) или False (Ложь). Перед началом циклического вычислительного процесса "Флажку" присваивается начальное значение, допустим, False. В теле цикла в случае, когда значение условия поиска станет истинным, "Флажку" присваивается новое значение, допустим, True.
После окончания циклического вычислительного процесса проверяется значение "Флажка": если "Флажок" изменил своё значение, значит, условие поиска было выполнено хотя бы один раз, если нет, то условие поиска не было выполнено ни разу.
П р и м е ч а н и е. Если условие поиска задано точным равенством (=), то типы элементов массива и ключа поиска должны быть одинаковыми, допускающими сравнение (Byte, Integer, Long, String).