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

«ПРОГРАММНЫЙ ЭЛЕМЕНТ ПОИСК»

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

Найти и напечатать значения и индексы первых K и последних N положительных элементов вектора G8 размерности M. Проанализировать выполнение программы на примере:

K=3; N=4; G8={-1; 3; 10; -8; 7; 0; 1; 20; -4; 6}

1.2 Описание постановки задачи

Состав входных и выходных данных:

Входные данные: K – переменная целого типа, N – переменная целого типа, M – переменная целого типа, {G8} – массив вещественных чисел.

Выходные данные: Fj – индексы положительных элементов, переменная целого типа, – значения положительных элементов, переменная вещественного типа. Lj – индексы положительных элементов, переменная целого типа, – значения положительных элементов, переменная вещественного типа.

    1. Математическое описание задачи:

Если G8i>0, то Fj=i

где i=1, 2, … M; j=1, 2, … K

Если G8i>0, то Lj=i

где i=M, M-1, M-2, …1; j=1, 2, … N

    1. Схема алгоритма решения задачи:

    1. Листинг кода программы:

Private Sub Command1_Click()

Dim G8() As Single, i As Integer, K As Integer, N As Integer, M As Integer, F() As Integer, L() As Integer, j As Integer, Flag As Boolean

K = InputBox("K=")

N = InputBox("N=")

M = InputBox("M=")

ReDim G8(1 To M), F(1 To K), L(1 To N)

Print "G8=";

For i = 1 To M

G8(i) = InputBox("G8(" & i & ")=")

Print G8(i) & " ";

Next

Print

Flag = False

i = 1

j = 1

Do While j <= K

If G8(i) > 0 Then

F(j) = i

Flag = True

j = j + 1

End If

i = i + 1

If i > M Then

K = j - 1

Print "Положительных эл. меньше K! Значение заменено на " & K

Exit Do

End If

Loop

i = M

j = 1

Do While j <= N

If G8(i) > 0 Then

L(j) = i

Flag = True

j = j + 1

End If

i = i - 1

If i = 0 Then

N = j - 1

Print " Положительных эл. меньше N! Значение заменено на " & N

Exit Do

End If

Loop

If Flag = True Then

Print "Первые K положительных элементов:"

For j = 1 To K

Print "G8(" & F(j) & ")=" & G8(F(j))

Next

Print "Последние N положительных элементов:"

For j = 1 To N

Print "G8(" & L(j) & ")=" & G8(L(j))

Next

Else

Print "Положительных элементов нет"

End If

End Sub

1.6 Выполнение проекта:

2.1 Словесное описание задачи:

Определить наибольший элемент K-го столбца матрицы Q размерности N×L.

Для отладки программы значения N, L, K и Q выбрать самостоятельно.

2.2 Описание постановки задачи

Состав входных и выходных данных:

Входные данные: N – переменная целого типа, L – переменная целого типа, K – переменная целого типа, {Q} – массив вещественных чисел.

Выходные данные: m – индекс строки наибольшего элемента в столбце K, переменная целого типа, qm,K – значение наибольшего элемента, переменная вещественного типа.

2.3 Математическое описание задачи:

m=1 Если qi,K>qm,K, то m=i где i=2, 3, 4, … N

2.4 Схема алгоритма решения задачи:

2.5 Листинг кода программы:

Private Sub Command1_Click()

Dim Q() As Single, m As Integer, K As Integer, N As Integer, L As Integer, i As Integer, j As Integer

N = InputBox("N=")

L = InputBox("L=")

ReDim Q(1 To N, 1 To L)

Print "Q="

For i = 1 To N

For j = 1 To L

Q(i, j) = InputBox("Q(" & i & ", " & j & ")=")

Print Q(i, j) & " ";

Next

Print

Next

K = InputBox("K=")

m = 1

For i = 2 To N

If Q(i, K) > Q(m, K) Then

m = i

End If

Next

Print "Наибольший элемент " & K & "-го столбца: Q(" & m & ", " & K & ")="; Q(m, K)

End Sub

2.6 Выполнение проекта:

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