AOP_Tom1 (1021736), страница 45

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 45 страницаAOP_Tom1 (1021736) страница 452017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

[Ссылки. %. АЬгепе, МагЛетапзсЛе Улгегйа)гипбел оп6 Бр1е!е 2 (Ье~рлй: ТеиЬпег, 1918), СЬареег 15.[ Рис. 17. Задача Иосифа, п = 8, гп = 4. Рис. 18. Магический квадрат. 23. [Я7] Цель этого упражнения — помочь читателю получить опыт применении компьютеров в сфере, где выходные данные должны быть отображены графически, а не в традиционном табличном виде. В данном случае необходимо "нарисовать" схему кроссворда. Входными данными является матрица, состоящая нз нулей и единиц. Нуль соответствует белому квадратику, а единица — черному.

В качестве выходных данных нужно получить схему кроссворда, в котором соответствующие квадратики с номерами обозначают слова, расположенные по вертикали н по горизонтали. Например, для матрицы 1 0 0 0 О 1 0 0 1 0 0 0 0 0 0 0 1 0 О 1 О О О О 0 0 0 1 0 0 1 0 0 0 0 1 Рис. 18. Схема кроссворда, соответствующая матрице из упр. 23. Черные +++++ квадраты: +++++ +++++ Номер вв ванн+ белого квадрата: инни+ +++++ Непронумерованные белые квадраты: инни+ нинн+ +++++ находятся -1: нинин НОНОО НОННО Квадраты с -1 нонн+ ниии+ +++++ в зависимости от того, справа или снизу ниии+ иннин нинин ниии+ нинин ниии+ +++++ нинин инин+ соответствующая схема кроссворда должна выглядеть, как показано на рис. 18.

Квадратик нумеруется, если он белый и либо (а) под ним расположен белый квадратик и прямо нэд ним нет белого квадратика, либо (Ь) справа находится белый квадрат и непосредственно слева нет белого квадрата. Если черный квадратик оказался у края, то его нужно удалить из схемы. Это проиллюстрировано на рис.

18, где черные квадратики по углам были удалены. Существует простой способ достижения этой цели — "искусственно" вставить строки и столбцы, содержащие -1 сверху, снизу и по боковым сторонам заданной входной матрицы, а затем поменять каждую +1, которая соседствует с -1, на -1, пока рядом с любой — 1 не останется ни одной +1. Для печати окончательной схемы на АЦПУ следует использовать следующий метод. Каждый квадратик кроссворда должен отображаться на печатной странице с помощью 5 столбцов и 3 строк, причем эти 15 позиций заполняются следующим образом. Рис. 19. Распечатка на АЦПУ кроссворда, показанного на рис.

18. 1.3.3. Применение к перестановкам В данном разделе мы приведем еще несколько примеров программ для М1Х и наряду г этим познакомимся с некоторыми важными свойствами перестановок. Эти исследования позволят также выявить интересные аспекты компьютерного программирования в целом. Перестановки уже обсуждались в разделе 1.2.3; в нем перестановка сдуЬеп рассматривалась как некоторое распололесение шести объектов а, Ь, с, д, е, у в ряд. Но возможна и другая точка зрения.

Перестановку люжно рассматривать как передпорядочение или переименование объектов. При такой интерпретации» обычно используют двухстрочную запись, например аЬсдет Это означает, что ва переходит в с, Ь переходит в д, с переходит в у, е( переходит в Ь, е переходит в е, у переходит в а". С точки зрения переупорядочения зто означает, что объект с переходит на место, которое ранее занимал объект а. А если рассматривать это как переименование, то можно считать, что объект а переименован в с. При использовании двухстрочной записи изменение порядка столбцов в перестановке никакой роли не играет.

Например, перестановку (1) можно записать в виде 7' Ь а П с е а также еще 718 способами. В связи с описанной интерпретацией часто используют циклическую запись. Перестановку (1) можно записать и в виде (2) (а с у) (Ь д), ' В русскоязычной математической литературе в этом случае часто используют термин "пол- стаповкГ. — Прим.

перев. Схема, изображенная на рис. 18, будет напечатана, как показано на рис.' 19. Ширины строки принтера — 120 символов— достаточно для того, чтобы печатать кроссворды, содержащие до 23 столбцов. В качестве входных данных должна быть предоставлена матрица размера 23 х 23, состоящая из нулей и единиц, все строки которой перфорируются в столбцах 1-23 входной перфокарты.

Например, карта, соответствующая первой строке приведенной выше матрицы, будет перфорирована следующим образом: "10000111111111111111111". Схема кроссворда необязательно будет симметричной, и у нее могут оказаться длинные ленты черных квадратиков, присоединенные к наружным сторонам кроссворда самым экзотическим образом. +н+н+н+н+н++нн +01 + Юз воз + + + э + ' вн +вава в+++++н+нвнн+++нн +ОФ + нинов + +06 + + +нв в+ в + +в+вв++н+внвв++в+ннвв++++вв +07 + +08 + ++вн+ + в вн+++ + ++нннн+++++ н+++++++++нн+ ++++++00 в +10 + н++ в+ ++вв++в+в+++внвннчв+н+ввв++ +11 +]2 + ннн13 в+++ н +в++н+нч+++++'н+н+н+н+++н +14 + + в + + + + в+++н+н+н+эн++и+ что, опять же.

означает "а переходит в с, с переходит в (, 1 переходит в а, Ь переходит в д, Н переходит в Ь". Цикл (я~ яз,., я„) означает "х, переходит в ят, ..., х„, переходит;р х„, х„переходит в х~". Так как элемент е является в перестановке фиксированным (т. е, переходит не в какой-либо другой элемент, а в самого себя), он не появляется в циклической записи.

Таким образом. единичные циклы типа "(е)" записывать не принято, Если в перестановке фиксированными являются все элементы. так что присутствуют только единичные циклы, то она называется тпозсдссглвеиной перестпановкой и обозначается "()". Запись перестановки в виде цикла не является единственной. Например, (Ьс() (а сг). (с.г а) (Ь И), (п Ь) (1 а с) и т. д. эквивалентны (2). Но запись "(а г" с) (ЬИ)" уже не будет им эквивалентна, так как она означает,что а переходит в 1. Легко видеть, почему перестановку всегда можно представить в виде цикла.

Начиная с элемента х,, перестановка переводит, скажем, х~ в хз, хт в хз и т. д., пока наконец (поскольку количество элементов ограничено) мы не придем к некоему элементу х„.ы, который уже встречался среди хы ... х„. Этот элемент х„.ы должен быть равен хъ Предположим, он равен хз. Но это невозможно, так как известно, что хт переходит в хз, а по предположению в х„е, переходит х„ф. х . Поэтому х„.ь~ = х~ и получаем цикл (я~хз., х„), являющийся частью перестановки для некоторого и > 1.

Если этим циклом вся перестановка не исчерпывается. то существует элемент у,, такой, что д, ф х, для всех г, для которого аналогичным образом получим еще один цикл (у, рз... у ). Ни один у, не может равняться любому х„так как нз я, = у следует, что х,~, = у +~ и т. д. В конце концов для некоторого Й получим яь = 1п, что противоречит предположению о выборе уъ Действуя подобным образом, можно найти все циклы, содержащиеся в перестановке. В программировании эти понятия применяются каждый рэз, когда некоторый набор из и объектов нужно расположить в другом порядке. Чтобы переупорядочить объекты, не перемещая их в какое-либо другое место, необходимо, в сущности, придерживаться циклической структуры.

Например, чтобы переупорядочнть (1), т. е. присвоить (а.Ь,с,д.е,у)< — (с,Ы, (,Ь,с,а), будем следовать циклической структуре (2) и последовательно присваивать 1+-а, а+-с, с< — (. (<-й 1+-Ь, Ь+-д, Н<-б Но нужно отдавать себе отчет в том, что любое подобное преобразование можно осуществлять в непересекающихся циклах. Произведения перестановок. Две перестановки можно перемножить в том смысле, что их произведение означает применение одной перестановки вслед за другой. Например, если за перестановкой (1) следует перестановка а Ь еде 1 то получим, что а переходит в с, которое затем переходит в с; Ь переходит в д, которое затем переходит в а и т. дс аЬсае г аЬсдег аЬсдеу сауЬеа саед г Ь (4) Вполне очевидно, что произведение перестановок не обладает свойством коммутативности; другими словами, я1 х кт необязательно равно лт х хм где л| и яз †перестанов.

Читатель может убедиться в том, что, если поменять местами сомножители, произведение в (4) даст другой результат (см. упр. 3). Кое-кто перемножает перестановки справа налево, вместо того чтобы делать зто более естественным образом слева направо, как показано в (4). Фактически математики разделились на два лагеря: одни считают, что результат последовательного применения преобразований Те и Тз следует обозначать через Т1 Тт, а другие— через ТтТм Здесь мы будем использовать обозначение Т1 Тз. Пользуясь циклической записью, запишем равенство (4) следующим образом: (ас1) (Ьд) (аЬд) (е1) = (асе~Ь). (5) Обратите внимание на то, что знак умножения "х" принято опускать; это не противоречит циклической записи, так как легко видеть, что перестановка (асУ)(Ьа) на самом деле является произведением перестановок (ас г) и (Ьд).

Произведение перестановок можно выполнять непосредственно с помощью циклической записи. Например, вычислив произведение перестановок (6) (а с ~ д) (Ь с д) (а е а) (Я а с( е) (Ь д ( а е), Алгоритм А (Перемножение перестановок, предсгпавленнмх в виде циклов). Этот алгоритм (рис. 20) берет произведение циклов, такое как (6), и вычисляет получающуюся в результате перестановку в виде произведения непересекающихся циклов.

Для простоты здесь не приводится описание процедуры удаления единичных циклов; зто было бы лишь незначительным обобщением алгоритма. По мере выпол- находим (двигаясь слева направо), что "а переходит в с, с переходит в И, «( переходит в а, а переходит в И и д остается без изменений". Таким образом, конечным результатом (6) является то, что а переходит в д, и мы запишем "(а И" в качестве частичного ответа.

Теперь выясним, что происходит с д: "д переходит в Ь, которое затем переходит в д"; следовательно, имеем частичный результат "(адд". Рассмотрев, что происходит с д, находим, что "д переходит в а, затем в е, в ( и в а"; таким образом, первый цикл замыкается: "(а дд)". Теперь выберем новый злемент, который еще не встречался, например с. Находим, что с переходит в е, и читатель может проверить, что окончательным ответом для (6) будет "(а дд)(се 5)".

А теперь попробуем выполнить эту процедуру с помощью компьютера. Следующий алгоритм формализует описанный выше метод таким образом, чтобы его можно было выполнить с помощью компьютера. Рис. 20. Алгоритм А (перемножение перестановок). пения алгоритма последовательно "помечаем" элементы исходной формулы, т. е. те символы, которые уже "обработаны". А1. [Первый проход.] Отметить все левые скобки и заменить все правые скобки помеченной копией входного символа, который следует за соответствующей левой скобкой (см. пример в табл. 1), А2.

[Раскрытие скобок.] Выполнив поиск слева направо, найти первый непомеченный элемент входной формулы. (Если все элементы помечены, то работа алгоритма заканчивается.) Установить ЯТАНТ равным этому элементу; вывести левую скобку; вывести элемент и пометить его. АЗ. [Установка С11ННЕМТ.] Установить СоННЕИТ равным следующему элементу формулы.

Характеристики

Тип файла
DJVU-файл
Размер
7,53 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее