Problem2

С 8 по 28 августа в пансионате МГУ «Университетский» пройдёт Летний научный лагерь МГУ. Участники лагеря будут заниматься выполнением исследовательских проектов, а потом – выступать с ними в различных соревнованиях. В лагере будут проходить секции физики, программирования, электроники, робототехники, химии, биологии.

 

Участники Летней школы имеют возможность выиграть одну из бесплатных путёвок. Для этого нужно выполнить одно из конкурсных заданий. В задачах можно представить либо только физическую часть (описание эксперимента) либо только математическую (теория), либо компьютерную модель (информатика). Победители конкурса будут определяться по глубине проведённого исследования.

Обязательным условием конкурса является поступление в СУНЦ МГУ.

 

Задачи можно сдать или начать выполнять под нашим руководством в субботу 28 июня, начиная с 15 часов. Встречаемся в аудитории 29, потом переходим в помещение Лаборатории научного творчества.

 

Более подробная информация о лагере есть на сайте http://lanat.ru По всем вопросам пишите на адрес fn@lanat.ru или звоните по телефону 8(499)340-09-04.

 

УСЛОВИЯ ЗАДАЧ

 

Задача №1. Мёртвая петля.

problem1Сделайте из листа бумаги цилиндр и дайте ему скатиться с наклонной плоскости. Скатившись, цилиндр не продолжит полёт ни по прямой, ни по параболе, а полетит под стол, на котором установлена наклонная плоскость (говорят, что в этом виноват эффект какого-то Магнуса). А можно ли запустить цилиндр так, чтобы он описал в воздухе мёртвую петлю?

Совет, что исследовать: сделайте «пускалку» из резинки для денег. Подумайте, как измерить (рассчитать) скорость, которую сообщает цилиндру такая «пускалка», поиграйтесь с диаметром цилиндра.

 

Задача №2. Отскок.

problem2Если отпустить с некоторой высоты (пусть это будет 1 метр) баскетбольный мяч, после отскока он поднимется на чуть меньшую высоту. Если теннисный мяч – то же самое. А что будет, если отпустить оба мяча, положив один на другой?

Совет, что исследовать: подумайте, как влияет на эффект соотношение масс шаров. Как при заданной массе

баскетбольного мяча «оптимизировать» установку, запустив теннисный мячик наибольшей массы на максимальную высоту? Что изменится, если мячей будет больше?

 

 

Задача №3. Архиватор матриц.

problem3

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

Среди матриц могут попадаться матрицы специальных видов:

  1. Симметриченая (http://ru.wikipedia.org/wiki/Симметриченая_матрица);
  2. Кососимметрическая (http://ru.wikipedia.org/wiki/Кососимметричная_матрица);
  3. Диагональная (http://ru.wikipedia.org/wiki/Диагональная_матрица);
  4. Матрица Тёплица (http://ru.wikipedia.org/wiki/Матрица_Теплица);
  5. Блочная (http://ru.wikipedia.org/wiki/Блочная_матрица);
  6. Треугольная (http://ru.wikipedia.org/wiki/Треугольная_матрица);

 

Решение будет приниматься в виде двух консольных бинарных файлов — один архивирует матрицу, а второй восстанавливает ее исходный вид.

 

Для первой программы на стандартном потоке ввода подается размер матрицы n, имя файла в котором хранится матрица, и имя файла в который требуется сохранить ее архивную копию. В файле в первой строке находится размер матрицы n (от 1 до 1000), далее следуют n строк, состоящих из n целых чисел (от -10000 до 10000), разделенных пробелом — коэффициенты матрицы.

Пример ввода:

matrix.txt matrix.bin

Содержимое matrix.txt:

3

1 2 3

0 56 9

0 0 1

 

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

Пример ввода:

matrix.bin matrix.txt

 

Решения будут тестироваться на большом наборе входных данных. Победит то решение, которое правильно восстановит все заархивированные матрицы, и добьется максимального суммарного процента сжатия.