Перечень тем курсового проектирования
Вариант 1
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
сумму отрицательных элементов массива;
произведение элементов массива, расположенных между максимальным и минимальным элементами.
Упорядочить элементы массива по возрастанию.
Вариант 2
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
сумму положительных элементов массива;
произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию.
Вариант 3
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
произведение элементов массива с четными номерами;
сумму элементов массива, расположенных между первым и последним нулевыми элементами.
2. Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом – все отрицательные (элементы, равные 0, считать положительными).
Вариант 4
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
сумму элементов массива с нечетными номерами;
сумму элементов массива, расположенных между первым и последним отрицательными элементами.
2. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 5
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
максимальный элемент массива;
сумму элементов массива, расположенных до последнего положительного элемента.
2. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 6
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
минимальный элемент массива;
сумму элементов массива, расположенных между первым и последним положительными элементами.
2. Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, а потом – все остальные.
Вариант 7
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер максимального элемента массива;
2) произведение элементов массива, расположенных между первым и
вторым нулевыми элементами.
3) Преобразовать массив таким образом, чтобы в первой половине распола-
гались элементы, стоящие в нечетных позициях, а во второй половине – эле-
менты, стоящие в четных позициях.
Вариант 8
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым
отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все
элементы, модуль которых не превышает 1, а потом – все остальные.
Вариант 9
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) максимальный по модулю элемент массива;
2) сумму элементов массива, расположенных между первым и вторым
положительными элементами.
Преобразовать массив таким образом, чтобы, элементы, равные нулю, располагались после всех остальных.
Вариант 10
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) минимальный по модулю элемент массива;
2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Преобразовать массив таким образом, чтобы в первой половине располагались элементы, стоящие в четных позициях, а во второй половине – элементы,
стоящие в нечетных позициях.
Вариант 11
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.
20
Сжать массив, удалив из него все элементы, величина которых находится в интервале [a, b]. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 12
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер максимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого по-
ложительного элемента.
Преобразовать массив таким образом, чтобы сначала все располагались
элементы, целая часть которых лежит в интервале [a, b], а потом – все остальные.
Вариант 13
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, лежащих в диапазоне от А до В;
2) сумму модулей элементов массива, расположенных после максималь-
ного элемента.
Упорядочить элементы массива по убыванию модулей элементов.
Вариант 14
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, равных 0;
2) сумму модулей элементов массива, расположенных после минималь-
ного элемента.
Упорядочить элементы массива по возрастанию модулей элементов.
Вариант 15
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, больших С;
ного по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все
отрицательные элементы, а потом – все положительные (элементы, равные 0,
считать положительными).
21
Вариант 16
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество отрицательных элементов массива;
2) сумму модулей элементов массива, расположенных после минималь-
ного по модулю элемента.
Заменить все отрицательные элементы массива их квадратами и упорядо-
чить элементы массива по возрастанию.
Вариант 17
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество положительных элементов массива;
2) сумму модулей элементов массива, расположенных после последнего
элемента, равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все
элементы, целая часть которых не превышает 1, а потом – все остальные.
Вариант 18
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, меньших С;
2) сумму целых частей элементов массива, расположенных после по-
следнего отрицательного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все
элементы, отличающиеся от максимального, не более чем на 20 %, а по-
том – все остальные.
Вариант 19
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) произведение отрицательных элементов массива;
2) сумму положительных элементов массива, расположенных до макси-
мального элемента.
Изменить порядок следования элементов в массиве на обратный.
Вариант 20
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) произведение положительных элементов массива;
2) сумму положительных элементов массива, расположенных до мини-
мального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
Вариант 21
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с квадратными матрицами:
1) сложения двух матриц;
2) умножения одной матрицы на другую;
3) нахождения транспонированной матрицы;
4) вычисления определителя матрицы.
Матрицу описать следующим образом:
Const NMax=10;
Type Matrica=Array[l..NMax,!..Nmax] Of Real;
Используя этот модуль, решить следующие задачи.
1. Решить систему линейных уравнений N-го порядка (2 ≤ N ≤ 10) методом Крамера.
2. Задан массив величин типа Matrica. Отсортировать этот массив в порядке возрастания значений определителей матриц.
Вариант 22
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над векторами:
1) сложения;
2) вычитания;
3) скалярнго умножения векторов;
4) умножения вектора на число;
5) нахождения длины вектора.
Вектор представить следующим типом:
Type Vector=Record
X,Y: Real
End;
Используя этот модуль, решить задачи 1, 2.
1. Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов.
2. С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пap этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.
Вариант 23. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 ≤ Р ≤ 9):
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) перевода из десятичной системы счисления в Р-ичную;
6) перевода из Р-ичной системы счисления в десятичную;
7) функции проверки правильности записи числа в Р-ичной системе счисления;
8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
Р-ичное число представить следующим типом:
Type Chislo=Array[l..16] оf 0..9;
Используя этот модуль, решить задачи 1,2.
1. Возвести число в степень (основание и показатель степени записаны в Р-ичной системе счисления). Результат выдать в Р-ичной и десятичной системах счисления.
2. Дан массив А — массив чисел, записанных в Р-ичной системе счисления. Отсортировать его в порядке убывания. Результат выдать в Р-ичной и десятичной системах счисления.
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) перевода из двоичной системы счисления в шестнадцате-ричную;
6) перевода из шестнадцатеричной системы счисления в десятичную;
7) функции проверки правильности записи числа в шестнадцатеричной системе счисления;
8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
Используя этот модуль, решить следующие задачи.
1. Возвести число в степень (основание и показатель степени записаны в шестнадцатеричной системе счисления). Результат выдать в шестнадцатеричной и десятичной системах счисления.
2. Дан массив А — массив чисел, записанных в шестнадцатеричной системе счисления. Отсортировать его в порядке убывания. Результат выдать в шестнадцатеричной и десятичной системах счисления.
Вариант 25. Для некоторого множества заданных координатами своих вершин треугольников найти треугольник максимальной площади (если максимальную площадь имеют несколько треугольников, то найти первый из них). Предусмотреть возможность перемещения треугольников и проверки включения одного треугольника в другой. (Т. А. Павловская, Ю. А. Щупак C++ Объектно-ориентированное программирование, практикум)
Для реализации этой задачи составить описание класса треугольников на плоскости. Предусмотреть возможность объявления в клиентской программе (main) экземпляра треугольника с заданными координатами вершин. Предусмотреть наличие в классе методов, обеспечивающих:
1) перемещение треугольников на плоскости;
2) определение отношения > для пары заданных треугольников (мера сравнения — площадь треугольников);
3) определение отношения включения типа: «Треугольник 1 входит в (не входит в) Треугольник 2». Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
Вариант 26. Дан массив из 5 целых чисел. Сформировать из него стек (с возможностью добавления и удаления элементов) и очередь с аналогическими возможностями и выводит её на экран. Программа формирует стек из пяти целых чисел (1, 2, 3, 4, 5) и выводит его на экран. Программа формирует очередь из пяти целых чисел. (С++ Конспект лекций. Часть II Одесский колледж компьютерных технологий) (3)
Задана матрица натуральных чисел A(n,n). Все строки, где находится более двух простых чисел, обнулить. Найти среднее арифметическое элементов матрицы до и после обнуления. Вывести сообщение, сколько строк было обнулено.
В матрице X(n,m) на место минимального элемента, если это двузначное число, записать сумму всех остальных элементов. Проверить, остался ли минимальный элемент двузначным числом.
В матрице D(n,m) найти и вывести номера столбцов, упорядоченных по убыванию. В каждом столбце найти количество и сумму положительных элементов.
В квадратной матрице X(n,n) найти максимальный и минимальный элементы. Поэлементно поменять местами строку с максимальным элементом со столбцом с минимальным элементом.
Вариант 28. Работа с матрицами:
Задана матрица А(n,m), в каждом столбце которой минимальный элемент необходимо заменить суммой положительных элементов этого же столбца.
Задана матрица А(n,n). Определить максимальный элемент среди элементов матрицы, расположенных выше главной диагонали, и минимальный элемент среди тех, что находятся ниже главной диагонали. Если эти элементы равны, найти количество таких чисел в матрице.
В матрице Р(n,m) найти строку с максимальной суммой элементов и поэлементно поменять ее с первой строкой.
Поменять местами максимальный элемент матрицы F(k,p) в его первым элементом, а минимальный элемент – с последним. Найти количество положительных, отрицательных и нулевых элементов матрицы.
Вариант 29. Работа с матрицами:
В матрице Х(n,n) поменять местами элементы на главной и побочной диагоналях. Проверить, поменялось ли положение максимального элемента в каждой строке.
Задана матрица A(n,n). Первый элемент каждого четного столбца заменить суммой простых чисел этого столбца, первый элемент каждого нечетного столбца заменить произведением элементов этого столбца, не являющимися простыми числами.
Задана матрица A(n,n). Зеркально отразить ее относительно побочной диагонали. В преобразованной матрице найти столбцы, элементы которых образуют убывающую последовательность.
Задана матрица A(n,m). Обнулить те строки, где находится наибольшее простое число. Вывести сообщение, если простых чисел нет.
Вариант 30. Работа с матрицами:
Определить сумму и количество простых чисел расположенных вне диагоналей матрицы B(n,n). Если нет простых чисел, то поменять местами элементы главной и побочной диагоналей.
Задана матрица A(n,n). Зеркально отразить ее относительно главной диагонали. В преобразованной матрице найти строки, элементы которой образуют возрастающую последовательность.
Задана матрица целых чисел A(n,n). Вывести номера столбцов, в которых находится более двух простых чисел. Найти сумму положительных элементов на периметре матрицы.
Задана матрица В(n,m). Определить количество столбцов, упорядоченных по возрастанию. Каждый второй столбец упорядочить по возрастанию и найти, на сколько увеличилось количество таких упорядоченных столбцов.
Вариант 31. Составить описание класса одномерных массивов строк, каждая строка которых задается длиной и указателем на выделенную для нее память. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива.
Вариант 32. Построить систему классов для описания плоских геометрических фигур: круга, квадрата, прямоугольника. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и поворота на заданный угол.
Вариант 33. Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса.
Вариант 34. Составить описание класса для работы с цепными списками строк (строки произвольной длины) с операциями включения в список, удаления из списка элемента с заданным значением данного, удаления всего списка или конца списка, начиная с заданного элемента.
Вариант 35. Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы индексов, возможность задания произвольных границ индексов при создании объекта и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, печати (вывода на экран) элементов массива по индексам и всего массива.
Вариант 36. Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива.
Вариант 37. Простые и иерархические меню.
а) Спроектировать простое меню в одной строке экрана. Меню обеспечивает перебор пунктов в результате нажатия на клавишу Пробел, позволяет зафиксировать выбор нажатием на клавишу Enter или отказаться от выбора нажатием на клавишу Esc. После выбора одного из пунктов в программу возвращается какое-то значение, связанное с выбранным пунктом, например символ. При отказе от выбора в программу возвращается #27.