Задания первого (школьного) этапа Всероссийской предметной олимпиады школьников
по информатике и ИКТ 2011/2012 учебный год
9 класс (max – 45 баллов)
1. Зарплата. (6 баллов)
В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.
Входные данные
В единственной строке входного файла INPUT. TXT записаны размеры зарплат всех сотрудников через пробел. Каждая заработная плата – это натуральное число, не превышающее 105.
Выходные данные
В выходной файл OUTPUT. TXT необходимо вывести одно целое число — разницу между максимальной и минимальной зарплатой.
Примеры
№ | INPUT. TXT | OUTPUT. TXT |
1 |
| 900 |
2 | 36 11 20 | 25 |
2. Четырехзначный палиндром. (10 баллов)
Требуется написать программу, определяющую, является ли четырехзначное натуральное число N палиндромом, т. е. числом, которое одинаково читается слева направо и справа налево.
Входные данные
Входной файл INPUT. TXT содержит натуральное число N (1000 ≤ N ≤ 9999).
Выходные данные
В выходной файл OUTPUT. TXT следует вывести слово «YES», если число N является палиндромом, или «NO» – если нет.
Примеры
№ | INPUT. TXT | OUTPUT. TXT |
1 | 6116 | YES |
2 | 1231 | NO |
3. Арбузы. (14 баллов)
Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает, как же выбрать самый легкий и самый тяжелый арбуз? Помогите ему!
Входные данные
В первой строке входного файла INPUT. TXT задано одно число N – количество арбузов. Вторая строка содержит N чисел, записанных через пробел. Здесь каждое число – это масса соответствующего арбуза. Все числа натуральные и не превышают 30000.
Выходные данные
В выходной файл OUTPUT. TXT нужно вывести два числа через пробел: массу арбуза, который Иван Васильевич купит теще и массу арбуза, который он купит себе.
Пример
№ | INPUT. TXT | OUTPUT. TXT |
1 | 5 | 1 9 |
4. Массив нулей и единиц. (5 баллов)
При обработке массива из нулей и единиц был применен следующий алгоритм: если первый элемент массива единица, то переносим ее на третью с конца позицию, а если первый элемент массива нуль, то меняем местами первые два элемента массива.
Запишите последовательность, получившуюся после пятикратного применения этого алгоритма.
5. Аббревиатура. (10 баллов)
Ниже приведены известные аббревиатуры, связанные с компьютером.
Ваша задача - дать расшифровку.
OSI -
FTP -
BIOS -
CPU -
PDF -
ASCII -
ROM -
NTFS -
LCD -
NaN -
Ключи
к заданиям первого (школьного) этапа Всероссийской предметной олимпиады школьников
по информатике и ИКТ 2011/2012 учебный год
9 класс (max – 45 баллов)
1. Зарплата. (6 баллов)
В данной задаче необходимо найти наибольшее и наименьшее значение и вывести их разность. Для этого проще всего упорядочить заданные числа A, B и C в порядке неубывания (A<=B<=C) и тогда значение C-A будет решением этой задачи. Для этого можно было бы прибегнуть к принципу чайника и отсортировать массив из трех элементов методом "пузырька", например. Но это решение не самое разумное в данном случае.
Здесь можно применить тот же метод "пузырька", но без циклов и массивов. Действительно, за 3 сравнения можно достичь желаемого результата. Сначала сравнивая А и B мы можем в A поместить наименьшее из них, поменяв их местами. Далее сравнивая A и C мы поместим в А наименьший из 3х чисел элемент. А после сравнения B и C в C получим наибольший. Описанный выше алгоритм можно представить в виде следующей блок-схемы:

На всякий случай напомним, как с помощью третьей переменной можно поменять значения переменных местами: x=a; a=b; b=x;
В языке Си для различных целочисленных переменных a и b можно использовать более красивую и короткую запись без использования третьей переменной:
a^=b^=a^=b;
2. Четырехзначный палиндром. (10 баллов)
Решение №1
Наиболее простой способ решения этой задачи заключается в чтении заданного числа в качестве строки и сравнения первого с четвертым и второго со вторым символов. Алгоритмически это решение выглядит так:
String s;
read(s);
if(s[1]=s[4] and s[2]=s[3]) write('YES') else write('NO');
Решение №2
Не всегда самое простое решение приходит первым в голову и не всегда начинающие программисты умеют работать со строками. Дело в том, что когда видишь, что во входных данных число, то его хочется считать в целочисленную переменную, потом расцепить на цифры, а затем уже провести сравнение. Для того, чтобы получить n-ю цифру справа, нужно исходное число x разделить целочисленно на 10n-1, отбросив тем самым лишние n-1 цифр справа от исходного числа, а затем взять остаток от деления на 10 от того, что получилось, т. е. взять последнюю цифру, которая и окажется n-й справа от исходного числа x. Реализация с использованием данного механизма может выглядеть так:
int x, x1,x2,x3,x4;
read(x);
x1 = x div 1000;
x2 = x div 100 mod 10;
x3 = x div 10 mod 10;
x4 = x mod 10;
if(x1=x4 and x2=x3) write('YES') else write('NO');
3. Арбузы. (14 баллов)
В этой задаче из представленных n чисел следует выбрать наибольшее и наименьшее число, а затем просто их вывести. Для поиска максимального элемента следует определить переменную max, в которую предварительно можно занести наименьшее возможное значение, 0 например (ведь все числа натуральные, т. е. больше нуля). Далее следует считывать в переменную x текущее значение и проверять: не больше ли оно ранее найденного, которое как раз храниться в max. Если да, то будем записывать его в max. Таким образом, по окончании процесса мы получим в max наибольшее значение. Поиск минимального элемента происходит аналогично. Заметим, что в этой задаче можно обойтись без использования массивов.
Алгоритм решения этой задачи:
read(n);
max=0; min=32000;
for i=1..n{
read(x);
if(x > max) max=x;
if(x < min) min=x;
}
write(min,' ',max);
На самом деле в этой задаче может возникнуть непонятный момент: что делать, когда арбуз всего один? Кому его нужно купить: себе или теще? Если рассуждать разумно (по жизни), то конечно лучше купить его себе, а теща обойдется и без арбуза. Но если следовать условиям задачи получается, что этот арбуз будет адресован как Ивану Васильевичу, так и его теще и в данном случае нужно выводить два одинаковых числа в качестве ответа.
4. Массив нулей и единиц. (5 баллов)
Ответ -
5. Аббревиатура. (10 баллов)
Ниже приведены известные аббревиатуры, связанные с компьютером.
Ваша задача - дать расшифровку.
OSI - (Open Systems Interconnection Reference Model, модель взаимодействия открытых систем) модель для создания сетевых коммуникаций и разработки сетевых протоколов на основе уровней
FTP – протокол передачи файлов в Интернете
BIOS – базовая система ввода-вывода
CPU – центральный процессор
PDF – формат файла
ASCII – американский стандартный код для обмена информацией
ROM – постоянно-запоминающее устройство
NTFS – файловая система для Microsoft Windows Net
LCD – жидкокристаллический монитор
NaN - одно из особых состояний числа с плавающей запятой.


