Читайте также:
|
|
1. В среде Visual Basic ввести матрицу A (4,3). Запуск программы осуществлять щелчком мыши по форме. В строку заголовка формы вывести текст: «Ввод и вывод данных». Вид формы в период выполнения программы показан на рис. 1.1. На форме нет никаких элементов управления.
Рис.1.1
Значения элементов матрицы вводить с клавиатуры в поле ввода окна InputBox в период выполнения программы. Вводить числа, меньшие 100 и с числом знаков после запятой не более двух. В сообщении (Prompt) окна InputBox указывать номер строки и номер столбца вводимого в данный момент элемента матрицы (например, «Введите A (1,1)». В строку заголовка окна InputBox вывести текст «Ввод матрицы». Значение по умолчанию (Default) в поле ввода окна InputBox не выводить. Вид окна InputBox после щелчка мыши по форме показан на рис. 1.2.
Рис. 1.2.
Матрицу A распечатать в окне Immediate с использованием форматирования (два знака до запятой и два знака после запятой). Вид окна Immediate после ввода последнего элемента A(4,3) показан на рис. 1.3.
Рис. 1.3
Ниже приведен листинг программы.
Option Explicit
Private Sub Form_Click()
Dim A(4, 3) As Single
Dim i As Integer, j As Integer
For i = 1 To 4
For j = 1 To 3
A(i, j) = Val(InputBox("Введите A(" & CStr(i) & "," _
& CStr(j) & ")", "Ввод матрицы"))
Next j
Next i
For i = 1 To 4
For j = 1 To 3
Debug. Print Format(A(i, j), "00.00"),
Next j
Debug. Print
Next i
End Sub
В условии задачи указано число строк 4 и столбцов 3 матрицы. Также указано, что элементами матрицы могут быть дробные числа. Поэтому в строке
Dim A(4, 3) As Single
матрица А объявляется оператором Dim как массив фиксированного размера с типом данных с плавающей точкой одинарной точности.
Алгоритм ввода (создания) матрицы с применением формулы описан в [2. стр. 122-124]. В этой задачи вместо формулы использованы следующие строки программы:
A(i, j) = Val(InputBox("Введите A(" & CStr(i) & "," _
& CStr(j) & ")", "Ввод матрицы"))
которые Visual Basic воспринимает как одну строку, так как применены символы переноса «_» (символ подчеркивания и пробел). В этой строке аргументом функции Val является возвращаемое значение функции InputBox. Функция InputBox возвращает набранные в поле ввода пользователем символы в текстовом формате, а функция Val преобразует их в числовой формат (в число), которое присваивается элементу матрицы. Если в момент нажатия пользователем кнопки ОК или клавиши [Enter] в поле ввода окна InputBox будет пусто, то функция Val преобразует это текстовое значение в числовое значение и возвратит нуль.
Далее располагается вложенный цикл, в котором осуществляется вывод (печать) в окно Immediate матрицы A(4,3) с помощью метода Print. Собственно печать осуществляет следующая строка
Debug.Print Format(A(i, j), "00. 00"),
Список вывода состоит из одного элемента, в конце его расположена запятая, поэтому элементы массива A(1.1), A(1,2), A(1,3) будут напечатаны в одну стоку с интервалом табуляции. После печати последнего элемента первой строки A(1,3) происходит естественный выход из внутреннего цикла и переход к строке следующей за оператором Next j, то есть к строке Debug. Print. Так как здесь отсутствует список вывода и запятая или точка после него, то следующий оператор Print будет печатать элемент массива A(2,1) с начала следующей (второй) строки. Далее процесс печати матрицы будет повторяться, как описано выше.
Здесь использованы символы форматирования "00.00" поэтому, если пользователь ввел число, меньшее 100, то выводимое значение всегда имеет постоянную длину в пять символов (вместе с ведущими и замыкающими нулями и разделителем), а числа в столбцах матрицы будут расположены так, что разделительные точки находятся на вертикальной линии.
2. В среде Visual Basic ввести матрицу A (n, m). Запуск программы осуществлять щелчком мыши по кнопке Command1. На поверхности кнопки поместить надпись «Пуск» (размер шрифта 12). В строку заголовка формы вывести текст: «Ввод и вывод данных». Значения элементов матрицы определяются формулой:
,
где i – номер строки матрицы,
j – номер столбца матрицы.
Значения n и m задаются c использованием функций InputBox. В окно InputBox для числа строк (числа столбцов) вывести строку сообщения “Введите число строк” (“Введите число столбцов”). В строку заголовка окон InputBox ввести текст: «Число строк» («Число столбцов»). В поле ввода функции InputBox ввести значения по умолчанию (Default) n = 3, m = 3. Вид окна InpunBox для вода числа строк показан на рис. 1.4.
Рис. 1.4
Наверху формы ввести пустую строку. В следующей строке у левого края формы распечатать текст с указанием числа строк и столбцов, например, «Матрица А(3,3)». Элементы матрицы A распечатать на форме с использованием форматирования (два знака до запятой и два знака после запятой). Размер шрифта 12. Левый верхний угол матрицы (элемент A(1,1) должен располагаться ниже верхнего края формы на расстоянии 700 твипов и
правее левого края формы на 100 твипов. Расстояние между столбцами 800 твипов. Вид формы после нажатия кнопки Пуск показан на рис. 1.5.
Рис. 1.5
Option Explicit
Private Sub Command1_Click()
Dim A() As Single
Dim i As Integer, j As Integer, n As Integer, m As Integer
n = InputBox("Введите число строк", "Ввод матрицы", 3)
m = InputBox("Введите число столбцов", "Ввод матрицы", 3)
ReDim A(n, m) As Single
Print ‘Печать пустой строки
Print "Матрица А("; n; ”, ”; m; ")"
For i = 1 To n
For j = 1 To m
A(i, j) = 25 * (m * i / (n ^ 2 - j))
Next j
Next i
CurrentY = 500
For i = 1 To n
For j = 1 To m
CurrentX = 100 + 800 * (j - 1)
Print Format(A(i, j), "00.00"),
Next j
Next i
End Sub
В правом нижнем углу формы ввести элемент управления CommandButton (Командная кнопка), описанный в [1, п. 3.5]. Надпись Ввод на поверхности кнопки вводить в таблице свойств (Properties) в строке свойства Caption.
В условии задачи число строк и столбцов матрицы заранее неизвестно и определяется пользователем во время выполнения программы. Также указано, что элементами матрицы могут быть дробные числа. Поэтому матрица объявляется как динамический массив с типом данных с плавающей точкой одинарной точности:
Dim A() As Single
После ввода числа строк и столбцов с помощью функций InputBox, осуществляетcя определение матрицы А оператором:
ReDim A(n, m) As Single
Алгоритм ввода (создания) матрицы с применением формулы описан в [2. стр. 122-123].
Оператор
CurrentX = 100 + 800 * (j - 1)
располагается в теле цикла сразу перед оператором Print и определяет положение по горизонтали каждого элемента матрицы в зависимости от номера столбца j. Например, для первых трех элементов каждой строки (j, равному 1, 2, 3) расстояние их от левого края формы в соответствии с формулой будет соответственно равно: 100, 900, 1700 твипов (в одном сантиметре 567 твипов).
3. В среде Visual Basic ввести вектор V (n). Запуск программы осуществлять щелчком мыши по кнопке. На поверхности кнопки поместить надпись «Пуск» (размер шрифта 12). В строку заголовка формы вывести текст: «Ввод и вывод данных». Значения элементов вектора определяются формулой:
,
где i – номер элемента вектора,
Число элементов вектора n задается c использованием функции InputBox. В окно InputBox вывести строку сообщения “Введите число элементов вектора”
Рис. 1.6
В строку заголовка окна InputBox ввести текст: «Размер вектора». В поле ввода функции InputBox ввести значение по умолчанию (Default) n = 3. Вид окна InputBox после нажатия кнопки Пуск показан на рис. 1.6.
Наверху формы ввести пустую строку. В следующей строке у левого края формы распечатать текст с указанием имени вектора и числа его элементов, например, «Вектор V(3)». Элементы вектора печатать на форме в один столбец, расположенный на расстоянии 300 твипов от левого края формы с использованием форматирования (без ведущих нулей в целой части числа и двумя знаками после запятой). Размер шрифта 12.
Листинг программы приведен ниже
Option Explicit
Private Sub Command1_Click()
Dim V() As Single
Dim i As Integer, n As Integer
n = InputBox("Введите число элементов вектора", "Размер вектора", 3)
ReDim V(n) As Single
Print "Вектор V("; n; ")"
For i = 1 To n
V(i) = 25 * Sin(3 * i / n ^ 2)
Next i
For i = 1 To n
CurrentX = 300
Print Format(V(i), "##.00")
Next i
End Sub
Алгоритм ввода вектора в виде блок-схемы и псевдокода приведен в [1, стр. 121].
4. В среде Visual Basic ввести вектор V (n). Запуск программы осуществлять щелчком мыши по кнопке. На поверхности кнопки поместить надпись «Пуск» (размер шрифта 12). В строку заголовка формы вывести текст: «Ввод и вывод данных». Число элементов вектора n задается c использованием функции InputBox. В окно InputBox вывести строку сообщения “Введите число элементов вектора”. В строку заголовка окна InputBox ввести текст: «Размер вектора». В поле ввода функции InputBox ввести значение по умолчанию (Default) n = 3. Вид окна InputBox для ввода числа элементов вектора показан на рис. 1.6.
Значения элементов вектора вводить с клавиатуры в поле ввода окна InputBox в период выполнения программы. Вводить числа, меньшие 100 и с числом знаков после запятой не более двух. В сообщении (Prompt) окна InputBox указывать номер строки и номер столбца вводимого в данный момент элемента вектора (например, «Введите V (2)». В строку заголовка окна InputBox вывести текст «Ввод вектора». Значение по умолчанию (Default) в поле ввода окна InputBox не выводить. Вид окна InputBox в момент ввода элемента вектора V (2) (перед щелчком по кнопке ОК или нажатием клавиши [Enter]) показан на рис. 1.8.
Рис. 1.8
Наверху формы ввести пустую строку. В следующей строке у левого края формы распечатать текст с указанием имени вектора и числа его элементов, например, «Вектор V(3)». В следующей строке печатать в одну строку значения элементов вектора с использованием форматирования (без ведущих нулей в целой части числа и двумя знаками после запятой). Первый элемент вектора печатать на расстоянии 300 твипов от левого края формы, расстояние между элементами вектора 800 твипов. Размер шрифта 12. Каждый элемент вектора печатать сразу после его ввода. Вид формы после ввода V(1) = 45, V(2) = 0.32, V(3) = 4.57 показан на рис. 1.9.
Рис. 1.9
Option Explicit
Private Sub Command1_Click()
Dim V() As Single
Dim i As Integer, n As Integer
n = InputBox("Введите число элементов вектора", "Размер вектора", 3)
ReDim V(n) As Single
Print "Вектор V("; n; ")"
For i = 1 To n
V(i) = Val(InputBox("Введите V(" & i & ")", "Ввод вектора"))
CurrentX = 300 + 800 * (i - 1)
Print Format(V(i), "##.00"),
Next i
End Sub
6. В среде Visual Basic ввести матрицу A (n, m). В строку заголовка формы вывести текст: «Ввод и вывод данных». На поверхности формы разместить справа вверху два текстовых поля TextBox. Левее каждого из них разместить метки Label с текстом «Число строк» и «Число столбцов». Для текстовых полей и для меток размер шрифта 12. Число строк n и число столбцов m вводится оператором присваивания из соответствующих окон TextBox в период выполнения. По умолчанию n = 3, m = 3. Внизу формы разместить командную кнопку CommandButton с надписью «Пуск» (размер шрифта 10).
Значениями элементов матрицы являются случайные целые числа в диапазоне от -3 до 5 с равномерным законом распределения.
Наверху формы ввести пустую строку. В следующей строке у левого края формы распечатать текст с указанием имени матрицы, а также ее числа строк и столбцов, например, «Матрица А(3,3)». Элементы матрицы A распечатать на форме. Размер шрифта 12. Левый верхний угол матрицы (элемент A(1,1) должен располагаться ниже верхнего края формы на расстоянии 700 твипов и правее левого края формы на 100 твипов. Расстояние между столбцами 800 твипов. Вид формы после нажатия кнопки Пуск приведен на рис. 1.11.
Рис. 1.11
Option Explicit
Private Sub Command1_Click()
Dim A() As Single
Dim i As Integer, j As Integer, n As Integer, m As Integer
n = Val(Text1.Text)
m = Val(Text1.Text)
ReDim A(n, m) As Single
Print "Матрица А("; n; m; ")"
Randomize
For i = 1 To n
For j = 1 To m
A(i, j) = Int(9 * Rnd + 1) - 4
Next j
Next i
CurrentY = 700
For i = 1 To n
For j = 1 To m
CurrentX = 100 + 800 * (j - 1)
Print A(i, j),
Next j
Next i
End Sub
Значения элементов матрицы A(i,j) вычисляются в следующей строке программы;
A(i, j) = Int(9 * Rnd + 1) - 4
Функция Int отбрасывает дробную часть положительного числа. Пусть функция Rnd возвратила следующие числа
Rnd = 0.02, 0.86, 0.31, 0.95, тогда вычисления по формуле дадут
9*Rnd = 0.18, 7.74, 2.79, 8.55
9*Rnd + 1 = 1.18, 8.74, 3,79, 9.55
Int(9 * Rnd + 1) = 1, 8, 3, 9
A(i, j) = Int(9 * Rnd + 1) - 4 = -3, 4, -1, 5
Можно показать, что строка
A(i,j) = Int(1000*Rnd)/100
даст значения элементов матрицы А в диапазоне от 0.01 до 10 (значения 0.01 или 10 никогда не появятся).
Дата добавления: 2015-10-02; просмотров: 53 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вывод данных с использованием метода Print | | | Вивчення досвіду передових учителів — шлях до педагогічної майстерності |