На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Здравствуйте!
При отправление задач, нужно выбирать язык программирования...
Если программа написана на Delphi, её можно отправить как программу написанную на паскале?
Поза форумом
Решения, написанные на паскале будут компилироваться компилятором free pascal.
Делай выводы.
Отправлять нужно на паскале, но перед эти проверить, как она работает в FP.
Поза форумом
Это все конечно хорошо, но хотелось бы услышать точный ответ...
Поза форумом
Навскидку, с ходу - список возможных несоответствий между программой на FP и дефолтным консольным приложением в Delphi:
1. Модуля SysUtils во Фри нету, Делфи его прописывает по умолчанию.
2. В Паскале при работе с файлами (хотя вряд ли она здесь понадобится, но мало ли) используются процедуры Assign и Close, которым в Делфи соответстсвуют AssignFile и CloseFile.
3. В Делфи integer=longint.
4. Часто при написании на Делфи любят использовать удобные функции IntToStr и StrToInt, которых в Паскале нет (нужно заменять их на процедуры Str и Val).
5. Если я не ошибаюсь, в Паскале не зарезервировано слово Result для присваивания результата в собственных функциях - нужно писать её имя.
6. Директива компилятору $M имеет другой синтаксис - будьте особенно осторожны!
7. Разумеется, в Паскале нет цикла for...in.
Если подумать, можно найти ещё парочку мелких проблем, которые могут возникнуть без перевода, но это - основные.
Відредаговано Skiminok (2007-11-01 21:08:24)
Поза форумом
Skiminok написав:
Навскидку, с ходу - список возможных несоответствий между программой на FP и дефолтным консольным приложением в Delphi:
2. В Паскале при работе с файлами (хотя вряд ли она здесь понадобится, но мало ли) используются процедуры Assign и Close, которым в Делфи соответстсвуют AssignFile и CloseFile.
я согласен со всем кроме этого:)
лично я пишу assign close и все работает:)
Поза форумом
Antoni написав:
Skiminok написав:
Навскидку, с ходу - список возможных несоответствий между программой на FP и дефолтным консольным приложением в Delphi:
2. В Паскале при работе с файлами (хотя вряд ли она здесь понадобится, но мало ли) используются процедуры Assign и Close, которым в Делфи соответстсвуют AssignFile и CloseFile.я согласен со всем кроме этого:)
лично я пишу assign close и все работает:)
не советую, так делать, однажды еле отбил свои балы на апиляции, и то просто повезло, что в первый раз писали в консоле и мой авторитет...Особенно когда проверяет программа, а не человек...Там спец директивы нада выставлять...
Поза форумом
Antoni написав:
Skiminok написав:
Навскидку, с ходу - список возможных несоответствий между программой на FP и дефолтным консольным приложением в Delphi:
2. В Паскале при работе с файлами (хотя вряд ли она здесь понадобится, но мало ли) используются процедуры Assign и Close, которым в Делфи соответстсвуют AssignFile и CloseFile.я согласен со всем кроме этого:)
лично я пишу assign close и все работает:)
именно значение етих функций и переопределяет sysutils, если не подключать то без суфкса идет
Поза форумом
Antoni, ещё кстати в Delphi нельзя менять счётчик цикла For внутри самого цикла.)
Поза форумом
Grivus написав:
Antoni, ещё кстати в Delphi нельзя менять счётчик цикла For внутри самого цикла.)
what a sux? ))
Поза форумом
necro написав:
Grivus написав:
Antoni, ещё кстати в Delphi нельзя менять счётчик цикла For внутри самого цикла.)
what a sux? ))
Се ля ви
Поза форумом
}{AKER написав:
Antoni написав:
Skiminok написав:
Навскидку, с ходу - список возможных несоответствий между программой на FP и дефолтным консольным приложением в Delphi:
2. В Паскале при работе с файлами (хотя вряд ли она здесь понадобится, но мало ли) используются процедуры Assign и Close, которым в Делфи соответстсвуют AssignFile и CloseFile.я согласен со всем кроме этого:)
лично я пишу assign close и все работает:)не советую, так делать, однажды еле отбил свои балы на апиляции, и то просто повезло, что в первый раз писали в консоле и мой авторитет...Особенно когда проверяет программа, а не человек...Там спец директивы нада выставлять...
Проблема перекрытия классических assign и close возникает только в визуальных приложений, а в консольных - нет
Поза форумом
guest1 написав:
Кстати, напомните пожалуста, какая мощь у компьютера жюри, который проверяет решения (в млн. операциях/сек). У меня 50, и одна из задач хотя работает и меньше секунды, но все равно довольно долго.
Не найдейся, кстати, на таймлимит секунда не надейся - тут он 2*Авторское время, на каждый тест отдельно.
Поза форумом
partisan написав:
guest1 написав:
Кстати, напомните пожалуста, какая мощь у компьютера жюри, который проверяет решения (в млн. операциях/сек). У меня 50, и одна из задач хотя работает и меньше секунды, но все равно довольно долго.
Не найдейся, кстати, на таймлимит секунда не надейся - тут он 2*Авторское время, на каждый тест отдельно.
Ага да я и не надеюсь, второй год уже участвую. Просто хочется прикинуть время выполнения на компьютере жюри, а потом подумать, насколько это много и можно ли усовершенствовать.
Поза форумом
partisan написав:
guest1 написав:
Кстати, напомните пожалуста, какая мощь у компьютера жюри, который проверяет решения (в млн. операциях/сек). У меня 50, и одна из задач хотя работает и меньше секунды, но все равно довольно долго.
Не найдейся, кстати, на таймлимит секунда не надейся - тут он 2*Авторское время, на каждый тест отдельно.
Не обязательно 2. Коэффициент, если не ошибаюсь, варьируется от 1.5 до 3.
Відредаговано Skiminok (2007-11-02 22:56:04)
Поза форумом
Всем Спасибо:)
Поза форумом
можно на языке python?
Поза форумом
ASSASSIN написав:
можно на языке python?
Да, он входит в число официальных языков олимпиады.
Поза форумом
Кстати, насчёт количества операций в секунду. Сервера обычно многопоточны, не так ли? А что если писать решения с многопоточностью? Например, в рекурсивной сортировке после рабиения сортировать левую и правую половины в отдельных потоках? Время работы значительно уменьшится, если я правильно понимаю
Поза форумом
Silicious Man
Если ты пошлешь такой шедевр, то скорее всего будешь дисквалифицирован - на олимпиадах многопоточность запрещена. Кроме того, система расценит создание новых потоков как попытку вмешательства в свою работу.
Ну и еще такие мелочи, как то, что процессор, скорее всего, на сервере 1, и то, что время работы проги будет суммой процессорного времени выполнения каждого потока.
Так что выигрыша не будет, а проблем всем будет уйма.
Поза форумом
guest1 написав:
кстати, об операциях в секунду. То, что у меня работает не меньше 0.2 сек, в онлайн выдает 0.02 сек. Оказывается, у жюри решения работают в разы быстрее - поэтому я и спрашивал про мощность
у мня создалось впечитление что система тестирования под линуксом структуры rpm, а ты вкрурсе что тогда скорее всего ты читаешь не из файла а ввод тебе перенаправляют, ет раз.... второе в виндах семейства нт дос емулируется такой хней как ntvdm которая как у мня создалось впечетление ни как не нацелена на быстродействие(возможно пе нра)
а третее что код и компилируется под линь а опятьже имхо тут вызовы гораздо быстрее(только что проверил, то что сишная прога из стандартного вода под виндой читает секунду под федорой(линукс) идет 0.09 секунд
Поза форумом