Скачиваний:
2
Добавлен:
27.09.2023
Размер:
144.79 Кб
Скачать

Задание №1

1) Постановка задачи Среди последних k элементов вектора В найти и напечатать значения и индексы элементов, которые меньше значения ключа поиска Q. Входные данные: k, n – целого типа; {B}, Q – вещественного типа. Выходные данные: i – целого типа; Bi – вещественного типа.

2) Математическое описание Если Bi<Q, то напечатать Bi и i, где n-k+1 ≤ i ≤ n с шагом 1.

3) Разработка алгоритма

4) Код приложения Private Sub Command1_Click() Dim n As Integer, B() As Single, i As Integer, Q As Single, k As Integer, Flag As Boolean n = InputBox("n=", "Input") ReDim B(1 To n) Print "{B}=" For i = 1 To n B(i) = InputBox("B(" & i & ")=") Print B(i) & " "; Next Print k = InputBox("k=") Q = InputBox("Q=") Print "Элементы <" & Q & " среди последних " & k & ":" i = n - k + 1 Do While i <= n If B(i) < Q Then Print "B(" & i & ")=" & B(i) Flag = True End If i = i + 1 Loop If Flag = False Then Print "Среди " & k & " последних эл. нет <" & Q End If End Sub

5) Отладка кода приложения

6) Ручной расчёт B = {6; 4; 1; 7; 2; 8; 5; 9; 3; 0} Элементы <7 среди 5 последних эл.: B(7)=5 B(9)=3 B(10)=0

Задание №2

1) Постановка задачи Найти индексы элементов вектора А, значения которых равны значению максимального элемента матрицы B. Входные данные: k, m, n – целого типа; {A}, {B} – вещественного типа. Выходные данные: i – целого типа.

2) Математическое описание max=B11 Если max<Bij, то max=Bij, где 1 ≤ i ≤ m с шагом 1; 1 ≤ j ≤ n с шагом 1. Если Ai=max, то напечатать i, где 1 ≤ i ≤ k с шагом 1.

3) Разработка алгоритма

4) Код приложения Private Sub Command1_Click() Dim k As Integer, A() As Single, m As Integer, n As Integer, B() As Single Dim i As Integer, j As Integer, Flag As Boolean, max As Single m = InputBox("m=", "Input") n = InputBox("n=", "Input") ReDim B(1 To m, 1 To n) Print "{B}=" For i = 1 To m For j = 1 To n B(i, j) = InputBox("B(" & i & ", " & j & ")=", "Input") Print B(i, j), Next Print Next k = InputBox("k=", "Input") ReDim A(1 To k) Print "{A}=" For i = 1 To k A(i) = InputBox("A(" & i & ")=", "Input") Print A(i), Next Print max = B(1, 1) For i = 1 To m For j = 1 To n If max < B(i, j) Then max = B(i, j) End If Next Next Print "Индексы элементов=" & max & ":" For i = 1 To k If A(i) = max Then Print i Flag = True End If Next If Flag = False Then Print "В {A} нет элементов=" & max End If End Sub

5) Отладка кода приложения

6) Ручной расчёт В матрице наибольший элемент = 8 В векторе A = {8; 9; 7; 4; 8} элементами =8 являются 1 и 5

Соседние файлы в папке Программный элемент поиск