В качестве примера рассмотрим фрагмент кода, выполняющий построение синтаксического дерева функции. На языке C он может выглядеть так:
то же самое на придуманном автором языке Context:
Обратите внимание на то, что в обоих фрагментах сознательно сделаны различные отступы при записи операторов присваивания значения и адреса в строках 3 и 4. Возможны и иные формы записи тех же действий. Вопрос в том, какая форма определения указателя и присваивания ему адреса (строки 1 и 4) представляется Вам наиболее понятной:
Здесь Dict - массив структур, поле pNode - слово, @ - префиксный, а ^ - постфиксный оператор вычисления адреса.
Допускались также ответы
Результаты:
Вариант ответа |
Число проголосовавших |
% |
A | 56 | 48% |
B | 20 | 17% |
C | 9 | 8% |
D | 11 | 9% |
E | 13 | 11% |
F | 8 | 7% |
Всего: | 117 | 100% |
Опрос проводился с 02.12.2002 по 31.12.2004. Проголосовали менее полутора процентов посетителей.
В ряде языков программирования ( C/C++/... ) используются операторные скобки ( {...} / begin...end ), используемые когда нужно поместить более одного оператора внутрь управляющей конструкции ( if / while / ... ). В других языках ( Modula/Basic/... ) любое число операторов может быть помещено внутрь управляющей конструкции без использования скобок. В языке Pascal используются оба варианта ( сравните while и repeat/until ). Если скобки не используются, управляющие конструкции завершаются специальными ключевыми словами ( end / endif / enddo / ... ). Например
Какая из форм управляющих конструкций представляется Вам наиболее удобной:
Допускались также ответы
Результаты:
Вариант ответа |
Число проголосовавших |
% |
A | 51 | 59% |
B | 15 | 17% |
C | 7 | 8% |
D | 10 | 11% |
E | 4 | 5% |
F | 0 | 0% |
Всего: | 87 | 100% |
Опрос проводился с 03.03.2003 по 31.12.2004.