![]() |
Компилятор Pascal
Нужен компилятор паскаля. Главное (и, в общем, единственное) требование - вывод информации в таком виде, как, например, в Pascal ABC (он компилирует, но не создаёт бинарник на диске): переменная типа real содержит число 50, и на вывод тоже идёт 50. Однако такие компиляторы, как Turbo Pascal и Free Pascal выдают информацию в виде 1.000000000000000E+002.
Сейчас строка программы выглядит вот так: a:=round((f/b)*100), затем идёт вывод переменной a в файл - write (t2, a); Конечно, проще сделать эту строчку в виде write (t2, a:3:0); . Однако эта программа - олимпиадное задание, так что сейчас уже ничего не исправить :lamer: Нужно найти такой компилятор, чтобы подать апелляцию - будет 100% доказательство работы программы. (Писал и проверял в ABC, не виноват же что проверяли (точнее вообще не проверяли, но это не по теме...) в Turbo, да и особые условия (проверяют исходник или бинарник и т.д.) не были указаны, разрешалось писать и в Abc, и Turbo, и Free) |
Цитата:
Чему равны f и b и каких они типов? Какое надо было вывести число (целое, дробное)? 1.000000000000000E+002=100, а не 50 Цитата:
|
Цитата:
Задача: в первой строчке количество вопросов какого-то теста, во второй через пробел - 1\0 - правильный\неправильный ответ. В output.txt вывести в процентах количество правильных ответов. Условия: работа не более 2х секунд, не более 64х Мб ОЗУ, завершается нулём (halt (0) или достижением конца текста). Писать можно на C. Pascal (ABC, Turbo, Free), Java, Basic. Вот код (доступа к оригиналу нет, но программа небольшая, все детали я помню): Проблема в строчке write (t2, a), для Pascal ABC, в котором я работал, не нужно указывать формат вывода. Однако, как оказалось, программу (exe файл, который ABC не создаёт) должны проверять специальной программой-тестером (создаёт виртуальные input\output.txt, в input подставляет значения, сравнивает эталонные с результатом в output), однако тест оказался нерабочим (возможные решения теста: правильный\неправильный ответ, работает дольше 2х секунд, нет ввода в output.txt, НЕПРАВИЛЬНЫЙ ФОРМАТ ВЫВОДА, но тест работал минут 5, не выдав ни ошибки, ни результата). Если смотреть с моей стороны, то всё сделано правильно - в ABC программа работает (ответ целым числом), если со стороны проверяющих - сделанный в Turbo екзешник выводит ответ в неправильном формате. (....E+002). В первом сообщении спутал F и A)) Число должно быть как раз целое. Нужно либо доказывать, что в разрешённой для работы ABC всё работало правильно, либо найти другой компилятор. Кстати, можно даже для Linux'а. |
Время: 11:47. |
Время: 11:47.
© OSzone.net 2001-