Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1 2 3 4
  21  Ергали, 09 марта 2022 г. 21:23:21
     kakoi 43 test?
  22  Жуков Александр И, 15 октября 2020 г. 10:38:42
     Не хватает нормального описания синтаксиса. Я вот на Делфи писал последний раз на втором курсе ВУЗа и было это в далеком 2004-м году. Было бы неплохо увидеть в описании задачи формализованные правила, хотя бы в виде текста, ну или что-то в этом роде: NUMBER := [0-9]{1,} [\.]{0,} [0-9]{0,} | [0-9]{1,} [\.]{0,} [0-9]{0,} E [0-9]{1,} | [0-9]{1,} [\.]{0,} [0-9]{0,} E -[0-9]{1,} FUN := SIN | COS EXPR := NUMBER | (EXPR) | FUN(EXPR) | -EXPR SUM := EXPR + EXPR | EXPR - EXPR | EXPR MULT := SUM * SUM | SUM / SUM
     На сайте доступен компилятор Delphi и Free Pascal в режиме совместимости с Delphi. Вы можете сдать программу на них с любым выражением и посмотреть, будет ошибка компиляции или нет.
  23  Жуков Александр И, 15 октября 2020 г. 9:33:12
     Хотелось бы понять правила для чисел в экспоненциальном виде, что является допустимым: 1.e2, .1e2, 1.1e, 2.2e2e Правильно ли я понимаю, что допустимо только первое, а остальное ошибочное?
     На сайте доступен компилятор Delphi и Free Pascal в режиме совместимости с Delphi. Вы можете сдать программу на них с любым выражением и посмотреть, будет ошибка компиляции или нет.
  24  Оби-Ван Кеноби, 08 октября 2020 г. 21:07:02
     Какой ответ будет у теста (2) + 2 ? и sin (12)
  25  Тер-Саркисов Богдан Олегович, 30 июля 2020 г. 19:42:55
     Как выяснилось, "1.e2+2" -> "102"; "1.e2" является корректной записью вещественного числа в этой задаче.
  26  Тер-Саркисов Богдан Олегович, 28 июля 2020 г. 19:43:43
     Допускаются ли шестнадцатеричные числа в формате $1234 ?
     Вы можете попробовать сдать решение с их поддержкой и без.
  27  Кузин А В, 22 июля 2020 г. 15:02:34
     А слабо для тех, кто неожиданно не знает наизусть синтаксис парсинга Делфи, все-таки его описать? До этого Паскаль был, теперь - делфи - это вообще зачем придумывать?
     Одна из частей решения этой задачи - найти синтаксис Делфи. На сайте доступен компилятор Delphi и Free Pascal в режиме совместимости с Delphi. Вы можете сдать программу на них с любым выражением и посмотреть, будет ошибка компиляции или нет. Поскольку синтаксис разных вариантов Паскаля может различаться - именно поэтому было уточнение про Делфи.
  28  Лалетин Николай Викторович, 12 июля 2020 г. 22:59:30
     Насколько я помню синтаксис вещественного числа в Delphi, до точки и после точки обязательно должна быть как минимум одна цифра, т.е. «.12» и «12.» - недопустимые выражения. Восьмой тест к задаче допускает запись «12.» - непонятно
     Синтаксис вещественного числа в Delphi не нужно помнить. На сайте доступен компилятор Delphi и Free Pascal в режиме совместимости с Delphi. Вы можете сдать программу на них с любым выражением и посмотреть, будет ошибка компиляции или нет.
  29  Зинов Вадим, 12 июля 2020 г. 0:05:38
     Если еще тесты обновляться будут, можно добавить "sincos(1)" или "sin cos(1)".
  30  Хворых Павел, 11 июля 2020 г. 10:06:56
     Добавьте, пожалуйста, в список примеров тесты типа ".12" и "007". Для пишущих на си-подобных языках такие особенности Delphi точно окажутся сюрпризом. Например, для C# ситуация диаметрально противоположна: ".12" является валидным литералом, а "12." - нет.
     Сюрпризов может быть много разных в синтаксисе неизвестного человеку языка. Но ведь можно найти синтаксические диаграммы в интернете или если доступен компилятор языка (а он на сайте доступен) - можно экспериментировать, что является ошибкой компиляции, а что - нет.
  31  Хворых Павел, 10 июля 2020 г. 16:01:36
     Нет, ну если так подходить, то давайте на второй тест ответ тоже будет Error, потому что про возможность пробелов в записи ничего не сказано.
     Однако, вы правы. Добавил пробелы в условие.
  32  Кузин А В, 30 сентября 2019 г. 19:26:40
     Я понимаю, что задача была составлена довольно давно, но, может, все же написать ей нормальное условие? Все-таки синтаксис языка Pascal... Сейчас те, кто не начинают в Си, начинают в Питоне. А если это задача для Паскалистов, может, не надо вешать ее в разделе "Курсы", еще и в язык "С++"
     Это задача на синтаксический анализ. Найти синтаксические диаграммы или РБНФ для любого языка в интернете не проблема. А что касается Delphi, то прямо на сайте можно проверить правильность своего понимания, сдавая программу на языке Delphi и смотря на результат - будет ошибка компиляции или нет.
  33  Шатохин Федор Вадимович, 31 октября 2018 г. 16:42:08
     возможен ли тест: -2+3 2*(-3) ?
     Да, тест "-2+3 2*(-3)" возможен. Из-за пробела между 3 и 2 это синтаксическая ошибка, а значит, ответ Error.
  34  Тер-Саркисов Богдан Олегович, 21 октября 2018 г. 21:23:06
     Могут ли числа во входных данных быть в экспоненциальном виде? К примеру, тест "1e3 + 2e4".
     Судя по синтаксису Паскаля - да, но пока таких чисел в тестах вроде нет. Но могут появиться.
  35  Шатохин Федор Вадимович, 07 августа 2018 г. 13:32:03
     Тестов где есть ведущие нули нет)
  36  Шатохин Федор Вадимович, 19 июня 2018 г. 12:46:32
     А можно выводить ответ в экспоненциальном формате?(при больших входных данных) или обязательно выводить в десятичном формате?
     Тестов, где ответ очень большой, нет.
  37  Завгородний Михаил Сергеевич, 31 мая 2018 г. 10:02:07
     Какие будут ответы на тесты 2---2, 2++2, 001+002, 2+-2, 2+++2, 2-+2
     По условию допустимыми являются только бинарные операции. Поэтому унарные операции в 2---2, 2++2, 2+-2, 2++++2, 2-+2 должны вызывать ошибку. Ведущие нули не запрещены, поэтому 001+002 должно вычислиться.
  38  Завгородний Михаил Сергеевич, 10 мая 2018 г. 8:18:20
     Почему на 4 пример ответ 2, когда ответ будет 1.9999996829318345?
     Допускаются любые ответы в пределах указанной погрешности.
  39  Давид Нигматуллин, 13 октября 2017 г. 20:25:00
     6 Плосков Александр Андреевич, 24 октября 2015 г. 10:59:44
Сергей Николаевич, проще запретить Python и Java на этой задаче. Посмотрите решения тройки лидеров (Python). Все тесты на eval обойти можно.

//Вы не поверите, но реализовать ее на с++ сейчас проще чем через eval на питон, потому что вариантов завалить питон тепа: exit(0), print('lol'). Просто бесконечное множество, тут не проще запрещать, кому то скучно решать на с++, потому что он это с закрытыми глазами пишет, на питоне тут нужно интересные случаи рассматривать, ну а топы, так это надо подумать, как это коротко реализовать, это не так просто "через eval"
  40  Фалько Слава, 24 марта 2017 г. 13:22:50
     Слабые тесты!!! Моя АС программа выдает неверные результаты на тестах
3.2.2
c os(0)
Правильные ответы на эти тесты Error
 1 2 3 4

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru