Задание С2 № 2918 Требуется составить программу, которая проверяет

Экзаменационные билеты по предмету «Информатика»
Информация о работе
  • Тема: Задание С2 № 2918 Требуется составить программу, которая проверяет
  • Количество скачиваний: 1
  • Тип: Экзаменационные билеты
  • Предмет: Информатика
  • Количество страниц: 18
  • Язык работы: Русский язык
  • Дата загрузки: 2014-05-07 01:11:44
  • Размер файла: 436.04 кб
Помогла работа? Поделись ссылкой
Информация о документе

Документ предоставляется как есть, мы не несем ответственности, за правильность представленной в нём информации. Используя информацию для подготовки своей работы необходимо помнить, что текст работы может быть устаревшим, работа может не пройти проверку на заимствования.

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

Результаты
Задание С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("Ненай¬де-но");