Методы сортировки данных и программа сравнения алгоритмов сортировки на эффективность

Nbsp;

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Существо курсовой работы состоит в разработке алгоритма и программы на языке высокого уровня.

Задание на курсовую работу включает нескольких пунктов. Пункты задания в программе разрабатываются в рамках отдельных функций. Интерфейс пользователя оформляется в виде меню.

Задачи на курсовую работу дифференцируются по степени сложности на возможные оценки «удовлетворительно», «хорошо», «хорошо и отлично», «отлично».

Уровень сложности и вариант задания выбирается самостоятельно среди не выбранных ранее номеров заданий другими студентами (выбор согласовывается с преподавателем).

Срок представления отчетов по курсовой работе: 30 апреля 2019 г.

 

Оценка «удовлетворительно»

Выполнение минимальных требований по правилам оформления отчета, приведенных в Методических рекомендациях и требований задания.

 

Вариант № 1

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных значений размерностью [4 ´ 5] элементов и выводит его на экран. Вещественные элементы должны содержать не более 3-х знаков после запятой;

б) производит поиск max или min элемента в указанной строке матрицы и результат выдает на экран. Предусмотреть возможность многократного поиска, по запросу пользователя;

в) по окончании работы сохраняет матрицу в файле до следующего сеанса работы, а результаты поиска (max или min элемента для запрашиваемых строк) – в другом файле.

 

Вариант № 2

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла одномерный массив целых чисел размерностью [15] элементов и выводит его на экран. Элементы массива в файле расположены в виде одного столбца;

б) производит поиск max или min элемента массива по запросу и результат выдает на экран. Предусмотреть возможность повторного поиска по запросу пользователя;

в) по окончании работы сохраняет массив в файле с именем. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 5] элементов с двумя пробелами между ними.

 

Вариант № 3

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [4 ´ 5] элементов и выводит его на экран. Элементы массива в файле могут быть расположены в виде одного столбца или одной строки;

б) многократно производит изменение матрицы путем замены указанного элемента на другой, вводимый с клавиатуры, и выводит измененную матрицу на экран;

в) по окончании работы сохраняет матрицу в файле с именем. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 5] элементов с двумя пробелами между ними.

 

Вариант № 4

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла одномерный массив целых чисел размерностью [25] элементов и выводит его на экран. Элементы массива в файле расположены произвольно: в виде одного столбца или одной строки;

б) производит расчет среднего арифметического элементов массива, изменяет указанный пользователем элемент и вновь производит расчет среднего арифметического элементов нового массива. Предусмотреть многократную возможность изменения элементов массива;

в) по окончании работы сохраняет новый массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [5 ´ 5] элементов с двумя пробелами между ними, а результаты вычисления среднего арифметического элементов записываются в другой файл.

 

Вариант № 5

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [4 ´ 5] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены в виде одного столбца или одной строки;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанного пользователем столбца;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 5] элементов с двумя пробелами между ними, а результаты вычисления среднего арифметического элементов и номер соответствующего столбца записываются в другой файл.

 

Вариант № 6

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла одномерный массив целых чисел размерностью [15] элементов и выводит его на экран. Элементы массива в файле расположены в виде одной строки;

б) многократно, в зависимости от запроса, производит подсчет количества отрицательных, или положительных, или нулевых элементов массива и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 5] элементов с двумя пробелами между ними, а результаты количества отрицательных, положительных и нулевых элементов массива записываются в другой файл.

 

Вариант № 7

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [4 ´ 5] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены в виде одного столбца или одной строки;

б) многократно, в зависимости от запроса, производит подсчет суммы элементов указанной строки и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 5] элементов с двумя пробелами между ними, а результаты подсчета суммы элементов указанной строки и ее номер записываются в другой файл.

 

Вариант № 8

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла одномерный массив целых чисел размерностью [15] элементов и выводит его на экран. Элементы массива в файле расположены в виде одного столбца;

б) производит расчет суммы элементов массива, изменяет указанный пользователем элемент и вновь производит расчет суммы элементов нового массива. Предусмотреть многократную возможность изменения элементов массива;

в) по окончании работы сохраняет новый (последний) массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 5] элементов с двумя пробелами между ними, а результаты суммы элементов всех получаемых в результате выполнения п. б) массивов записываются в другой файл.

 

Вариант № 9

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [3 ´ 6] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанной строки матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними, а результаты поиска записываются в другой файл.

 

Вариант № 10

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [3 ´ 4] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанного столбца матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 4] элементов с двумя пробелами между ними, а результаты поиска max или min элемента указанных столбцов матрицы и их номера записываются в другой файл.

 

Вариант № 11

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [3 ´ 6] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит изменение матрицы путем замены указанного элемента на другой, вводимый с клавиатуры и выводит измененную матрицу на экран;

в) по окончании работы сохраняет последний измененный массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними.

 

Вариант № 12

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [4 ´ 6] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанной строки;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 6] элементов с двумя пробелами между ними, а результаты расчета среднего арифметического элементов указанных строк матрицы и их номера записываются в другой файл.

 

Вариант № 13

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных значений размерностью [3 ´ 6] элементов и выводит его на экран. Вещественные элементы должны содержать не более 5-и знаков после запятой;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанного столбца;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними, а результаты расчета среднего арифметического элементов указанных столбцов матрицы и их номера записываются в другой файл.

 

Вариант № 14

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных значений размерностью [3 ´ 6] элементов и выводит его на экран. Вещественные элементы должны содержать не более 5-и знаков после запятой;

б) многократно, в зависимости от запроса, производит подсчет количества отрицательных, или положительных, или нулевых элементов матрицы и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними, а число отрицательных, положительных и нулевых элементов массива записываются в другой файл.

 

Вариант № 15

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла, имя которого задает пользователь, двумерный массив целых чисел размерностью [3 x 6] элементов и выводит его на экран;

б) многократно, в зависимости от запроса, производит подсчет суммы элементов указанной строки и выдает результат на экран;

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

 

Вариант № 16

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [3 ´ 6] элементов и выводит его на экран в виде матрицы. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит подсчет суммы элементов указанного столбца и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними, а результаты расчета суммы элементов указанных столбцов матрицы и их номера записываются в другой файл.

 

Вариант № 17

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных чисел размерностью [4 ´ 5] элементов и выводит его на экран в виде матрицы. При выводе все вещественные числа ограничены 4-мя знаками после запятой. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанной строки матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 5] элементов с двумя пробелами между ними, а результаты поиска max или min элемента указанных строк матрицы и их номера записываются в другой файл. В этом же файле сохраняется результат определения самого максимального и самого минимального из найденных элементов в указанных строках.

 

Вариант № 18

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных чисел размерностью [4 ´ 5] элементов и выводит его на экран в виде матрицы. При выводе все вещественные числа ограничены 4-мя знаками после запятой. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанного столбца матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 5] элементов с двумя пробелами между ними, а результаты поиска max или min элемента указанных столбцов матрицы и их номера записываются в другой файл. В этом же файле сохраняется результат определения самого максимального и самого минимального из найденных элементов в указанных столбцах.

 

Вариант № 19

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [3 ´ 4] элементов и выводит его на экран. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит изменение матрицы путем замены указанного элемента на другой, вводимый с клавиатуры, и выводит измененную матрицу на экран;

в) по окончании работы сохраняет измененный массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 4] элементов с двумя пробелами между ними, а величины измененных (старых) элементов и значение их индексов [i,j] записываются в другой файл.

 

Вариант № 20

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив целых чисел размерностью [7 ´ 2] элементов и выводит его на экран. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанной пользователем строки;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [7 ´ 2] элементов с двумя пробелами между ними, а результаты расчета среднего арифметического элементов указанных строк матрицы и их номера записываются в другой файл.

Вариант № 21

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный целочисленный массив размерностью [3 ´ 7] элементов и выводит его на экран. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанного пользователем столбца;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 7] элементов с двумя пробелами между ними, а результаты расчета среднего арифметического элементов указанных столбцов матрицы и их номера – в другом файле.

 

Вариант № 22

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный целочисленный массив размерностью [3 ´ 7] элементов и выводит его на экран. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит подсчет количества отрицательных, или положительных, или нулевых элементов матрицы и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 7] элементов с двумя пробелами между ними, а результаты количества отрицательных, положительных и нулевых элементов массива – в другом файле.

 

Вариант № 23

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла, имя которого задает программист, двумерный массив целочисленных чисел размерностью [4 ´ 5 ] элементов и выводит его на экран;

б) многократно, в зависимости от запроса, производит подсчет суммы элементов указанной строки и выдает результат на экран;

в) по окончании работы сохраняет (переписывает) массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 7] элементов с тремя пробелами между ними. Номера указанных строк, значение всех их элементов и сумма элементов каждой строки последовательно записывается в другой файл.

 

Вариант № 24

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный целочисленный массив размерностью [3 ´ 6] элементов и выводит его на экран. Элементы массива в файле могут быть расположены произвольно;

б) многократно, в зависимости от запроса, производит подсчет суммы элементов указанного столбца и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [4 ´ 6] элементов с тремя пробелами между ними, а номера указанных столбцов, значение всех их элементов и сумма элементов каждого столбца последовательно записывается в другой файл.

 

Вариант № 25

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла двумерный массив вещественных чисел размерностью [2 ´ 6] элементов и выводит его на экран в виде матрицы. При выводе все вещественные числа ограничены 4-мя знаками после запятой. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанной строки матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [2 ´ 6] элементов с двумя пробелами между ними, а результаты поиска max или min элемента указанных строк матрицы и их номера – в другом файле. В этом же файле сохраняется результат определения самого максимального и самого минимального из найденных элементов в указанных строках.

 

Вариант № 26

а) вводит с клавиатуры или читает из файла двумерный массив вещественных чисел размерностью [3´ 6] элементов и выводит его на экран в виде матрицы. При выводе все вещественные числа ограничены 4-мя знаками после запятой. Элементы массива в файле могут быть расположены произвольно;

б) многократно производит в зависимости от запроса поиск max или min элемента указанного столбца матрицы и результат выдает на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 6] элементов с двумя пробелами между ними, а результаты поиска max или min элемента указанных столбцов матрицы и их номера – в другом файле. В этом же файле сохраняется результат определения самого максимального и самого минимального из найденных элементов в указанных столбцах.

 

Вариант № 27

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла, имя которого задает программист, двумерный целочисленный массив размерностью [5 ´ 6] элементов и выводит его на экран;

б) многократно производит изменение матрицы путем замены указанного элемента на другой, вводимый с клавиатуры, и выводит измененную матрицу на экран;

в) по окончании работы сохраняет последний измененный массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [2 ´ 6] элементов с двумя пробелами между ними. В другом файле сохраняются значения и индексы [i,j] измененных элементов.

 

Вариант № 28

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла одномерный массив вещественных чисел размерностью [12] элементов и выводит его на экран. Вещественные числа при выводе должны содержать не более 4-х знаков после запятой;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического только четных, или только нечетных элементов массива;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [2 ´ 6] элементов с двумя пробелами между ними. В другом файле сохраняются значения рассчитываемых элементов и результат их среднего арифметического.

 

Вариант № 29

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла, имя которого задает программист, двумерный целочисленный массив размерностью [2 ´ 4] элементов и выводит его на экран. Данные в файле расположены произвольно;

б) многократно, в зависимости от запроса, производит расчет среднего арифметического элементов указанного столбца;

в) по окончании работы сохраняет массив в файле с именем, указанным программистом. Данные этого массива сохраняются в виде матрицы, размерностью [3 ´ 7] элементов с двумя пробелами между ними, а результаты расчета среднего арифметического элементов указанных столбцов матрицы и их номера – в другом файле.

 

Вариант № 30

Разработать блок-схему алгоритма программы и программу, которая:

а) вводит с клавиатуры или читает из файла, имя которого задает программист, одномерный массив целых чисел размерностью [14] элементов и выводит его на экран;

б) многократно, в зависимости от запроса, производит подсчет количества отрицательных, или положительных, или нулевых элементов массива и выдает результат на экран;

в) по окончании работы сохраняет массив в файле. Данные этого массива сохраняются в виде матрицы, размерностью [2 ´ 7] элементов с двумя пробелами между ними. Количество отрицательных, положительных и нулевых элементов массива сохраняет в другом файле.


Оценка «хорошо»

«Хорошо» - выполнение минимальных требований по правилам оформления отчета, приведенных в Методических рекомендациях и требований задания.

Вариант 1

Написать программу, вычисляющую значение матрицы Сn ×m, получаемое в результате произведения матриц Аn× p и Вp× m. Элементы матрицы Сn ×m вычисляются по формуле:

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

1. Матрицы А и В размерности не менее двух (например, 100 ´ 100) .

2.  Величины n, p и m задаются пользователем.

Порядок вычислений:

1) Ввод с клавиатуры и вывод на экран матриц А и В соответствующей размерности;

2) Проверка условий существования произведения этих матриц;

3) Вычисление элементов матрицы С по рекуррентной формуле;

4) Вывод на экран матрицы С.

Тестовые примеры:

1.

1.1.  Матрица С =А × В существует, так как число столбцов А равно числу строк В: р=3

Ответ

1.2.  Матрица С =В × А не существует, так как число столбцов В не равно числу строк А: 3 ¹ 2

 

2.

2.1.  Матрица С =А × В существует, так как число столбцов А равно числу строк В: р=3

Ответ

2.2.  Матрица С =В × А существует, так как число столбцов В равно числу строк А: 3=3

Ответ

Вариант 2

Написать программу, вычисляющую определитель квадратной матрицы заданного (произвольного) порядка по формуле

,

где — дополнительный минор к элементу .

та формула называется разложением по строке. Или:

Вариант 3

Написать программу, которая вычисляет определитель матрицы методом Гаусса.

Размер матрицы до 100×100 элементов.

В процессе вычислений производится пошаговый вывод результатов на экран

 

Вариант 4

Написать программу, которая проверяет, является ли введённая с клавиатуры квадратная матрица "магическим" квадратом. Размер матрицы до 100×100 элементов. "Магическим" квадратом называется матрица, у которой сумма чисел в каждом горизонтальном ряду, в каждом вертикальном и по каждой из диагоналей одна и та же


 

Оценка «хорошо» и «отлично»

«Хорошо» - выполнение минимальных требований по правилам оформления отчета, приведенных в Методических рекомендациях и требований задания. «Отлично» - при использовании и применении средств, повышающих эффективность алгоритмов и структуру программы

Вариант 1

1. Описать структуру с именем AEROFLOT, содержащую следующие поля:

Ø название пункта отправления рейса;

Ø название пункта назначения рейса;

Ø дата вылета;

Ø время вылета;

Ø номер рейса;

Ø тип самолета.

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

2.1.  Считывает данные из файла в массив, состоящий не менее, чем из 10 элементов структурированного типа AEROFLOT; записи в файле должны содержать не менее двух рейсов по одному направлению (пунктам отправления и назначения); (2 балла)

2.2.  Выводит на экран содержимое файла с базой по расписанию движения самолетов в виде таблицы, с указанием наименований столбцов; (3 балла)

2.3.  Упорядочивает данные по пункту отправления; (2 балла)

2.4.  Находит и выводит на экран, упорядоченные по дате вылета, данные обо всех рейсах по заданным с клавиатуры пунктам отправления и назначения; если таких рейсов нет, выдать на дисплей соответствующее сообщение. (5 баллов)

2.5.  Находит и выводит на экран все маршруты в указанный с клавиатуры пункт назначения, упорядоченные по дате вылета; если таких рейсов нет, выдать на дисплей соответствующее сообщение. (5 баллов)

2.6.  Упорядочивает все маршруты по времени вылета на указанную дату, вводимую с клавиатуры; (3 балла)

3. Дополнительные условия:

3.1.  Каждый из пунктов 2.2-2.6 реализован в виде отдельных функций (5 баллов (1+1+1+1+1))

3.2.  Для пунктов 2.3-2.6 реализована одна и та же (общая для всех) функция сортировки (5 баллов).

3.3.  Интерфейс программы реализован в виде меню выбора пунктов 2.2-2.6 с возможностью многократного повтора выборов пунктов меню для 2.2-2.6 («Повторить?- нажмите 'Y'») и окончанием работы программы после выбора специального пункта («Выход из программы – нажмите 'N'») (5 баллов).

Вариант 2

1. Описать структуру с именем WORKER, содержащую следующие поля:

Ø фамилия и инициалы работника;

Ø название занимаемой должности;

Ø год поступления на работу.

Ø дата рождения работника (год, месяц, число – отдельные поля)

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

2.1.  Считывает данные из файла в массив, состоящий не менее, чем из 10 элементов структурированного типа WORKER; записи в файле должны содержать не менее двух сотрудников, месяц рождения которых один и тот же; (2 балла)

2.2.  Выводит на экран содержимое файла с базой по сотрудникам в виде таблицы, с указанием наименований столбцов; (3 балла)

2.3.  Упорядочивает данные по фамилии; (2 балла)

2.4.  Находит и выводит на экран, упорядоченные по стажу работы, данные обо всех сотрудниках. Стаж работы вычисляется исходя из текущей даты (год) и даты приема на работу (год). Границы стажа работы вводятся с клавиатуры (Например, «вывести полные данные о тех, стаж работы которых >=, <= X лет.»). При выводе данных о таких сотрудниках выводится и дополнительная графа со стажем работы; если работников с таким стажем нет, выдать на дисплей соответствующее сообщение. (5 баллов)

2.5.  Находит и выводит на экран всех работников и их данные по указанному с клавиатуры месяцу рождения работника, упорядоченные по числу даты рождения в этом месяце; если такого месяца нет в датах рождения сотрудников, выдать на дисплей соответствующее сообщение. (5 баллов)

2.6.  Упорядочивает и выводит в виде таблицы список всех сотрудников, упорядоченный по возрасту, с указанием этого возраста в дополнительной графе (3 балла)

3. Дополнительные условия:

3.1.  Каждый из пунктов 2.2-2.6 реализован в виде отдельных функций (5 баллов (1+1+1+1+1))

3.2.  Для пунктов 2.3-2.6 реализована одна и та же (общая для всех) функция сортировки (5 баллов).

3.3.  Интерфейс программы реализован в виде меню выбора пунктов 2.2-2.6 с возможностью многократного повтора выборов пунктов меню для 2.2-2.6 («Повторить?- нажмите 'Y'») и окончанием работы программы после выбора специального пункта («Выход из программы – нажмите 'N'») (5 баллов).

Вариант 3

1. Описать структуру с именем NOTE, содержащую следующие ноля:

Ø  фамилия, имя;

Ø  дата рождения (массив из трех чисел: день, месяц, год – отдельные поля).

Ø  номер телефона;

Ø  имя оператора-поставщика услуг телефонии

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

2.1.  Считывает данные из файла в массив, состоящий не менее, чем из 10 элементов структурированного типа NOTE; записи в файле должны содержать не менее двух абонентов, месяц рождения и операторы связи которых одни и те же; (2 балла)

2.2.  Выводит на экран содержимое файла с базой по абонентам в виде таблицы, с указанием наименований столбцов; (3 балла)

2.3.  Упорядочивает данные по фамилии; (2 балла)

2.4.  Находит и выводит на экран, упорядоченные по номерам телефонов, данные обо всех абонентах, у которых один и тот же оператор связи. Имя оператора связи вводится с клавиатуры. При выводе данных о таких абонентах выводится и дополнительная графа с возрастом абонента; если операторов с таким именем нет, выдать на дисплей соответствующее сообщение. (5 баллов)

2.5.  Находит и выводит на экран всех абонентов и их данные по указанному с клавиатуры месяцу рождения абонента, упорядоченные по числу даты рождения в этом месяце; если такого месяца нет в датах рождения абонентов, выдать на дисплей соответствующее сообщение. (5 баллов)

2.6.  Упорядочивает и выводит в виде таблицы список всех абонентов, упорядоченный по трем первым цифрам номера телефона (3 балла)

3. Дополнительные условия:

3.1.  Каждый из пунктов 2.2-2.6 реализован в виде отдельных функций (5 баллов (1+1+1+1+1))

3.2.  Для пунктов 2.3-2.6 реализована одна и та же (общая для всех) функция сортировки (5 баллов).

3.3. Интерфейс программы реализован в виде меню выбора пунктов 2.2-2.6 с возможностью многократного повтора выборов пунктов меню для 2.2-2.6 («Повторить?- нажмите 'Y'») и окончанием работы программы после выбора специального пункта («Выход из программы – нажмите 'N'») (5 баллов).

Вариант 4.

1. Описать структуру с именем VKLAD в соответствии с таблицей вида:

№ счета ФИО Вид вклада Сумма вклада (в руб.)

0012

Сидоров В.И.

Срочный

3 500р.

0100

Андреева И.Т.

Депозит

1 000р.

0200

Ковалева О.А.

Пенсионный

550р.

 

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

2.1. Считывает данные из файла в массив, состоящий не менее, чем из 10 элементов структурированного типа VKLAD; записи в файле должны содержать не менее двух записей по каждому вкладу; (2 балла)

2.2. Выводит на экран содержимое файла с базой по вкладчикам, упорядоченной по номеру счета в виде таблицы (5 баллов):

№ счета ФИО Вид вклада Сумма вклада (в руб.) Годовой процент Сумма по процентам за месяц Сумма к выплате  

 

 

 

 

 

 

 

 

При этом поля «Годовой процент», «Сумма по процентам за месяц и «Сумма к выплате» - вычисляемые, не входят в базу данных вкладчиков, зависят от вида вклада в соответствие с правилом:

Годовой процент={12%, если вклад «Пенсионный»;24%, если вклад «Срочный», 30%, если вклад «Депозит»}

2.3. Упорядочивает данные по фамилии; (3 балла)

2.4. Находит и выводит на экран, упорядоченные по сумме вклада, данные обо всех вкладчиках, у которых один и тот же вид вклада. Наименование вклада вводится с клавиатуры; если такого вклада нет, выдать на дисплей соответствующее сообщение. (5 баллов)

2.5. Находит и выводит на экран всех вкладчиков и их данные, «Сумма к выплате» для которых выше среднего значения «Суммы к выплате» для всех вкладчиков. Выводимые данные упорядочиваются по полю «Сумма к выплате» (5 баллов)

3. Дополнительные условия:

3.1. Каждый из пунктов 2.1-2.5 реализован в виде отдельных функций (5 баллов (1+1+1+1+1))

3.2.  Для пунктов 2.2-2.4 реализована одна и та же (общая для всех) функция сортировки (5 баллов).

3.3. Интерфейс программы реализован в виде меню выбора пунктов 2.1-2.5 с возможностью многократного повтора выборов пунктов меню для 2.1-2.5 («Повторить?- нажмите 'Y'») и окончанием работы программы после выбора специального пункта («Выход из программы – нажмите 'N'») (5 баллов).

Вариант 5.

Расписание движения поездов

1. Описать структуру TRAIN с полями:

· название пункта отправления;

  • название пункта назначения;
  • номер поезда;
  • день отправления.
  • время отправления.

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

· чтение из файла данных (не менее 10) в массив, состоящий из элементов типа TRAIN и вывод его на экран в виде таблицы с шапкой имен полей;

Пример

отправление назначение поезд день время
Санкт-Петербург Москва 15 четверг 6.30
Санкт-Петербург Адлер 22 понедельник 22.45
Москва Адлер 317 среда 16.25
Санкт-Петербург Владивосток 34 понедельник 17.38
Мурманск Адлер 511 понедельник 7.00
……….. …………………. …… …………….. ………

· разместить данные с расписанием в алфавитном порядке по названиям пунктов отправления и назначения;

Пример

отправление назначение поезд день время
Москва Адлер 317 среда 16.25
Мурманск Адлер 511 понедельник 7.00
Санкт-Петербург Адлер 22 понедельник 22.45
Санкт-Петербург Владивосток 34 понедельник 17.38
Санкт-Петербург Москва 15 четверг 6.30
……….. ………… …… …………….. ……

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

Пример

День => Понедельник

Время => 17.00

отправление назначение поезд день время
Санкт-Петербург Владивосток 34 понедельник 17.38
Санкт-Петербург Адлер 22 понедельник 22.45
……………… …………… ……… ………………… …………

· вывод информации о поездах, отходящих по указанным пунктам назначения, отсортированных по дням недели и времени отправления; если таких поездов нет, выдать на дисплей соответствующее сообщение

Пример

Направление => Адлер

отправление назначение поезд день время
Мурманск Адлер 511 понедельник 7.00
Санкт-Петербург Адлер 22 понедельник 22.45
Москва Адлер 317 среда 16.25
……………… …………… ……… ………………… …………

3. Каждое действие программы должно быть реализовано в виде функции-подпрограммы.

4. Программа и каждая подпрограмма должны начинаться и заканчиваться сервисным меню вида:

РАСПИСАНИЕ ДВИЖЕНИЯ ПОЕЗДОВ

************************************************

Полная информация -> нажмите 1;

По пунктам отправления -> нажмите 2;

Поиск по дням и времени -> нажмите 3;

По пунктам назначения -> нажмите 4;

Выход из меню -> нажмите 5;

Вариант 6.

Олимпийские игры.

· Написать программу, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства, завоеванное каждой командой-участницей, вычислить общее количество медалей и соответствующее ему число очков, и после этого упорядочить список в соответствии с набранным количеством очков. Количество очков вычисляется по следующему правилу: за золотую медаль команда получает семь очков, за серебряную — шесть, за бронзовую — пять очков.

Данные, введенные пользователем, выделены полужирным шрифтом.

Итоги Олимпийских игр

Введите в одной строке количество золотых,

серебряных и бронзовых медалей.

Австрия -> 3 5 9

Германия -> 12 9 8

Канада -> б 5 4

Китай -> 0 6 2

Корея -> 3 1 2

Норвегия -> 10 10 5

Россия -> 9 6 3

США -> 6 3 4

Финляндия -> 2 4 6

Япония -> 5 1 4

Итоги зимней Олимпиады в Нагано, 1998 г. Всего

  Страна Золото Серебро Бронза Всего Очков
1 Германия 12 9 8 29 178
2 Норвегия 10 10 5 25 155
3 Россия 9 6 3 18 114
4 Австрия 3 5 9 17 96
5 Канада 6 5 4 15 92
6 США 6 3 4 13 80
7 Финляндия 2 4 6 12 68
8 Япония 5 1 4 10 61
9 Китай 0 6 2 8 46
10 Корея 3 1 2 6 37

· Предусмотреть возможность анализа базы данных с помощью запросов по странам, медалям, местам… в виде «меню» с многофункциональной реализацией программы.

· Предусмотреть возможность использования данных о медалях команд, хранящихся в файле данных

Вариант 7.

Минные поля

На квадратном клетчатом листе бумаги размером n x n нарисована схема минных полей в виде прямоугольников. Каждый прямоугольник состоит из целых клеток, различные прямоугольники не накладываются друг на друга и не соприкасаются. В заданном массиве А элемент А[i, j] = 1, если клетка [i, j] принадлежит какому-либо минному полю (заминирована) и А[i, j] = 0 в противном случае.

 

Задача

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

Технические требования

Входные данные вводятся из файла INPUT5.TXT.

Формат входных данных

Исходный файл содержит (n+1) строк. В первой строке содержится число n – размерность схемы. В последующих n строках содержатся n чисел (0 или 1) – сведения о наличии мин в каждой клетке схемы (слева направо и снизу в верх).

Формат выходных данных

Вывести на экран количество минных полей. 

 

3.1.1.1 Пример файла входных данных

3.1.1.2 Пример выходных данных

3.1.1.3 INPUTP6.TXT INPUTB6.TXT
8 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 8 0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0 0,0,0,0,1,1,1,0 0,0,0,0,0,0,0,0 1,0,0,1,1,1,0,0 1,0,0,1,1,1,0,0 0,0,0,1,1,1,0,0 1,0,0,0,0,0,0,0 4
8 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 8 0,0,0,0,1,1,0,1 0,1,1,0,1,1,0,1 0,1,1,0,0,0,0,0 0,0,0,0,0,0,1,1 0,0,1,1,0,0,0,0 0,0,1,1,0,0,0,0 1,0,1,1,0,0,1,1 1,0,0,0,0,0,1,1 7

 

 


Оценка «отлично»

Исследовательская работа.

Выполнение минимальных требований по правилам оформления отчета, приведенных в Методических рекомендациях или по правилам оформления конкурсных работ.

Участие в конкурсе студенческих работ предопределяет автоматический зачет по курсовой работе с выставлением оценки «Отлично».

Возможность предложение собственной исследовательской темы в рамках курса дисциплины.

Задача 1.

Разработка алгоритмов и программ реализации связных списков (условная структура реляционной базы данных).

Пример. Связать список Группы студентов со списками Кадровых данных и Экзаменационных ведомостей для тех же студентов.

Задача 2.

Программная реализация методов поиска данных в древовидных структурах.

Пример. Библиотечный каталог, или принципы хранения информации на диске: Диск/Каталог/Подкаталог/файл, или поиск информации в доменах сети

Задача 3.

Программная реализация задачи выбора оптимального маршрута транспортной сети (сетевая структура хранения данных, двусвязные списки, дуги)

Пример. Нахождение минимального пути по карте автомобильных дорог или карте города

Задача 4.

Рекурсивные алгоритмы в задаче пересчета плана перевозок груза в транспортной задаче линейного программирования.

Пример. Удовлетворение заявок покупателей товарами с минимальными затратами продавцов по доставке этих товаров.

Задача 5.

Алгоритмы решения систем линейных уравнений для практических задач линейного программирования.

Примеры. а) поиск оптимального решения в транспортной задаче;

                  б) поиск оптимального решения в задаче распределения ресурсов

.                 …

Задача 6.

Методы сортировки данных и программа сравнения алгоритмов сортировки на эффективность

 

Задача 7.

Алгоритм морфологического разбора слова на примере


Дата добавления: 2019-03-09; просмотров: 312; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!