Производная алгоритмическая структура поиск
Минимальные элементы двух векторов C и D разной размерности, их суммы и разности. Определение наибольшего элемента матрицы размерности mхn, не превышающего значение ключа поиска. Наибольший элемент матрицы. Разработка алгоритма, отладка и код приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 24.10.2019 |
Размер файла | 395,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Государственное бюджетное образовательное учреждение высшего образования
«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА 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
ReDim D(1 To M)
For i = 1 To M
D(i) = InputBox("D(" & i & ")=")
Print "D(" & i & ") = " & D(i)
Next
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
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
Размещено на Allbest.ru
...Подобные документы
Применение методов минимальных невязок, минимальных поправок, скорейшего спуска, сопряженных градиентов. Алгоритмы и блок-схемы решения. Выбор размерности матрицы системы и требуемой точности. Зависимость количества итераций от размерности матрицы.
курсовая работа [582,8 K], добавлен 21.01.2014Свободная среда разработки программного обеспечения для компилятора Free Pascal. Библиотека визуальных компонентов. Перенос Delphi-программ с графическим интерфейсом в различные операционные системы. Ввод размерности матрицы и умножение ее на вектор.
контрольная работа [16,9 K], добавлен 09.10.2013Поиск коэффициентов кубического уравнения. Расчет количества итераций для заданной погрешности по реккурентному соотношению. Заполнение матрицы по условию. Поиск наибольшего целочисленного элемента массива, не имеющего себе равных в другом массиве.
контрольная работа [52,7 K], добавлен 20.12.2012Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014Вывод преобразованной матрицы с новым содержимым вектора. Выдача на печать преобразованных матриц. Построение программы с массивами любой размерности, содержащими произвольные элементы. Расположение в матрице элементов в определенной последовательности.
контрольная работа [74,9 K], добавлен 12.01.2010Разработка структурной диаграммы программного модуля. Представление схемы для основных расчетов выбранного приложения для создания прямоугольной матрицы. Особенности создания пользовательского интерфейса. Тестирование и отладка спроектированного модуля.
курсовая работа [648,4 K], добавлен 27.05.2015Разработка эскизного и технического проектов программы преобразования заданной матрицы в ортогональную матрицу. Сравнивание транспонированной матрицы с обратной с целью проверки ортогональности. Выбор состава технических и программных средств реализации.
курсовая работа [52,1 K], добавлен 09.12.2014Элементарные функции: тригонометрические и экспоненциальные, для определения округлений и остатков, размерности и размера матриц, задания одномерных и дву- массивов, векторов-столбцов и векторов-строк, удаления строк и столбцов, перестановки элементов.
презентация [139,0 K], добавлен 24.01.2014GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.
курсовая работа [780,4 K], добавлен 20.11.2014Составление процедуры для матрицы, разложения матрицы на множители, решения системы линейных уравнений, нахождения определителя матрицы и матрицы с транспонированием. Суть метода квадратного корня. Разложение матрицы на множители. Листинг программы.
лабораторная работа [39,4 K], добавлен 18.09.2012Вычисление приближённых значений функций, представленных бесконечными рядами. Определение максимального элемента матрицы. Сортировка символов в порядке неубывания. Определение разности между первым и вторым значениями и вывод ее на экран как погрешность.
контрольная работа [20,9 K], добавлен 17.04.2014Реализация алгоритма поиска, его составляющие. Считывание матрицы лабиринта из файла, нахождение в нем свободных мест. Иерархия классов для работы в графическом режиме и вывода необходимого на экран. Дополнительные типы данных, используемые в программе.
курсовая работа [260,3 K], добавлен 17.01.2009Описание методов вычисления определителя матрицы. Математическое решение задачи с применением метода исключения Гаусса с выбором главного элемента. Схема алгоритма программы, описание переменных и структур данных, текст программы на языке Pascal.
курсовая работа [438,8 K], добавлен 16.02.2011Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.
курсовая работа [537,0 K], добавлен 02.06.2015Суммирование элементов столбцов заданной матрицы и получение результатов в одномерных массивах с помощью задания формулы и создания макросов. Нормирование вектора и нахождение его длины, объявление массива, указание его размерности, вывод формы.
контрольная работа [460,5 K], добавлен 18.01.2011Применение численного метода решения систем линейных алгебраических уравнений, используемых в прикладных задачах. Составление на базе метода матрицы Гаусса вычислительной схемы алгоритма и разработка интерфейса программы на алгоритмическом языке.
курсовая работа [823,9 K], добавлен 19.06.2023Понятие алгоритма как набора инструкций, описывающего порядок действий. Поиск в ширину - метод обхода графа и поиска пути в нем. Пример работы алгоритма поиска в ширину, его неформальное и формальное описание. Реализация с помощью структуры "очередь".
курсовая работа [684,8 K], добавлен 05.04.2015Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.
лабораторная работа [123,5 K], добавлен 15.01.2014Составление алгоритмов и написание программ циклической структуры с использованием векторов, указателей и векторов указателей на вектор на языке C++. Статическое и динамическое распределение памяти. Функция ввода и обработки элементов вектора или матрицы.
контрольная работа [210,5 K], добавлен 25.03.2015Вычисление суммы ряда с заданной точностью. Форма представления исходных данных. Разработка алгоритма и его описание. Выбор метода обработки информации. Упорядочение элементов строк матрицы по возрастанию. Программа подсчета числа слов в предложении.
курсовая работа [23,9 K], добавлен 11.02.2016