1. Протабулировать функцию на указанном отрезке
2. Результаты отобразить в MSFLEXGRID
3. Интерфейс пользователя, соответствующий описанному выше, выглядит следующим образом
4. Программный код, реализующий алгоритм решения
Private Sub Command1_Click()
Dim x As Double
Dim y As Double
Dim k As Integer
Dim xn As Double
Dim xk As Double
Dim dx As Double
k = 0
xn = 0: xk = 6: dx = 0.5
g1.Rows = (xk - xn) / dx + 2
g1.Cols = 4
For i = 0 To 3
g1.ColAlignment(i) = 4
g1.ColWidth(i) = 1800
Next i
g1.TextMatrix(0, 0) = "x"
g1.TextMatrix(0, 1) = "x<2"
g1.TextMatrix(0, 2) = "x=2"
g1.TextMatrix(0, 3) = "x>2"
k = k + 1
For x = xn To xk Step dx
g1.TextMatrix(k, 0) = x
If x < 2 Then
y = x ^ 2
g1.TextMatrix(k, 1) = y
k = k + 1
ElseIf x = 2 Then
y = Log(x) + Tan(x)
g1.TextMatrix(k, 2) = y
k = k + 1
Else
y = (Sin(x) ^ 2) ^ (1 / 3)
g1.TextMatrix(k, 3) = y
k = k + 1
End If
Next x
End Sub
6. Результаты расчетов в VB 6
Результаты расчетов в Mathcad (листинг приведен ниже)
Задание 4
Разработать алгоритм и написать программу на языке программирования Бейсик для обработки данных, представленных одномерным массивом. В алгоритме и программе предусмотреть ввод и вывод данных на форму согласно требованиям, указанным в задании, с использованием метода PRINT.
Указания к выполнению задания
Массивы.
Массивом называется совокупность индексированных элементов. Например, двумерный массив можно выразить a(i,j), где i означает номер строки, j – номер столбца. Массивы в VB можно классифицировать по следующим признакам: числу измерений, области видимости, способу распределения памяти. VB позволяет создавать одномерные и многомерные массивы. Число размерностей массива может достигать до 60.
Нумерация элементов массива начинается с нуля. Для изменения индексации с нуля на единицу используется оператор Option Base N, где N может принимать значения 0 и 1. Оператор Option Base записывается в раздел General.
Объявление массивов осуществляется следующим образом
Dim B(10) As Double – одномерный массив, содержит 11 элементов;
Dim C(5 TO 8, 1 TO 10) As Integer – двухмерный массив, имеет 4 строкb и 10 столбцов. Нумерация строк начинается с 5, а нумерация столбцов с единицы. Следует различать:
Массивы со статическим распределением памяти.
Эти массивы объявляются один раз и не меняют своих размерностей в процессе выполнения программы. Границы размерностей задаются только числами, нельзя использовать для указания размерности переменные.
Массивы с динамическим распределением памяти. Эти массивыобъявляются в два этапа. Сначала они объявляются без указания размерности:
Dim AMassiv () As Variant.
Затем с помощью оператора ReDim устанавливаются фактические размерности массива. В отличие от оператора Dim оператор ReDim используется только в процедурах. Оператор ReDim допускает использование переменных для указания размерностей массивов:
ReDim MassivA(5, 10) As Integer
ReDim MassivB(m, n) As Single
Метод Print
Метод Print может выводить информацию непосредственно в форму или графический объект PictureBox. Синтаксис метода Print имеет следующую структуру
Print [“текстовое сообщение”] [;/_/,] <список выражений> [;/,]
Здесь “текстовое сообщение” – символьное выражение;
[;/_/,] - управляющие символы: если в качестве разделителя используется “;” или пробел “_”, то очередное значение выводится непосредственно вслед за предыдущим значением. При этом, выводимая информация сливается Если в качестве разделителя используется запятая, то очередное значение выводится в соседнюю зону. Выводная строка оператора Print разбита на пять зон по 14 символов в каждой, что позволяет позиционировать выводимую информацию;
<список выражений> - в качестве выводимых значений могут использоваться константы, переменные, функции, арифметические выражения или текст;
[;/,] - управляющие символы. При наличии этих символов по окончании вывода информации курсор остается в текущей строке и поэтому следующий оператор Print будет продолжать печать с этой позиции. При отсутствии этих управляющих символов по окончании вывода информации курсор переходит на новую строку.
Варианты задач
Варианты задач представлены в таблице 9.
Таблица 9. Индивидуальные варианты задания 1
Вариант | Условие задачи | Исходные данные | Представление исходных данных и результатов |
Определить среднее арифметическое D минимального и максимального значений массива А | А=(0; 1; -5; 6; 9; 7; -6; -4; 1; -1) | Вывести исходный массив и результаты в строку | |
Определить среднее геометрическое D абсолютных значений максимального М и минимального N значений массива A. (![]() | A=(0; 1; -3; 6; 9; 7; 6; 4; 1; -1) | Вывести исходный массив А в столбец, а массив D и значения M,N в строку | |
Упорядочить массив А по возрастанию, а массив В по убыванию | А=(-6;8;0;-1;1) В=(7;-7;5;-1;0) | Вывести построчно значения исходных и упорядоченных массивов | |
Сформировать массив А из положительных, а массив В из отрицательных элементов исходного массива С | С=(-7; 7; -1; 0; 5; 6; -6; 4; 7; –9) | Вывести исходный массив С в строку, а массивы А и В в столбец | |
Сформировать массив А из элементов массива В по условию Аi =| Bi-2 |, при 1<Bi£4,Bi³9 Ai=sin2(Bi+1), при Bi£1, 4<Bi<9 | B=(0; -5; 7; -1; 2; 1; 1; 3; 4; 9; 6) | Вывести исходный массив В в строку, а массив А в столбец | |
В массиве А определить минимальное и максимальное значения и их порядковые номера. | А=(-7; 5; 0; 5; -7; 8; 5; 9; 1; 5) | Вывести исходный массив А в строку, а результаты в столбец | |
Определить сумму квадратов отклонений каждого элемента массива А от среднего арифметического | А=(2; 0; 4; 5; 3; 2; 5; 2; 1; 7; 4) | Вывести исходный массив в строку, а результаты в столбец | |
Сформировать массив А из положительных значений элементов исходного массива В, а массив С из отрицательных. Определить количество элементов равных 0. | В=(-20; 6; -1; 5; 7; 4; 0; 1; -2; 0; 9) | Вывести значения исходного массива в строку, а результирующих массивов А и С в два, рядом стоящих столбца | |
Записать в массив А номера положительных, в массив В номера отрицательных, в массив С номера нулевых значений элементов исходного массива D | D=(-60; -10; 10; 7; 0;-7; 4; 0; 13; -4) | Вывести построчно значения элементов массивов A, B, C, D | |
Вычислить среднее арифметическое М положительных элементов и среднее геометрическое К абсолютных значений отрицательных элементов массива А | А=(-8; 6; 7; -4; -9; 5; 9; -5; -2; 7) | Вывести значения элементов массива А в столбец, а значения М и К в строку | |
Сформировать массив А из положительных и массив В из отрицательных значений функции F=sin(k*x*e)*cos(k*x*e) | k = 1;2;…;10; е=0.25; x=0.3 | Вывести исходные данные в строку, а значения массивов А и В в два рядом стоящих столбца | |
Найти минимальное значение исходного массива А и его порядковый номер. Упорядочить массив по возрастанию | А=(20; 9; 6; 4; 7; 10; 40; 8; 9; 13) | Вывести построчно значения исходного, упорядоченного массива и расчетных значений | |
Сформировать массив А из положительных и массив В из отрицательных значений функции F=sin(k*x+p/4)*cos(k*x-p/4) | k = 1;2;…;10; x=0.3 | Вывести исходные данные в строку, а значения массивов А и В в два рядом стоящих столбца | |
Определить максимальное М и минимальное N значение массива A и поменять их местами | A=(0; 1; -3; 6; 9; 7; 6; 4; 1; -1) | Вывести исходный массив А и результирующий в два, рядом стоящих столбца, а результаты M,N в строку | |
Сформировать массив А из номеров положительных значений элементов исходного массива В, а массив С из номеров отрицательных. | В=(-20; 6; -1; 5; 7; 4; -10; 1; -2; 20; 9) | Вывести значения исходного массива в строку, а результирующих массивов А и С в два столбца |