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




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

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


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

