Практикум первого курса по программированию
Структура этой страницы:
В графе Потребности перечисляются действительные потребности практикума, т. е. задачи, которые сейчас решаются (или плохо решаются).
В графе Реализация описывается одно или несколько решений задачи
Знаком отмечены задачи, уже решённые в прошивке
Знаком отмечены непрояснённые потебности и нерешённые задачи
Знаком отмечены непервостепенные задачи, бонусы (решения непоставленных задач)
Комментарии просьба подписывать с помощью макроса: -- @SIG@
Прошивка для сетевой загрузки
описание, комплектация и, возможно, ссылка на какие=то внутренности
1 семестр: МТ, НАМ, Паскаль
Потребности
- Turbo Pascal
- ISO Pascal
- Нужна текстовая цветная графика (TP модуль CRT),
Нужен звук (PC Speaker, функции TP play/sound).
Не пытайтесь убедить меня, что нужен звук в компьютерном зале, за такое побивают камнями -- FrBrGeorge
Звук является одной из тем, которая изучается некоторыми преподавателями. Как вариант: выводить на разъем для наушников на передней панели. --PavelSutyrin
Давайте определимся. Функции Play я в TP не нашёл. Функция Sound — это просто писк на определённой частоте. Звуком тут и не пахнет. Что содержательно используется в практикуме? -- FrBrGeorge
Ноты разной высоты и длительности. Проигрывание гамм, мелодий. Интерактивная музыкальная клавиатура. Вобщем, Sound используется. --PavelSutyrin
Графика в объеме Graph/BGI.
- МТ и НАМ.
- В природе существуют досовские эмуляторы там бывали проблемки с кодировкой русских букв. Уточню.
Ах да. Русские буквы в досбоксе не лечатся, уточнять тут нечего. -- FrBrGeorge
Русские буквы в досбоксе работают (rk.com), reportedly есть проблемы с конкретно этими эмуляторами. Обещали прислать. --PavelSutyrin
Ну вот, собственно. prak.zip. Работает корректно в досбоксе, взятом отсюда (за счет грамотного русификатора, вестимо, см. там dos/dosbox.conf). --PavelSutyrin.
Собственно говоря, эти эмуляторы редко кем используются именно на занятиях, скорее рекомендуются студентам для самостоятельного тыкания. --PavelSutyrin.
- В природе существуют досовские эмуляторы там бывали проблемки с кодировкой русских букв. Уточню.
Реализация
- Turbo+DOSBOX
- Переправить mapper
Предлагаю просто заменить Ctrl на Win. --FrBrGeorge
- составить инструкцию по использованию (включая копированием файлов)
- не забыть про Ctrl-F4 при обновлении файлов
можно подсмотреть настройки DosBOX вот здесь, особенно по части масштабирования. Лучше сделать scaler наподобие normal2x, чтобы не сглаживалось почем зря. Для начала.
возможно, пригодится: Если при раскрытии DosBOX на полный экран (Alt+Enter) искажаются цвета и окно BP из синего становится красным, то следует в конец файла dos\dosbox.conf добавить строчки:
[sdl] output = opengl
возможно, пригодится: Если при запуске DosBOX из-под Vista mapper не помогает настроить некоторые клавиши (стрелки, кавычки, +, -), то дело может быть в драйвере японской клавиатуры
- Переправить mapper
(есть какой-то P5, но лучше GPC), ещё есть http://tack.sourceforge.net/
А чем плох Free Pascal, кстати? -- eSyr 2011-01-18 18:10:31
round(2.5) = 2, доказательство: begin writeln(round(5/2),'=',trunc(5/2+0.5)) end. --FrBrGeorge
Угу, в этом месте они конформны борландовской реализации (начиная с 2.2.4). http://wiki.freepascal.org/User_Changes_2.2.4#Floating_point_rounding. Так что, если и причислять это к недостаткам (что, конечно, делать нужно, но это только на мой взгляд), то одновременно с причислением это в качестве недостатка варианта с использованием Turbo/Borland Pascal. -- eSyr 2011-01-25 19:15:22
Тем не менее пример, приведённый выше, в TP7/BP7 работает согласно стандарту. Возможно, это уже глюки Delphi, не знаю. --FrBrGeorge
- Текстовой графики достаточно.
Вообще-то двуногие безрогие предпочитают Graph. Его нет в практикуме? -- FrBrGeorge
Пока не обращались. Но как пусть будет, очевидно. --PavelSutyrin
- НАМ:
Ещё одна с сайта cmcmsu.no-ip.ru, JS. Сейчас используется в Савастополе; поправлено немного ошибок, см в курсе.
- МТ:
С сайта cmcmsu.noip.ru, JS. Сейчас используется в Савастополе; поправлено немного ошибок, см в курсе.
Ещё одна, за авторством А . С. Балюка
- Рекурсивные функции (появились в Севастополе в 2016 г.)
Недоделанная реализация, за авторством А. С. Балюка
- Railroad diagram
БНФ: А что, собственно, оно должно делать?
2 семестр: УМ, Язык ассемблера
Потребности
- MASM
- Современный ассемблер
- УМ-*
- Годных реализаций пока УМ не обнаружено, поиск продолжается. Методическая целесообразность оных пока под вопросом.
Реализация
- MASM+Geany
- Инструкция по использованию Geany
- NASM + Geany (croco-compatible)
JWASM?
Прочее
Когда что-то не работает, некому помочь.
Комплекты инструментов для студентов
Загружаемые образы операционки, либо дистрибутивы отдельных инструментов (что частично сделано), пригодные для использования студентами. Главное здесь, чтобы студенты в самостоятельной работе пользовались проверенными инструментами, а не скачивали самостоятельно что-то сомнительного качества.
Сайт поддержки
Здесь рассматриваются требования к сайту поддержки практикума с точки зрения хранения и оборота таких материалов, как:
- текстов задач и примеров программ (от преподавателя)
- текстов программ-решений (от студентов).
Цикл работы
- Студент получил задание в виде номерочка из задачника, либо в виде текста задачки на листочке (currently!). Дополнительно может прилагаться файлик с входными данными, который нужно будет обработать программою.
Альтернативно, студент может получить не задание, а демонстрационные программы, который он должен скомпилить и запустить у себя, а затем изучать, изменять и распространять измененные версии.
- Студент написал свою программу-решение тут же в МЗ. Или начал писать, тогда дописывает в другое время.
- Альтернативно, студент написал/дописал свою программу дома (или в другое время в МЗ), и заранее, до следующего занятия в МЗ, прислал преподавателю (currently, по электронной почте).
- Студент написал свое решение здесь же в МЗ, либо скачал заранее написанное решение на машину, обсудил с преподавателем, ответил на вопросы (здесь эффективность работы сильно повышается от предварительной присылки решения студентами, что награждается), получил задание по доработке его либо здесь же, либо дома. Посему, чаще всего, то, что он сделал/доделал в МЗ, требуется ему взять домой.
Права доступа
- Доступ друг к другу в материалы студентам запрещен.
- У преподавателя группы должен быть доступ к студентам на чтение (чтобы он мог собрать у них что-то сделанное, но они не могли вменить ему порчу своих исходников).
Алсо, некоторые преподаватели любят накоментить студентам в решения, чтобы те читал и учились, стало быть нужен доступ на запись (но это зависит от преподавателя => должно быть настраиваемо per group).
- У некоторых групп в определенное время может быть зачет, когда человеку нужно будет в оперативном режиме, на оценку, отвечать на вопросы и писать/изменять свои программы. На это время из некоторого МЗ должны быть отключены интернеты, а доступ к сайту поддержки ограничен только чтением -- все это для затруднения спасения утопающих чужими руками.
- Иногда бывает режим "ничем нельзя пользоваться", тогда должен быть закрыт доступ к разделу сайта с методическими материалами.
- Иногда бывает даже "ничего своего вам не нужно", т.е. задачи решаются с нуля, на голой машине с инструментами и встроенной справкой (manpages). Тогда должен быть закрыт доступ к сайту поддержки вообще.
Это всё есть в git-alt, нес па? -- eSyr 2011-01-18 18:05:53
Нет, доступ на чтение или есть всем, или нет вовсе. --FrBrGeorge
Хранение задач и учебных материалов
- Должно быть местечко, куда преподаватель может выложить, а студенты группы only read некоторое задание, примеры программ, входные данные, и т.п. Таковое может производится как на группу, так и каждому студенту индивидуально. Сейчас задачки раздаются вручную на бумажках, а примеры программ -- на флешечке и по почте.
- Сайт поддержки семинара с зарегистрированными пользователями и attachment-ами.
Практикум 2 курса по программированию
- flex, bison