Всем привет!
Язык программирования сегодняшнего контеста это - Tcl. Tcl (от англ. Tool Command Language - "командный язык инструментов", читается "тикль" или "ти-си-эль") - скриптовый язык высокого уровня (из статьи в Википедии). Вот пример программы, которая читает и выводит одно целое число:
Скоро состоится (в понедельник, 21-го февраля) первый экспериментальный Unknown Language Round #1. Это будет обычный нерейтинговый контест по правилам ACM-ICPC. Единственная особенность - задачи во время этого раунда можно будет сдавать только на одном, не очень популярном языке. Каком? Секрет!
MikeMirzayanov
UPD: Анонс языка сегодняшнего контеста состоится примерно за пять минут до его начала. Всем удачи!
Язык программирования сегодняшнего контеста это - Tcl. Tcl (от англ. Tool Command Language - "командный язык инструментов", читается "тикль" или "ти-си-эль") - скриптовый язык высокого уровня (из статьи в Википедии). Вот пример программы, которая читает и выводит одно целое число:
set line [gets stdin]<br> scan $line "%d" n<br> puts $nВо время контеста можно пользоваться вкладкой "запуск" в интерфейсе контеста.
UPD: Соревнование закончено: ссылка на результаты. Вам понравилось?
http://ru.wikipedia.org/wiki/Piet
http://en.wikipedia.org/wiki/Piet_(programming_language)
Остается какой нибудь эзотерический язык *CRAZY*
Даешь brainfuck!
Or admin will add some new :D
Хотя любой язык без возможности использовать императивную парадигму тоже будет интересен.
Кстати, а планируется ли расширение набора языков? bash, awk, Lua?
I guess the aim is to broaden the language scope of the competitions, but if you announce the language during the contest itself, probably huge amount of users will need to learn the syntax just them, especially if the language is as unpopular as you say. Thus either the problems will have to be significantly easier, or only a handful of people will compete. Or at least this is what I think.
On the other hand probably if you restrict the language to one of the more popular for each of series of competitions you can make something like a language olympiad and I think the number of participants will not be that significantly reduced.
Still, I like very much the way you constantly try to introduce new competitions and make it even funnier for us! Keep up the good work!
My guess is, the idea of the contest is to write solutions to relatively simple problems in an unusual computational model forced by a language. Here, some (asymptotically) slow algorithm (when a standard computation model is considered) may outperform an algorithm that, in usual conditions, performs much faster.
межвузовские соревнования по моей специальности имеют вид ACM-ICPC контестов, где 2-3 задачи - написать запрос к базе данных на SQL (как правило, для всех этих задач база данных одна, но запросы разные по степени своей закрученности). Те еще головоломки получаются, скажу я вам :D
SQL, наверное, трудно назвать непопулярным языком. Хоть чуть-чуть, но его любой студент знает.
А в чем проблема?
++++++++++[>+++++++>+++++++++++>++++++++++>+<<<<-]>---.>+.>.+.+.<.+++.>---.++.<+.>>.
Да ну, круче всего в проге на hq9+ заменять "Hello, world!" на "Codeforces".
Первой же задачей мы должны будем написать ковертер текста в QR-код.
http://ru.wikipedia.org/wiki/Shakespeare_(язык_программирования)
http://en.wikipedia.org/wiki/Shakespeare_(programming_language)
Выбирайте
Список языков программирования
:)
Its quite possible that Mike has developed a "NEW" language...
:) may be .....
A......Assembly language?!
یه رقرنسی پدی افی از این نداری؟
refrance? or learnimg pdf?
this is one reference for TCL language :
http://en.wikibooks.org/wiki/Tcl_Programming
بابا خوندن از این زبون چطوره؟
© Keith Bostic
А то я полчаса мучился, пытаясь строку переделать в 3 числа...
UPD
Спасибо за контест! Авторы сего безобразия явно знают толк в извращениях:D
Я спустя час после начала контеста после безуспешных попыток считать эти паршивые три числа уже хотел было забить. Однако, увидев тут пример программы, которая читает именно число - решил таки продолжить. И, надо сказать, не зря - доставило:D
Unable to parse markup [type=CF_HTML]
Unable to parse markup [type=CF_HTML]
Unable to parse markup [type=CF_HTML]
Интересно, теперь tcl внесут в список используемых языков и можно будет на нём писать и обычные контесты?
тут, как оказалось, есть операторы if, for, while, foreach, break (работают как в С++, хотя синтаксис более извращенный) а так же proc, с помощью которого можно писать вполне себе процедурки в структурном стиле с операторами return.
and i do hope that perl would be provided someday
thanks
Буду участвовать в следующих, если таковые будут!
P.s. tex съел доллары
А второе это просто set c [expr a * b] (с долларами). Просто аргументами у любой функции является строка, которую функия распарсивает и принимает как аргументы. Поэтому кавычки можно смело опустить.
:)
У меня вообще было
Если раунды проводить регулярно то в среднем преимущество нивелируется - все языки все равно не выучишь.
Хотя, я тоже за отдельный рейтинг.
For the next rounds, it might be nice to have the following :
- some links / ideas about downloading a compiler/interpreter and using an IDE
- and/or 30 minutes to have time to set up an environnement
I could find pages about TCL but where to download a version was kind of counter intuitive... and I only used the line interpreter (wish85), which was quite of painful :) .
(I used notepad++ for the "IDE" so no worries there).
Not: I missed the last line : You may use "Custom Test" feature (see contest user interface) to run your programs.
edit : note to myself, there is an "edit" on the top (so read the first and last line.. always)
Очень прикольный раунд.
В начале думаешь что это вообще за хрень и как тут пробелы расставлять. А под конец ничего так, бодренько шарашишь страшненькие но рабочие прораммки %)
Если по контесту в неделю, то надо 8512 / 52 (число недель в году) = ~169 лет =)
Думаю, за это время языков будет изобретено на пару порядков больше =)
Codeforces team entertains us :)
Супер контест. И язык прикольный.
А я считывала символы и вычисляла... =(
А по-моему как раз плохой способ... Потому что по-хорошему надо сидеть и последовательно изучать руководство, а не судорожно слепливать нечто из обрывков нагугленых сведений.
Но зато весело %)
Идея отличная,оказывается за 2 часа можно так много узнать о новом языке:)
Единственный минус ,но наверное он только меня касается-при моем интернете (64 кбит/c) проходится качать нормальный компилятор и редактор кода целый час,до этого пользуясь всем чем угодно,идея с запароленным архивом с компилятором за час-два до контеста мне очень нравится.
Не думаю что этот контест следует делать рейтинговым ,потому что:
1)Всегда найдутся люди которые более опытны и знают язык ,поэтому те кто не знают будут получать меньший рейтинг делая намного больше.
2)Здесь определяются немного другие способности,нежели в обычных раундах,картинка получится смешанной+Мне почему то кажется что в таких раундах будет участвовать немного меньше людей,что вносит некоторую неравномерность в частоту рейтинга,Имхо:если рейтинг,то отдельный.
Под убунтой Tclsh уже стоит изначально, а дальше остается только запустить консоль со старым добрым вимом (который даже достаточно адекватно подсвечивает синтаксис.
(Хм. почему-то не туда коммент ушел)
Те же самые tclsh и wish, набираем в notepad++, запускаем через командную строку.
Но вообще прикольно было. Копируешь что-нибудь с форумов - а оно не работает, ищешь ошибку. Чувствую, что мое только что сданное решение F сильно претендует на самое идиотское, ибо я не знал, как это по другому делать на _этом_ языке :)
http://pastebin.com/uJZ5fE4d
Я настолько ленив, что даже не проверил, есть ли в этом языке else. Писал одними if-ами
http://pastebin.com/mLdAV6TS
Уникальная методика изучения языков программирования Михаила Мирзаянова поможет Вам выучить TCL самостоятельно, в самый короткий срок, не отрываясь от соревнований.
Только одного контеста по языку мало, почему бы после ознакомительного контеста не сделать еще хотя бы один контест, где язык объявить заранее? У желающих будет возможность подготовиться, тем более, что есть много примеров решений задач первого контеста. Для TCL, в частности, изучить возможности использования регулярных выражений для обработки текстов (подозреваю, что далеко не все с этим знакомы). Ну, а бесполезных знаний не бывает…
Вот в задаче B отлично использовался язык и ещё была отдельная задача на
регулярки.
Я специально долго решал задачу D, использовал двумерный список и сортировал его, чтобы понять возможности языка.
Ну, вообще регекспры это общая концепция и я б не сказал что ее проще изучать в tcl =)
У меня первая же мысль была по задаче F "а нет ли в этом языке регекспров".
Так и я об этом не говорю. Просто это пример того, что желание хорошо выступить в "тематическом" контесте может быть стимулом изучить что-то новое.
Я еще не видел ни одного скриптового языка, кроме CMD, в котором нет регэкспов.
Да там пойди еще разбери в такой спешке скриптовой он или какой =) Я вообще так и не въехал за два часа как он со своими преобразованиями строка-список умудряется влезать в тайм лимит. Но да влезает и ладно =)
А регекспрами нонче, конечно, уже не удивишь никого, но tcl-то как раз не так и молод.
Good way to learn new languages, you should learn and write a correct program as fast as possible. :D
P.S. ubuntu и geany как всегда на высоте.
Хороший способ познакомится с новым языком, к тому же, задействуется отличный от алгоритмических контестов способ мышления. В реальной жизни программиста он не мнее восстребован, по скольку, часто приходится разбираться в новых платформах разработки или даже просто библиотеках, которые могут быть построены по своему принципу. Часто оказывается, что то что делается в три строчки в одном случае, оказывается долгой рутиной в другом.
There already are languages that have eval() function or so.
For example, in python problem B can be solved even simpler than in tcl:
print input()
PS. В emacs 23 и vim 7.1 для этой дряни есть подсветка, а в Debian сразу есть интерпретатор.
(Sorry if my previous comment hurt anyone). :-)