Старые отчёты / ФЫР / информатика!!!!!!!!! / 4.13
.docМИНИСТЕРСТВО ПУТЕЙ СООБЩЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПУТЕЙ СООБЩЕНИЯ
Кафедра «ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
ОТЧЕТ
о выполненной лабораторной работе № 4
по дисциплине «Информатика»:
Структура «Накопление»
Вариант 13
Выполнил студент
Дневного отделения
Факультет
ЭСУ
Группы ФМ-408
Санкт-Петербург
2004
Задание №1 1. Постановка задачи.
-
Словесное описание задачи. Найти среднее геометрическое первых K элементов вектора M размерности N. Присвоить полученное значение K элементу вектора M.
-
Определение состава входных и выходных данных. Входные данные: - размерность N вектора M - число K - элементы вектора M Выходные данные: - элементы вектора M - элементы вектора M после найденного среднего геометрического
-
Математическое описание.
N=1,
2, 3, …
-
Р




1
45
10
2
Начало
N, K
Конец
i<=N
нет
да
M(i)
13
14
36
i=1
P=P*M(i)
5
M(i)
9
i<=K
да
нет
7
i=1
8
P=1
12
M(K)=P^(1/K)
66
i=i+1
11
i=i+1
азработка
схемы алгоритма.
-
Разработка визуальной части.

4 Разработка кода приложения. Private Sub Command1_Click()
Dim N As Integer, M() As Single, K As Integer, P As Single, i As Integer
N = Text1
K = Text2
ReDim M(N) As Single
For i = 1 To N
M(i) = InputBox("Введите элемент вектора M под номером " & i)
Print M(i);
Next
P = 1
For i = 1 To K
P = P * M(i)
Next
M(K) = P ^ (1 / K)
For i = 1 To N
Print M(i);
Next
End Sub
5 Отладочный
пример.
Задание №2
1. Постановка задачи.
-
Словесное описание задачи. Вычислить значение
где G - матрица размерности
m*n; k
- заданное число. Для отладки программы
значения m, n,
k и матрицу выбрать
самостоятельно.
-
Определение состава входных и выходных данных. Входные данные: - количество строк матрицы - количество столбцов матрицы - число k - элементы матрицы Выходные данные: - число Gk
-
Математическое описание.
m=1,
2, 3, …
n=1, 2, 3, …
-
Р


1
55
8
2
Начало
m, n, k
i<=m
нет
да
i=i+1
j=j+1
9
65
j<=n
нет
да
36
i=1
46
j=1
7
G(i,j)
i=i+1
16
азработка
схемы алгоритма.
Конец
G(i,j), Gk
17
18
11
j=1
12
i<=m
да
нет
14
Gk=Gk+abs(G(i,j))
156
j=j+1
10
i=1
13
j<=k
да
нет
3 Разработка
визуальной
части.
4 Разработка кода проиложения. Private Sub Command1_Click()
Dim n As Integer, m As Integer, G() As Single, k As Integer, i As Integer, j As Integer, Gk As Single
m = Text1
n = Text2
k = Text3
ReDim G(m, n) As Single
For i = 1 To m
For j = 1 To n
G(i, j) = InputBox("Введите элемент №" & i & "," & j)
Print G(i, j);
Next
Next
For i = 1 To m
For j = 1 To k
Gk = Gk + Abs(G(i, j))
Next
Next
Print "Gk=" & Gk
End Sub
5 Отладочный
пример.

