ВУЗ: Московский государственный университет технологий и управления им. К.Г. Разумовского
Категория: Методичка
Дисциплина: Программирование
Добавлен: 16.02.2019
Просмотров: 1558
Скачиваний: 9
колледж при МГУТУ, 2015
П-203
Прикладное программирование/ПР
ПП1-0-20 Программа-тест по предмету «Прикладное программирование». Создайте программу-тест из 10 во-
просов с выбором вариантов ответов и показом результатов прохождения теста.
1 уровень
ПП1-1-1 Программа-календарь (по году, месяцу, числу – день недели) с удобным вводом (с выпадающим спис-
ком).
ПП1-1-2 Программа нахождения решения неравенства ax + b знак 0 (удобный ввод с выпадающим списком
знака неравенства).
ПП1-1-3 Программа нахождения решения неравенства ax
2
+bx+c знак 0 (удобный ввод с выпадающим списком
знака неравенства).
ПП1-1-4 Программа учета расходов и доходов по месяцам: в элементы управления вводятся доходы за январь-
декабоь и расходы за январь-декабрь, программа выводит прибыль за январь-декабоь, общую сумму
расходов, доходов и прибыли за год. Интерфейс должен напоминать таблицу.
ПП1-1-5 Программа поиска обратной матрицы для матрицы 3 × 3.
ПП1-1-6 Программа для изучения ассемблера. Программа должна позволять вводить два двоичных 32-битных
числа и выполнять операции ADD, SUB и показывать флаги: AF, CF, SF, PF, ZF, OF
ПП1-1-7 Программа нахождения центра и радиуса окружности по координатам трех точек, принадлежащих
ей.
ПП1-1-8 Напишите игру «Пятнашки».
ПП1-1-9 Программа решения системы уравнений
ax + by + c
=
0
dx + ey + f
=
0
где все представленные числа комплексные. Программа должна находить ответ в случае, если решение
единственно, в противном случае выдавать диагностическое сообщение о невозможности решения.
ПП1-1-10 Программа перевода даты (год, месяцу, число) из григорианского календаря в юлианский и обратно
с удобным вводом (с выпадающим списком).
ПП1-1-11 Программа нахождения площади меньшей из частей круга, порождаемых пересечением круга и пря-
мой, по координатам центра и радиусу круга и по координатам двух точек прямой.
ПП1-1-12 Программа деления двух многочленов: не более, чем четвертой степени, на не более, чем второй.
ПП1-1-13 Программа-игра чет-нечет, где человек задумывает, а программа отгадывает четность/нечетность
загаданных чисел. Программа должна анализировать загадываемые человек числа с целью предска-
зания, выявляя закономерности длиной от 1 до 10 чисел: в случае если человек регулярно загадывает
одинаковую последовательность чисел такой длины, то программа с некоторого момента должна их
угадывать всегда. Если человек чаще всего после некой последовательности длины от 1 до 10 чисел
загадывает чет (или нечет), то программа данное явление также должна выявлять.
ПП1-1-14 Программа решения уравнения ax
2
+ bx + c = 0, где все представленные числа – комплексные.
ПП1-1-15 Программа-калькулятор для матриц 2 × 2. Пользователю доступно задание матриц 2 × 2 и кнопки +,
-, *, /, =, C
1.5 уровень
ПП1-1.5-1 Напишите аналог игры 2048.
ПП1-1.5-2 Программа нахождения площади пересечения двух кругов, заданных координатами центров и ради-
усами.
ПП1-1.5-3 Пусть по некоторым координатам на плоскости установлены столбики. Пользователь окружает верев-
кой пространство, где расположены эти столбики и максимально ее стягивает. В результате веревка
образует многоугольник. Определите ее вершины по координатам расположения столбиков. Столби-
ков не более 10. Указание: обсуждение этой задачи есть в книге Шеня.
ПП1-1.5-4 Программа-калькулятор /без использования встроенного компонента/. Напишите аналог программы-
калькулятора, входящего в Windows, работающего только в обычном (неинжинерном) режиме
ПП1-1.5-5 Программа-калькулятор /без использования встроенного компонента/. Напишите аналог программы-
калькулятора, входящего в Windows, работающего только в обычном (неинжинерном) режиме, осу-
ществляющего ввод-вывод в 16-ой системе счисления. Калькулятор работает только с целыми
числами, не требуется реализовывать корень, нахождение обратного числа и проценты. Деление ра-
ботать должно как целочисленное (div)
6
колледж при МГУТУ, 2015
П-203
Прикладное программирование/ПР
ПП1-1.5-6 Программа-игра в обычные крестики-нолики с компьютером.
ПП1-1.5-7 Программа нахождения площади пересечения любого числа треугольников (до 100). Вводятся коор-
динаты вершин треугольников, вывести площадь многоугольника, который получится в пересечении.
Не забудьте сделать проверку на то, что исходные треугольники – это треугольники.
2 уровень
ПП1-2-1 Программа приведения матрицы 3 × 3 к главному ступенчатому виду по шагам (пользователь вво-
дит матрицу и нажимая кнопку много раз последовательно видит процесс приведения матрицы к
главному ступенчатому виду)
ПП1-2-2 Программа нахождения пересечения двух многоугольников. Вводятся координаты вершин двух вы-
пуклых многоугольников (до десятиугольников включительно), вывести координаты вершин и пло-
щадь многоугольника, который получится в пересечении. Не забудьте сделать проверку на то, что
исходные многоугольники выпуклые. Относительно алгоритма проверка многоугольника на выпук-
лость смотрите статью на Habrahabr: http://habrahabr.ru/post/147691/.
ПП1-2-3 Программа-калькулятор /без использования встроенного компонента/. Напишите аналог программы-
калькулятора, входящего в Windows, работающего только в обычном (неинжинерном) режиме, рабо-
тающий с обыкновенными дробями (состоящими из знака, целой части, числителя и знаменателя).
ПП1-2-4 Программа обучения делению столбиком. Пользователь вводит два числа и на экран выводится то
как выглядит само деление столбиком (можно считать, что количество промежуточных вычитаний
не превышает 10).
ПП1-2-5 Программа обучения переводу из 10-ой в другие системы счисления (от 2-ичной до 36-ричной). Нужно
для введенного числа и основания системы счисления вывести то, как выглядит процесс перевода
(как обучали в школе – с промежуточным делением столбиком). Можно считать, что количество
вспомогательных Label’ов не превышает 50 (их можно создать заранее).
ПП1-2-6 Программа перевода выражений из обычной формы в обратную польскую форму записи. Допустимы
арифметические операции, скобки. В обычной форме действуют обычные правила приоритета. В
выражениях используются названия переменных (правила как в Паскале) и числовые константы
(правила как в Паскале для типов integer и real).
ПП1-2-7 Программа обучения делению столбиком многочленов. Пользователь вводит два многочлена и на
экран выводится то как выглядит само деление столбиком (можно считать, что количество промежу-
точных вычитаний не превышает 10).
2.5 уровень
ПП1-2.5-1 Программа-калькулятор с комплексными числами. Напишите аналог программы-калькулятора, вхо-
дящего в Windows, работающего только в обычном (неинжинерном) режиме.
ПП1-2.5-2 Программа-игра с компьютером в крестики-нолики на поле 4×4. Рекомендуем также почитать статью:
http://www.iqfun.ru/articles/tic-tac-toe-silverman.shtml
ПП1-2.5-3 Напишите программу нахождения корней многочлена 3-ей степени. Многочлен и корни над полем
комплексных чисел. Надо изучить формулу Кардано.
ПП1-2.5-4 Программа разложения данного натурального числа в произведение неприводимых гауссовых чисел.
ПП1-2.5-5 Программа нахождения квадратного корня из целого числа в пространстве p-адических чисел.
ПП1-2.5-6 Программа-игра с компьютером в крестики-нолики на поле 5×5. Рекомендуем также почитать статью:
http://www.iqfun.ru/articles/tic-tac-toe-silverman.shtml
ПП1-2.5-7 Программа обучения нахождения наибольшего общего делителя двух многочленов (надо учить собственно
делению и вычислению дальше – пока не получится наибольший общий делитель).
3 уровень
ПП1-3-1 Напишите программу нахождения корней многочлена 4-ой степени. Многочлен и корни над полем
комплексных чисел. Надо изучить формулу Феррари.
ПП1-3-2 Напишите программу нахождения корней многочлена до 10-ой степени включительно (над полем
действительных чисел) в действительных числах. Для решения этой задачи необходимо использо-
вать следующие темы: ряд Штурма, деление многочленов, метод аналогичный методу дихотомии для
уточнения корней.
7
колледж при МГУТУ, 2015
П-203
Прикладное программирование/ПР
ПП1-3-3 Программа решения системы трех линейных уравнений с тремя неизвестными. Результатом решения
должно быть полное описание множества решений системы (даже если их бесконечно много).
3. Содержание отчета:
(a) Исходный текст программы
(b) Ответ на контрольные вопросы
4. Контрольные вопросы:
(a) Какие Вы использовали компоненты в программе, объясните их назначение.
(b) Что такое исключение? Как использовать это понятие в практическом программировании?
(c) Что такое событие? Как это понятие используется в событийно-ориентированном программировании?
4
Практическая работа №2. Программирование графики и таймера (6
часов)
1. Цель работы: практическое изучение компонентов TImage, TChart, TTimer, TOpenDialog; класса TCanvas.
2. Порядок выполнения:
(a) осуществите визуальное проектирование пользовательского интерфейса формы (1-ое задание);
(b) разработайте методы – обработчики тех событий, что необходимо использовать в вашей программе
(1-ое задание);
(c) приведите вашу программу в соответствие с требованиями (1-ое задание).
(d) осуществите визуальное проектирование пользовательского интерфейса формы (2-ое задание);
(e) разработайте методы – обработчики тех событий, что необходимо использовать в вашей программе
(2-ое задание);
(f) приведите вашу программу в соответствие с требованиями (2-ое задание).
Второе задание для всех студентов имеет нулевой уровень.
Варианты заданий:
1 задание
0 уровень
Идея решения заданий на кинематику состоит в том, что время разбивается на «кванты» (небольшие
промежутки), на каждом промежутке времени полагается (приблизительно), что движение является рав-
ноускоренным. При рассчётё движения на каждом кванте времени вычисляется равнодействующая сил,
далее применяется второй закон Ньютона, и далее вычисляется координата и скорость движущегося тела
в конце кванта времени.
Задания на геометрическую оптику решаются просто путем нахождения точек пересечения с ближайшей
преградой и постепенного рисования линий (пока эта точка не будет достигнута).
ПП2.1-0-1 Пользователь выбирает начальную скорость мяча, направление движения мяча, массу, а программа
показывает замедленный «мультфильм» того, как мячик летит с учетом упругого отскока от поверх-
ности (Земли) и сопротивления воздуха (
−
→
Fс = −α
−
→
v ). α так же указывается в элементе управления
ПП2.1-0-2 Пользователь выбирает начальную скорость мяча, направление движения мяча (на бильярдном сто-
ле), массу, а программа показывает замедленный «мультфильм» того, как мячик летит с учетом
упругого отскока от границ бильярдного стола и силы сопротивления (
−
→
Fс = −α
−
→
v ). α так же указы-
вается в элементе управления. Лунки учитывать не требуется.
ПП2.1-0-3 Пользователь выбирает начальное направление луча света и круг. После чего программа показывает
(в замедленном режиме) распространение этого луча света в предположении, что границы рисунка –
идеальные зеркала, а круг состоит из полностью поглощающего свет материала.
ПП2.1-0-4 Пользователь выбирает начальное направление двух лучей света и месторасположение (координаты)
обоих источников света. После чего программа показывает (в замедленном режиме) распространение
этих лучей света в предположении, что граница рисунка – это идеально отражающие зеркала.
8
колледж при МГУТУ, 2015
П-203
Прикладное программирование/ПР
ПП2.1-0-5 Пользователь выбирает начальное направление луча света и прямоугольник, у которого стороны
параллельны осям. После чего программа показывает (в замедленном режиме) распространение этого
луча света в предположении, что границы рисунка – идеальные зеркала, а прямоугольник состоит из
полностью поглощающего свет материала.
ПП2.1.0-6 Пользователь выбирает начальное направление луча света и треугольник (координатами вершин).
После чего программа показывает (в замедленном режиме) распространение этого луча света в пред-
положении, что границы рисунка – идеальные зеркала, а треугольник состоит из полностью погло-
щающего свет материала.
ПП2.1-0-7 Пользователь управляет шаром (для этого нужно использовать события onKeyDown), который пере-
мещается внутри прямоугольной области и не может укатиться за пределы прямоугольной области.
Начальное положение и размер шара задается в элементах управления TEdit.
ПП2.1-0-8 Пользователь управляет рисованием двумя линиями внутри прямоугольной области (непрерывны-
ми), используя клавиши-стрелки и ТАБ (для переключения между линиями). Первые точки линий
задаются координатами в TEdit.
ПП2.1-0-9 Пользователь выбирает радиусы двух дисков и скорость вращения одного из них. Программа рисует
эти два диска, соединенные ременной передачей. Для отображения вращения на каждом диске надо
рисовать два перпендикулярных диаметра.
ПП2.1-0-10 Нарисуйте тележку, которая передвигается между двумя краями рисунка с правильным отображени-
ем вращения ее колес. Скорость движения выбирается пользователем. При достижении края рисунка
скорость мгновенно меняется на противоположно направленную.
ПП2.1-0-11 Нарисуйте следующее движение. Нить зацеплена за зубчик вращающегося диска, эта нить переки-
нута через блок и удерживает прямоугольный объект. Скорость вращения, радиус диска задается
пользователем.
ПП2.1-0-12 Нарисуйте следующее движение. Шар с заданной начальной скоростью и радиусом катится по гори-
зонтальной поверхности, при ударении о края рисунка его скорость меняется на противоположную
. При этом скорость его вращения замедляется (скорость на каждом кванте времени умножается на
вводимый коэффициент k). На шаре надо нарисовать пару перпендикулярных линий для отображе-
ния вращения.
ПП2.1-0-13 Моделирование движения спутника. Нарисуйте следующее движение. Один шар неподвижен,
другой шар имеет начальную скорость (вектор, задается пользователем), при этом на него дейтсвует
сила в направлении первого шара, имеющая величину
k
r
2
, где k вводится пользователем, а r – рассто-
яние от шара до неподвижного шара. Движение прекращается в случае, если шары соприкасаются.
Движение рассчитывается на каждом кванте времени исходя из того, что оно в течении кванта рав-
ноускоренное и прямолинейное.
ПП2.1-0-14 Нарисуйте следующее движение. Шар движется по поверхности, расположенной к горизонту под
углом α (вводится пользователем), и изначально расположен вверху. При ударении о край рисунка
движение заканчивается. При этом на него действует сила тяжести (масса также вводится). На шаре
надо нарисовать пару перпендикулярных линий для отображения вращения.
ПП2.1-0-15 Нарисуйте следующее движение. Один диск расположен неподвижно, другой вращается, при этом (за
счет сцепления) вращается вокруг первого диска. Пользователем задаются радиусы дисков и скорость
вращения вокруг своей оси второго из них. На дисках надо нарисовать по два перпендикулярных
отрезка для отслеживания вращения.
ПП2.1-0-16 Нарисуйте следующее движение. Шар движется по поверхности, расположенной к горизонту под
углом α (вводится пользователем), и изначально расположен внизу. При ударении о край рисунка
движение заканчивается. При этом на него действует сила тяжести (масса также вводится). Началь-
ная скорость задается пользователем (она направлена параллельно поверхности вверх). На шаре надо
нарисовать пару перпендикулярных линий для отображения вращения.
ПП2.1-0-17 Пользователь выбирает начальную скорость мяча, направление движения мяча (на бильярдном сто-
ле), массу, а программа показывает замедленный «мультфильм» того, как мячик летит с учетом
упругого отскока от границ бильярдного стола. Если при этом мяч попадает в квадрат данного раз-
мера вблизи углов бильярдного стола, то он исчезает (проваливается в лунку).
ПП2.1-0-18 На одной горизонтальной прямой расположены центры двух шаров, которые движутся в направлении
этой прямой со скоростью, задаваемой пользователем. Массы шаров так же задаются, радиусы оди-
наковы. При достижении границ рисунка шары упруго отскакивают; аналогично упруго отскакивают
они и друг от друга. Нарисуйте такое движение.
9
колледж при МГУТУ, 2015
П-203
Прикладное программирование/ПР
ПП2.1-0-19 На одной горизонтальной прямой расположены центры двух шаров одинаковой массы, но разных
радиусов (задаются пользователем). Шары движутся в направлении этой прямой со скоростями, за-
даваемыми пользователем. При достижении границ рисунка шары упруго отскакивают; аналогично
упруго отскакивают они и друг от друга. Нарисуйте такое движение.
ПП2.1-0-20 Рисунок по горизонтали разделен на две одинаковые по размеру части. Предполагается, что сверху
показатель преломления α, снизу – β. Границы рисунка – идеальные зеркала. Пользователь выбирает
место источника луча и начальное направление луча света, после чего программа показывает (в
замедленном режиме) распространение этого луча света.
ПП2.1-0-21 Рисунок по горизонтали разделен на три одинаковые по размеру части. Предполагается, что сверху
и снизу показатель преломления α, а посередине среда – это вакуум. Границы рисунка – идеальные
зеркала. Пользователь выбирает место источника луча и начальное направление луча света, после
чего программа показывает (в замедленном режиме) распространение этого луча света.
ПП2.1-0-22 Рисунок по горизонтали разделен на две одинаковые по размеру части. При этом левая половина
разделительной линии – зеркальная, а правая – прозрачная. Предполагается, что сверху показатель
преломления α, снизу среда – вакуум. Границы рисунка – идеальные зеркала. Пользователь выбирает
место источника луча и начальное направление луча света, после чего программа показывает (в
замедленном режиме) распространение этого луча света.
ПП2.1-0-23 На одной горизонтальной прямой расположены центры двух кубов, которые движутся в направлении
этой прямой со скоростью, задаваемой пользователем (сами кубы ориентированы так, что стороны
параллельным осям). Массы кубов так же задаются, размеры одинаковы. При достижении границ
рисунка кубы упруго отскакивают; аналогично упруго отскакивают они и друг от друга. Нарисуйте
такое движение.
1 уровень
ПП2.1-1-1 Пользователь выбирает начальную скорость двух мячей, направление движения мячей (на бильярд-
ном столе), а программа показывает замедленный «мультфильм» того, как мячи летят с учетом
упругого отскока от границ бильярдного стола и при столкновении друг с другом, а также силы
сопротивления (
−
→
Fс = −α
−
→
v ). α так же указывается в элементе управления. Лунки учитывать не
требуется.
ПП2.1-1-2 Пользователь выбирает координаты расположения и направление испускания источника света и коор-
динаты левого верхнего и правого нижнего угла прямоугольника, соответствующего емкости с веще-
ством, у которого показатель преломления α (также вводится). Предполагается, что границы рисунка
– это идеально отражающие зеркала. Покажите, как будет идти луч света (в чрезвычайно замедлен-
ной «съемке») от источника (след луча света на рисунке остается).
ПП2.1-1-3 Пользователь выбирает координаты расположения источника света (напрвление луча перпендикуляр-
но линзе) и координаты начала и конца отрезка, символизирующего линзу с фокусным расстоянием
f (также вводится). Предполагается, что границы рисунка – это идеально отражающие зеркала. По-
кажите, как будет идти луч света (в чрезвычайно замедленной «съемке») от источника (след луча
света на рисунке остается).
ПП2.1-1-4 Пользователь выбирает начальную скорость двух мячей, направление движения мячей (на бильярд-
ном столе), а программа показывает замедленный «мультфильм» того, как мячи летят с учетом
упругого отскока от границ бильярдного стола и при столкновении друг с другом. Кроме того ука-
зывается прямоугольник координатами левого верхнего и правого нижнего угла, от которого шарики
тоже отскакивают. Лунки учитывать не требуется.
ПП2.1-1-5 Пользователь выбирает координаты расположения и направление испускания источника света и ко-
ординаты вершин треугольника, соответствующего емкости с веществом, у которого показатель пре-
ломления α (также вводится). Предполагается, что границы рисунка – это идеально отражающие
зеркала. Покажите, как будет идти луч света (в чрезвычайно замедленной «съемке») от источника
(след луча света на рисунке остается).
ПП2.1-1-6 Пользователь выбирает начальную скорость двух мячей, направление движения мячей (на бильярд-
ном столе), а программа показывает замедленный «мультфильм» того, как мячи летят с учетом
упругого отскока от границ бильярдного стола и при столкновении друг с другом. Кроме того указы-
вается треугольник координатами вершин, от которого шарики тоже отскакивают. Лунки учитывать
не требуется.
ПП2.1-1-7 Пользователь выбирает начальную скорость мяча, направление движения мяча (на бильярдном сто-
ле), а программа показывает замедленный «мультфильм» того, как мяч летит с учетом упрогого
10