Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Форма Курсовой проект С++.doc
Скачиваний:
7
Добавлен:
24.08.2019
Размер:
405.5 Кб
Скачать

Вариант 31. Решения системы линейных уравнений методом простой итерации.

Программа позволяет находить решение системы линейных уравнений (СЛАУ ) вида

достаточно высокого порядка, например для n=100.

Матрицы коэффициентов aij и bi , а также порядок системы уравнений - n могут находиться в файле на жестком диске, либо вводиться через специальные окна.

Программа решает СЛАУ методом простой итерации.

Продемонстрируйте работу программы для n=5-7.

Вариант 32. Графические примитивы и работа с ними.

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

Вариант 33. Функциональный калькулятор

Калькулятор выглядит подобно тому, который входит в состав windows, т.е. имеется окно-индикатор и 12 клавиш. Десять клавиш предназначены для ввода цифр, одна для ввода запятой и одна для забоя неверно введенной цифры. Вместо клавиш арифметических действий есть набор клавиш, для вызова функций 1/x, степенных, логарифмических и тригонометрических функций.

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

Вариант 34. Календарь.

Программа выводит изображение календаря на любой месяц. Выходные и праздничные дни выделяются цветом, текущая дата рамкой. Имеется возможность задать праздничные дни и сделать краткую запись, характеризующую этот день, например, «День Парижской коммуны». Когда год заканчивается, то календарь автоматически обновляется.

Вариант 35. Часы «ходики»

Часы имеют круглый циферблат, 2 стрелки и маятник. С помощью вспомогательной, всплывающей панели устанавливается точное время.

Вариант 36. Экзаменатор

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

Вариант 37. Игра «Собери картинку»

На форму выводится квадратная картинка, которая в дальнейшем разделяется на 16 квадратиков. Квадратики случайным образом перемешиваются и разворачиваются под углом кратным 90°. Игрок кликает по квадратику, и ставит его на нужное место. Программа имеет меню для выбора картинок.

Вариант 38. Флаг

Нужно сделать заставку в виде развивающегося (движущегося от ветра) российского флага.

Вариант 39. Сортировка

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

Предлагается разработать программу сортировки, которая бы действовала по принципу сортировки вставкой (insertion sort). Массив разбивается на две части - отсортированную и неотсортированную. Первоначально отсортированная часть пуста. Далее в нее один за другим добавляются элементы, и после каждого такого добавления новый элемент перемещается в позицию, обеспечивающую отсортированность части.

Напишите функцию, реализующую этот алгоритм, программу для ее тестирования и проведите всестороннюю проверку работоспособности вашей функции.

Пример и указания:

Первоначально отсортированная часть массива пуста и весь массив представляет собой неотсортированную часть:

Весь массив неотсортирован и имеет такой вид

а[0]

а[1]

а[2]

а[3]

а[4]

а[5]

а[6]

а[7]

а[8]

а[9]

8

6

10

2

16

4

18

14

12

10

Выберем первый элемент а[0] со значением 8 и будем считать, что теперь он находится в отсортированной части массива. Массив и его части имеют следующий вид:

Отсортированная часть

а[0]

8

Неотсортированная часть

а[1]

а[2]

а[3]

а[4]

а[5]

а[6]

а[7]

а[8]

а[9]

6

10

2

16

4

18

14

12

10

Добавляем первый элемент из неотсортированной части (а[1] со значением 6 в отсортированную, где перемещаем новый элемент в соответствующую ему позицию (после добавления элемента порядок следования нарушен, поэтому внутренний цикл должен поменять местами значения элементов а[0] и а[1]). В результате получим

Отсортированная часть

а[0]

а[1]

6

8

Неотсортированная часть

а[2]

а[3]

а[4]

а[5]

а[6]

а[7]

а[8]

а[9]

10

2

16

4

18

14

12

10

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

Отсортированная часть

а[0]

а[1]

а[2]

6

8

10

Неотсортированная часть

а[3]

а[4]

а[5]

а[6]

а[7]

а[8]

а[9]

2

16

4

18

14

12

10

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

а[0]

а[1]

а[2]

а[3]

6

8

10

2

а[0]

а[1]

а[2]

а[3]

6

8

2

10

а[0]

а[1]

а[2]

а[3]

6

2

8

10

В результате получаем:

Отсортированная часть

а[0]

а[1]

а[2]

а[3]

2

6

8

10

Неотсортированная часть

а[4]

а[5]

а[6]

а[7]

а[8]

а[9]

16

4

18

14

12

10

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

40. Бегущая строка

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

41. Матрица

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

  1. транспонирование;

  2. нахождение обратной матрицы.

  3. вычисление определителя (по желанию)

42. Корни уравнения третьей степени

Создайте приложение для нахождения корней алгебраического уравнения 3-й степени методом Кордано.

43. Нахождение корней итерационным методом

Создайте приложение для нахождения корней алгебраического уравнения n-й степени итерационным методом.

44. Интерполяционная формула Лагранжа

Информация о величине f(t), характеризующей физический процессе, задана в файле в виде n+1 ординат снятых через равные интервалы времени. Необходимо оценить значение в любой точке между моментами отсчета. Для этого строится интерполяционный многочлен n-ой степени, значения которого совпадают с заданными значениями при t=tk.

Если функция f(t) задана в n+1 точке, t0, t1, t2, . . .,tn, то ее приближенное значение между точками отсчета может быть вычислено с помощью многочленом вида

Создать приложение которое позволяет оценить величину f(t), в любой точке. Создать интерфейс, позволяющий осуществлять ввод t и построение графиков и f(t).