Номер 27 из ЕГЭ по информатике 2017 года

Когда видишь задание подобное, хочется встать и отрапортовать преисполненным сарказма голосом: “Всенепременно и ракообразно!”. А конкретно по уродованию - оно подталкивает подумать с полчасика, а потом написать в стиле С/С++ )))

Вообще-то я о тех, что умеют в интернет ходить за прошивками и рецептами.

  1. Максимальное сокращение по памяти в данной задаче - с O(n^2) до 5 целых переменных(20 байт). Тут далеко не килобайты выгадываются.

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

  3. Подход аля “да пофик, у нас ресурсов хватит” приводит к появлению программ, которые способны работать только на самом топовом железе. Докиньте к этому то, что средний программист в средним тратит на своего коня не менее 70-120 тысяч рублей, и на нем же эту программу тестирует. Потом эту программу придется запускать на компьютере за 15, не забывайте… Лично видел, как человек в рабочем проекте не хочет поддерживать отсортированность структуры данных, чтобы перейти на бинарный поиск вместо линейного. “И так же работает!”. Да, работает. На твоем i7-6950X.

  4. Довелось тут однажды на крупном двухпроцессорном Xeon’е запускать бенчмарк-программу, которая скушала 28 гигабайт оперативной памяти. Моделировалась реальная ситуация с реальной пропускной способностью аппаратуры получения этих самых гигабайт. Она, гхм, завершалась секунд 15. В диспетчере задач по 15-20 секунд можно было с упоением наблюдать освобождение памяти :slight_smile:

Подход, призывающий оптимизировать все и вся - безусловно, плох, и приводит к совершенно необучаемым людям и крайне печальному коду. Но подход “ресурсов хватает, давайте забьем” приводит к появлению монстрообразных приложений, работающих как черепаха(заметьте, каждый отдельный модуль такой программы работает “быстро”, черепашьи бега были замечены только в момент их интеграции. А сдача через неделю…).

3 лайка

@JediKnight: Я начинал работать с техникой, имеющей память в СТО ячеек. И это тоже называлось словом ЭВМ. Потом было множество разных “настоящих ЭВМ”. Вам напомнить, сколько оперативной памяти было у самой мощной советской ЭВМ EC-1061 - одного из клонов IBM/370? Так что об экономии памяти знаю не по наслышке.

Но времена изменились. Информатика пришла в школы, компьютеры стали массовыми, память подешевела, а промышленные технологии создания и сопровождения программного обеспечения претерпели огромные изменения. Откуда взялась задача №27? Из ЕГЭ! А что есть ЕГЭ? Это экзамен, который массово сдают школьники. Но вовсе не будущие программисты, которые побегут работать в суперфирмы, пишущие суперПО для систем реального времени, программирующих бортовые компьютеры и головки самонаведения ракет. Так для чего им выворачивать мозги этими подходами, которые требуют достаточно высокого уровня алгоритмического мышления, если реально оно может понадобится 0.01% этих детей, да и то, предварительно их будут переучивать?

1 лайк

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

Именно поэтому в ЕГЭ 100 баллов, а не 5. Этот экзамен не заставляет всех поголовно писать именно на 100%, но позволяет получить неплохой бонус тем, кто занимался чем-то кроме школьной программы. Нечего желать написать экзамен подобного рода на 100 баллов, исправно запоминая, где же кнопка “Сохранить” в Ворде на каждом новом уроке информатики, в который программирование вставить забыли, т.к. учитель - ленивый дебил.

Это касается буквально всех предметов, не только информатики. Ту же математику написать на 100 баллов практически нереально, но и требуемый балл для поступления в 90% ВУЗов страны не так велик - порядка 60-70. Проще говоря, если поступаешь не в МГУ, решать задание С не нужно. Этим успешно пользуются учителя, которые по любым предметам к С банально не готовят. Хочешь С - занимайся самообразованием, нанимай репетиторов, будь вундеркиндом - на выбор.

Задачей при подготовке такого теста является поиск оптимальной сложности. Проще говоря, надо сделать так, чтобы отличник по данному тесту(90+) реально заслуживал столь высокой оценки, а троечник не писал на 2. Данную задачу ЕГЭ исполняет на ура, а то, что периодически встречаются не слишком простые задания - вперед!

Говорил тут недавно с одним преподом подготовки к ЕГЭ по физике - говорит, к части С никого не готовят. Либо это человек, объездивший 20+ олимпиад(и ему это не надо), либо это человек, который и после двадцатого объяснения не поймет. Среднего не дано.

Показанная задача - определенно, из части С, откуда-то из середины. Умение ее хотя бы написать(как-то) не распространяется на большую часть выпускников РФ. Но им это и не нужно, чтобы поступить - им А и B хватит. А за распределение в пределах интервала [90-100] и каждый балл пусть борется абитура ИТМО.

1 лайк

И кому реально нужны такие тесты, у которых последние 10% баллов своими силами набирают единицы? Я еще не видел ни одного живого преподавателя, который просит на экзамене студента I курса написать “оптимальную по памяти” программу. Так зачем заставлять делать это школьников?

Как итог. ЕГЭ - идиотизм. Полный. И никто меня в этом не переубедит. “Ибо перпендикуляр”. (с)

Этот оператор с этим типом не работает. Проверьте пожалуйста приведенные в самом начале программу.

Посмотрите в самом тексте программы в самом начале. Там тоже с помощью FOR вводится сразу.

Ага. Уже представляю 50 300балльников на поступление в топовый ВУЗ. И как их разделить? Тест должен уметь оценивать как средних, так и крайне головастых школьников. Предлагаемая Вами схема приведет к хаосу в крупных ВУЗах^^

Разделить, как разделяли раньше. Путем проведения нормальных экзаменов. Ни для кого не секрет, что раньше обучение было намного качественнее. В том числе и из-за более сильного контингента абитуриентов.

Это функция, а не оператор. С каким типом не работает? Да, простым циклом уже не обойдешься.

var a: array of word; n: cardinal;

begin

ReadLn (n);
a := new word[n];
a:=ReadSeqInteger('N=',n);
Sort (a);
n := 0;

// Подсчёт количества.
for var i := a.Length - 1 downto 1 do
	for var j := i - 1 downto 0 do
		if ((a[i] * a[j]) < 38) then break
			else if (((a[i] * a[j]) mod 38) = 0) then Inc (n);
WriteLn (n);
ReadLn ();

end.

Проверьте. Хоть word заменить на integer. Ошибка:Нельзя преобразовать тип IEnumerable к array of …

По-моему кто-то забыл, что последовательности в памяти НЕ ХРАНЯТСЯ. Последовательности хороши там, где они или не содержат оператора ввода, или заканчивают свою работу в одной цепочке со вводом. В противном случае при обращении к каждому элементу последовательности мы будем получать обращение ко вводу. То же будет и с использованием случайных чисел.

так это и не оптимально по памяти, и автор попросил помочь именно это оптимизировать

Проводить дополнительный экзамен? Ну, это означает “повесить” в неизвестности определенное количество человек, неспособных даже передать документы в другой ВУЗ. Время будет потеряно, и придется идти “куда придется”, как это у нас принято. В итоге поступят не “стобалльники”, а кто попало, кто рискнул не забирать документы, несмотря на очевидное отставание…

Если сделать прием по одному экзамену - сколько же талантливых молодых людей останутся на задворках цивилизации потому, что у их семей банально нет денег, чтобы раз за разом кататься по разным ВУЗам страны? А делать все ставки на один конкретный будет ну очень глупо. Не сравнивайте, пожалуйста, с советским временем - поездка бы тогда стоила гораздо дешевле.

Интересно, как по-Вашему до ЕГЭ люди у нас жили? Сдавали экзамены, более того, сдавая документы в вуз, сдавали в комплекте подлинник аттестата, в экзамены во всех вузах страны проводились в одно и то же время. Завалил - иди на вечернее или заочное. И ничего, страна жила, развивалась и была действительно великой державой на деле, когда Америка и вякнуть не смела без учета наших интересов, а не на словах, как сейчас, когда американцы вытворяют, что хотят, а мы только словами бросаемся. В общем, мы с Вами люди разных поколений, и Вас бы (в смысле, людей вашего поколения) сейчас в те годы отправить - наверно, просто бы умерли… ))))

Лозунг “и ничего, развивались” - это просто лучшее, что может придумать Ваше поколение, ей богу. Звучит как “мы, конечно, вперде, зато пшеничка растет на благо Партии”. А я вот знаю пару десятков людей за 50 с моего города, которые растеряли свой потенциал просто потому, что боялись поступать куда-то еще кроме ВУЗов уровня современных РИСИ/ДГТУ/АЧГАА - потеря года никого не радует. Это что, политика развития местных территорий за счет неудавшихся вундеркиндов? В итоге действительно умные, потенциально лучшие ученые мира шли в соседний политех, потому, что туда поступить проще. Повсеместно.

Болонский процесс - не причина потери качества образования. В этом вините преподавателей и руководителей ВУЗов, вдруг решивших, что коррупция - это нормально. Выходцев из советской школы, кстати. А вот теперь представьте на секунду, что будет, если вместо централизованного тестирования, не привязанного к ВУЗам, абитуриент будет получать обычный экзамен, в нынешнем положении? Я вот думаю, что не меньше 150-200 тысяч рублей на лапу. А то и больше. ЕГЭ - скорее попытка решить данную проблему, чем ее усугубить. Понятное дело, что посадить всех не выйдет (а начнешь - страна взорвется). Сделать так, чтобы дать было невозможно - что ж, тоже вариант. К сожалению, тоже дают - чего стоят только стобалльники по русскому языку с Северного Кавказа. Зато - далеко не так системно, как могло бы быть.

Разделение на бакалавриат и магистратуру, может быть, виновато в плохих студентах и специалистах? Так нет же, цель бакалавриата - подготовить узких специалистов без уклона в научную деятельность, магистратуры - с уклоном и целью подготовить к поступлению в аспирантуру. То, что у нас (в отличие от развитых стран) до сих пор бакалавриат - “не корочка” - заслуга дебилов 50-60го года рождения, который засели на руководящих местах, и думают, что 5 лет - это образование, а 4 - нет. Про то, что сейчас перестали читать научный коммунизм и труды Маркса с Энгельсом в том же объеме, что и математику, они позабыли. К слову, курсов о высказываниях Путина я что-то не вижу. В конце четвертого курса собирался на пару месяцев перед магистратурой пойти поработать - попытка забить меня в базу с “неоконченным высшим” меня в край добила, и я послал работодателя нахер. За дело?

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

СССР стал великой державой после победы в ВОВ, и достаточно долго держал сей статус за счет вложений в оборонку в период холодной войны, за счет владения ядерным оружием, и т.д. При этом дикое количество крайне перспективных научных направлений были попросту забыты. Что уж там далеко ходить - та же кибернетика, или генетика, к примеру. Когда поняли, что поздно, и пора в это таки вложиться, вместо собственных разработок начали интеловские процессоры воровать. И по сей день отстаем - почитайте про современные Эльбрусы, какое г***о они из себя представляют. Про очередные “русские операционные системы”, из которых самая известная - BolgenOS… Что там делает шестая часть суши на международной айтишной арене? 1С, Яндекс на постсоветском пространстве, и KAV? Вы сейчас мне пишете посты из браузера, написанного в Америке, используя ОС, написанную в Америке, сидя за компьютером, собранным в Восточной Азии. По специфике работы зачастую приходится работать с оборудованием и программным обеспечением российского производства. Что бы вы думали? Написано с использованием американского софта, и работает под управлением американской операционной системы, гхм (про его качество отдельный разговор, там все плохо, да).

Да, СССР был великой державой, пока не слег под собственным грузом невозможности эффективного централизованного управления столь огромной машиной. Сейчас в государственном секторе происходит абсолютно то же самое. У него был определенный потенциал после победы на фашистской Германией, но затем серия совершенно неэффективных управленцев, не имеющих Сталинских яиц и/или воли что-то менять в любую сторону, начиная с Андропова сгубила все и вся. Такая система могла существовать только при наличии кого-то вроде Иосифа Виссарионовича (с репрессиями, расстрелами, и т.д.) - но как мы знаем из истории, все до единой диктатуры, когда-либо существовавшие за историю человеческой цивилизации, рассыпались после смерти своего диктатора.

P.S. Вякнуть - вполне могли. Тот же Вьетнам, к примеру - хотя там они проиграли. Афганистан - своеобразная месть за Вьетнам. Карибский кризис.Немощность СССР в плане интернациональной пропаганды на фоне НАТО тоже можно привести в пример.

P.P.S. Предлагаю политоту вынести за пределы данного топика.

1 лайк

Немного перефразируя М.Жванецкого, “Давайте НЕ будем спорить о вкусе ананасов с теми, кто их ел”. У Вас свое мнение - и это ваше право. Задачи пытаться Вас в чем-то переубедить я не ставил и не собираюсь.

Я бы так опрометчиво не говорил :slight_smile: Тут уже приводили цифры по Германии, что аспирантов в 10 раз меньше магистров, и в России примерно тот же процент. Так что, наверное, неправильно говорить, что это - основная цель магистратуры.

Что же до ЕГЭ - у нас - преподавателей мехмата - огромным бонусом после введения ЕГЭ стало освободившееся от приёмных экзаменов лето.

Да и темы, предлагаемые в ЕГЭ по информатике, не могут не радовать: после них в ВУЗе можно много и долго переучивать, выправляя искалеченные стили программирования

Обращаю ваше внимание, что политика не просто выносится в другой топик - политика у нас на форуме запрещена в любом варианте

1 лайк

это получить диплом магистра, а аспирантура тут не причем.