РАЗМЫШЛЕНИЯ ПО ШКОЛЬНОМУ ЭТАПУ ПРЕДМЕТНЫХ ОЛИМПИАД ПО ИНФОРМАТИКЕ.

, МБОУ «Усть-Пинежская СШ», учитель физики и информатики, Архангельская область, п. Усть-Пинега, *****@***ru.

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

REFLECTIONS ON school stage of subject Olympiads in Informatics. Nikitin Sergey Vasilevich, MBOU "Ust-Pinega school," a teacher of physics and computer science, Arkhangelsk region, n. Ust-Pinega, *****@***ru.

Размышления по школьному этапу предметных олимпиад по информатике.

Предметная олимпиада среди школьников называется «Олимпиада по информатике» - на самом деле это олимпиада по программированию. По моему мнению олимпиада по информатике  - это олимпиада по информационным технологиям (может многие со мной и не согласятся). Логично было бы  разделить  олимпиаду на две составляющие предмет части.

Задания школьного этапа предметных олимпиад были скомплектованы и присланы из районного управления образования на кануне проведения олимпиады. Вместе с заданиями были присланы и варианты решения, причём только на одном языке программирования Pascal, а ведь в школах могут изучаться и другие языки программирования – BASIC, Pyhton, C, на конец, алгоритмический язык. Задания были составлены по группам 5 – 6, 7 – 8, 9 – 11 классы. Задания для 5 – 6 классов больше относятся не к программированию, а к информационным технологиям. В этих классах информатика если и ведётся, то только факультативно или спецкурсом, например, «Основы программирования» - основные понятия, элементы робототехники «Лего», Scratch, Паркетчик и др.

НЕ нашли? Не то? Что вы ищете?

Примеры заданий:

1.  Все люди в этом здании либо поднимаются на четвертый этаж, либо спускаются на первый. Сколько человек будет на четвертом этаже, а сколько на первом?




1) 8 и 7;  2) 7 и 8;  3) 7 и 3;  4) 3 и 3.


2. Все ярлычки, кроме одного, относятся программам для работы в интернете. Какой ярлычок лишний?

3. Расположите  носители  информации  в  порядке  возрастания  их ёмкости: DVD,  магнитная дискета,  Blu-Ray, CD.

1) DVD;  магнитная дискета;  Blu-Ray; CD.

2) магнитная дискета;  DVD; Blu-Ray; CD.

3) магнитная дискета;  CD;  DVD;  Blu-Ray.

4) магнитная дискета;  Blu-Ray; CD; DVD.

Задания для 7 – 8 классов – это задания по программированию, хотя информатика, как предмет, только начинается изучаться в 7 классе. Но даже в 7 классе уже могут быть подготовленные учащиеся, знающие основы программирования и алгоритмизации. Учащиеся 8 класса – более могут быть подготовлены в этих вопросах.

Примеры заданий:

Задача 1.

Составьте программу, которая определяет, является ли  введённое четырёхзначное натуральное число «Счастливым билетом», то есть сумма первой и второй цифр числа равна сумме третьей и четвертой цифр числа. Например, число 1230 является «Счастливым билетом», так как 1+2=3 и 3+0=3.

Вариант решения:

var

x: word;

s_L, s_R: byte;

begin

writeln('введите четырёхзначное число');

readln(x);

s_R := x mod 10;

x := x div 10;

s_R := s_R + x mod 10;

x := x div 10;

s_L := x mod 10;

x := x div 10;

s_L := s_L +x;

writeln(s_L = s_R)

end.


    переменная x – четырёхзначное натуральное число; переменная s_L – сумма 1-ой и 2-ой цифр числа. переменная s_R – сумма 3-ой и 4-ой цифр числа.


Задача 2.

Составьте программу определения количества символов * во введённой строке. Например, количество символов * в строке К*омп**ьют*ер равно 4.

Вариант решения:

var

s:string;

i, k:integer;

begin

writeln('Введите строку символов');

readln(s);

for i:=1 to length(s) do

if s[i]='*' then k:=k+1;

writeln(k);

end.

    переменная s – строка любых символов; переменная i – счётчик для цикла for;

переменная k – количество символов * в строке s.

Задача 3.

Составьте программу, которая по введённому двузначному натуральному числу определяет, является ли произведение цифр числа чётным. Например, произведение цифр числа 24 равно 8 (четное), а для числа 37 произведение равно 21 (не чётное).

Вариант решения:

var a, p:integer;

begin

writeln('Введите двузначное натуральное число');

readln(a);

p:=1;

while a>0 do

begin

p := p * (a mod 10);

a := a div 10;

end;

if p mod 2 = 0 then writeln('чётно') else writeln('не чётно');

end.

    переменная а – двузначное натуральное число; переменная р – произведение цифр числа а.

Ученица 7 класса предложила решение 1 и 3 задач не на языке Pascal, а на BASIC 256.

rem 1задача

input x

y=int(x/1000)

a=x-y*1000

z=int(a/100)

b=a-z*100

d=int(b/10)

c=b-d*10

p=y+z

l=d+c

if p=l then print "yes" else print "no"

end

rem 3 задача

input x

a=int(x/10)

b=x-a*10

c=a*b/2

e=int(c)

f=c-e

if f=0 then print "xxx" else print "yyy"

end

Решение задачи 2 было предложено на языке Python, при этом решение получилось очень кратким.

'к*омп**ьют*ер'.count('*')

Для заданий 9 – 11 классов решение первой задачи предложено на алгоритмическом языке.

Задание 1. Диаметр колеса автомобиля 80 см. Колесо потребует замены через 200 000 оборотов. Определить, доедет ли колесо от города Архангельска до города N‑ска, если расстояние между ними S километров.

Входные данные: расстояние между городом Архангельск и N-ск в километрах

Выходные данные: вывод на экран сообщения ДА или НЕТ в зависимости от условия задачи.

Вариант решения:

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

Ввод S расстояния

a=2*3.14*0.6        Путь пройденный автомобилем за один оборот колеса

L=200000*a         Максимальный путь, до износа колеса

Если S>L        Проверяем

Тогда выводим «не доедет»

Иначе выводим «доедет»

Задание, считаю, вполне можно было дать и 7 – 8 класса. Семиклассницей было предложено решение этой задачи на BASIC 256 (уже после окончания олимпиады, в качестве эксперимента).

Rem колесо

input d

input n

input s

c=3.14*d/100

l=c*n/1000

if l>=s then print "yes" else print "no"

end

Хотелось бы узнать Ваше мнение по этому вопросу.

Литература.

Олимпиадные задачи школьного этапа 2017 г. В Холмогорском районе.