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

Постановка задачи

1. Найти наименьший из положительных элементов одномерного массива S размерности k.

2. Найти и напечатать первые положительные элементы строк матрицы А размерности m×k.

Задание №1.

1. Словесное описание:

Найти наименьший из положительных элементов одномерного массива S размерности k.

Входные данные: k – целого типа; {S} – вещественного типа;

Выходные данные: Smin – вещественного типа;

2. Математическое описание: Если Si>0, то min=i где 1 ≤ i ≤ k с шагом 1. Если 0<Si<Smin, то min=i, где 1 ≤ i ≤ k с шагом 1.

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

4. Код приложения

Private Sub Command1_Click()

Dim i As Integer, k As Integer, S() As Single, min As Integer, F As Boolean

k = InputBox("k=")

ReDim S(1 To k)

Print "{S}="

For i = 1 To k

S(i) = InputBox("S(" & i & ")=")

Print S(i) & " ";

Next

Print

For i = 1 To k

If S(i) > 0 Then

min = i

F = True

End If

Next

If F = False Then

Print "Все эл. <0"

Else

For i = 1 To k

If S(i) > 0 And S(i) < S(min) Then

min = i

End If

Next

Print "Наименьший положительный эл.: S(" & min & ")=" & S(min)

End If

End Sub

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

Ручной счет: Из чисел -3; 2; 0; 1; 9 наименьшим положительным числом является 1.

Задание №2.

1. Словесное описание:

Найти и напечатать первые положительные элементы строк матрицы А размерности m×k.

Входные данные: {A} – вещественного типа; m, k – целого типа;

Выходные данные: i, j – целого типа;

2. Математическое описание: Если Aij>0, то напечатать i и j и перейти к следующей строке, где 1 ≤ i ≤ m с шагом 1; 1 ≤ j ≤ k с шагом 1.

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

4. Код приложения Private Sub Command1_Click() Dim i As Integer, m As Integer, j As Integer, k As Integer, A() As Single, Flag As Boolean m = InputBox("m=") k = InputBox("k=") ReDim A(1 To m, 1 To k) Print "{A}=" For i = 1 To m For j = 1 To k A(i, j) = InputBox("A(" & i & ", " & j & ")=") Print A(i, j), Next Print Next Print "Индексы первых положительных эл. в каждой строке:" i = 1 Do While i <= m Flag = False j = 1 Do While j <= k If A(i, j) > 0 Then Print "A(" & i & ", " & j & ")=" & A(i, j) Flag = True j=k End If j = j + 1 Loop If Flag = False Then Print "В " & i & " строке все эл. <0" End If i = i + 1 Loop End Sub

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

Ручной счет: Из чисел -1; 0; 1 первое положительное: 1; Из чисел 1; 2; 3 первое положительное: 1; Из чисел 0; -1; 9 положительных нет; Из чисел -3; 1; 2 первое положительное: 1.

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