Войти

Показать полную графическую версию : Задачи по программированию.


lxa85
15-11-2009, 22:04
Здравствуйте.
Прошу помощи в теории. А именно в формулировках для курсовых задач.
Основная идея - предложить студентам различные варианты задач на ранних стадиях, с таким расчетом, чтобы создаваемая ими модель развивалась на протяжении всей программы обучения. От простейших линейных алгоритмов, до объектов.
ИМХО, это позволит им увидеть логическую связь лаб. и развитие программного инструментария для решения задачи. (вместе с ||ным усложнением математики)
Мною было сформулировано десятка два, но хотелось бы иметь некую базу побольше.
Задачи должны находить отражение в реальном мире, иметь математическое (физическое, геометрическое, химическое, логическое и т.д.) обоснование правильного решения. (Расчет рекламных щитов, укладка кабеля, создание макета печатной платы и т.д.) А не просто некая гипотетическая чушь. (Мол путешествовали Крокодил Гена с Чебурашкой по просторам Галактики в звездолете... )
Мои пожеланием к задачам является способность студентов получить/посмотреть/изучить материал наглядно. Т.е. потрогать руками.
Желателен живой и понятный язык изложения.
Основные элементы ввода/вывода (работа с файлами и вывод графиков функций) появятся во втором семестре, и , по моим мыслям, должны стать эффектной оболочкой ядру ПО.

Жду ваших предложений.
Да, задачи могут быть совершенно любыми, и не обязательно расписывать их от и до. Оставьте поле для маневра студентам :)

Ferum01
15-11-2009, 22:53
К примеру создать программу советник для рынка форекс. Усложнений там сколько угодно, а потенциально можно заработать уйму денюжек. Я имею ввиду языйк МТ4 от альпари (форекс). Там и графиков сколько угодно...

lxa85
15-11-2009, 23:48
К примеру создать программу советник для рынка форекс. »
Ага. Если учесть что рынок сложно формализуем, и нейросетки никак не могут понять человека (да даже простой поддержки не хватает) и существует направление как DataMining. Вы думаете студент освоит Микро и Макро экономику (или как оно там?) в течении года?
Усложнений там сколько угодно »
Вы можете построить линейную модель, затем с циклами, процедурами и функциями, списками, строками, файлами, объектами? Любую реальную, в магазине проверяемую?
а потенциально можно заработать уйму денюжек »
потенциально - мне не подходит. Мне нужен результат. А не фьючерс - "отдам когда ограблю банк" (с)
Я имею ввиду языйк МТ4 от альпари (форекс) »
Язык обучения - Pascal. Мультиязыковую поддержку еще не ввели. Проверять программу как?
Моя задача из них не экономистов(трейдоров) сделать, а инженеров. А инженер должен понимать внутренние механизмы работы, научиться структурировать задачу. А не играться в Форекс. У студентов денег нет, проверить свой алгоритм, и тем более им нечего будет показать на защите. Мало людей прогоревших на кризисе? Мало самоубийств по причинам падения курсов валют? Рынок и так полон мелкой спекулятивной деятельность.
Что они будут рассказывать? Экономику? Нет уж, для этого отдельная специальность есть - информатика в экономике.

Нет, я может конечно не прав, поправьте, обоснуйте.
Пока меня перспектива осваивать язык MT4 не сильно радует.

BlackEric
16-11-2009, 22:00
Модель Солнечной системы. Вариантов и ступеней сложности сколько угодно. Плюс используется графика и можно подключить математику разной степени сложности.

Admiral
17-11-2009, 19:31
Эмуляция работы радиоэлектронного оборудования.
Начать можно с детекторного приёмника, постепенно усложняя схемы можно прийти к эмуляции отдельных узлов ПК.
Как-то попался даже реферат на тему видео памяти ПК с исходником на Паскале, эмулирующий работу последней.

lxa85
18-11-2009, 00:38
Admiral, предложение интересное.
Работу детекторного радиоприемника я себе еще представляю. С математической т.ч. зрения выглядит как сигнал, детектируемый при условии превышении некоего порога.
Т.е. линейная модель известна, развить до ветвлений и циклов тоже можно. Далее пойдет притягивание "за уши", если только не усложнить физическую модель.
Усложнить - как? Расчет простейшего транзисторного усилителя им грозит на старших курсах, хотя некто и не мешает познакомится с ним пораньше. Расчет велся по графикам, что приемлемо для человека, но не приемлемо для машины. (могу ошибаться)
постепенно усложняя схемы можно прийти к эмуляции отдельных узлов ПК.
До определенного момента - это будет физическое моделирование. Затем объем вычислений превысит допустимый порог и боюсь просто не уложится в голове студента. Соотв. придется переходить на логический уровень работы устройств. С эмуляцией отдельных устройств им придется писать программные аналоги узлов. Что-то в отдаленной перспективе напоминающий виртуальный компьютер. Хорошо, построить все для них не реально. (Как диплом - да, как курсовой - побаиваюсь, хотя и можно озадачить). Можно задать эмуляцию некоего отдельного компонента. Процессор допустим, в довольной размытой абстракции. Именно в размытии, т.к. по программе они еще теорию автоматов не прошли. Программу почему-то растянули, и программируемую логику, теорию, они будут проходить на втором курсе.
Я работаю с первокурсниками. (Извиняюсь, наверно надо было сразу об этом сказать... не подумал :))
Admiral, предложение интересное, но сделай пожалуйста его в развернутом виде. Т.к. признаться у меня с радио отношения вроде не плохие, но ИМХО на уровне советского троешника.

Codru
18-11-2009, 10:14
lxa85, не знаю основную профиль ВУЗ-а, но осмелюсь предложить программы по управлению элементов лифтов и лифта в целом. Почему?
Можно разбить по частям, есть элемент от простого к сложного, много элементов контроля безопасности.
Скажем одну и ту же проверку можно задать как с использованием простейших элементов (реле) так и контроллеров.

Алгоритм работы системы управления лифта как и самого простого (релейного) так и сложнейшего (электронного) практически не отличается и в какой-то мере доступен для большинства.

Готов поделиться подробностями.

Drongo
18-11-2009, 12:40
lxa85, не знаю основную профиль ВУЗ-а, но осмелюсь предложить программы по управлению элементов лифтов и лифта в целом. »Кстати да. :up: В книге Дейтелов - как программировать на C++ приводится пример именно с лифтами.

Пример простой (я малость пофантазировал, хотя там упоминались некоторые перечисленные сложности.)

1. Для начала. Есть одно здание и два этажа и один человек. (количество этажей можно увеличивать, также учитывать вызов с этих этажей. Выход людей на различные этажи.)
2. Есть один лифт. (так же можно кол-во лифтов увеличивать, пусть максимум будет 3)
3. Сначала лифтом пользуется один человек (на этом этапе моделируется обычное поведение лифта - вверх\вниз с одним человеком и вместимостью в 1 человек, постепенно количество людей увеличивается, появляется на первом этаже и на втором, если лифт занят, дождаться когда он освободится, либо если будет введено 2 лифта воспользоваться вторым.)
4. Проверка грузоподъёмности (чтобы не влезло в одну кабинку 100 человек.)
5. При трёх лифтах, человек должен сесть в тот лифт, который раньше приедет, а не тот который он вызвал.

lxa85
18-11-2009, 15:20
Специальность 230101 - ЭВМ, Комплексы, сети.

Задача лифтов имеет яркую структуризацию. Еще подумаю, но пока это в большей степени задача выбора по имеющимся условиям. Она, наверно, в большей степени подойдет создателям автоматов и устройств управления. Это на более старших курсах.
Лучшее ее развитие можно достичь ну-у-у на массивах. Дальше развивать логику работы 3х лифтов ... ммм не то.

Развитие лаб:
Линейные алгоритмы
Ветвления, циклы.
Процедуры, функции.
Векторы (линейные массивы)
Массивы и матрицы.
Графические эелементы. (Знакомство с формами, кнопками и т.п.)
Файлы текстовые
Файлы типизированные
Списки и указатели.
Объекты.
Защита курсовой.

Можно, и по идее нужно, вплести физику в процесс. Тогда это станет интереснее. Надо подумать, что за физика, и какие графики (что от чего) рисовать.

Готов поделиться подробностями. »
Жду! :)

Codru
18-11-2009, 19:57
Жду! »
Порядок прибытия кабины лифта по сигналу вызова (с площадки).
При нажатии КВ (кнопки вызова) БУ (блок или станция управления) должен:
- зарегистрировать вызов;
- выдать обратно на КВ подтверждение приема вызова (загорается лампочка или светодиод);
- свободна ли кабина, либо если есть пассажиры не имеют ли они приоритет на перемещение (использование спецключа…);
- определить место положения кабины: выше, ниже или на этаже вызова;
- стоит на месте или в движении;
- если в движении, то где находиться: до датчика замедления или после;
- нет ли приоритетов на движение, допустим определено, что движение вверх осуществляется без остановок на промежуточные площадки всегда или в какой-то временной интервал;
- анализ датчиков безопасности: закрыты ли все двери шахты …

После анализа всех данных (допустим кабина неподвижна), БУ подает команду на начало движения и контролирует параметры движения: величина запускающих токов, начальная и номинальная скорость движение, прохождение промежуточных этажей (но это уже другая подпрограмма);
По прибытии кабины на этаж, БУ контролирует находится ли кабина точно перед дверью, если да, дает команду на ее открытии и снимает сигнал вызова с КВ (гаснет светодиод).

Конечно здесь можно кое-что упростить или наоборот усложнить.
Со временем все процессы можно обьединить и получить полную программу управления лифтом.

Правописание работает, здорово! Молодцы, что установили.

Admiral
19-11-2009, 02:31
lxa85 добавлю что в физики процесса в момент превышения порогового уровня контур (магнитная катушка + конденсатор) настроены на частоту радиостанции - в резонанс с последней.
В общем-то транзистор, добавление внешнего питание и подразумевалось. Для разнообразия и исторического обзора, можно взять лампу или полевой транзистор вместо биполярного. Любой график, даже если это и неизвестная функция, можно представить (в простейшем случаи) в виде двухмерного массива - значение функции - значение переменной.
Решением вопроса эмуляции, к примеру, может быть выпуск программы показывающую некую аналогию с Electronic WorkBench
http://s54.radikal.ru/i144/0911/9d/fb74e9698240.png

lxa85
02-03-2010, 18:31
Семестр начался, начались занятия, и по всей видимости пришло время вновь поднять тему.
Модель солнечной системы была предложена, и кто-то ее у меня уже начал реализовывать.
Лифты предложу в четверг. Радиоаппаратура ... пока не сформулировалась.
Жду еще предложений, 3 месяца не должны были пройти даром. :)




© OSzone.net 2001-2012