Старые отчёты / ФЫР / информатика!!!!!!!!! / 5.22
.docМИНИСТЕРСТВО ПУТЕЙ СООБЩЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПУТЕЙ СООБЩЕНИЯ
Кафедра «ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
ОТЧЕТ
о выполненной лабораторной работе № 5
по дисциплине «Информатика»:
Структура «Поиск»
Вариант 22
Выполнил студент
Дневного отделения
Факультет ЭСУ
Группы
Санкт-Петербург
2004
Задание №1 1 Постановка задачи.
-
Словесное описание задачи. Определить последний положительный элемент вектора G размерности К. Проанализировать выполнение программы на примере: G={-1; 4; 5; -3; -2; 1; 3; -7;}
-
Определение состава входных и выходных данных. Входные данные: - размерность K вектора G - элементы вектора G Выходные данные: - последний положительный элемент вектора G
-
Математическое описание.
i=[1; K],
K=1, 2, 3,
...
-
Р




0
3
12
1
Начало
K
Конец
i<=K
нет
да
p, i
15
16
2
i=1
p=G(i)
4
G(i)
10
i<=K
да
нет
7
p=0
8
n=0
5
i=i+1
13
n=i
G(i)
6
9
i=1
11
G(i)>0
да
нет
i=i+1
14
азработка схемы алгоритма. -
Разработка визуальной части.

4 Разработка кода приложения. Private Sub Command1_Click()
Dim G() As Single, K As Integer, i As Integer, p As Single, n As Single
K = Text1
ReDim G(K) As Single
Print "G=";
For i = 1 To K
G(i) = InputBox("Введите элемент вектора G под номером " & i)
Print G(i);
Next
p = 0
n = 0
For i = 1 To K
If G(i) > 0 Then
p = G(i)
n = i
End If
Next
Print "Последний наибольший элемент G(" & n & ")=" & p
End Sub
5 Отладочный
пример.
Задание №2
1 Постановка задачи.
-
Словесное описание задачи. Определить индекс столбца наибольшего элемента К-й строки матрицы W размерности М*L. Для отладки программы контрольный пример выбрать самостоятельно.
-
Определение состава входных и выходных данных. Входные данные: - количество строк M матрицы W - количество столбцов L матрицы W - число K (K<=M) - элементы матрицы W Выходные данные: - индекс столбца наибольшего элемента К-й строки матрицы W
-
Математическое описание.
,
M=1, 2, 3, ...
j=[1;N],
N=1, 2, 3,
...
-
Р


0
8
1
Начало
M, L, K
j=j+1
55
j<=L
нет
да
26
i=1
6
W(i,j)
j<=L
W(i,j)
7
11
n=1
азработка
схемы алгоритма.
35
Конец
i<=M
нет
да
W(K,n), n
19
i=i+1
9
46
j=1
13
да
нет
15
max=W(K,j)
10
max=W(K,1)
14
W(K,j)>max
да
нет
18
17
j=j+1
12
j=2
16
n=j
3 Разработка
визуальной
части.
4 Разработка кода приложения. Private Sub Command1_Click()
Dim W() As Single, M As Integer, L As Integer, K As Integer, i As Integer, j As Integer, max As Single, n As Single
M = Text1
L = Text2
K = Text3
ReDim W(M, L) As Single
For i = 1 To M
For j = 1 To L
W(i, j) = InputBox("Введите элемент матрицы W под номером " & i & "," & j)
Print W(i, j);
Next
Next
max = W(K, 1)
n = 1
For j = 2 To L
If W(K, j) > max Then
max = W(K, j)
n = j
End If
Next
Print "Наибольший элемент " & K & " строки W(" & K & "," & n & ")=" & max
End Sub
5 Отладочный пример.

