Различия между версиями 38 и 39
Версия 38 от 2011-01-19 20:20:30
Размер: 11139
Редактор: eSyr
Комментарий:
Версия 39 от 2011-01-21 02:09:57
Размер: 9693
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 42: Строка 42:
      {{{round(1.9) = 1}}}. FAIL. -- PavelSutyrin <<DateTime(2011-01-19T16:55:38+0400)>>
       {{{
pts/5, esyr@reactor: /tmp % cat round_test.pas
program round_test;
begin
        if round(1.9) = 1
        then
        begin
                writeln('FPC FAIL');
        end
        else
        begin
                writeln('SPACEDIVER FAIL');
        end;
end.
pts/5, esyr@reactor: /tmp % fpc round_test.pas
Free Pascal Compiler version 2.4.0-2 [2010/02/20] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling round_test.pas
round_test.pas(5,2) Warning: unreachable code
Linking round_test
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
12 lines compiled, 0.0 sec
1 warning(s) issued
pts/5, esyr@reactor: /tmp % ./round_test
SPACEDIVER FAIL
pts/5, esyr@reactor: /tmp %
       }}}
       [[http://www.pascal-central.com/docs/iso7185.pdf|ISO 7185:1990]], 6.6.6.3; [[http://www.fh-jena.de/~kleine/history/languages/iso-iec-10206-1990-ExtendedPascal.pdf|ISO 10206:1990]], 6.7.6.3:
       {{{
round(x)
     From the expression x that shall be of real-type, this function shall return a result of integer-
     type . If x is positive or zero, round(x) shall be equivalent to trunc(x+0 .5) ; otherwise, round(x)
     shall be equivalent to trunc(x - 0 .5) . It shall be an error if such a value does not exist.
Examples:
  round(3 .5) { yields 4 }
  round(-3 .5) { yields -4 }
       }}}
       ЧЯДНТ? -- [[eSyr]] <<DateTime(2011-01-19T17:20:30Z)>>
     `round(2.5) = 2`, доказательство:
      {{{begin writeln(round(5/2),'=',trunc(5/2+0.5)) end.}}}
     --FrBrGeorge
Строка 83: Строка 46:
 1. Graph/BGI поддерживается во Free Pascal — http://www.freepascal.org/docs-html/rtl/graph/index.html -- [[eSyr]] <<DateTime(2011-01-18T15:10:31Z)>>
Строка 85: Строка 47:
    Вообще-то двуногие безрогие предпочитают '''Graph'''. Его нет в практикуме? -- FrBrGeorge     Вообще-то двуногие безрогие предпочитают [[http://www.altlinux.org/FreePascal/EgaVgaBGI|Graph]]. Его нет в практикуме? -- FrBrGeorge
Строка 127: Строка 89:
  Нет, доступ на чтение или есть всем, или нет вовсе. --FrBrGeorge

Практикум первого курса по программированию

Структура этой страницы:

  • В графе Потребности перечисляются действительные потребности практикума, т. е. задачи, которые сейчас решаются (или плохо решаются).

  • В графе Реализация описывается одно или несколько решений задачи

  • Знаком (./) отмечены задачи, уже решённые в прошивке

  • Знаком /!\ отмечены непрояснённые потебности и нерешённые задачи

  • Знаком {2} отмечены непервостепенные задачи, бонусы (решения непоставленных задач)

  • Комментарии просьба подписывать с помощью макроса: -- @SIG@

Прошивка для сетевой загрузки

/!\ описание, комплектация и, возможно, ссылка на какие=то внутренности

1 семестр: МТ, НАМ, Паскаль

Потребности

  1. Turbo Pascal
  2. ISO Pascal
  3. Нужна текстовая цветная графика (TP модуль CRT),
  4. {2} Нужен звук (PC Speaker, функции TP play/sound).

    • Не пытайтесь убедить меня, что нужен звук в компьютерном зале, за такое побивают камнями -- FrBrGeorge

      • Звук является одной из тем, которая изучается некоторыми преподавателями. Как вариант: выводить на разъем для наушников на передней панели. --PavelSutyrin

      Давайте определимся. Функции Play я в TP не нашёл. Функция Sound — это просто писк на определённой частоте. Звуком тут и не пахнет. Что содержательно используется в практикуме? -- FrBrGeorge

      • Ноты разной высоты и длительности. Проигрывание гамм, мелодий. Интерактивная музыкальная клавиатура. Вобщем, Sound используется. --PavelSutyrin

  5. {2} Графика в объеме Graph/BGI.

  6. МТ и НАМ.
    • В природе существуют досовские эмуляторы там бывали проблемки с кодировкой русских букв. Уточню.
      • Ах да. Русские буквы в досбоксе не лечатся, уточнять тут нечего. -- FrBrGeorge

        • Русские буквы в досбоксе работают (rk.com), reportedly есть проблемы с конкретно этими эмуляторами. Обещали прислать. --PavelSutyrin

      Ну вот, собственно. prak.zip. Работает корректно в досбоксе, взятом отсюда (за счет грамотного русификатора, вестимо, см. там dos/dosbox.conf). --PavelSutyrin.

      • Собственно говоря, эти эмуляторы редко кем используются именно на занятиях, скорее рекомендуются студентам для самостоятельного тыкания. --PavelSutyrin.

Реализация

  1. Turbo+DOSBOX
    • Переправить mapper
      • Предлагаю просто заменить Ctrl на Win. --FrBrGeorge

    • составить инструкцию по использованию (включая копированием файлов)
      • не забыть про Ctrl-F4 при обновлении файлов
    • можно подсмотреть настройки DosBOX вот здесь, особенно по части масштабирования. Лучше сделать scaler наподобие normal2x, чтобы не сглаживалось почем зря. Для начала.

    • возможно, пригодится: Если при раскрытии DosBOX на полный экран (Alt+Enter) искажаются цвета и окно BP из синего становится красным, то следует в конец файла dos\dosbox.conf добавить строчки:

      [sdl]
      output = opengl
    • возможно, пригодится: Если при запуске DosBOX из-под Vista mapper не помогает настроить некоторые клавиши (стрелки, кавычки, +, -), то дело может быть в драйвере японской клавиатуры

      • А чем плох 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. (есть какой-то P5, но лучше GPC)

  3. Текстовой графики достаточно.
    • Вообще-то двуногие безрогие предпочитают Graph. Его нет в практикуме? -- FrBrGeorge

    • Пока не обращались. Но как {2} пусть будет, очевидно. --PavelSutyrin

  4. НАМ: реализация на JS! (emain-050223-noarch.tar.gz

    • По-моему, это ОНО.
      • А вот еще, тоже JS.

  5. МТ: /!\ ищется

2 семестр: УМ, Язык ассемблера

Потребности

  1. MASM
  2. Современный ассемблер
  3. УМ-*
    • Годных реализаций пока УМ не обнаружено, поиск продолжается. Методическая целесообразность оных пока под вопросом.

Реализация

  1. MASM+Geany
    • Инструкция по использованию Geany
  2. NASM + Geany (croco-compatible)
  3. /!\ JWASM?

Прочее

Когда что-то не работает, некому помочь.

Комплекты инструментов для студентов

Загружаемые образы операционки, либо дистрибутивы отдельных инструментов (что частично сделано), пригодные для использования студентами. Главное здесь, чтобы студенты в самостоятельной работе пользовались проверенными инструментами, а не скачивали самостоятельно что-то сомнительного качества.

Хранение исходников

Студенты должны иметь возможность хранить свои исходники и прочие файлы (наборы входных данных) в надежном месте, откуда получать к ним доступ из МЗ и из дома. Бывают use cases как минимум вида

  1. написал дома принес в МЗ показать
  2. начал писать в МЗ, допишу дома

Доступ друг к другу в материалы студентам запрещен. У преподавателя группы должен быть доступ к студентам на чтение (чтобы он мог собрать у них что-то сделанное, но они не могли вменить ему порчу своих исходников)

  • Это всё есть в git-alt, нес па? -- eSyr 2011-01-18 18:05:53

    • Нет, доступ на чтение или есть всем, или нет вовсе. --FrBrGeorge

Хранение задач и учебных материалов

Должно быть местечко, куда преподаватель может выложить, а студенты группы only read некоторое задание, примеры программ, входные данные, и т.п. Таковое может производится как на группу, так и каждому студенту индивидуально.

  1. Сайт поддержки семинара с зарегистрированными пользователями и attachment-ами

Практикум 2 курса по программированию

  1. flex, bison

FrBrGeorge/Prac1Course (последним исправлял пользователь FrBrGeorge 2016-09-10 21:02:12)