Программный элемент поиск / 28
.docx
Задание №1
Постановка задачи:
Словестное описание задачи:
Найти минимальное значение функции
На промежутке 3<X<9 с шагом Δx=0,3.
Напечатать таблицу значений функции.
Состав входных и выходных данных:
Входные данные: x1 – начальное значение x, переменная вещественного типа, xk – конечное значение x, переменная вещественного типа, dx – шаг изменения x, переменная вещественного типа,
Выходные данные: Min – минимальное значение функции, переменная вещественного типа.
Математическая модель задачи:
Min=y для с шагом если Y<Min, то Min=Y
Схема алгоритма
Код приложения
Private Sub Command1_Click() Dim x As Single, x1 As Single, xk As Single, dx As Single, Y As Single, Min As Single x1 = InputBox("x начальное=", "Ввод переменных") xk = InputBox("x конечное=", "Ввод переменных") dx = InputBox("шаг x=", "Ввод переменных") Print "x начальное=" & x1 & " x конечное=" & xk & " шаг x=" & dx Min = Sqr(x1) - Cos(x1) x = x1 Do While x <= xk Y = Sqr(x) - Cos(x) Print "Y=" & Y & " при x=" & x If Y < Min Then Min = Y End If x = x + dx Loop Print "Минимальное значение функции=" & Min End Sub
Отладка программы
Задание №2
Постановка задачи:
Словестное описание задачи:
Определить индексы первого положительного элемента K-й строки матрицы T размерности M×N.
Для отладки программы контрольный вариант выбрать самостоятельно
Состав входных и выходных данных:
Входные данные: M – количество строк массива, переменная целого типа, N – количество столбцов массива, переменная целого типа, T={tij}, где i= j= – массив вещественных чисел, K – номер искомой строки, переменная целого типа.
Выходные данные: Str – индекс строки искомого элемента, переменная целого типа, Col – индекс столбца искомого элемента, переменная целого типа.
Математическая модель задачи:
Str=k
Для если tkj<0, то Col=j
Схема алгоритма
Код приложения
Private Sub Command1_Click() Dim M As Integer, N As Integer, T() As Single, K As Integer, Str As Integer, Col As Integer, i As Integer, j As Integer, flag As Boolean M = InputBox("Количество строк=", "Ввод переменных") N = InputBox("Количество столбцов=", "Ввод переменных") ReDim T(1 To M, 1 To N) Print "T=" For i = 1 To M For j = 1 To N T(i, j) = InputBox("T(" & i & ", " & j & ")=", "Ввод переменных") Print T(i, j) & " "; Next Print Next K = InputBox("Номер K-й строки=", "Ввод переменных") Str = K Col = 0 flag = False For j = 1 To N If T(K, j) > 0 Then Col = j flag = True Print "№ строки - " & Str Print "№ столбца - " & Col Exit For End If Next If flag = False Then Print "В строке нет положительных элементов" End If End Sub
Отладка программы