Файл: темы курсовых работ.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.09.2024

Просмотров: 10

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Перечень тем курсового проектирования

1. Дан список вещественных чисел. Написать следующие функции:

а) проверки наличия в нем двух одинаковых элементов;

б) переноса в начало его последнего элемента;

в) переноса в конец его первого элемента;

г) вставки списка самого в себя вслед за первым вхождением числа х.

2. Дан список строк. Написать следующие подпрограммы:

а) обращение списка (изменить ссылки в списке так, чтобы элементы оказались расположены в противоположном порядке);

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

в) оставить в списке только первые вхождения одинаковых элементов.

3. Даны два списка L1 и L2 пар вещественных чисел. Написать подпрограммы, возвращающие новый список L, включающий в себя:

а) пары списка L1, первая координата которых встречается как вторая координата у пар списка L2,

б) пары (х, у) списка L1, встречающиеся в виде (у, х) в списке L2,

в) пары (х,у), где х < у списка L1.

4. Даны два списка L1 и L2 вещественных чисел. Написать подпрограммы, возвращающие новый список L, включающий по одному разу числа, которые:

а) входят одновременно в оба списка;

б) входят хотя бы в один из списков;

в) входят в один из списков L1 и L2, но в то же время не входят в другой из них;

г) входят в список L1, но не входят в список L2.

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

а) перестановку первого и последнего слова, написанных латиницей;

б) печать текста из первых букв слов, написанных кириллицей;

в) удаление из слов, написанных кириллицей первых букв;

г) вывести на экран итоговый список.

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

1) сложения;

2) вычитания;

3) умножения;

4) деления;

5) модуля комплексного числа;

6) возведения комплексного числа в степень п (п — натуральное).

Комплексное число представить следующим типом:

Type Complex=Record

R: Real;

M: Real

End;

Используя этот модуль, решить следующие задачи.


1. Дан массив А — массив комплексных чисел. Получить массив С, элементами которого будут модули сумм рядом стоящих комплексных чисел.

2. Дан массив А[М] — массив комплексных чисел. Получить матрицу B[N, M], каждая строка которой получается возведением в степень, равную номеру этой строки, данного массива А.

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

 (Р — целое, Q — натуральное):

1) сложения;

2) вычитания;

3) умножения;

4) деления;

5) сокращения дроби;

6) возведения дроби в степень п (п — натуральное);

7) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).

Дробь представить следующим типом:

Type Frac=Record

Р: Integer;

Q: 1..32767

End;

Используя этот модуль, решить задачи 1, 2.

1. Дан массив А — массив обыкновенных дробей. Найти сумму всех дробей, результат представить в виде несократимой дроби. Вычислить среднее арифметическое всех дробей, результат представить в виде несократимой дроби.

2. Дан массив А — массив обыкновенных дробей. Отсортировать его в порядке возрастания.

8. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с .Квадратными матрицами:

1) сложения двух матриц;

2) умножения одной матрицы на другую;

3) нахождения транспонированной матрицы;

4) вычисления определителя матрицы.

Матрицу описать следующим образом:

Const NMax=10;

Type Matrica=Array[l..NMax,!..Nmax] Of Real;

Используя этот модуль, решить следующие задачи.

1. Решить систему линейных уравнений N-го порядка (2 ≤ N ≤ 10) методом Крамера.

2. Задан массив величин типа Matrica. Отсортировать этот массив в порядке возрастания значений определителей матриц.

9. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над векторами:

1) Сложения;

2) Вычитания;

3) скалярнго умножения векторов;

4) умножения вектора на число;

5) нахождения длины вектора.

Вектор представить следующим типом:


Type Vector=Record

X,Y: Real

End;

Используя этот модуль, решить задачи 1, 2.

1. Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов.

2. С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пap этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.

10. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 ≤ Р ≤ 9):

1) сложения;

2) вычитания;

3) умножения;

4) деления;

5) перевода из десятичной системы счисления в Р-ичную;

6) перевода из Р-ичной системы счисления в десятичную;

7) функции проверки правильности записи числа в Р-ичной системе счисления;

8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).

Р-ичное число представить следующим типом:

Type Chislo=Array[l..16] Of 0..9;

Используя этот модуль, решить задачи 1,2.

1. Возвести число в степень (основание и показатель степени записаны в Р-ичной системе счисления). Результат выдать в Р-ичной и десятичной системах счисления.

2. Дан массив А — массив чисел, записанных в Р-ичной системе счисления. Отсортировать его в порядке убывания. Результат выдать в Р-ичной и десятичной системах счисления.


11. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в шестнадцатеричной системе счисления:

1) сложения;

2) вычитания;

3) умножения;

4) деления;

5) перевода из двоичной системы счисления в шестнадцате-ричную;

6) перевода из шестнадцатеричной системы счисления в десятичную;

7) функции проверки правильности записи числа в шестнадцатеричной системе счисления;

8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).

Используя этот модуль, решить следующие задачи.

1. Возвести число в степень (основание и показатель степени записаны в шестнадцатеричной системе счисления). Результат выдать в шестнадцатеричной и десятичной системах счисления.

2. Дан массив А — массив чисел, записанных в шестнадцатеричной системе счисления. Отсортировать его в порядке убывания. Результат выдать в шестнадцатеричной и десятичной системах счисления.

12 Для некоторого множества заданных координатами своих вершин треугольников найти треугольник максимальной площади (если максимальную площадь имеют несколько треугольников, то найти первый из них). Предусмотреть возможность перемещения треугольников и проверки включения одного треугольника в другой. (Т. А. Павловская, Ю. А. Щупак C++ Объектно-ориентированное программирование, практикум)

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

1) перемещение треугольников на плоскости;

2) определение отношения > для пары заданных треугольников (мера сравнения — площадь треугольников);

3) определение отношения включения типа: «Треугольник 1 входит в (не входит в) Треугольник 2». Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.

13. Дан массив из 5 целых чисел. Сформировать из него стек (с возможностью добавления и удаления элементов) и очередь с аналогическими возможностями и выводит её на экран. Программа формирует стек из пяти целых чисел (1, 2, 3, 4, 5) и выводит его на экран. Программа формирует очередь из пяти целых чисел. (С++ Конспект лекций. Часть II Одесский колледж компьютерных технологий) (3)


14. Работа с матрицами:

  • Задана матрица натуральных чисел A(n,n). Все строки, где находится более двух простых чисел, обнулить. Найти среднее арифметическое элементов матрицы до и после обнуления. Вывести сообщение, сколько строк было обнулено.

  • В матрице X(n,m) на место минимального элемента, если это двузначное число, записать сумму всех остальных элементов. Проверить, остался ли минимальный элемент двузначным числом.

  • В матрице D(n,m) найти и вывести номера столбцов, упорядоченных по убыванию. В каждом столбце найти количество и сумму положительных элементов.

  • В квадратной матрице X(n,n) найти максимальный и минимальный элементы. Поэлементно поменять местами строку с максимальным элементом со столбцом с минимальным элементом.

15. Работа с матрицами:

  • Задана матрица А(n,m), в каждом столбце которой минимальный элемент необходимо заменить суммой положительных элементов этого же столбца.

  • Задана матрица А(n,n). Определить максимальный элемент среди элементов матрицы, расположенных выше главной диагонали, и минимальный элемент среди тех, что находятся ниже главной диагонали. Если эти элементы равны, найти количество таких чисел в матрице.

  • В матрице Р(n,m) найти строку с максимальной суммой элементов и поэлементно поменять ее с первой строкой.

  • Поменять местами максимальный элемент матрицы F(k,p) в его первым элементом, а минимальный элемент – с последним. Найти количество положительных, отрицательных и нулевых элементов матрицы.

16. Работа с матрицами:

  • В матрице Х(n,n) поменять местами элементы на главной и побочной диагоналях. Проверить, поменялось ли положение максимального элемента в каждой строке.

  • Задана матрица A(n,n). Первый элемент каждого четного столбца заменить суммой простых чисел этого столбца, первый элемент каждого нечетного столбца заменить произведением элементов этого столбца, не являющимися простыми числами.

  • Задана матрица A(n,n). Зеркально отразить ее относительно побочной диагонали. В преобразованной матрице найти столбцы, элементы которых образуют убывающую последовательность.

  • Задана матрица A(n,m). Обнулить те строки, где находится наибольшее простое число. Вывести сообщение, если простых чисел нет.