Форум » Массивы, сортировка, работа с файлами » Технические вопросы по оформлению С2 (и лично Константину Юрьевичу) » Ответить

Технические вопросы по оформлению С2 (и лично Константину Юрьевичу)

Ion: В условиях задач С2 обычно предлагается привести фрагмент программы на месте многоточия. После многоточия обычно стоит последний END с точкой. Записать в бланк ответов, значит, нужно, только тот фрагмент, который должен стоять между начальными данными и этим END'ом. Ну например:[quote]const N=30; var a: array [1..N] of integer; i,j,k,imax,kmax: integer; begin for i:=1 to N do readln(a[ i]); ... end.[/quote] Вопрос 1: могу ли я (не записывая начальный кусок, конечно) дописать на бланке ответов программу до самого конца, включив в ответ и этот END с точкой? Могут ли эксперты-проверяющие к этому придраться, раз этот END. уже есть в условии задачи? Особенно если экспертам будет дана "жёсткая" установка по оцениванию? А я чую, что после майских результатов она будет: так что делать всё надо абсолютно идеально. Вопрос 2: чтобы нужное значение выводилось на экран (в Паскале), а не закрывалось моментально, в конце, после оператора WriteLn(ответ); следует поставить ещё ReadLn (так меня учили, во всяком случае). Почему-то в ответах у Константина Юрьевича я никогда не вижу этого ReadLn. Вопрос - почему? Вопрос 3: и ещё тут до кучи вопрос по поводу точки с запятой. Вроде как end (любой) является служебным словом, и ставить после предшествующего ему оператора точку с запятой не нужно. Однако в мануалах Константина Юрьевича обычно везде эта точка с запятой наличествует. В принципе, это несущественно, поскольку программы успешно работают в обоих вариантах, но всё же непонятно. Меня приучили к тому, что end, как и, например, else, является служебным словом, перед которым точка с запятой не нужна. Однако в случае с else ставить точку с запятой точно нельзя. Константин Юрьевич, не создаётся ли этим небольшая путаница и каша в головах? :-)

Ответов - 3

Поляков: Ion пишет: могу ли я (не записывая начальный кусок, конечно) дописать на бланке ответов программу до самого конца, включив в ответ и этот END с точкой? Не стОит дразнить гусей. если вы пишете end, нужно писать и первый begin. Обратите внимание, что в ответах к демо-варианту в конце решения нет end. Вам нужны лишние проблемы? :-) чтобы нужное значение выводилось на экран (в Паскале), а не закрывалось моментально, в конце, после оператора WriteLn(ответ); Это только для сред, в которых консольное окно после завершения программы автоматически закрывается. В общем случае - не нужно, в том числе и на ЕГЭ. end, как и, например, else, является служебным словом, перед которым точка с запятой не нужна. Вы правы. У меня есть Си-шная привычка после каждого оператора ставить точку с запятой. Надо будет пересмотреть все примеры программ.

Ion: Поляков пишет: Не стОит дразнить гусей. если вы пишете end, нужно писать и первый begin. Обратите внимание, что в ответах к демо-варианту в конце решения нет end. Вам нужны лишние проблемы? :-) Спасибо за совет. END. писать больше не буду. :-) В общем случае - не нужно, в том числе и на ЕГЭ. Но всё же, я полагаю, чтобы У НИХ не возникло даже ни малейшего повода к чему-то придраться, лучше этот ReadLn написать, чем нет. Вы согласны? Тем более, я использую Turbo Pascal 7.0, где это окно закрывается. Если я напишу про это, то могут же придраться... Кстати, а в С2 вообще нужно указывать версию компилятора? В С4 - да, нужно, а вот в С1-С2?

Поляков: Ion пишет: Но всё же, я полагаю, чтобы У НИХ не возникло даже ни малейшего повода к чему-то придраться, лучше этот ReadLn написать, чем нет. Вы согласны? Согласно критериям оценивания, за это снижать не могут. А эксперты будут руководствоваться критериями. С другой стороны, за присутствие Readln тоже снижать не могут. Так что выбирайте на ваш вкус. Кстати, а в С2 вообще нужно указывать версию компилятора? Да, про это прямо говорится в условии (см. демо-вариант).




полная версия страницы