- •Вопросы к гос. Экзамену по Унифицированный язык моделирования uml
- •Технология разработки по ас в промышленности
- •Инструментальные программные средства для разработки программного обеспечения автоматизированных систем в промышленности
- •7. Оценка и выбор case-средств. Критерии оценки и выбора. Технология внедрения case-средств. Определение критериев успешного внедрения. Выполнение пилотного проекта. Оценка пилотного проекта.
- •Технология разработки программного обеспечения. Объектно-ориентированное программирование
- •Задача Ады Лавлейса. Вычисление чисел Бернулли
- •Задача «Точки на плоскости»
- •Задача «Семейный банковский счет»
- •Задача «Банковский сейф»
- •Задача «Управление проектом»
- •Задача о фонде «Скол»
- •Задача «Сортируем отсортированное»
- •Задача «Комплексные числа»
- •Задача «Полиномы»
- •Задача «Матрицы»
- •Задача «Интерпретатор функций и Решатель уравнений»
- •Задача «Решатель систем линейных уравнений»
- •Задача «Универсальный сортировщик»
- •Задача «Требуется программист со знанием языка c#»
- •Задача «Огни большого города»
- •Задача «Фигуры, фигуры»
- •Задача «Управление процессами»
Задача «Точки на плоскости»
На плоскости задан выпуклый N-угольник – D и точка P. Определить является ли точка P внешней или внутренней (граничной) точкой многоугольника D.
Задание на программирование
Постройте Windows Form проект, дающий решение задачи. Постройте графический образ задачи.
На входе:
N + 1 точка. Первые N точек задают вершины многоугольника. Последняя точка – точка P, принадлежность которой внутренней области многоугольника проверяется.
На выходе:
Ответ и рисунок, иллюстрирующий корректность ответа.
Указание:
Можно использовать любой известный Вам алгоритм принадлежности точки выпуклому многоугольнику. Например, можно проверять, равна ли сумма площадей треугольников Ti площади многоугольника D. Треугольники Ti одной из вершин имеют точку P, две другие вершины – это вершины многоугольника с номерами i и i+1. Для внутренних точек равенство выполняется, для внешних – сумма площадей больше площади многоугольника.
Задача «Семейный банковский счет»
Семья может иметь единый банковский счет. Все члены семьи могут положить деньги на счет и снять деньги со счета при условии, что на счете имеется достаточная сумма. Операции над счетом могут выполняться независимо и одновременно.
Задание на программирование
Создайте класс Account, позволяющий выполнять операции со счетом. Постройте потокобезопасное решение, моделирующее работу со счетом членов семьи.
Задача «Банковский сейф»
Тема: Эффективный алгоритм
В банке города N появился новый сейф с кодовым замком. Код состоит из 2* m цифр. Для открытия сейфа необходимо, чтобы два исполнительных директора набрали свою половину кода из m цифр. Каждый директор независимо задает свой код. Единственное ограничение – сумма цифр кода каждого директора должна быть одинаковой. О значении этой суммы директора предварительно договариваются. Злоумышленники знают об этом ограничении и хотят подобрать нужный код путем перебора. Сколько времени понадобится злоумышленникам для полного перебора при заданном значении m? Ответ укажите в минутах с точностью до минуты. Учтите, что за минуту злоумышленники проверяют 10 комбинаций.
Напишите эффективную по времени программу, производящую этот подсчет.
Тестовый пример: m = 2; ответ: 67
Задача «Управление проектом»
Тема: Эффективный алгоритм
При управлении программным проектом часто используют такой инструмент, как восходящая диаграмма выполнения. Предположим, что мы можем оценить трудоемкость выполнения предстоящих работ в некоторых единицах. Пусть значение трудоемкости всей работы в целом равно N. Срок выполнения всех работ также известен и равен T. Ход выполнения работ можно представить в виде графика (восходящей диаграммы выполнения) с осью абсцисс, задающей время, и осью ординат, задающей объем выполненных работ. На этом графике прямая линия, соединяющая точку (0, 0) и точку (T, N), характеризует среднюю скорость выполнения работ. Отметки на графике реально выполненной работы позволяют судить о том, как идут дела. Точки под прямой свидетельствуют об отставании от «нормального» процесса выполнения. Точки над прямой свидетельствуют о превышении планов.
Подобные диаграммы встречаются при управлении различными производственными процессами.
Задание на программирование
Сформулируем задачу. Дана конечная точка (T, N) и последовательность текущих точек (Tk, Nk), где
k = 1, 2, … m; 0 < Tk-1 < Tk <= T; 0 < Nk-1 < = Nk <=N;
Требуется определить максимальный интервал успешного управления – интервал [Ti, Tj], на котором суммарное превышение работ максимально.
Тестовый пример: T = 20; N = 100: Tk = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
Nk ={8, 16, 35, 45, 60, 60, 66, 80, 95, 100}; ответ:[6, 20]
Тестовый пример: T = 20; N = 100: Tk = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
Nk ={8, 16, 35, 45, 60, 60, 64, 78, 92, 100}; ответ:[6, 10]
