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




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

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


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

