Лабораторная 6
.docxМИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Государственное бюджетное образовательное учреждение
высшего образования
«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА I»
Кафедра « ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
Дисциплина « Информатика»
ОТЧЕТ
о лабораторной работе №6
на тему:
«ПАС ПОИСК»
Вариант 29
Выполнил студент |
|
Факультета УПЛ-702 |
|
Шептунов Н.А. |
______________ |
подпись, дата |
подпись, дата |
|
|
Санкт-Петербург 2017
Задача 1.
Постановка задачи.
Увеличить значения первых r элементов одномерного массива Y, на значение максимального элемента этого же массива.
Входные данные:
n – размерность массива, целое чило
r – переменная
Y - массив вещественного типа
Выходные данные:
Y – массив вещественного типа
r – переменная
max – максимум вещественного типа
Математическая модель задачи.
Yi = Yi + max
Для всех i с начального значения до r
Разработка алгоритма.
Начало
n, r, {Y}
{
max=Yi
i=1
i<=n
i=1
i<=r
{Y}
Конец
max=Yi
i=i+1
Yi=Yi+max
i=i+1
max<Yi
Код приложения. Private Sub Command1_Click()
Dim Y() As Single, i As Integer, n As Integer, max As Single, r As Integer
n = InputBox("n")
r = InputBox("r")
ReDim Y(1 To n)
For i = 1 To n
Y(i) = InputBox("Y(" & i & ")")
Print Y(i);
Next
max = Y(1)
For i = 1 To n
If max < Y(i) Then
max = Y(i)
End If
Next
Print "r=" & r & " max=" & max
For i = 1 To r
Y(i) = Y(i) + max
Next
For i = 1 To n
Print Y(i);
Next
End Sub
Отладка приложения.
Задача2.
Постановка задачи.
Напечатать в два столбца индексы элементов матрицы Е размерности m×n, значения которых равны ключу поиска d.
Входные данные:
m – размерность строки массива
n – размерность столбцов
d – переменная вещественного типа
E – массив вещественного типа
Выходные данные:
d – переменная
E – массив вещественного типа
i – индекс строки
j – индекс столбца
Математическая модель задачи.
flag=False
Печать i, j, flag=True, если d = Eij
Печать «d≠ Eij», если flag=False
Разработка алгоритма.
Начало
m, n, d, {E}
d, {E}
F=false
i=1
i<=m
F=false
j=1
j<=n
d=Ei,j
i, j
j=j+1
F=True
i=i+1
«d ≠ Eij»
Конец
Код приложения.
Private Sub Command1_Click() Dim E() As Single, i As Integer, j As Integer, m As Integer, n As Integer, d As Single, F As Boolean m = InputBox("m") n = InputBox("n") d = InputBox("d") ReDim E(1 To m, 1 To n) For i = 1 To m For j = 1 To n E(i, j) = InputBox("E(" & i & " , " & j & ")") Print E(i, j); Next Print Next Print Print "d=" & d F = False For i = 1 To m For j = 1 To n If d = E(i, j) Then Print i & ", " & j F = True End If Next Next If F = False Then Print "net=d" End If End Sub
Отладка приложения.