Что такое блок цикл
«Трилогия вочеловечения» Александра Блока
Мотивы «Трилогии вочеловечения» Александра Блока
«Трилогия вочеловечения» — трехтомник поэта Серебряного века Александра Блока, состоящий из цикла стихов.
События в России начала 1900-х годов, общественные настроения и изменения в личной жизни повлияли на творчество поэта Блока и предопределили его дальнейший поэтический путь. Александр влюбился в Любовь Менделееву, дочь известного ученого-химика Дмитрия Ивановича Менделеева. Влияние идей В. Соловьева, философа, публициста и литературного критика, также отчетливо прослеживается в поэзии Блока.
Сам Александр выделял такую особенность в своем творчестве: вся его лирика, наполненная художественным разнообразием, многоплановой проблематикой представляет собой единое произведение.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Почему Блок выбрал слово «вочеловечение», давая название своей трилогии? Оно означает перевоплощение Бога в человеческую ипостась — в Сына Человеческого. Христос в лирике Блока — творец, который преобразует мир, делает его красивее, благороднее и чище. Лирический герой поэта проходит длительный путь, что и легло в сюжет трилогии. С ним происходят разные ситуации, где он сталкивается с обществом, с природой, с многообразными явлениями окружающего мира. Этот путь тернист: героя терзают страдания, страхи и иллюзии. Он совершает череду ошибок, однако с каждым этапом герой становится мудрее и опытнее. Примечательность внешней композиции трилогии в том, что ее пространство постепенно расширяется, а под конец охватывается вся страна.
Трилогия поделена на тома и циклы, внутри которых — многообразие образов, мотивов и поворотов. Сюжет в трилогии как таковой отсутствует, однако мотив выступает связующим звеном и превращает цикл в одну композицию. Он видоизменяется в зависимости от ситуаций, однако его суть остается прежней.
Характеристика трилогии
Рассмотрим содержание каждого отдельного тома из «Трилогии вочеловечения».
Первый том «Я иду» — 1902-1904 гг.
Свое первое собрание сочинений Блок решает издать в трех книгах, состоящих из 18 циклов.
Первый том посвящен любви и романтике пейзажа. Ключевыми темами стали чувства к женщине и любование природой. Сборник состоит из циклов:
Эти стихи написаны совсем еще юным Блоком. Прослеживается дуальность восприятия жизни: поэт то пишет, что «стар душой», то говорит о «стремлении к воле». Однако ключевым персонажем произведений становится «прекрасная дама» и ее околомистический образ. Это связано с сильным чувством к Любови Менделеевой, которая становится его женой.
Любовь к женщине приобретает глубокий смысл, отчасти роковой и фатальный. Но не только романтические чувства становятся главной темой лирического героя. Он вплетает в творчество и политический аспект наравне с социальным.
Так, его раннее произведение «Фабрика» говорит о трудах народа с «измученными спинами». Он предвидит наступление перемен, коренного перелома в жизни России. Поэт переживает за судьбу страны и народа, хотя пока что его творчество посвящено мистицизму. Цикл завершается «Распутьем», которое знаменует изменения в творчестве поэта.
Цель лирического героя Блока в первом томе — приблизиться к идеалу.
Второй том «Падение в жизнь» — 1904-1908 гг.
Во второй том вошли циклы:
В своем творчестве Блок акцентирует внимание на событиях, которые происходили в то время в стране, поэтому мистицизм перестает фигурировать в прежней степени в лирике поэта. В этот период в России начинается революция, и Блок выступил наблюдателем за происходящими событиями. Он оценивает ситуацию, оставаясь в стороне, рассуждая на тему судьбы народа и интеллигенции.
Родина в творчестве поэта отождествляется с женским образом. Она таинственна и непостижима. Россия того периода неоднозначно воспринимается Блоком.
Это был тяжелый этап в жизни поэта. Блок потом признавал, что данный цикл — одно из самых его больших достижений.
Цель героя второй части трилогии — осознать и исследовать величие страны.
Третий том «Симфония жизни» — 1909-1916 гг.
Завершающая часть трилогии, которая подытоживалась циклом «Страшный мир». Это произведение об окружающей действительности и о разоблачении буржуазии. Идея несовершенного мира давно прослеживалась в лирике Блока, здесь она становится центральной. Также свое развитие получила еще одна тема — тема двойника.
Отсюда самое известное творение Блока, известное даже массовому читателю, — «Ночь, улица, фонарь, аптека» из цикла «Пляски смерти». Ограниченность пространства и времени становятся лейтмотивом третьего тома. Но поэт не теряет надежду и стремится к свету и верит в победу добра. В строках встречается слово «вочеловечить», что знаменует победу духовного начала. Именно к духовности и шел поэт на протяжении всего цикла.
Каждая часть трилогии — это путь Блока как творца и художника мысли. Здесь же он заключает «О, я хочу безумно жить…». В цикл третьего тома входят темы музыки и природы, как и раньше.
Подытоживая, можно заключить, что вся поэзия трилогии «Вочеловечения» представляет собой трудный путь Блока, его личностное преобразование. Он начинает с мистического, переходя к философским размышлениям о жизни и стране. Так произошло становление Блока как великого классика поэзии Серебряного века.
Цель лирического героя остается неизменной со времен второго тома — исследование величия страны и ее дальнейшей судьбы.
Художественный мир поэта
Что представляет собой поэзия Александра Блока? Его можно назвать уникальным поэтом, ведь все его творчество представляет собой единый пласт.
Его лирике присуще повторение определенных слов. В раннем творчестве Блока часто встречаются «туманы» и «сны». Лирика наполнена символами, образами, различными ситуациями, в которых оказывается герой Блока. Они не только «упакованы» в словесные конфигурации, но и несут особый окрас, придающий специфическую атмосферу произведению.
При этом цикл произведений поэта, как он сам того желал, нужно воспринимать как единый роман в стихах. Поэтому Блок соединил их в трилогию под названием «Трилогия вочеловечения».
Во главе угла лирики поэта стоит личность человека — современника Блока. Поэту интересны взаимоотношения человека с обществом, природой и космосом. Эта проблема рассматривалась другими авторами, однако она отражалась в форме романа, а не поэзии. Лирический сюжет в творчестве Блока перекликается со сферой чувственного и мыслительного, с мотивацией героев.
Личность героя и самого поэта тесно связаны между собой. Можно заключить, что лирический герой «Трилогии вочеловечения» и есть сам Блок.
Выделяют следующие черты лирики поэта:
У Блока каждый герой разный: это обычный посетитель кафе, Гамлет, воин армии Дмитрия Донского. Однако у них единое мировоззрение, одинаковый образ мыслей и аналогичные впечатления от мира.
Юрий Тынянов, прозаик и литературовед, провел анализ трилогии и ввел термин «лирический герой. Он считал, что Блок писал о самом себе в разных ипостасях, которые представляли собой его герои. То есть все эти лица, герои «Трилогии вочеловечения», и есть сам поэт.
Тема города и «страшного мира»
События начала XX века, произошедшие в стране, нашли прямое отражение в творчестве Блока. Теперь перед нами человек, который резко повзрослел и перестал смотреть на мир через призму романтики, мистицизма и туманных женских образов. Произошла серьезная эволюция в творчестве поэта.
Город, окружающий «страшный мир» становятся ключевой темой нового периода в поэзии Блока. Мистицизм почти исчезает, как и идея о гармонии мира. Блок погружается в размышления о жизни, наполненной страданиями, болью и печалью, внутренними страстями и борьбе человека с ними.
Произведения из цикла «Пузырь земли» отражают низменную природу с присущей ей стихийностью. Это выступает прологом к этой части.
Другие циклы, «Разные стихотворения» и «Город», погружают читателя в мир тревог и сомнений. Сам Блок становится непосредственным участником этих событий. Происходящие в стране события трактуются поэтами Серебряного века как разрушительная сила, как борьба народа с господами, с собственными бесправием, с засилием пошлости и вранья.
Во второй книге лирический герой исследует собственное отношение к окружающему миру, он в поисках некой Незнакомки, ищет ее в городе, который заселили «слепые» люди. Все, что было свято ранее, теперь стало объектом насмешек. Блок заключает, что мир погружается в пучину зла, а события вокруг характеризует как позор. Город умер, души в нем больше не осталось.
Цикл его стихотворений, написанных в этот период, позднее назовут «чердачный цикл»:
Герой — это человек из низкого городского сословия, бедный и униженный.
Стих «Фаина» из второго цикла, как и «Снежная маска» стали посвящением Волоховой Н.Н., актрисе. У Блока снова проснулись чувства к этой женщине. Теперь стихия природы сменяется на стихию необузданных чувств и страстей. Цикл «Вольные мысли» завершили второй том.
Третий том пронизывает тема добра и зла, борьбы темного и светлого начал личности героя. Блок видит свет в конце тоннеля и стремится к нему, несмотря на то, что он сам полон сомнений и страхов. Третий том трилогии подытоживает жизненный этап поэта, который ему пришлось пройти. «Страшный мир» — главная тема, которая сквозит через все сюжетные линии произведений данного цикла.
1909 год — вышел в свет цикл «Итальянские стихи». Здесь представлено непривычное творчество для Блока, на первый взгляд. Он трактует «чистое искусство» как ложь.
Блок писал, что тема Родины — самая главная в его поэзии. Так, конец третьего тома завершает циклом «О чем поет ветер». Он посвящен размышлениям и грусти, что во многом напоминает «Страшный мир». Мы видим кольцевое построение композиции, пришли к тому, с чего и начали. Характерные спирали — отличительная черта творческого поэта Александра Блока.
Блок-схема циклического алгоритма
Часто при решении задач приходится повторять выполнение операций по одним и тем же зависимостям при различных значениях входящих в них переменных и производить многократный проход по одним и тем же участкам алгоритма. Такие участки называются циклами. Алгоритмы, содержащие циклы, называется циклическими. Использование циклов существенно сокращает объем алгоритма.
Различают циклы с наперед известным и наперед неизвестным количеством проходов.
Пример 1. Рассмотрим пример алгоритма с циклом, имеющим наперед неизвестное количество проходов. Для этого решим следующую задачу. Указать наименьшее количество членов ряда натуральных чисел 1, 2, 3, …, сумма которых больше числа К.
Блок-схема алгоритма решения этой задачи приведена на рисунке 1. Она состоит из восьми блоков.
После начала работы в блоке 2 вводится значение числа К. Далее в блоке 3 переменная i получает значение 1, т. е. значение, с которого начнется отсчет натуральных чисел. Переменная S, предназначенная для накопления сумма этих чисел, перед началом суммирования получает значение 0. После этого управление передается блоку 5.
В нем при выполнении команды S = S + i производится сложение содержимого ячеек S и i, а результат записывается в ячейку S. Поскольку до операции сложения было S = 0, i = 1, то после операции будет S = 1. При записи нового значения старое содержимое ячейки S (нуль) стирается, а на его место записывается число 1.
Нужно обратить внимание на то, что если бы до этой операции в блоке 3 не была выполнена команда S = 0 (записать нуль в ячейку S ), то при нахождении суммы S + 1 возникла бы ошибка, поскольку из ячейки S была бы извлечена константа, которая оказалась там после распределения памяти.
После суммирования первого члена последовательности в блоке 6 выполняется проверка условия о превышении суммы S заданного числа К.
Если условие 6 не выполнится, то производится переход к блоку 4, где при выполнении операции значение переменной увеличивается на 1 и становится равным 2. Теперь алгоритм вновь вернется к блоку 5 и к старому значении суммы добавит новый член 2. После этого сумма станет равной 3. В блоке б вновь проверяется условие получения требуемой суммы и т. д. Цепочка блоков 5-4 будет обрабатываться вновь и вновь до того момента, когда однажды при определенном значении переменной i, наконец, выполнится условие S > К, т. е. когда накапливаемая в таком цикле сумма впервые превысит заданное значение К. Переменная i, значение которой при очередном проходе цепочки этих блоков увеличивается на 1, играет роль счетчика этого цикла.
Далее производится переход к блоку 7, где отпечатается значение количества членов ряда (извлечено и отпечатано число из ячейки i, которое там хранится в момент выполнения условия), суммы S и в блоке 8 алгоритм закончит работу.
Пример 2. Теперь приведем пример алгоритма, содержащего цикл с наперед известным количеством проходов (повторений). Алгоритм решает задачу накопления суммы положительных элементов одномерного массива Z длины N ( под длиной массива понимается количество его элементов ). Блок-схема алгоритма дана на рисунке 2.
Вначале в блоке 2 производится ввод двух переменных N и Z. Первая из них представляет одну ячейку. В нее записывается одна константа – число, равное количеству элементов массива Z. Именно такое количество ячеек объединяет другая переменная – Z.
Следует подчеркнуть, что если бы ввод этих переменных в блоке 2 производился в противоположном порядке, то это привело бы к ошибке. Действительно, невозможно заполнить N ячеек массива Z, когда самое N еще не известно (оно будет введено позже Z). Далее в блоке 3 переменной S присвоено начальное значение 0. Это сделано для того, чтобы приготовить ячейку к дальнейшему накоплению необходимой суммы.
Блоки 4-6 представляет собой сам цикл, в котором накапливается сумма.
Для того чтобы понять, как функционирует не только этот, а и любой другой цикл, обратимся к рисункам 3 и 4. На них показана общая структура цикла и его важнейшие параметры.
Как видно из рисунка 3, цикл состоит из заголовка и тела. Всякий цикл обязательно имеет свой счетчик.
На рисунке 4, где показана структура и параметры заголовка цикла, роль такого счетчика выполняет переменная i.
Внутри заголовка после счетчика и символа «=» через запятую указывает начальное и конечное значения счетчика и шаг его изменения (на рисунке 4 их роль выполняют переменные j, k, l соответственно). Если значение шага l = l, то его можно не указывать.
Сначала производится вход в цикл. После этого начинается его выполнение.
Внутри заголовка счетчику первоначально присваивается значение i = j. Затем выполняется блоки, образующие тело цикла. Обработка блоков внутри цикла производится по часовой стрелке. В результате после первого выполнения тела цикла управление вновь передается заголовку. Здесь к текущему значению счетчика добавится шаг. Теперь, если новое значение счетчика не вышло за свои пределы (т. е. не стало больше своего конечного значения при положительном шаге или меньше конечного значения – при отрицательном шаге), то снова выполняется тело цикла, вновь после возврата к заголовку к счетчику добавляется шаг. Так цикл будет выполняться до тех пор, пока значение счетчика однажды не выйдет за предписанный предел. Как только такой предел будет преодолен, произойдет выход из цикла и управление будет передано блоку, который следует сразу за циклом.
Вернемся к блок-схеме рис. 2. Заголовок ее цикла представлен блоком 4. Роль счетчика цикла играет переменная i, которая должна в цикле изменяться от 1 до N. Поскольку шаг явно не указан, то по умолчанию он подразумевается равным 1. Тело цикла образуют блоки 5 и 6.
Сразу после входа в цикл переменная i примет начальное значение i = 1. Далее в блоке 5 выполняется проверка положительности первого элемента массива Z (т. к. i = 1). Если этот элемент действительно положителен, то в блоке б он будет добавлен к переменной S, после чего выполняется возврат к заголовку цикла. Если этот элемент не положителен (т. е. нуль или отрицательный), то будет выполнен переход сразу к заголовку цикла, минуя блок суммирования 6.
На втором круге цикла счетчик i в заголовке увеличится на 1 и станет равным 2. Теперь, при новом выполнении тела цикла, в блоке 5 проверяется на положительность второй элемент массива Z и, если он положителен, то добавляется в сумму и т. д. Последний раз тело цикла выполнится при i = N. При этом значении счетчика проверяется последний элемент массива. Наконец, в заголовке цикла i примет значение N+1. Это значение выходит за предписанный предел, следовательно, произойдет выход из цикла и управление перейдет блоку 7. В этом блоке выводится накопленная сумма и алгоритм закончит работу.
Блок-схемы алгоритмов. ГОСТ. Примеры
Схема — это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые части. Схемы широко применяются с древних времен до настоящего времени — чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем-алгоритмов и закреплены ГОСТ и международными стандартами.
На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.
Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.
Содержание:
Элементы блок-схем алгоритмов
Блок-схема представляет собой совокупность символов, соответствующих этапам работы алгоритма и соединяющих их линий. Пунктирная линия используется для соединения символа с комментарием. Сплошная линия отражает зависимости по управлению между символами и может снабжаться стрелкой. Стрелку можно не указывать при направлении дуги слева направо и сверху вниз. Согласно п. 4.2.4, линии должны подходить к символу слева, либо сверху, а исходить снизу, либо справа.
Есть и другие типы линий, используемые, например, для изображения блок-схем параллельных алгоритмов, но в текущей статье они, как и ряд специфических символов, не рассматриваются. Рассмотрены лишь основные символы, которых всегда достаточно студентам.
Терминатор начала и конца работы функции
Операции ввода и вывода данных
Выполнение операций над данными
Блок, иллюстрирующий ветвление алгоритма
Вызов внешней процедуры
Начало и конец цикла
Подготовка данных
Соединитель
Комментарий
Примеры блок-схем
В качестве примеров, построены блок-схемы очень простых алгоритмов сортировки, при этом акцент сделан на различные реализации циклов, т.к. у студенты делают наибольшее число ошибок именно в этой части.
Сортировка вставками
Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.
На каждом шаге алгоритма выбирается первый элемент необработанной части массива и вставляется в отсортированную так, чтобы в ней сохранялся требуемый порядок следования элементов. Вставка может выполняться как в конец массива, так и в середину. При вставке в середину необходимо сдвинуть все элементы, расположенные «правее» позиции вставки на один элемент вправо. В алгоритме используется два цикла — в первом выбираются элементы необработанной части, а во втором осуществляется вставка.
Блок-схема алгоритма сортировки вставками
В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i Блок-схема алгоритма сортировки пузырьком
На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.
Сортировка выбором
В сортировке выбором массив разделяется на отсортированную и необработанную части. Изначально отсортированная часть пустая, но постепенно она увеличивается. Алгоритм производит поиск минимального элемента необработанной части и меняет его местами с первым элементом той же части, после чего считается, что первый элемент обработан (отсортированная часть увеличивается).
Блок-схема сортировки выбором
На блоге можно найти другие примеры блок-схем:
Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.
Нужны ли блок-схемы? Альтернативы
Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.
Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.
Разработка блок-схем выполняется на этапах проектирования и документирования, согласно каскадной модели разработки ПО, которая сейчас почти не применяется, т.к. сопровождается большими рисками, связанными с ошибками на этапах проектирования.
Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.
Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.
В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].
В общем, единого мнения нет. Очевидно, есть области, в которых без чего-то типа блок-схем обойтись нельзя, но более гибкой альтернативы нет. Для формальной верификации необходимо рисовать подробные блок-схемы, но для проектирования и документирования такие схемы не нужны — я считаю разумным утверждение экстремальных программистов о том, что нужно рисовать лишь те схемы, которые помогают в работе и не требуют больших усилий для поддержания в актуальном состоянии [10].