СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Тесты по программированию_ОГЭ_по информатике

Категория: Информатика

Нажмите, чтобы узнать подробности

Тесты по программированию_ОГЭ_по информатике 5 вариантов см ответами на задания части А и В, решением заданий части С.

Тест содержит 10 заданий: по одному заданию №№ 6, 8, 9, 10, 14, 16 и 4 задания 20.2 на языке Паскаль. Задания, ответы и решения взяты с сайта https://inf-oge.sdamgia.ru/

Просмотр содержимого документа
«Тесты по программированию_ОГЭ_по информатике»

Вариант 1_Программирование_ОГЭ

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 

а := 6

b := 1

b := a/2*b

a := 2*а + 3*b

 

В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Паскаль

Var s,k: integer;

Begin

s := 0;

for k := 4 to 8 do

s := s + 7;

writeln(s);

End.

3. В таб­ли­це Dat пред­став­ле­ны дан­ные о ко­ли­че­стве голосов, по­дан­ных за 10 ис­пол­ни­те­лей на­род­ных песен (Dat[1] — ко­ли­че­ство голосов, по­дан­ных за пер­во­го исполнителя, Dat[2] — за вто­ро­го и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Паскаль

Var k, m: integer;

Dat: array[1...10] of integer;

Begin

Dat[1] := 16; Dat[2] := 20;

Dat[3] := 20; Dat[4] := 41;

Dat[5] := 14; Dat[6] := 21;

Dat[7] := 28; Dat[8] := 12;

Dat[9] := 15; Dat[10] := 35;

m := 0;

for k := 1 to 10 do

if Dat[k]

begin

m := m+1

end;

writeln(m);

End.

4. У ис­пол­ни­те­ля Умно­жа­тель две команды, ко­то­рым при­сво­е­ны номера:

 

1. умножь на 2

2. вычти 1

 

Первая из них умно­жа­ет число на 2, вто­рая — вы­чи­та­ет из числа 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 5 числа 31, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

(Например, 21121 — это алгоритм:

вычти 1

умножь на 2

умножь на 2

вычти 1

умножь на 2,

который пре­об­ра­зу­ет число 3 в 14.

 

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

5. Автомат по­лу­ча­ет на вход четырёхзначное де­ся­тич­ное число. По по­лу­чен­но­му числу стро­ит­ся новое де­ся­тич­ное число по сле­ду­ю­щим правилам.

1. Вы­чис­ля­ют­ся два числа — сумма пер­вой и вто­рой цифр и сумма тре­тьей и чет­вер­той цифр за­дан­но­го числа.

2. По­лу­чен­ные два числа за­пи­сы­ва­ют­ся друг за дру­гом в по­ряд­ке не­убы­ва­ния (без разделителей).

 

Пример. Ис­ход­ное число: 2177. По­раз­ряд­ные суммы: 3, 14. Результат: 314.

 

Определите, сколь­ко из приведённых ниже чисел может по­лу­чить­ся в ре­зуль­та­те ра­бо­ты автомата.

 

1915 10 110 1516 1211 316 1519 116 1515

 

В от­ве­те за­пи­ши­те толь­ко ко­ли­че­ство чисел.

6. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.

7. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3

13

23

3

23


8. Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


9. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

36

12

16

66

11

0

102

10. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3
24
14
34

14







Вариант 2_Программирование_ОГЭ

1. В алгоритме, за­пи­сан­ном ниже, ис­поль­зу­ют­ся пе­ре­мен­ные a и b. Сим­вол «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 

а := 10

b := 110

b := 110 + b/a

a := b/11*a

 

В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Паскаль

Var s, n: integer;

Begin

s := 2;

For n := 2 to 5 do

s := s*2 + n;

Writeln(s);

End.

3. В таб­ли­це Ves хра­нят­ся дан­ные о весе в ки­ло­грам­мах по груп­пе уча­щих­ся спор­тив­ной школы (Ves[1] — вес пер­во­го учащегося, Ves[2] — вес вто­ро­го уча­ще­го­ся и т. д.). Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на трёх ал­го­рит­ми­че­ских языках:

 

Паскаль

Var i, n: integer;

Ves: array[1..14] of integer;

Begin

Ves[1]:= 25; Ves[2]:= 21;

Ves[3]:= 23; Ves[4]:= 28;

Ves[5]:= 30; Ves[6]:= 25;

Ves[7]:= 31; Ves[8]:= 28;

Ves[9]:= 25; Ves[10]:= 28;

Ves[11]:= 30; Ves[12]:= 27;

Ves[13]:= 26; Ves[14]:= 24;

n := Ves[1];

For i := 1 to 14 Do

If Ves[i]

Begin

n : = Ves[i];

End;

Writeln(n);

End.

4. У ис­пол­ни­те­ля Квад­ра­тор две команды, ко­то­рым при­сво­е­ны номера:

 

1. воз­ве­ди в квадрат

2. вычти 2

 

Первая из них воз­во­дит число на экра­не во вто­рую степень, вто­рая вы­чи­та­ет 2. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 4 числа 142, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

(Например, 12221 — это алгоритм:

возведи в квадрат

вычти 2

вычти 2

вычти 2

возведи в квадрат,

который пре­об­ра­зу­ет число 4 в 100.)

 

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

5. Некоторый ал­го­ритм из одной це­поч­ки сим­во­лов по­лу­ча­ет новую це­поч­ку сле­ду­ю­щим образом. Сна­ча­ла вы­чис­ля­ет­ся длина ис­ход­ной це­поч­ки символов; если она нечётна, то уда­ля­ет­ся сред­ний сим­вол це­поч­ки символов, а если чётна, то в конец це­поч­ки до­бав­ля­ет­ся буква С. В по­лу­чен­ной це­поч­ке сим­во­лов каж­дая буква за­ме­ня­ет­ся буквой, сле­ду­ю­щей за ней в рус­ском ал­фа­ви­те (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом це­поч­ка яв­ля­ет­ся ре­зуль­та­том ра­бо­ты алгоритма.

Например, если ис­ход­ной была це­поч­ка ЛЕС, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка МТ, а если ис­ход­ной была це­поч­ка ГОРА, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка ДПСБТ.

Дана це­поч­ка сим­во­лов СТЕПЬ. Какая це­поч­ка сим­во­лов получится, если к дан­ной це­поч­ке при­ме­нить опи­сан­ный ал­го­ритм два­жды (т. е. при­ме­нить ал­го­ритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)? Рус­ский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

6. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.

7. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3

13

23

3

23


8. Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


9. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

36

12

16

66

11

0

102

10. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3
24
14
34

14






Вариант 3___________Программирование_ОГЭ

1. В алгоритме, за­пи­сан­ном ниже, ис­поль­зу­ют­ся пе­ре­мен­ные a и b. Сим­вол «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной b после вы­пол­не­ния алгоритма:

 

а := 3

b := 5

a := 6 + a*b

b := b + a/3

 

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной b.

2. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Паскаль

Var s,k: integer;

Begin

s := 0;

for k := 2 to 12 do

s := s + 11;

writeln(s);

End.

3. В таб­ли­це Dat хра­нят­ся дан­ные из­ме­ре­ний сред­не­су­точ­ной тем­пе­ра­ту­ры за 10 дней в гра­ду­сах (Dat[1] — дан­ные за пер­вый день, Dat[2] — за вто­рой и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Паскаль

Var k, m: integer;

Dat: array[1...10] of integer;

Begin

Dat[1] := 12; Dat[2] := 15;

Dat[3] := 17; Dat[4] := 15;

Dat[5] := 14; Dat[6] := 12;

Dat[7] := 10; Dat[8] := 13;

Dat[9] := 14; Dat[10] := 15;

m := 20;

for k := 1 to 10 do

if Dat[k]

begin

m := Dat[k]

end;

writeln(m);

End.

4. У ис­пол­ни­те­ля Де­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

 

1. раз­де­ли на 2

2. прибавь 1

 

Первая из них умень­ша­ет число на экра­не в 2 раза, вто­рая уве­ли­чи­ва­ет его на 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 54 числа 16, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд. (Например, 21222 — это алгоритм: при­бавь 1, раз­де­ли на 2, при­бавь 1, прибавь 1, прибавь 1, ко­то­рый пре­об­ра­зу­ет число 21 в 14.) Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

5. Цепочка из трех бусин, по­ме­чен­ных ла­тин­ски­ми буквами, фор­ми­ру­ет­ся по сле­ду­ю­ще­му правилу:

– в се­ре­ди­не це­поч­ки стоит одна из бусин B, E, C, H;

– в конце – одна из бусин D, H, B, ко­то­рой нет на вто­ром месте;

– на пер­вом месте – одна из бусин D, H, E, C, не сто­я­щая в конце.

Определите, сколь­ко из пе­ре­чис­лен­ных це­по­чек со­зда­ны по этому правилу?

 

HEH   CHD   EBB   EED   EDH    HCD   BEH   HEB   DBH

 

В от­ве­те за­пи­ши­те толь­ко ко­ли­че­ство цепочек.

6. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.

7. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3

13

23

3

23


8. Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


9. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

36

12

16

66

11

0

102

10. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3
24
14
34

14
















Вариант 4___________Программирование_ОГЭ

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 

а := 4

b := 4

b := a/2*b

a := 2*а + 3*b

 

В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел s, k

s := 0

нц для k от 4 до 8

s := s + 7

кц

вывод s

кон

DIM k, s AS INTEGER

s = 0

FOR к = 4 TO 8

s = s + 7

NEXT k

PRINT s

Var s,k: integer;

Begin

s := 0;

for k := 4 to 8 do

s := s + 7;

writeln(s);

End.

3. В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве сде­лан­ных уче­ни­ка­ми за­да­ний (Dat[1] за­да­ний сде­лал пер­вый ученик, Dat[2] — вто­рой и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел­таб Dat[1:10]

цел k, m, n

Dat[1] := 7; Dat[2] := 9

Dat[3] := 10; Dat[4] := 5

Dat[5] := 6; Dat[6] := 7

Dat[7] := 9; Dat[8] := 10

Dat[9] := 6; Dat[10] := 9

m := 0 ; n := 0

нц для k от 1 до 10

если Dat[k] = m то

m := Dat[k]

n := k

все

кц

вывод n

кон

DIM Dat(10) AS INTEGER

DIM k, m, n AS INTEGER

Dat(1) = 7: Dat(2) = 9

Dat(3) = 10: Dat(4) = 5

Dat(5) = 6: Dat(6) = 7

Dat(7) = 9: Dat(8) = 10

Dat(9) = 6: Dat(10) = 9

m = 0 : n =0

FOR k = 1 TO 10

IF Dat(k) = m THEN

m = Dat(k)

n = k

END IF

NEXT k

PRINT n

Var k, m, n: integer;

Dat: array[1..10] of integer;

Begin

Dat[1] := 7; Dat[2] := 9;

Dat[3] := 10; Dat[4] := 5;

Dat[5] := 6; Dat[6] := 7;

Dat[7] := 9; Dat[8] := 10;

Dat[9] := 6; Dat[10] := 9;

m := 0; n := 0;

for k := 1 to 10 do

if Dat[k] = m then

begin

m := Dat[k]; n := k

end;

writeln(n)

End.

4. У ис­пол­ни­те­ля Вы­чис­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

1. умножь на 3

2. вычти 1

Первая из них уве­ли­чи­ва­ет число на экра­не в 3 раза, вто­рая умень­ша­ет его на 1.

Составьте ал­го­ритм по­лу­че­ния из числа 1 числа 23, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

(Например, 12212 – это алгоритм

умножь на 3

вычти 1

вычти 1

умножь на 3

вычти 1,

который пре­об­ра­зу­ет число 3 в число 20.)

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

5. Некоторый ал­го­ритм из одной це­поч­ки сим­во­лов по­лу­ча­ет новую це­поч­ку сле­ду­ю­щим образом. Сна­ча­ла вы­чис­ля­ет­ся длина ис­ход­ной це­поч­ки символов; если она чётна, то в на­ча­ло це­поч­ки сим­во­лов до­бав­ля­ет­ся сим­вол А, а если нечётна, то по­след­ний сим­вол це­поч­ки удаляется. В по­лу­чен­ной це­поч­ке сим­во­лов каж­дая буква за­ме­ня­ет­ся буквой, сле­ду­ю­щей за ней в рус­ском ал­фа­ви­те (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом це­поч­ка яв­ля­ет­ся ре­зуль­та­том ра­бо­ты алгоритма.

Например, если ис­ход­ной была це­поч­ка СОН, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка ТП, а если ис­ход­ной была це­поч­ка УМ, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка БФН.

Дана це­поч­ка сим­во­лов ПОЛЁТ. Какая це­поч­ка сим­во­лов получится, если к дан­ной це­поч­ке при­ме­нить опи­сан­ный ал­го­ритм два­жды (т. е. при­ме­нить ал­го­ритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)? Рус­ский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

6. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.

7. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3

13

23

3

23


8. Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


9. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

36

12

16

66

11

0

102

10. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3
24
14
34

14







Вариант 5___________Программирование_ОГЭ

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «–», «*» и «/» – со­от­вет­ствен­но опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ет пра­ви­лам арифметики.

Определите зна­че­ние пе­ре­мен­ной а после ис­пол­не­ния дан­но­го алгоритма.

 

a := 12

b := 8 + a / 2

a := a – b / 2

 

Порядок дей­ствий со­от­вет­ству­ет пра­ви­лам арифметики. В от­ве­те ука­жи­те одно число — зна­че­ние пе­ре­мен­ной а.

2. Запишите зна­че­ние пе­ре­мен­ной u, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел u,i

u := 30

нц для i от 1 до 6

u := u – i

кц

вывод u

кон

DIM i,u AS INTEGER

u = 30

FOR i = 1 TO 6

u = u – i

NEXT i

PRINT u

Var u,i: integer;

Begin

u := 30;

For i := 1 to 6 do

u := u – i;

Writeln(u);

End.

3. В таб­ли­це A хра­нят­ся дан­ные о ко­ли­че­стве призёров олим­пи­а­ды по про­грам­ми­ро­ва­нию по де­вя­ти окру­гам Москвы. Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на трёх язы­ках программирования.

 

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел­таб A[1:9]

цел k, score

A[1]:=6; A[2]:=11

A[3]:=7; A[4]:=12

A[5]:=13; A[6]:=5

A[7]:=9; A[8]:=3

A[9]:=4

score:= 0

нц для k от 1 до 9

если A[k] = 9 то

score:=score+A[k]

все

кц

вывод score

кон

DIM A(9) AS INTEGER

DIM k, score AS INTEGER

A(1)=6: A(2)=11

A(3)=7: A(4)=12

A(5)=13: A(6)=5

A(7):=9: A(8):=3

A(9):=4

score=0

FOR k = 1 TO 9

IF A(k) = 9 THEN

score=score+A(k)

END IF

NEXT k

PRINT score

END

var k, score: integer;

A: array[1..9] of integer;

begin

A[1]:=6; A[2]:=11;

A[3]:=7; A[4]:=12;

A[5]:=13; A[6]:=5;

A[7]:=9; A[8]:=3;

A[9]:=4;

score:= 0;

for k:=1 to 9 do

begin

if A[k] = 9 then

score:= score+A[k];

end;

write(score);

end.

4. У ис­пол­ни­те­ля Вы­чис­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

1. умножь на 3

2. вычти 1

Первая из них уве­ли­чи­ва­ет число на экра­не в 3 раза, вто­рая умень­ша­ет его на 1.

Составьте ал­го­ритм по­лу­че­ния из числа 1 числа 23, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

(Например, 12212 – это алгоритм

умножь на 3

вычти 1

вычти 1

умножь на 3

вычти 1,

который пре­об­ра­зу­ет число 3 в число 20.)

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

5. Некоторый ал­го­ритм из одной це­поч­ки символов по­лу­ча­ет новую це­поч­ку следующим образом. Сна­ча­ла вычисляется длина ис­ход­ной цепочки символов; если она нечётна, то уда­ля­ет­ся последний сим­вол цепочки, а если чётна, то в се­ре­ди­ну цепочки до­бав­ля­ет­ся символ Б. В по­лу­чен­ной цепочке сим­во­лов каждая буква за­ме­ня­ет­ся буквой, сле­ду­ю­щей за ней в рус­ском алфавите (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом цепочка яв­ля­ет­ся результатом ра­бо­ты алгоритма.

Например, если ис­ход­ной была це­поч­ка РУКА, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка СФВЛБ, а если ис­ход­ной была це­поч­ка СОН, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка ТП.

Дана це­поч­ка символов БРА. Какая це­поч­ка символов получится, если к дан­ной цепочке при­ме­нить описанный ал­го­ритм дважды (т. е. при­ме­нить алгоритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)? Рус­ский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

6. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.

7. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3

13

23

3

23


8. Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


9. На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 Входные данные

Выходные данные

36

12

16

66

11

0

102

10. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 Пример ра­бо­ты программы:

 Входные данные

Выходные данные

3
24
14
34

14









Ответы

Вариант 1 Вариант 2 Вариант 3 Вариант 4

Вариант 5



Проверка части С

Пожалуйста, оцените решения заданий части С самостоятельно, руководствуясь указанными критериями.

Начало формы

6. Задание С2 № 341 

Критерии оце­ни­ва­ния вы­пол­не­ния за­да­ния 20.2

Баллы

Предложено вер­ное решение. Про­грам­ма пра­виль­но ра­бо­та­ет на всех приведённых выше тестах. Про­грам­ма может быть за­пи­са­на на любом языке программирования

2

Программа выдаёт не­вер­ный ответ на одном из тестов, приведённых выше

1

Программа выдаёт на те­стах не­вер­ные ответы, от­лич­ные от опи­сан­ных в кри­те­рии на 1 балл

0

Максимальный балл

2

На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наименьших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном порядке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство введённых чисел не известно, после­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа по мо­ду­лю не пре­вы­ша­ют 30 000.


Ва­ри­ант ре­ше­ния на языке Паскаль.

var a, max, max2, min, min2: integer;

begin

min:= 30000;

min2:= 30000;

max:= 0;

max2:= 0;

readln(a);

while a 0 do

begin

if (a 0) then

begin

min2:=min;

min:=a;

end

else if (a

min2:=a;

if a = max then

begin

max2:=max;

max:=a;

end

else if (a =max2) then

max2:=a;

readln(a)

end;

writeln(max+max2); writeln(min+min2);

end.

7. Задание С2 № 1154

Критерии оце­ни­ва­ния вы­пол­не­ния за­да­ния 20.2

Баллы

Предложено вер­ное решение. Про­грам­ма пра­виль­но ра­бо­та­ет на

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

2

Программа выдаёт не­вер­ный ответ на одном из тестов, приведённых выше. Например, решение, в ко­то­ром не за­да­но усло­вие от­бо­ра чисел (a mod 10 = 3), вы­даст не­пра­виль­ный ответ на тесте № 1

1

Программа выдаёт на те­стах не­вер­ные ответы, от­лич­ные от опи­сан­ных в кри­те­рии на 1 балла.

0

Максимальный балл

2

На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — мак­си­маль­ное число, оканчивающееся

на 3.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

3

13

23

3

23

Ре­ше­ни­ем яв­ля­ет­ся программа, за­пи­сан­ная на любом языке программирования. При­мер вер­но­го решения, за­пи­сан­но­го на языке Паскаль:

 

var n,i,a,max: integer;

begin

readln(n);

max := -1;

for i := 1 to n do

begin

readln(a);

if (a mod 10 = 3) and (a max)

then max := a;

end;

writeln(max);

end.

 

Возможны и дру­гие ва­ри­ан­ты решения.

Для про­вер­ки пра­виль­но­сти ра­бо­ты про­грам­мы не­об­хо­ди­мо ис­поль­зо­вать сле­ду­ю­щие тесты:

 

Входные данные

Выходные данные

1

2

3

8

3

2

3

13

23

13

23

3

3

33

63

3

63

8. Задание С2 № 701 

Критерии оце­ни­ва­ния выполнения за­да­ния 20.2

Баллы

Предложено вер­ное решение. Про­грам­ма правильно ра­бо­та­ет на всех приведённых выше тестах. Про­грам­ма может быть за­пи­са­на на любом языке программирования

2

Программа выдаёт не­вер­ный ответ на одном из тестов, приведённых выше

1

Программа выдаёт на те­стах неверные ответы, от­лич­ные от опи­сан­ных в кри­те­рии на 1 балл

0

Максимальный балл

2

Введите с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Определите, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма должна вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

12
14
24
54
44
33
84
114

4


var i, n, а : integer;

begin n : = 0;

for i : = 1 to 8 do

begin

readln(a);

if (a mod 3 = 0) and ( a mod 10 = 4) then

n : = n + 1 ; end;

writeln ( n );

end .

 

Для про­вер­ки правильности ра­бо­ты программы не­об­хо­ди­мо использовать сле­ду­ю­щие тесты:

 


Входные данные

Выходные данные

1

1

2

3

4

5

6

7

8

0

2

20

21

22

23

24

25

26

27

1

3

24

34

44

54

64

74

84

85

3

9. Задание С2 № 1051

 

Критерии оце­ни­ва­ния вы­пол­не­ния за­да­ния 20.2

Баллы

Предложено вер­ное решение. Про­грам­ма пра­виль­но ра­бо­та­ет на

всех приведённых выше тестах. Про­грам­ма может быть за­пи­са­на на любом языке программирования.

2

Программа выдаёт не­вер­ный ответ на одном из тестов, приведённых выше. Например, решение, в ко­то­ром не за­да­но усло­вие от­бо­ра чисел: (a mod 6 = 0) вы­даст не­пра­виль­ный ответ на тесте № 3.

1

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 1 или 2 балла.

0

Максимальный балл

2



На­пи­ши­те программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел неизвестно, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в последовательность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

36

12

16

66

11

0

102


Ре­ше­ни­ем яв­ля­ет­ся программа, за­пи­сан­ная на любом языке программирования. При­мер вер­но­го решения, за­пи­сан­но­го на языке Паскаль:

 

var a, s: integer;

begin

s:= 0;

readln(a);

while a0 do begin

if (a mod 6 = 0) and (a mod 10 = 6) then

s := s + a;

readln(a);

end;

writeln(s)

end.

 

Возможны и дру­гие ва­ри­ан­ты решения. Для про­вер­ки пра­виль­но­сти ра­бо­ты про­грам­мы не­об­хо­ди­мо ис­поль­зо­вать сле­ду­ю­щие тесты:

 

Входные данные

Выходные данные

1

66

36

0

102

2

60

0

0

3

26

0

0

4

20

96

0

96

10. Задание С2 № 280

 

Критерии оце­ни­ва­ния вы­пол­не­ния за­да­ния 20.2

Баллы

Предложено вер­ное решение. Про­грам­ма пра­виль­но ра­бо­та­ет на всех приведённых выше тестах. Про­грам­ма может быть за­пи­са­на на любом языке программирования

2

Программа выдаёт не­вер­ный ответ на одном из тестов, приведённых выше

1

Программа выдаёт на те­стах не­вер­ные ответы, от­лич­ные от опи­сан­ных в кри­те­рии на 1 балл

0

Максимальный балл

2

Решение

 

var n, k, g, m: integer;

begin

m:=30001;

readln(n);

for k:=1 to n do

begin

readln(g);

if (g mod 10 = 4) and (g

m:=g;

end;

writeln(m);

end.