Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы программирования (КБ).doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
956 Кб
Скачать
☆

5.Задачи для лабораторных работ

  1. Составить программу, решающую системы линейных уравнений методом Гаусса. Исходная матрица уравнения является треугольной. Для хранения структуры данных использовать одномерные массивы.

Примечание: Программа не должна оперировать с двумерными массивами

  1. Написать программу, производящую арифметические операции с помощью польской бесскобочной записи. Для хранения чисел использовать стеки.

Примечание: Обычная запись числа: (10+2)*5. Польская бесскобочная запись для данного выражения имеет вид: 10  2  + 5  *, где символом  обозначается помещение элемента в стек. Программа должная выглядеть следующим образом. На экране в любой момент времени можно ввести либо какое-либо число, либо арифметическую операцию (+,-,*,/). Если вводится число, то оно автоматически помещается в стек. Если вводится какая-либо арифметическая операция, то должны извлечься два последних числа из стека, произвестись над ними арифметические действия и затем результат помещается в стек и выводится на экран. Необходимо предусмотреть возможность предупреждения пользователя, когда он собирается выполнить какое-либо арифметическое действие над двумя числами, а в стеке только одно число, например: 10  2  + 5  * - +

  1. Написать программу, которая умеет вставлять, удалять элементы из бинарного упорядоченного дерева, а также отображать текущую структуру дерева.

Примечание: Отображать структуру дерева можно в любом виде, однако самым простым способом представляется отображение дерева в режиме каталога

  1. На основе программы 3 реализовать один из алгоритмов балансировки деревьев.

Примечание: Балансировка дерева должна осуществляться на момент вставки. Удаление элементов из сбалансированного дерева можно опустить. Также в программе должна быть предусмотрена возможность отображения текущей конфигурации дерева

  1. Реализовать сравнительный анализ не менее 5 способов сортировки, которые принадлежат не менее четырем семействам методов (сортировка путем вставок, обменная сортировка, сортировка посредством выбора, сортировка методом слияния, сортировка методом распределения).

Примечание: Для сравнения методов должен использоваться один и тот же массив случайных чисел. Количество элементов в массиве должно задаваться с клавиатуры. Результатом работы программы должна быть таблица, в которой приводятся реализованные методы сортировок и затраченное ими машинное время на выполнение алгоритма.

  1. Написать программу, реализующую сравнительный анализ трех способов последовательного поиска

  1. Написать программу, на вход которой подается текстовый файл. Входной текстовый файл должен быть разобран по словам, которые необходимо поместить в хеш-таблицу. Программа должна уметь запрашивать слова у пользователя и отвечать на вопрос: есть ли текущее слово в тексте или оно отсутствует

  1. Написать программу, находящую минимальное остовное дерево для графа

  1. Написать программу, определяющую кратчайший путь в графе от выбранной вершины до всех остальных с помощью любого известного алгоритма

  1. Написать программу, определяющую максимальный поток в графе.