Разбор задач с олимпиад.

Олимпиада по информатике (для 8-11 классов)

Рассчитать стоимость аккаунта World of Tanks , с многократным использованием оператора ветвления if … then … else , с учётом того, что

Наличие танков до 5 уровня ничего не стоят, Наличие танков 5-7 уровня стоят по 250 рублей за танк, Наличие танков 8 уровня: 300 рублей за танк, Наличие танков 9 уровня:650 рублей за танк, Наличие танков 10 уровня:1100 рублей за танк, Бонус за несколько танков 10 уровня: наличие двух танков 10 уровня +400 рублей. Примечание: всеми другими факторами оценки стоимости аккаунта можно пренебречь в условиях данной задачи.

    (8-11 классы, авторская задача) Исправить ошибки в коде и переписать без ошибок. Неответственному ученику дали задание: «Написать на языке Паскаль программу, которая бы по порядковому номеру ученика в журнале выдавала его имя и фамилию» - но он допустил ряд ошибок, т.к. вместо записи программы на занятиях по информатике он заходил на сайт Вконтакте, а дома вместо подготовки к урокам занимал свободное время видеоиграми. Вот какой код у него получился:

Programma Журнал

Var : k - real

begin

writ ln ( Введите порядковый номер ученика )

red (‘ k ’)

for k do

1 : writ ln ( Абросимова Владислава )

2 : writ ln ( Артемьев Ярослав )

3 : writ ln ( Иванова Анастасия )

4 : writ ln ( Куркина Дарья )

5 : writ ln ( Новиков Ростислав )

6 : writ ln ( Подосинников Виталий )

7 : writ ln ( Сафронов Иван )

8 : writ ln ( Столика Сергей )

until

writeln ( Такого ученика в классе нет )

end

end

    Задача Эйнштейна (задание подходит для 8-11 классов)

Альберт Эйнштейн придумал эту задачу в прошлом веке и полагал, что 98% жителей Земли не в состоянии ее решить. Принадлежите ли вы к 2% самых умных людей планеты? Задачка без обмана и фокусов. У задачи есть логическое решение.
Если вы не смогли решить задачу, то комментарии ваших логических рассуждений в любом случае могут быть интересны посетителям. Поэтому, дерзайте и не стесняйтесь, если вы не вошли в 2%!
Итак, условие задачи:
Рисунки в условии задачи стоят в произвольном порядке! Если вы используете IE, то вы можете двигать каждый рисунок мышью, чтобы проще было решить задачку.

    Есть 5 домов каждый разного цвета.

    В каждом доме живет по одному человеку отличной друг от друга национальности.

    Каждый жилец пьет только один определенный напиток, курит определенную марку сигарет и держит определенное животное:

    Никто из 5 человек не пьет одинаковые с другими напитки, не курит одинаковые сигареты и не держит одинаковое животное.

Дополнительные условия:

    Англичанин живет в красном доме.

    Швед держит собаку

    Датчанин пьет чай

    Зеленый дом стоит слева от белого и они стоят рядом.

    Жилец зеленого дома пьет кофе

    Человек, который курит Pall Mall, держит птицу

    Жилец из среднего дома пьет молоко

    Жилец из желтого дома курит Dunhill

    Норвежец живет в первом доме

    Курильщик Marlboro живет около того, кто держит кошку

    Человек, который содержит лошадь, живет около того, кто курит Dunhill

    Курильщик сигарет Winfield пьет пиво

    Норвежец живет около голубого дома

    Немец курит Rothmans

    Курильщик Marlboro живет по соседству с человеком, который пьет воду

Вопрос: кому принадлежит рыба?

    (задача для 8-11 классов) Словарный запас некоторого языка составляет 4096 слов, каждое из которых состоит точно из 8 букв. Сколько букв в алфавите языка? Какой объем информации займёт книга на данном языке, состоящая из 300 страниц, на каждой странице 10 строк, в каждой строке 6 слов по 5 букв. Ответ дайте в таких единицах измерения, чтобы цифра получилась минимально возможной.

    (задание для 10-11 классов) Используя программу Pascal ABC , выполните следующую программу:

program pr1;

uses Drawman;

begin

Task( "a1" );

ToPoint( 2 , 3 );

PenDown;

ToPoint( 3 , 5 );

PenUp;

ToPoint( 0 , 0 );

end .

Самостоятельно начертите такое изображение:

    (10-11 класс)

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

    (8-9 класс)

Трое друзей, болельщиков футбола, спорили о результатах предстоящего матча.

- Вот увидишь, «Шахтёр» не победит, - сказал Вася. «Металлург» будет победителем!

- Да нет же, победителем будет, «Шахтёр», - воскликнул Коля. - А о «Динамо» и говорить нечего, они не победят!

Петя, к которому обратился Коля, возмутился:

- «Металлургу» не видать первого места, а вот «Динамо» играют на своём стадионе!

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

    (9-11 классы, авторская задача, по материалам курса лекций д.х.н. Алемасовой А.С.) Пользуясь блок-схемой ниже, определите, как можно определить ионы бария в растворе, поэтапно приливая определённые реагенты к раствору.


Задания по информатике для 10-11 классов

Задача 1. “Сумма кодов”. Выбрать слово, имеющее наименьшую сумму кодов символов в таблице кодировки ASCII (используются строчные буквы). Ответ обоснуйте.

bear

type

eyes

apples

hair

Задача 2. “Два берега”. К реке подошли два ученика 1 класса и один учитель. У берега они увидели маленькую лодку, вмещавшую либо двух мальчиков, либо одного взрослого. Какое минимальное время требуется на переправу, если каждая поездка через реку (в одну сторону) занимает 20 минут? Ответ обоснуйте.

Задача 3. “Приветствие племен”. Алфавит одного племени состоит из Х символов, алфавит другого содержит в четыре раза больше символов. Племена обменялись приветствиями. Каждое по 500 символов. На сколько бит информации одно приветствие больше другого? Ответ обоснуйте.

Задача 4. “Количество команд”. Программист написал программу на языке машинных команд, которая последовательно размещается в памяти начиная с нулевого адреса. Каждая команда занимает 8 байта памяти. Шестнадцатеричный адрес последней команды в программе равен 56. Сколько команд содержит эта программа? Ответ обоснуйте.

Задача 5. “Новобранцы”. На первом построении вновь призванные в армию солдаты построились в шеренгу. По команде старшины «Напра-во!» некоторые солдаты повернулись направо, а некоторые - налево (на 90°). Каждый солдат, оказавшийся лицом к лицу со своим соседом считает, что совершил ошибку и разворачивается на 180°.

Ваша задача - помочь старшине, объяснив, будут ли солдаты вертеться бесконечно или можно указать максимально возможное количество разворотов новобранцев. Возможна ли (если да, при каких условиях) ситуация, когда в конце концов все солдаты построятся правильно? Ответ обоснуйте.

Задачи по информатике для 8-9 класса

1. Вася, Петя и Миша участвуют в эстафете. В ряд на расстоянии 1 метр друг от друга разложены 7 картофелин, а на расстоянии 1 метр от первой устроена точка старта. Сначала стартует первый участник команды, добегает до первой картофелины, берет ее и возвращается на старт. После того, как он добежал до старта, стартует второй участник, который добегает до второй картофелины и приносит ее. После этого третий участник бежит за третьей картофелиной. Дальше снова бежит первый - за четвертой, второй - за пятой, третий - за шестой, и, наконец, снова первый - за седьмой. Эстафета заканчивается, когда седьмая картофелина оказывается принесена в точку старта. В каком порядке должны стартовать участники (кто - первым, кто - вторым, и кто - третьим), чтобы закончить как можно быстрее, если известно, что Вася бегает медленнее Пети, а Миша - быстрее их обоих.

2. В 5-этажном доме живут Вася, Петя, Коля, Илья и Никита. Кто на каком этаже живет, если известно, что:

    Вася и Коля живут на одном этаже

    Петя живет на два этажа выше Васи

    Илья живет ниже Коли

    Никита живет выше Ильи, но ниже Васи

3. В таблице разрешается переставлять местами любые две строки и любые два столбца. Можно ли с помощью нескольких таких операций получить из левой таблицы правую? Если да, то приведите набор операций.

4. Числа записали в некоторой системе счисления (без ведущих нулей), а затем заменили цифры геометрическими фигурами (одинаковые цифры - одинаковыми, разные цифры - разными). Восстановите неизвестное число:

5. Роджер Вилко хочет добыть ключ из лабиринта, в который сам попасть не может, однако может запустить туда маленького робота. Робот знает команды:

    Вверх (передвинуться на одну клетку вверх)

    Вниз (передвинуться на одну клетку вниз)

    Влево (передвинуться на одну клетку влево)

    Вправо (передвинуться на одну клетку вправо)

Команду, которую робот не может выполнить, он просто пропускает и переходит к следующей. У робота ограниченный объем памяти, поэтому Роджер может написать программу, состоящую только из четырех команд. Когда робот доходит до конца своей программы, он начинает ее заново. Когда робот оказывается в клетке, где лежит ключ, выполнение программы немедленно завершается.

Как Роджеру запрограммировать робота так, чтобы он попал из клетки S в клетку F , где лежит ключ?

Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было. Вопросы связаны с Паскалем. Я Паскаль не знаю (лучше бы были по Си). Завтра будет первый тур, а второй будет в середине января бедующего года. Я попытаюсь хотя бы основу Паскаля выучить за пол месяца. Люди, пожалуйста, ответьте хоть на сколько вопросов.
Заранее огромное Спасибо!

Вот вопросы:

1. Вводится числа от 9 до 9 до тех пор, пока не будет введен 0. Всего будет введено не больше 100 чисел. Посчитать количество единиц в этой последовательности, количество двое, количество троек и так далее (в выходном файле должно быть 9 чисел).
Имя входного файла: col.in Имя выходного файла: col.out
Пример
col.in col.out
1 1 4 1 5 8 6 3 5 1 0 4 0 1 1 2 1 0 1 0

2. С клавиатуры вводится строка символов (длина не превышает 100). Вывести на экран эту строку, преобразовав ее по следующему правилу:
- Символы на четных позициях остаются на своих местах;
- Символы на нечетных позициях меняют порядок вывода.
Имя входного файла: posled.in Имя выходного файла: posled.out
Пример
posled.in posled.out
1234 3214

3. По окончанию массового забега все его участники уложили свои нагрудные номера в один ряд в том порядке, в каком они пересекли финишную черту, образовав в результате К-значное число.
Требуется определить M (M<1000) количество участников забега по известному К. В случае невозможности определить количество участников вывести сообщение: ""net reshenija"".
Имя входного файла: input.txt Имя выходного файла: output.txt
Пример
posled.in posled.out
15 12

4. Дано число N. Найти из диапазона от 1 до N с максимальной суммой делителей (включая непростые делители, 1 и само число). Если таких чисел несколько, выведите любые из них.
Имя входного файла: max.in Имя выходного файла: max.out
Пример
max.in max.out
5 4

5. Дана последовательность из N (2<=N<= 100000) чисел. Найти количество различных чисел в этой последовательности, определить эти числа. Вывести их в порядок уменьшения количества встречаний их в данной последовательности.
Имя входного файла: pos.in Имя выходного файла: pos.out
Пример
pos.in pos.out
5 1 7 5 3 0
1
1
1
30
7
7

6. Матрица размерностью NxM (N ? количество строк, M ? количество столбцов, 2<=N и M<= 100000) заполнена числами от 1 до N*M, следующим образом: сначала заполняется первая строка слева направо от 1 до значения M (по возрастанию), затем вторая строка слева направо от M+1 до 2М, и так далее. По введенным параметрам матрицы и числу К, определить в какой строке и в каком столбце стоит данное число.
Имя входного файла: nomer.in Имя выходного файла: nomer.out
Пример
nomer.in nomer.out
4 4
4 3

Задача А: Паркет

Ограничение по памяти: 16 Мб

В далекой заморской земле в самом большом здании города, представляющем собой прямоугольник размерами N ´ M , решено положить новый паркетный пол. После продолжительных обсуждений на всеобщем городском совете был, наконец, одобрен следующий проект: фигурками вида (только такие паркетные доски и производит местная паркетная фабрика):
уложить вот такой рисунок (рисунок начинается с левого верхнего угла):


Ясно, что некоторые из приобретенных фигурок при укладке рисунка придется распилить. При этом возможно, некоторые части, на которые разделили фигурку, не будут участвовать в формировании рисунка. Вам необходимо определить минимальное количество фигурок требующих распила. Например, если размеры здания 3 x 4, то можно будет уложить 2 целых фигурки, а еще одну придется распилить. На рисунке ниже части, на которые распилили дополнительную фигурку, закрашены серым цветом.

Формат входного файла: В единственной строке входного файла содержатся два натуральных числа N и M , не превосходящие 10 9 – размеры прямоугольника, который необходимо замостить указанными фигурками.

Формат выходного файла: Необходимо вывести одно целое число – количество фигурок, которые придется распилить при укладке рисунка.

Пример:

parket.in

parket.out

Задача В: Словарь

Ограничение по времени: 1 секунда

Ограничение по памяти: 16 Мб

В языке одного из племен, затерянных на марсианских просторах, все слова одной и той же длины N , причем буквы в каждом слове попарно различны. В алфавите этого племени насчитывается N букв. Ученые-марсологи выяснили, что в словарь входят все возможные перестановки из N букв.

Переводчик в своем походном марсианско-русском словаре обозначает первую букву марсианского алфавита за « A », вторую за « B » и так далее (N не превосходит 20). Разумеется, слова в словаре упорядочены по алфавиту. И когда он встречает в какой-нибудь марсианской книге редко используемое слово, ему приходится долго листать словарь в поисках перевода. Помогите переводчику по марсианскому слову определить его порядковый номер в словаре.

Формат входного файла: В первой строке файла записано натуральное число N , не превосходящее 20, - длина слова. Следующая строка содержит марсианское слово для перевода. Слово состоит из заглавных латинских букв.

Формат выходного файла: Необходимо вывести одно целое число – порядковый номер этого слова в марсианско-русском словаре.

Примеры:

slovar.in

slovar.out

ABC

4


Задача C: Школа

Ограничение по времени: 1 секунда

Ограничение по памяти: 64 Мб

В школе некоторые из ребят хотели бы перейти из своего класса в другой, параллельный. Однако сделать это можно только в том случае, если кто-то из учеников этого класса также решит сменить класс – и освободит, таким образом, место. Скажем, ученик «10А» Антон сможет перейти в «10Г», если, например, Вера из «10Г» захочет перейти в «10Б», а Лена из «10Б» – в «10А».

Вам известны предпочтения ребят (ровно одно для каждого ученика). Необходимо определить длину максимальной цепи переходов учеников из класса в класс. Например, в разобранном выше случае длина цепи переходов составляет 3.

Формат входного файла: В первой строке входного файла задано количество N учеников, желающих перейти в другой класс. Каждая из следующих N строк состоит из имени ученика, буквы класса (отделенной от имени одним пробелом), в котором он учится, и отличной от нее буквы класса (также отделенной одним пробелом), куда хочет перейти. Используются только латинские буквы. Буквы класса – прописные. Длина имени ученика не превосходит 20.

Формат выходного файла: Одно целое число – длина максимальной цепи переходов.

Пример:

school.in