Лабораторная работа: Производная алгоритмическая структура поиск

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

Государственное бюджетное образовательное учреждение высшего образования

«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА I»

Кафедра «ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»

Дисциплина: «Информатика»

ОТЧЕТ

по лабораторной работе

«ПРОИЗВОДНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ПОИСК»

Выполнил студент Егоров Я. Д.

Факультет ПГС

Группа УЗС-810

Санкт-Петербург 2019

Задача 1

1. Постановка задачи

Найти и напечатать минимальные элементы двух векторов C и D разной размерности. Определить их сумму и разность

Входные данные:

m - размерность вектора c, целое число

n - размерность вектора D, целое число;

С - вектор, массив вещественных чисел; D - вектор, массив вещественных чисел.

Выходные данные:

Cmin - минимальный элемент матрицы C, вещественное число;

Dmin - минимальный элемент матрицы D, вещественное число;

Sum - сумма минимальных элементов, вещественное число;

Raz - разность минимальных элементов, вещественное число.

2.Математическая модель

sum=Cmin+Dmin raz=Cmin-Dmin

1. Разработка алгоритма

2. Разработка визуальной части проекта

Рис. 1

вектор матрица алгоритм

Рис. 2

5.Код приложения

Private Sub Command1_Click()

Dim n As Integer, i As Integer, sum As Integer, raz As Integer

Dim C() As Single, D() As Single, M As Single, Cmin As Integer, Dmin As Integer

n = InputBox("введите размерность N=")

M = InputBox("введите размерность вектора D=")

ReDim C(1 To n)

For i = 1 To n

C(i) = InputBox("C(" & i & ")=")

Print "C(" & i & ") = " & C(i)

Next

Print

ReDim D(1 To M)

For i = 1 To M

D(i) = InputBox("D(" & i & ")=")

Print "D(" & i & ") = " & D(i)

Next

Print

Dmin = D(1)

Cmin = C(1)

For i = 2 To n

If C(i) < Cmin Then

Cmin = C(i)

End If

Next

For i = 2 To M

If D(i) < Dmin Then

Dmin = D(i)

End If

Next

sum = Cmin + Dmin

raz = Cmin - Dmin

Print "мин C = " & Cmin

Print "мин D = " & Dmin

Print "сумма минимальных элементов вектора = " & sum

Print "разность минимальных элементов вектора = " & raz

End Sub

6.Отладка программы

Рис. 3

Задание 2

1.Постановка задачи

Найти наибольший элемент матрицы А размерности mЧn, не превышающий значение ключа поиска F.

Входные данные:

{А} -матрица, массив вещественных чисел,

F- ключ поиска, вещественное число,

m - размерность матрицы, целое число,

n - размерность матрицы, целое число.

Выходные данные:

{А} -матрица, массив вещественных чисел,

Amax -наибольшее не превышающее F, вещественное число.

2. Математическая модель

Flag=false

Для всех i=1,2…m и j= 1, 2, 3, … n если A(i,j)>0 и A(i,j)<F, то Flag=true, присвоить Amax значение A(i,j) и продолжить процесс поиска.

Если по окончании поиска Flag=false вывести сообщение «Искомый элемент не найден»

3. Разработка алгоритма

Рис. 4

4. Разработка визуальной части проекта

Рис. 5

5. Код приложения

Private Sub Command1_Click()

Dim n As Integer

Dim M As Integer

Dim F As Integer

Dim A() As Single

Dim Amax As Single

Dim flag As Boolean

n = InputBox("введите размерность массива n")

M = InputBox("введите размерность массива M")

F = InputBox("введите ключ поиска")

flag = False

ReDim A(1 To M, 1 To n)

For i = 1 To M

For j = 1 To n

A(i, j) = Rnd(10) * 100

Print A(i, j),

Next

Print

Next

Amax = 0

For i = 1 To M

For j = 1 To n

If Amax < A(i, j) And A(i, j) <= F Then

Amax = A(i, j)

flag = True

End If

Next

Next

A(M, n) = Amax

If flag = True Then

MsgBox ("Amax=" & Amax)

Else

Print ("искомый элемент не найден")

End If

End Sub

6. Отладка приложения

при F=50 и F=1

Рис. 6

Источник: https://otherreferats.allbest.ru/download/1176081/