Результаты
Задание С2 № 2918
Тре¬бу¬ет¬ся со¬ста¬вить про¬грам¬му, ко¬то¬рая про¬ве¬ря¬ет, яв¬ля¬ет¬ся ли введённая с кла¬ви¬а¬ту¬ры це¬ло¬чис¬лен¬ная квад¬рат¬ная мат¬ри¬ца раз¬ме¬ром 10х10 "ма¬ги¬че¬ским квад¬ра¬том", то есть равны ли между собой суммы эле¬мен¬тов каж¬дой стро¬ки, каж¬до¬го столб¬ца и суммы эле¬мен¬тов каж¬дой диа-го¬на¬ли.
Пояснение.
usescrt;
const
n=10;
var a:array[1..n,1..n] of integer;
ok:boolean;
i,j,k:integer;
sum:integer;
temp:integer;
begin
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
Ok:=True;
sum:=0;
//счи¬та¬ем глав¬ную диа¬го¬наль
for i:=1 to n do
sum:=sum+a[i,i];
{Вы¬чис¬ля¬ем сумму по стро¬кам}
i:=1;
repeat
temp:=0;
for j:=1 to n do
temp:=temp+a[i,j];
i:=i+1;
if temp <> sum then
ok:=False;
until (ok=false) or (i>n);
//если сумма по стро¬кам под¬хо¬дит, то вы¬чис¬ля¬ем по столб¬цам
if ok=true then
begin
j:=1;
repeat
temp:=0;
for i:=1 to n do
temp:=temp+a[i,j];
j:=j+1;
if temp <> sum then
ok:=False;
until (ok=false) or (j>n);
end;
//далее по диа¬го¬на¬лям
ifok=truethen
begin
k:=1;
repeat
temp:=0;
for i:=1 to n do begin
j:=i+k;
if j>n then j:=j-n;
temp:=temp+a[i,j];
end;
k:=k+1;
if temp <> sum then
ok:=False;
until (ok=false) or (k>=n);
end;
if ok=true then
begin
k:=1;
repeat
temp:=0;
for i:=1 to n do begin
j:=k-i;
if j<1 then j:=j+n;
temp:=temp+a[i,j];
end;
k:=k+1;
if temp <> sum then
ok:=False;
until (ok=false) or (k>n);
end;
Задание С2 № 3790
Критерии оце¬ни¬ва¬ния выполнения задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий верное значение. До¬пус¬ка¬ет¬ся запись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая аналогичные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния использует ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния переменных долж¬ны быть ана¬ло¬гич¬ны описаниям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние нетипизированных или не¬объ¬яв¬лен¬ных переменных воз¬мож¬но только в случае, если это до¬пус¬ка¬ет¬ся языком программирования, при этом ко¬ли¬че-ство переменных и их идентификаторы долж¬ны соответствовать усло¬вию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся наличие от¬дель¬ных синтаксических ошибок, не ис¬ка¬жа¬ю¬щих замысла ав¬то¬ра программы. 2
В любом ва¬ри¬ан¬те решения при¬сут¬ству¬ет не более одной ошиб¬ки из числа следующих. 1. Зна¬че¬ния переменных X и Y на¬хо¬дят¬ся верно, од¬на¬ко среднее ариф¬ме-ти¬че¬ское считается не¬вер¬но (например, про¬из¬во¬дит¬ся действие X/N или не¬вер¬но происходит пре¬об¬ра¬зо¬ва¬ние типов при делении). 2. Не¬вер¬но осуществляется про-вер¬ка значения эле¬мен¬та массива на нечетность. 3. Не ини¬ци¬а¬ли¬зи¬ру¬ют¬ся или не¬вер-но инициализируются пе¬ре¬мен¬ные X и Y. 4. От¬сут¬ству¬ет вывод ответа. 5. Ис¬поль¬зу¬ет-ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле описания переменных. 6. Не ука¬за¬но или не¬вер¬но указано усло¬вие завершения цикла. 7. Ин¬декс¬ная переменная в цикле не ме¬ня¬ет¬ся (например, в цикле while). 8. Не¬вер¬но расставлены опе¬ра¬тор¬ные скобки. 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1–7, две или больше, или ал¬го¬ритм сформулирован неверно. 0
Максимальный балл 2
Пояснение.
Задание С2 № 4703
Дан мас¬сив, со¬дер¬жа¬щий 70 целых чисел. Опи¬ши¬те на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти наи¬мень¬шее по¬ло¬жи¬тель¬ное не¬чет¬ное число, со¬дер-жа¬ще¬е¬ся в мас¬си¬ве. Га¬ран¬ти¬ру¬ет¬ся, что в мас¬си¬ве есть хотя бы одно по¬ло¬жи¬тель¬ное не¬чет¬ное число.
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен-ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать часть из них.
Пас¬каль
const
N=70;
var
a: array [1..N] of integer;
i, j , m: integer;
begin
for i:=1 to N do
readln(a[i]);
...
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы, ко¬то¬рый дол¬жен на¬хо-дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми-ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при-мер.FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии.
Пояснение.
При¬мер ре¬ше¬ния на языке Пас¬каль
for i:=1 to N do
if a[i]>0 then
m:=a[i];
for i:=1 to N do
if (a[i] mod 2 = 1) and (a[i]>0) and (a[i] < m ) then
m:=a[i];
writeln(m);
end.
Задание С2 № 6936
Критерии оце¬ни¬ва¬ния вы¬пол¬не¬ния задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий вер¬ное значение. До¬пус¬ка¬ет¬ся за¬пись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая ана¬ло¬гич¬ные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния ис¬поль¬зу¬ет ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния пе¬ре-мен¬ных долж¬ны быть ана¬ло¬гич¬ны опи¬са¬ни¬ям пе¬ре¬мен¬ных на языках, ис¬поль¬зо¬ван¬ных в задании. Ис¬поль¬зо¬ва¬ние не¬ти¬пи¬зи¬ро¬ван¬ных или не¬объ¬яв¬лен¬ных пе¬ре¬мен¬ных воз-мож¬но толь¬ко в случае, если это до¬пус¬ка¬ет¬ся язы¬ком программирования, при этом ко¬ли¬че¬ство пе¬ре¬мен¬ных и их иден¬ти¬фи¬ка¬то¬ры долж¬ны со¬от¬вет¬ство¬вать усло¬вию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся на¬ли¬чие от¬дель¬ных син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра программы. 2
Предложено в целом вер¬ное решение, со¬дер¬жа¬щее не более одной ошиб¬ки из числа сле¬ду¬ю¬щих (если оди¬на¬ко¬вая ошиб¬ка по¬вто¬ря¬ет¬ся не¬сколь¬ко раз, она счи¬та¬ет¬ся за одну ошибку): 1) От¬сут¬ствие ини¬ци¬а¬ли¬за¬ции или не¬вер¬ная ини¬ци¬а¬ли¬за¬ция счётчика. 2) Не¬вер¬но опре¬де¬ле¬ны гра¬ни¬цы цикла проверки, в ре¬зуль¬та¬те про¬ве¬ря¬ют¬ся не все пары или про¬ис¬хо¬дит выход за гра¬ни¬цы массива. 3) При вы¬чис¬ле¬нии от¬но¬ше¬ния эле-мен¬тов ис¬поль¬зу¬ет¬ся це¬ло¬чис¬лен¬ное деление. 4) Под¬счи¬ты¬ва¬ют¬ся пары, в ко¬то¬рых вто¬рой эле¬мент боль¬ше первого. 5) От¬сут¬ству¬ет вывод ответа. 6) Ис¬поль¬зу¬ет¬ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле опи¬са¬ния переменных. 7) Ин¬декс¬ная пе¬ре-мен¬ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно. 1
Не вы¬пол¬не¬ны условия, поз¬во¬ля¬ю¬щие по¬ста¬вить 1 или 2 балла 0
Максимальный балл 2
Дан мас¬сив, со¬дер¬жа¬щий 2014 ве¬ще¬ствен¬ных чисел. На¬пи¬ши¬те на одном из язы¬ков про-грам¬ми¬ро¬ва¬ния про¬грам¬му, на¬хо¬дя¬щую в этом мас¬си¬ве два со¬сед¬них эле¬мен¬та, зна¬че¬ния ко¬то-рых на¬и¬ме¬нее близ¬ки, то есть аб¬со¬лют¬ная ве¬ли¬чи¬на их раз¬но¬сти мак¬си¬маль¬на. Если таких пар не¬сколь¬ко, можно взять любую из них. Про¬грам¬ма долж¬на вы¬ве¬сти най¬ден¬ные эле¬мен¬ты. Ис¬ход-ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать часть из опи¬сан¬ных.
Бей¬сик Пас¬каль
N=2014
DIM A(N) AS SINGLE
DIM D, R AS SINGLE
DIM I, J, K ASINTEGER
FOR I = 1TO N
INPUT A(I)
NEXT I
…
END const
N=2014;
var
a: array [1..N] ofreal;
d, r: real;
i, j, k: integer;
begin
for i:=1to N do
readln(a[i]);
…
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы, ко¬то¬рый дол¬жен на¬хо-дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми-ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер FreePascal 2.4). В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре-мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии.
Пояснение.
Про¬грам¬ма рас¬смат¬ри¬ва¬ет все пары со¬сед¬них чисел в мас¬си¬ве, опре¬де¬ля¬ет аб¬со¬лют¬ное зна-че¬ние раз¬но¬сти эле¬мен¬тов в каж¬дой паре и на¬хо¬дит мак¬си¬мум среди этих раз¬но¬стей. Для за¬по-ми¬на¬ния и по¬сле¬ду¬ю¬ще¬го вы¬во¬да можно хра¬нить ин¬декс пер¬во¬го эле¬мен¬та те¬ку¬щей наи¬бо¬лее под¬хо¬дя¬щей пары, а в конце про¬грам¬мы вы¬во¬дить эле¬мент с дан¬ным ин¬дек¬сом и сле¬ду¬ю¬щий за ним.
При¬мер фраг¬мен¬та про¬грам¬мы на Пас¬ка¬ле
r:=abs(a[2]-a[1]);
k:=1;
for i:=2 to N-1 do begin
d:=abs(a[i+1]-a[i]);
if d>r then begin
r:=d;
k:=i;
end;
end;
writeln(a[k], , a[k+1]);
В ка¬че¬стве на¬чаль¬но¬го зна¬че¬ния для мак¬си¬маль¬ной раз¬но¬сти можно ис¬поль¬зо¬вать ноль, но даже в этом слу¬чае нужно ис¬поль¬зо¬вать стар¬то¬вое зна¬че¬ние ин¬дек¬са. Оно будет ис¬поль¬зо¬ва¬но, если все эле¬мен¬ты в мас¬си¬ве ока¬жут¬ся оди¬на¬ко¬вы¬ми. Можно за¬по¬ми¬нать не один, а оба ин¬дек¬са най¬ден¬ной пары.
Можно хра¬нить не ин¬дек¬сы, а зна¬че¬ния эле¬мен¬тов. Но по¬сколь¬ку раз¬ре¬ше¬но ис¬поль¬зо¬ва¬ние толь¬ко двух ве¬ще¬ствен¬ных пе¬ре¬мен¬ных, в этом слу¬чае не удаст¬ся за¬по¬ми¬нать раз¬но¬сти, их придётся каж¬дый раз вы¬чис¬лять за¬но¬во.
До¬пус¬ка¬ют¬ся и дру¬гие спо¬со¬бы ре¬ше¬ния, если они со¬от¬вет¬ству¬ют ука¬зан¬ным в усло¬вии огра¬ни¬че¬ни¬ям и при¬во¬дят к пра¬виль¬но¬му от¬ве¬ту.
Задание С2 № 2925
Дан це¬ло¬чис¬лен¬ный мас¬сив из 30 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать зна¬че¬ния от -1000 до 1000. Опи¬ши¬те на рус¬ском или на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, ко-то¬рый поз¬во¬ля¬ет под¬счи¬тать и вы¬ве¬сти сред¬нее ариф¬ме¬ти¬че¬ское тех эле¬мен¬тов мас¬си¬ва, ко¬то-рые по сво¬е¬му зна¬че¬нию мень¬ше по¬след¬не¬го эле¬мен¬та этого мас¬си¬ва. Га¬ран¬ти¬ру¬ет¬ся, что в ис-ход¬ном мас¬си¬ве есть хотя бы один такой эле¬мент. Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за-но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис-поль¬зо¬вать часть из них.
Пас¬каль
Const
N=30;
Var
A: array [1..N] of integer;
I, x, y:integer;
S:real;
Begin
for i:=1 to N do readln(a[i]);
…
End.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, BorlandPascal 7.0) или в виде блок-схемы. В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать пе¬ре¬мен¬ные, ана¬ло¬гич¬ные пе¬ре¬мен¬ным, ис¬поль¬зу¬е¬мые в ал¬го¬рит¬ме, за-пи¬сан¬ном на есте¬ствен¬ном языке, с уче¬том син¬так¬си¬са и осо¬бен¬но¬стей ис¬поль¬зу¬е¬мо¬го вами языка про¬грам¬ми¬ро¬ва¬ния.
Пояснение.
x:=0;
y:=0;
for i:= 1 to 30 do
if a[i]< a[N] then begin
x:=x+1;
y:=y+a[i];
end;
s:=y/x;
write(s);
Задание С2 № 5885
Критерии оце¬ни¬ва¬ния выполнения задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий верное значение. До¬пус¬ка¬ет¬ся запись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая аналогичные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния использует ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния переменных долж¬ны быть ана¬ло¬гич¬ны описаниям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние нетипизированных или не¬объ¬яв¬лен¬ных переменных воз¬мож¬но только в случае, если это до¬пус¬ка¬ет¬ся языком программирования, при этом ко¬ли¬че-ство переменных и их иден¬ти¬фи¬ка¬то¬ры должны со¬от¬вет¬ство¬вать условию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся наличие от¬дель¬ных синтаксических ошибок, не ис¬ка¬жа¬ю¬щих замысла ав¬то¬ра программы. 2
В любом ва¬ри¬ан¬те решения может при¬сут¬ство¬вать не более одной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но инициализируется пе¬ре¬мен¬ная МАХ (например, при¬сва¬и¬ва¬ет¬ся начальное значение, боль¬шее или рав¬ное 100); 2) неточно опре¬де¬ля¬ет¬ся принадлежность диа¬па¬зо¬ну трёхзначных чисел (например, в срав¬не¬нии со 100 вме¬сто знака «больше или равно» ис¬поль¬зу¬ет¬ся знак «больше»); 3) неверно осу¬ществ¬ля¬ет¬ся проверка де¬ли¬мо¬сти на 8;4) на де¬ли¬мость на 8 про¬ве¬ря-ет¬ся не зна¬че¬ние элемента, а его индекс; 5) в слож¬ном условии вме¬сто логической опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся логическая опе¬ра¬ция «ИЛИ»; 6) отсутствует вывод ответа, или при вы¬во¬де ответа не учи¬ты¬ва¬ет¬ся случай, что тре¬бу¬е¬мо¬го числа в мас¬си-ве может не быть; 7) используется переменная, не объ¬яв¬лен¬ная в раз¬де¬ле описания переменных;8) не ука¬за¬но или не¬вер¬но указано усло¬вие завершения цикла; 9) индексная пе¬ре¬мен¬ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 10) неверно рас¬став¬ле¬ны операторные скобки. 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1-10, две или больше, или ал¬го¬ритм сформулирован неверно. 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 20 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от 0 до 10000 вклю¬чи¬тель¬но. Опи¬ши¬те на есте¬ствен¬ном языке или на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти мак¬си¬маль¬ное зна¬че¬ние среди трёхзнач¬ных эле¬мен¬тов мас¬си¬ва, не де¬ля¬щих¬ся на 8. Если в ис¬ход¬ном мас¬си¬ве нет эле¬мен¬та, зна¬че¬ние ко¬то¬ро¬го яв¬ля¬ет¬ся трёхзнач¬ным чис¬лом и при этом не крат¬но 8, то вы¬ве¬сти со¬об¬ще-ние «Не най¬де¬но».
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже на при¬ме¬рах для не¬ко¬то¬рых язы¬ков про¬грам¬ми¬ро¬ва¬ния и есте¬ствен¬но¬го языка. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан-ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать не¬ко¬то¬рые из опи¬сан¬ных пе¬ре¬мен¬ных.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
До¬пус¬ка¬ют¬ся иные фор¬му¬ли¬ров¬ки от¬ве¬та, не ис¬ка¬жа¬ю¬щие его смыс¬ла.
На языке Пас¬каль
max := 99;
for i := 1 to N do
if (a[i]>=100) and (a[i]<=999) and (a[i] mod 8<>0) and (a[i]>max) then
max := a[i];
if max > 99 then writeln (max) else writeln(He най¬де¬но);
Ваша оцен¬ка (баллов):
Обсудить ВКонтакте Сообщить об ошибке
Задание С2 № 6854
Критерии оце¬ни¬ва¬ния вы¬пол¬не¬ния задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий вер¬ное значение. До¬пус¬ка¬ет¬ся за¬пись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая ана¬ло¬гич¬ные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния ис¬поль¬зу¬ет ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния пе¬ре-мен¬ных долж¬ны быть ана¬ло¬гич¬ны опи¬са¬ни¬ям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние не¬ти¬пи¬зи¬ро¬ван¬ных или не¬объ¬яв¬лен¬ных пе¬ре¬мен¬ных воз¬мож¬но толь¬ко в случае, если это до¬пус¬ка¬ет¬ся язы¬ком программирования, при этом ко¬ли¬че¬ство пе-ре¬мен¬ных и их иден¬ти¬фи¬ка¬то¬ры долж¬ны со¬от¬вет¬ство¬вать усло¬вию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся на¬ли¬чие от¬дель¬ных син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра программы. 2
Программа ра¬бо¬та¬ет неверно, но при этом со¬дер¬жит не более одной со¬дер¬жа¬тель-ной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но ини¬ци¬а¬ли¬зи-ру¬ет¬ся пе¬ре¬мен¬ная P (например, при¬сва¬и¬ва¬ет¬ся на¬чаль¬ное значение, рав¬ное 0); 2) не¬вер¬но вы¬де¬ля¬ют¬ся цифры числа; 3) пер¬вая и/или по¬след¬няя цифра числа вы¬де¬ля-ет¬ся не у зна¬че¬ния элемента, а у его индекса; 4) не¬вер¬но опре¬де¬ля¬ет¬ся крат¬ность 6 суммы цифр эле¬мен¬та массива; 5) не¬точ¬но опре¬де¬ля¬ет¬ся при¬над¬леж¬ность к ис¬ко¬мо¬му диа¬па¬зо¬ну дву¬знач¬ных чисел; 6) в слож¬ном усло¬вии вме¬сто ло¬ги¬че¬ской опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся ло¬ги¬че¬ская опе¬ра¬ция «ИЛИ»; 7) не¬вер¬но осу¬ществ¬ля¬ет¬ся на¬коп¬ле¬ние про¬из¬ве¬де¬ния в цикле (например, на¬пи¬са¬но p := a[i];); 8) от¬сут¬ству¬ет вывод ответа; 9) ис¬поль¬зу¬ет¬ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле опи¬са¬ния переменных; 10) не ука¬за¬но или не¬вер¬но ука¬за¬но усло¬вие за¬вер¬ше¬ния цикла; 11) ин¬декс¬ная пе¬ре¬мен-ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 12) не¬вер-но рас¬став¬ле¬ны опе¬ра¬тор¬ные скобки. Допускается на¬ли¬чие син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра про¬грам¬мы 1
Не вы¬пол¬не¬ны условия, поз¬во¬ля¬ю¬щие по¬ста¬вить 1 или 2 балла 0
Максимальный балл 2
Дан мас¬сив, со¬дер¬жа¬щий 2014 по¬ло¬жи¬тель¬ных целых чисел. На¬пи¬ши¬те на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния про¬грам¬му, ко¬то¬рая на¬хо¬дит в этом мас¬си¬ве ко¬ли¬че¬ство эле¬мен¬тов, зна¬че¬ние ко¬то¬рых более чем в два раза
пре¬вос¬хо¬дит зна¬че¬ние пред¬ше¬ству¬ю¬ще¬го эле¬мен¬та. На¬при¬мер, для мас¬си¬ва из 6 эле¬мен¬тов, со-дер¬жа¬ще¬го числа 2, 5, 10, 15, 40, 100, про¬грам¬ма долж¬на вы¬дать ответ 3 (усло¬вию со¬от¬вет¬ству-ют эле¬мен¬ты со зна¬че¬ни¬я¬ми 5, 40 и 100). Про¬грам¬ма долж¬на вы¬ве¬сти общее ко¬ли¬че¬ство под¬хо-дя¬щих эле¬мен¬тов, зна¬че¬ния эле¬мен¬тов вы¬во¬дить не нужно. Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан¬ные ниже, но раз¬ре¬ша-ет¬ся не ис¬поль¬зо¬вать часть из опи¬сан¬ных пе¬ре¬мен¬ных.
Бей¬сик Пас¬каль
N=2014
DIM A(N) ASINTEGER
DIM I, J, K ASINTEGER
FOR I = 1TO N
INPUT A(I)
NEXT I
…
END const
N=2014;
var
a: array [1..N] ofinteger;
i, j, k: integer;
begin
for i:=1to N do
readln(a[i]);
…
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер FreePascal 2.4). В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии.
Пояснение.
Со¬дер¬жа¬ние вер¬но¬го от¬ве¬та (до¬пус¬ка¬ют¬ся иные фор¬му¬ли¬ров¬ки от¬ве¬та, не ис¬ка¬жа¬ю¬щие его смыс¬ла).
Бей¬сик Пас¬каль
P = 1
FOR I = 1TO N
IF A(I)>=10 AND A(I)<=99 AND (A(I) MOD 10+A(I) DIV 10) MOD 6<>0THEN
P = P * A(I)
ENDIF
NEXT I
PRINT P p := 1;
fori := 1to N do
if (a[i] >= 10) and (a[i] <= 99) and
((a[i] mod10 + a[i] div10) mod6<>0) then
p := p * a[i];
writeln(p);
Задание С2 № 2906
Опи¬ши¬те на рус¬ском языке или одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм под¬сче¬та мак-си¬маль¬но¬го ко¬ли¬че¬ства под¬ряд иду¬щих чет¬ных эле¬мен¬тов в це¬ло¬чис¬лен¬ном мас¬си¬ве длины 30.
Пояснение.
const N=30;
var a: array[1..N] of integer;
MaxEven, NumEven, i: integer;
begin
MaxEven:=0;
NumEven:=0;
for i:=1 to N do
read(a[i]);
for i:=1 to N do
if (a[i] mod 2 = 0) and (a[i]<>0) then
NumEven:=NumEven+1
else begin
ifNumEven>=MaxEven then
MaxEven:=NumEven;
NumEven:=0;
end;
ifNumEven>=MaxEven then
MaxEven:=NumEven;
Writeln(MaxEven);
end.
Задание С2 № 5289
Критерии оце¬ни¬ва¬ния выполнения задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий верное значение. Допускается за¬пись алгоритма на дру¬гом языке, ис¬поль¬зу¬ю¬щая аналогичные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния использует ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния переменных долж¬ны быть ана¬ло¬гич¬ны описаниям пе¬ре¬мен¬ных в тек¬сте задания. Ис-поль¬зо¬ва¬ние нетипизированных или не¬объ¬яв¬лен¬ных переменных воз¬мож¬но только в случае, если это до¬пус¬ка¬ет¬ся языком программирования, при этом ко¬ли¬че¬ство переменных и их иден¬ти¬фи¬ка¬то¬ры должны со¬от¬вет¬ство¬вать условию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся наличие от¬дель¬ных синтаксических ошибок, не ис¬ка¬жа¬ю¬щих замысла ав¬то¬ра программы 2
В любом ва¬ри¬ан¬те решения может при¬сут¬ство¬вать не более одной ошиб¬ки из числа следующих: 1) Не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но инициализируется пе¬ре¬мен¬ная S. 2) Неверно осу¬ществ¬ля¬ет¬ся проверка того, что эле¬мент массива - хороший. 3) Вместо про¬вер¬ки того, что эле¬мент хороший, ана¬ло¬гич¬ная проверка вы¬пол¬ня¬ет¬ся для ин¬дек¬са элемента. 4) Неверно осу¬ществ¬ля¬ет¬ся накопление суммы в цикле (например, s : =а[i] ;). 5) Отсутствует вывод ответа. 6) Используется переменная, не объ¬яв¬лен-ная в раз¬де¬ле описания переменных. 7) Не ука¬за¬но или не¬вер¬но указано усло¬вие завершения цикла. 8) Индексная пе¬ре¬мен¬ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно. 9) Неверно рас¬став¬ле¬ны операторные скобки 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1-9, две или больше, или ал¬го¬ритм сформулирован неверно 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 30 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от 0 до 1000. Эле¬мент мас¬си¬ва на¬зы¬ва¬ет¬ся хо¬ро¬шим, если это дву¬знач¬ное число, причём цифра в раз¬ря¬де де¬сят¬ков боль¬ше, чем цифра в раз¬ря¬де еди¬ниц. Опи¬ши¬те на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти сумму всех хо¬ро¬ших эле¬мен¬тов мас¬си¬ва.
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен-ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать часть из них.
Пас¬каль const
N=30;
var
a: array [1..N] of integer;
i, j, s: integer;
begin
for i:=l to N do
readln(a[i]) ;
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы, ко¬то¬рый дол¬жен на¬хо-дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми-ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать те же самые ис-ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии.
Пояснение.
При¬мер про¬грам¬мы на языке Пас¬каль
s: =0;
for i:=1 to N do begin
if (10<=a[i]) and (a. [ i ] <= 9 9) and
((a[i] div 10) > (a[i] mod 10) ) then s:=s+a[i];
end;
writeln(s);
Задание С2 № 5981
Критерии оце¬ни¬ва¬ния выполнения задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий верное значение. До¬пус¬ка¬ет¬ся запись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая аналогичные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния использует ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния переменных долж¬ны быть ана¬ло¬гич¬ны описаниям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние нетипизированных или не¬объ¬яв¬лен¬ных переменных воз¬мож¬но только в случае, если это до¬пус¬ка¬ет¬ся языком программирования, при этом ко¬ли¬че-ство переменных и их иден¬ти¬фи¬ка¬то¬ры должны со¬от¬вет¬ство¬вать условию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся наличие от¬дель¬ных синтаксических ошибок, не ис¬ка¬жа¬ю¬щих замысла ав¬то¬ра программы. 2
В любом ва¬ри¬ан¬те решения может при¬сут¬ство¬вать не более одной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но инициализируется пе¬ре¬мен¬ная МАХ (например, при¬сва¬и¬ва¬ет¬ся начальное значение, боль¬шее или рав¬ное 100); 2) неточно опре¬де¬ля¬ет¬ся принадлежность диа¬па¬зо¬ну трёхзначных чисел (например, в срав¬не¬нии со 100 вме¬сто знака «больше или равно» ис¬поль¬зу¬ет¬ся знак «больше»; также об¬ра¬ти¬те внимание, что с учётом огра¬ни¬че¬ния на крат¬ность 4 до¬пу¬сти¬ма проверка на при¬над¬леж¬ность диапазону от 100 до 996); 3) неверно осу¬ществ¬ля¬ет¬ся проверка де¬ли¬мо¬сти на 4; 4) на де¬ли¬мость на 4 про¬ве¬ря¬ет¬ся не зна¬че¬ние элемента, а его индекс; 5) в слож¬ном условии вме¬сто логической опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся логическая опе¬ра¬ция «ИЛИ»; 6) отсутствует вывод ответа, или при вы¬во¬де ответа не учи¬ты¬ва¬ет¬ся случай, что тре¬бу¬е¬мо¬го числа в мас¬си¬ве может не быть; 7) используется переменная, не объ¬яв¬лен¬ная в раз¬де¬ле описания переменных; 8) не ука¬за¬но или не-вер¬но указано усло¬вие завершения цикла; 9) индексная пе¬ре¬мен¬ная в цикле не ме-ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 10) неверно рас¬став¬ле¬ны операторные скобки. 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1-10, две или больше, или ал¬го¬ритм сформулирован неверно. 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 20 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от 0 до 10000 вклю¬чи¬тель¬но. Опи¬ши¬те на есте¬ствен¬ном языке или на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти мак¬си¬маль¬ное зна¬че¬ние среди трёхзнач¬ных эле¬мен¬тов мас¬си¬ва, де¬ля¬щих¬ся на 4. Если в ис¬ход¬ном мас¬си¬ве нет трёхзнач¬но¬го эле¬мен¬та, крат¬но¬го 4, то вы¬ве¬сти со¬об¬ще¬ние «Не най¬де¬но».
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже на при¬ме¬рах для не¬ко¬то¬рых язы¬ков про¬грам¬ми¬ро¬ва¬ния и есте¬ствен¬но¬го языка. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан-ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать не¬ко¬то¬рые из опи¬сан¬ных пе¬ре¬мен¬ных.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
До¬пус¬ка¬ют¬ся иные фор¬му¬ли¬ров¬ки от¬ве¬та, не ис¬ка¬жа¬ю¬щие его смыс¬ла.
На языке Пас¬каль
for i := 1 to N do
if (a[i]>=100) and (a[i]<=996) and (a[i] mod 4 = 0) and (a[i]>max) then
max := a[i];
if max > 99 then writeln (max) else writeln(He най¬де¬но);
Задание С2 № 3610
Дан це¬ло¬чис¬лен¬ный мас¬сив из 30 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать про¬из-воль¬ные зна¬че¬ния. С кла¬ви¬а¬ту¬ры вво¬дит¬ся целое число X. Опи¬ши¬те на рус¬ском языке или на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, ко¬то¬рый на¬хо¬дит и вы¬во¬дит наи¬мень¬ший номер эле¬мен¬та мас¬си¬ва, рав¬но¬го X, или со¬об¬ще¬ние, что та¬ко¬го эле¬мен¬та нет.
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен-ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать часть из них.
ПАС¬КАЛЬ
const
N = 30;
var
a: array [1..N] of integer;
i, j, x: integer;
begin
for i := 1 to N do
readln(a[i]);
readln(x);
...
end.
В ка¬че¬стве от¬ве¬та вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер BorlandPascal 7.0) или в виде блок-схемы. В этом слу¬чае вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
ПАС¬КАЛЬ
j := 0;
for i := N downto 1 do
if a [ i ] = x then
j := i; if j = 0 then
writeln(неттаких)
else
writeln(j);
Дру¬гойспо¬соб:
i := 1;
while (i< N) and (a[i] <> x)
do
i := i + 1; if a[i] <> x then
writeln(неттаких)
else
writeln(i);
Задание С2 № 6512
Критерии оце¬ни¬ва¬ния вы¬пол¬не¬ния задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий вер¬ное значение. До¬пус¬ка¬ет¬ся за¬пись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая ана¬ло¬гич¬ные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния ис¬поль¬зу¬ет ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния пе¬ре-мен¬ных долж¬ны быть ана¬ло¬гич¬ны опи¬са¬ни¬ям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние не¬ти¬пи¬зи¬ро¬ван¬ных или не¬объ¬яв¬лен¬ных пе¬ре¬мен¬ных воз¬мож¬но толь¬ко в случае, если это до¬пус¬ка¬ет¬ся язы¬ком программирования, при этом ко¬ли¬че¬ство пе-ре¬мен¬ных и их иден¬ти¬фи¬ка¬то¬ры долж¬ны со¬от¬вет¬ство¬вать усло¬вию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся на¬ли¬чие от¬дель¬ных син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра программы. 2
Программа ра¬бо¬та¬ет неверно, но при этом со¬дер¬жит не более одной со¬дер¬жа¬тель-ной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но ини¬ци¬а¬ли¬зи-ру¬ет¬ся пе¬ре¬мен¬ная P (например, при¬сва¬и¬ва¬ет¬ся на¬чаль¬ное значение, рав¬ное 0); 2) не¬вер¬но вы¬де¬ля¬ют¬ся цифры числа; 3) пер¬вая и/или по¬след¬няя цифра числа вы¬де¬ля-ет¬ся не у зна¬че¬ния элемента, а у его индекса; 4) не¬вер¬но опре¬де¬ля¬ет¬ся крат¬ность 6 суммы цифр эле¬мен¬та массива; 5) не¬точ¬но опре¬де¬ля¬ет¬ся при¬над¬леж¬ность к ис¬ко¬мо¬му диа¬па¬зо¬ну дву¬знач¬ных чисел; 6) в слож¬ном усло¬вии вме¬сто ло¬ги¬че¬ской опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся ло¬ги¬че¬ская опе¬ра¬ция «ИЛИ»; 7) не¬вер¬но осу¬ществ¬ля¬ет¬ся на¬коп¬ле¬ние про¬из¬ве¬де¬ния в цикле (например, на¬пи¬са¬но p := a[i];); 8) от¬сут¬ству¬ет вывод ответа; 9) ис¬поль¬зу¬ет¬ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле опи¬са¬ния переменных; 10) не ука¬за¬но или не¬вер¬но ука¬за¬но усло¬вие за¬вер¬ше¬ния цикла; 11) ин¬декс¬ная пе¬ре¬мен-ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 12) не¬вер-но рас¬став¬ле¬ны опе¬ра¬тор¬ные скобки. Допускается на¬ли¬чие син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра про¬грам¬мы 1
Не вы¬пол¬не¬ны условия, поз¬во¬ля¬ю¬щие по¬ста¬вить 1 или 2 балла 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 30 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от 0 до 10000 вклю¬чи¬тель¬но. Опи¬ши¬те на есте¬ствен¬ном языке или на одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти про¬из¬ве¬де¬ние дву¬знач¬ных эле¬мен-тов мас¬си¬ва, с сум¬мой цифр, крат¬ной 6. Га¬ран¬ти¬ру¬ет¬ся, что в ис¬ход¬ном мас¬си¬ве есть хотя бы один эле¬мент, зна¬че¬ние ко¬то¬ро¬го яв¬ля¬ет¬ся дву¬знач¬ным чис¬лом, и при этом сумма его цифр де-лит¬ся на 6. Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже на при¬ме¬рах для не¬ко¬то¬рых язы¬ков про¬грам¬ми¬ро¬ва¬ния и есте¬ствен¬но¬го языка. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан¬ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать не¬ко¬то¬рые из опи¬сан¬ных пе¬ре¬мен¬ных. Ис-ход¬ные дан¬ные все¬гда по¬до¬бра¬ны так, что ре¬зуль¬тат про¬из¬ве¬де¬ния не вы¬хо¬дит за пре¬де¬лы объ-яв¬лен¬ных типов дан¬ных.
Пас¬каль
const
N = 30;
var
a: array [1..N] oflongint;
i, j, p: longint;
begin
fori := 1to N do
readln(a[i]);
...
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
Со¬дер¬жа¬ние вер¬но¬го от¬ве¬та (до¬пус¬ка¬ют¬ся иные фор¬му¬ли¬ров¬ки от¬ве¬та, не ис¬ка¬жа¬ю¬щие его смыс¬ла).
Пас¬каль
p := 1;
fori := 1to N do
if (a[i] >= 10) and (a[i] <= 99) and
((a[i] mod10 + a[i] div10) mod6 = 0) then
p := p * a[i];
writeln(p);
Задание С2 № 5373
Критерии оце¬ни¬ва¬ния выполнения задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий верное значение. Допускается за¬пись алгоритма на дру¬гом языке, ис¬поль¬зу¬ю¬щая аналогичные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния использует ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния переменных долж¬ны быть ана¬ло¬гич¬ны описаниям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние нетипизированных или не¬объ¬яв¬лен¬ных переменных воз¬мож¬но только в том случае, если это до¬пус¬ка¬ет¬ся языком программирования, при этом ко¬ли-че¬ство переменных и их иден¬ти¬фи¬ка¬то¬ры должны со¬от¬вет¬ство¬вать условию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся наличие от¬дель¬ных синтаксических ошибок, не ис¬ка¬жа¬ю¬щих замысла ав¬то¬ра программы. 2
В любом ва¬ри¬ан¬те решения может при¬сут¬ство¬вать не более одной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но инициализируется пе¬ре¬мен¬ная MIN (например, при¬сва¬и¬ва¬ет¬ся начальное значение, мень¬шее или рав¬ное 1000); 2) при вы¬во¬де ответа не учитывается, что тре¬бу¬е¬мо¬го числа в мас¬си¬ве может не быть; 3) от-сут¬ству¬ет вывод от¬ве¬та в слу¬чае существования ми¬ни¬маль¬но¬го числа, удо¬вле¬тво¬ря¬ю-ще¬го условию задачи;4) в срав¬не¬нии с 0 вме¬сто знака «больше» ис¬поль¬зу¬ет¬ся знак «больше или равно»; 5) не¬вер¬но осуществляется про¬вер¬ка делимости на 2; 6) на де-ли¬мость на 2 про¬ве¬ря¬ет¬ся не зна¬че¬ние элемента, а его индекс; 7) в слож¬ном условии вме¬сто логической опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся логическая опе¬ра¬ция «ИЛИ»; 8) ис-поль¬зу¬ет¬ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле описания переменных;9) не ука-за¬но или не¬вер¬но указано усло¬вие завершения цикла; 10) ин¬декс¬ная переменная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 11) не¬вер¬но расставлены опе¬ра¬тор¬ные скобки; 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1—11, две или больше, или ал¬го¬ритм сформулирован неверно. 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 20 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от −1000 до 1000 вклю¬чи¬тель¬но. Опи¬ши¬те на есте¬ствен¬ном языке или на одном из язы-ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти ми¬ни¬маль¬ное зна¬че¬ние среди по¬ло¬жи¬тель¬ных эле¬мен¬тов мас¬си¬ва, не крат¬ных 3. Если в ис¬ход¬ном мас¬си¬ве нет эле¬мен¬та, зна-че¬ние ко¬то¬ро¬го по¬ло¬жи¬тель¬но и не де¬лит¬ся на 3, то вы¬ве¬сти со¬об¬ще¬ние «Не най¬де¬но».
Ис¬ход¬ные дан¬ные объ¬яв¬ле¬ны так, как по¬ка¬за¬но ниже на при¬ме¬рах для не¬ко¬то¬рых язы¬ков про¬грам¬ми¬ро¬ва¬ния и есте¬ствен¬но¬го языка. За¬пре¬ща¬ет¬ся ис¬поль¬зо¬вать пе¬ре¬мен¬ные, не опи¬сан-ные ниже, но раз¬ре¬ша¬ет¬ся не ис¬поль¬зо¬вать не¬ко¬то¬рые из опи¬сан¬ных пе¬ре¬мен¬ных.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ние (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер, FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были предо¬став¬ле-ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
НаязыкеПас¬каль
min := 1001;
fori := 1 to N do
if (a[i] > 0) and (a[i] mod 2 = 0) and (a[i] < min ) then
min := a[i];
if min < 1001 then writeln (min) else writeln(Ненай¬де¬но);
Задание С2 № 3638
Опи¬ши¬те на рус¬ском языке или одном из язы¬ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм под¬сче¬та сред¬не¬го зна¬че¬ния от¬ри¬ца¬тель¬ных эле¬мен¬тов в це¬ло¬чис¬лен¬ном мас¬си¬ве из 30 эле¬мен¬тов в пред¬по¬ло¬же¬нии, что в нем есть хотя бы один от¬ри¬ца¬тель¬ный эле¬мент.
Пояснение.
Вве¬дем це¬ло¬чис¬лен¬ную пе¬ре¬мен¬ную SumNeg и це¬ло¬чис¬лен¬ную пе¬ре¬мен¬ную NumNeg, вко-то¬рые будем за¬но¬сить со¬от¬вет¬ствен¬но сумму и число от¬ри¬ца¬тель¬ных эле¬мен¬тов в про¬смот¬рен-ной части мас¬си¬ва, и при¬сво¬им им зна¬че¬ние 0. В цикле до конца мас¬си¬ва: про¬ве¬ря¬ем, яв¬ля¬ет¬ся ли оче¬ред¬ной эле¬мент от¬ри¬ца¬тель¬ным. Если да, то при¬бав¬ля¬ем его к SumNeg и уве¬ли¬чи¬ва¬ем счет¬чик NumNeg на еди¬ни¬цу. По окон¬ча¬нии цикла вы¬во¬дим SumNeg/NumNeg.
При¬мер пра¬виль¬ной и эф¬фек¬тив¬ной про¬грам¬мы (на ос¬но¬ве ал¬го¬рит¬ма, ис¬поль¬зу¬ю¬ще¬го од¬но-крат¬ный про¬ход по мас¬си¬ву):
ПРО¬ГРАМ¬МА НА ПАС¬КА¬ЛЕ
Const N = 30;
var
a : array [1..8] of integer;
i, k, s : integer;
begin
s:=0;
k:=0;
for i := 1 to 8 do
readln ( a[i] );
for i := 1 to 8 do
if a[i] < 0 then
begin
inc (k);
s := s + a[i];
end;
if k <> 0 then
writeln ( trunc( s/k ) )
elsewriteln( 0 );
end.
Задание С2 № 6317
Критерии оце¬ни¬ва¬ния вы¬пол¬не¬ния задания Баллы
Предложен пра¬виль¬ный алгоритм, вы¬да¬ю¬щий вер¬ное значение. До¬пус¬ка¬ет¬ся за¬пись ал¬го¬рит¬ма на дру¬гом языке, ис¬поль¬зу¬ю¬щая ана¬ло¬гич¬ные переменные. В случае, если язык про¬грам¬ми¬ро¬ва¬ния ис¬поль¬зу¬ет ти¬пи¬зи¬ро¬ван¬ные переменные, опи¬са¬ния пе¬ре-мен¬ных долж¬ны быть ана¬ло¬гич¬ны опи¬са¬ни¬ям пе¬ре¬мен¬ных на есте¬ствен¬ном языке. Ис¬поль¬зо¬ва¬ние не¬ти¬пи¬зи¬ро¬ван¬ных или не¬объ¬яв¬лен¬ных пе¬ре¬мен¬ных воз¬мож¬но толь¬ко в случае, если это до¬пус¬ка¬ет¬ся язы¬ком программирования, при этом ко¬ли¬че¬ство пе-ре¬мен¬ных и их иден¬ти¬фи¬ка¬то¬ры долж¬ны со¬от¬вет¬ство¬вать усло¬вию задачи. В алгоритме, за¬пи¬сан¬ном на языке программирования, до¬пус¬ка¬ет¬ся на¬ли¬чие от¬дель¬ных син¬так¬си¬че¬ских ошибок, не ис¬ка¬жа¬ю¬щих за¬мыс¬ла ав¬то¬ра программы. 2
В любом ва¬ри¬ан¬те ре¬ше¬ния может при¬сут¬ство¬вать не более одной ошиб¬ки из числа следующих: 1) не ини¬ци¬а¬ли¬зи¬ру¬ет¬ся или не¬вер¬но ини¬ци¬а¬ли¬зи¬ру¬ет¬ся пе¬ре¬мен¬ная MIN (например, при¬сва¬и¬ва¬ет¬ся на¬чаль¬ное значение, мень¬шее или рав¬ное 1000); 2) при вы¬во¬де от¬ве¬та не учитывается, что тре¬бу¬е¬мо¬го числа в мас¬си¬ве может не быть; 3) от-сут¬ству¬ет вывод от¬ве¬та в слу¬чае су¬ще¬ство¬ва¬ния ми¬ни¬маль¬но¬го числа, удо¬вле¬тво¬ря¬ю-ще¬го усло¬вию задачи;4) в срав¬не¬нии с 0 вме¬сто знака «больше» ис¬поль¬зу¬ет¬ся знак «больше или равно»; 5) не¬вер¬но осу¬ществ¬ля¬ет¬ся про¬вер¬ка де¬ли¬мо¬сти на 8; 6) на де¬ли¬мость на 8 про¬ве¬ря¬ет¬ся не зна¬че¬ние элемента, а его индекс; 7) в слож¬ном усло-вии вме¬сто ло¬ги¬че¬ской опе¬ра¬ции «И» ис¬поль¬зу¬ет¬ся ло¬ги¬че¬ская опе¬ра¬ция «ИЛИ»; 8) ис¬поль¬зу¬ет¬ся переменная, не объ¬яв¬лен¬ная в раз¬де¬ле опи¬са¬ния переменных;9) не ука¬за¬но или не¬вер¬но ука¬за¬но усло¬вие за¬вер¬ше¬ния цикла; 10) ин¬декс¬ная пе¬ре¬мен¬ная в цикле не ме¬ня¬ет¬ся (например, в цикле while) или ме¬ня¬ет¬ся неверно; 11) не¬вер¬но рас¬став¬ле¬ны опе¬ра¬тор¬ные скобки 1
Ошибок, пе¬ре¬чис¬лен¬ных в п. 1–11, две или больше, или ал¬го¬ритм сфор¬му¬ли¬ро¬ван не-вер¬но 0
Максимальный балл 2
Дан це¬ло¬чис¬лен¬ный мас¬сив из 20 эле¬мен¬тов. Эле¬мен¬ты мас¬си¬ва могут при¬ни¬мать целые зна-че¬ния от –1000 до 1000 вклю¬чи¬тель¬но. Опи¬ши¬те на есте¬ствен¬ном языке или на одном из язы-ков про¬грам¬ми¬ро¬ва¬ния ал¬го¬ритм, поз¬во¬ля¬ю¬щий найти и вы¬ве¬сти ми¬ни¬маль¬ное зна¬че¬ние среди по¬ло¬жи¬тель¬ных эле¬мен¬тов мас¬си¬ва, не окан¬чи¬ва¬ю¬щих¬ся на 3. Если в ис¬ход¬ном мас¬си¬ве нет эле-мен¬та, зна¬че¬ние ко¬то¬ро¬го по¬ло¬жи¬тель¬но и не окан¬чи¬ва¬ет¬ся на 3, то вы¬ве¬сти со¬об¬ще¬ние «Не най¬де¬но».
Пас¬каль
const
N = 20;
var
a: array [1..N] of integer;
i, j, min: integer;
begin
for i := 1 to N do
readln(a[i]);
...
end.
В ка¬че¬стве от¬ве¬та Вам не¬об¬хо¬ди¬мо при¬ве¬сти фраг¬мент про¬грам¬мы (или опи¬са¬ние ал¬го¬рит¬ма на есте¬ствен¬ном языке), ко¬то¬рый дол¬жен на¬хо¬дить¬ся на месте мно¬го¬то¬чия. Вы мо¬же¬те за¬пи¬сать ре¬ше¬ние также на дру¬гом языке про¬грам¬ми¬ро¬ва¬ния (ука¬жи¬те на¬зва¬ние и ис¬поль¬зу¬е¬мую вер¬сию языка про¬грам¬ми¬ро¬ва¬ния, на¬при¬мер FreePascal 2.4) или в виде блок-схемы. В этом слу¬чае Вы долж¬ны ис¬поль¬зо¬вать те же самые ис¬ход¬ные дан¬ные и пе¬ре¬мен¬ные, какие были пред¬ло¬же¬ны в усло¬вии (на¬при¬мер, в об¬раз¬це, за¬пи¬сан¬ном на есте¬ствен¬ном языке).
Пояснение.
Со¬дер¬жа¬ние вер¬но¬го от¬ве¬та (до¬пус¬ка¬ют¬ся иные фор¬му¬ли¬ров¬ки от¬ве¬та, не ис¬ка¬жа¬ю¬щие его смыс¬ла).
Пас¬каль
min := 1001;
for i := 1 to N do
if (a[i]>0) and (a[i] mod 10<>3) and (a[i]
min := a[i];
if min < 1001 then writeln(min) else writeln("Ненай¬де-но");
Задание С2 № 2918 Требуется составить программу, которая проверяет
Экзаменационные билеты по предмету «Информатика»