Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Алгоритмизация и программирование

Содержание

План лекцииЭтапы разработки программПонятие и свойства алгоритмаФормы представления алгоритмаТрансляторыТипы данныхАлгоритмические структурыПроцедуры и функцииСтруктурное программированиеОбъектно-ориентированное программирование
Алгоритмизация и программирование План лекцииЭтапы разработки программПонятие и свойства алгоритмаФормы представления алгоритмаТрансляторыТипы данныхАлгоритмические структурыПроцедуры и функцииСтруктурное программированиеОбъектно-ориентированное программирование этапы разработки программ1. Постановка задачи 2. Анализ задачи и моделирование4. Разработка алгоритма пример Понятие алгоритмаАлгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых Свойства алгоритмов:Дискретность (прерывность, раздельность) — Выполнение алгоритма разбивается на последовательность элементарных действий Формы представления алгоритма: на естественном языке (словесная запись алгоритма);словесно-математическая;в виде блок-схем (графическая Понятие блок-схемыБлок-схема - графическое представление алгоритма, когда отдельные действия изображаются в виде Условные обозначения: Языки программированияКомпьютерная программа — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной Языки программированияЕсли язык программирования ориентирован на конкретный тип процессора, то он называется ТрансляторыПроцесс равносильного преобразования алгоритма, заданного на языке программирования, в алгоритм на машинном ТрансляторыРазличают компиляторы и интерпретаторыКомпилятор преобразует исходную программу на любом языке высокого уровня тест данные Данные ̶ общее название всего того, чем оперирует компьютер. Любые цепочки данныеКонстантами называются данные, которые нельзя переопределить, т. е. изменить в процессе исполнения Команда присваивания Команда		X:=Yназывается командой присваивания. ЗдесьX — имя (простой) переменной, элемента массива Линейные алгоритмы Алгоритмической структурой называется стандартный способ соединения отдельных шагов алгоритма для ПримерСоставить алгоритм, в результате выполнения которого переменные X и Y обменяются своими значениями. тест Разветвляющиеся алгоритмы  Разветвляющимися называются алгоритмы, в которых в зависимости от значения какого-то «Обход»«Разветвление» тест Пример тест Множественный выбор тест ЦИКЛИЧЕСКИЕ АЛГОРИТМЫЦикл — разновидность управляющей конструкции, предназначенная для организации многократного исполнения набора инструкций.Различают ЦИКЛЫ СО СЧЕТЧИКОМВ циклах со счетчиком число повторений цикла является фиксированным числом. Циклы с предусловиемЦиклы с предусловием – это такие циклы, в которых до тест тест Циклы с постусловиемЦиклы с постусловием – это такие циклы, в которых условие процедуры и функцииПодпрограммы – это программные модули, выполняющие законченное логическое действие, а процедуры и функцииДанные для обработки подпрограммы-функции и подпрограммы-процедуры получают из вызвавшей их область действия данныхРесурсы основной программы, которые доступны в любой подпрограмме, вызываемой из передача данных через параметрыДля обеспечения контролируемой передачи параметров в подпрограмму и возврата передача данных через параметрыЧтобы отличать параметры подпрограммы, описанные в её заголовке и Рекурсивные алгоритмыРекурсивный алгоритм – алгоритм, использующий в качестве вспомогательного самого себя.Подпрограмма, обращающаяся тестЗадана программа, реализующая рекурсивный алгоритм. В программе вычисляется (-ются) …ВВЕСТИ nrec=reks(n)ВЫВЕСТИ recENDФУНКЦИЯ reks(n)ЕСЛИ n Структурное программированиеСтруктурный подход предполагает использование нескольких основных структур (следование, разветвление, цикл), комбинация Метод нисходящего проектированияМетод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных Модульное программированиеПри модульном подходе сначала определяются состав и подчиненность функций, а затем Структурное программированиеСтруктурное программирование основано на модульной структуре программного продукта и типовых управляющих Объектно-ориентированное программированиеБольшим шагом вперёд в развитии технологий программирования было появление объектно-ориентированного программирования.В Понятие объектаОбъект — совокупность свойств, методов, событий. В объектно-ориентированном программировании понятию объекта соответствует схема: Свойства, методы, событияСвойствами описываются характеристики объектов (размер, цвет, видимость и т.д.).Методы – Объектно-ориентированное программированиеОбъектно-ориентированный подход к программированию: программа представляет собой описание объектов, их свойств, Объектно-ориентированное программированиеОбъектно-ориентированное программирование снабжает программные объекты встроенными характеристиками:Инкапсуляция – это понятие означает, Объектно-ориентированное программированиеНаследование – механизм порождения новых классов, когда порождаемый класс наследует данные Объектно-ориентированное программированиеПолиморфизм – множественность форм, которые может принимать правило с одним и Интегрированная среда разработкиИнтегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development environment или integrated
Слайды презентации

Слайд 2 План лекции
Этапы разработки программ
Понятие и свойства алгоритма
Формы представления

План лекцииЭтапы разработки программПонятие и свойства алгоритмаФормы представления алгоритмаТрансляторыТипы данныхАлгоритмические структурыПроцедуры и функцииСтруктурное программированиеОбъектно-ориентированное программирование

алгоритма
Трансляторы
Типы данных
Алгоритмические структуры
Процедуры и функции
Структурное программирование
Объектно-ориентированное программирование


Слайд 3 этапы разработки программ
1. Постановка задачи
2. Анализ задачи

этапы разработки программ1. Постановка задачи 2. Анализ задачи и моделирование4. Разработка

и моделирование
4. Разработка алгоритма
5. Проектирования общей структуры программы


6. Кодирование или составление программы
7. Отладка и тестирование программ
8. Анализ полученных результатов
9. Передача программы в эксплуатацию
10. Сопровождение программы


Слайд 4 пример

пример

Слайд 5 Понятие алгоритма
Алгоритм – это точное предписание, определяющее вычислительный

Понятие алгоритмаАлгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от

процесс, ведущий от варьируемых начальных данных к искомому результату.

Алгори́тм

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

Слайд 6 Свойства алгоритмов:
Дискретность (прерывность, раздельность) — Выполнение алгоритма разбивается

Свойства алгоритмов:Дискретность (прерывность, раздельность) — Выполнение алгоритма разбивается на последовательность элементарных

на последовательность элементарных действий – шагов. Каждое действие должно

быть закончено исполнителем прежде, чем он перейдет к выполнению следующего действия.
Детерминированность – это определенность (т.е. общепонятность и точность). Запись алгоритма должна быть такой, чтобы, выполнив очередную команду, исполнитель точно знал, какую команду надо выполнять следующей.
Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
Корректность – алгоритм должен задавать правильное решение задачи.
Массовость – с помощью одного и того же алгоритма можно решать однотипные задачи и делать это неоднократно. Свойство массовости значительно увеличивает практическую ценность алгоритмов.




Слайд 7 Формы представления алгоритма:
на естественном языке (словесная запись алгоритма);
словесно-математическая;
в

Формы представления алгоритма: на естественном языке (словесная запись алгоритма);словесно-математическая;в виде блок-схем

виде блок-схем (графическая форма);
на языке псевдокодов (псевдокод – система

обозначений и правил, предназначенная для единообразной записи алгоритмов), возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций. ;
на языке программирования.


Слайд 8 Понятие блок-схемы
Блок-схема - графическое представление алгоритма, когда отдельные

Понятие блок-схемыБлок-схема - графическое представление алгоритма, когда отдельные действия изображаются в

действия изображаются в виде геометрических фигур – блоков.
Внутри блоков

указывается информация о действиях, подлежащих выполнению.
Связь между блоками изображают с помощью линий связи (линий потока), обозначающих передачу управления.


Слайд 9 Условные обозначения:

Условные обозначения:

Слайд 10 Языки программирования
Компьютерная программа — последовательность инструкций, предназначенная для

Языки программированияКомпьютерная программа — последовательность инструкций, предназначенная для исполнения устройством управления

исполнения устройством управления вычислительной машины.
Программой называют алгоритм решения задачи,

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

Слайд 11 Языки программирования
Если язык программирования ориентирован на конкретный тип

Языки программированияЕсли язык программирования ориентирован на конкретный тип процессора, то он

процессора, то он называется языком программирования низкого уровня (например,

язык ассемблер).
Машинно-независимые языки не зависят от типа компьютера, на котором они используются. Машинно-независимые языки в отличие от машинно-зависимых называются языками высокого уровня.
Алгоритмический язык – это определенный набор символов и специальных слов, которые в соответствии со строгими правилами записи команд (синтаксиса языка) описывают алгоритм решения задачи (например, Algol, Cobol, Fortran, Basic, Pascal, Си).


Слайд 12 Трансляторы
Процесс равносильного преобразования алгоритма, заданного на языке программирования,

ТрансляторыПроцесс равносильного преобразования алгоритма, заданного на языке программирования, в алгоритм на

в алгоритм на машинном языке называется трансляцией
Трансляторы –

это специальные программы, которые переводят программы, написанные на языке высокого уровня, на язык машинных кодов.
Транслятор выполняет следующие основные функции:
производит синтаксический анализ исходного текста программы;
производит непосредственную трансляцию исходной программы на язык машинных кодов;
распределяет память для полученной программы.


Слайд 13 Трансляторы
Различают компиляторы и интерпретаторы
Компилятор преобразует исходную программу на

ТрансляторыРазличают компиляторы и интерпретаторыКомпилятор преобразует исходную программу на любом языке высокого

любом языке высокого уровня в некоторую стандартную форму на

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

Слайд 14 тест

тест

Слайд 15 данные
Данные ̶ общее название всего того, чем оперирует

данные Данные ̶ общее название всего того, чем оперирует компьютер. Любые

компьютер. Любые цепочки символов, над которыми можно выполнять операции,

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

Слайд 16 данные
Константами называются данные, которые нельзя переопределить, т. е.

данныеКонстантами называются данные, которые нельзя переопределить, т. е. изменить в процессе

изменить в процессе исполнения алгоритма. Они имеют фиксированные тип

и значение.
 Данные, значения которых порождаются в процессе исполнения алгоритма, называются переменными.
Над данными можно выполнять ту или иную последовательность операций, описываемую выражением.
Данные, входящие в выражение, называются операндами.
Различают следующие типы выражений: арифметические, логические (в частности, сравнения, или отношения), символьные и т. д.
Результатом вычисления выражения является значение. Его тип зависит от типа операндов и от вида операций, выполняемых над операндами.




Слайд 17 Команда присваивания
Команда
X:=Y
называется командой присваивания.
Здесь
X — имя (простой)

Команда присваивания Команда		X:=Yназывается командой присваивания. ЗдесьX — имя (простой) переменной, элемента

переменной, элемента массива (переменной с индексами)
Y — выражение.
Примеры:
n:=0
s:=s+1
y:=a^2+5
z:=x mod

2



Слайд 18 Линейные алгоритмы
Алгоритмической структурой называется стандартный способ соединения отдельных

Линейные алгоритмы Алгоритмической структурой называется стандартный способ соединения отдельных шагов алгоритма

шагов алгоритма для выполнения типичной последовательности действий.
В теории алгоритмов

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

Линейный алгоритм (следование) состоит из упорядоченной последовательности действий, не зависящей от значений исходных данных, при этом каждая команда выполняется только один раз строго после той команды, которая ей предшествует.


Слайд 19 Пример
Составить алгоритм, в результате выполнения которого переменные X

ПримерСоставить алгоритм, в результате выполнения которого переменные X и Y обменяются своими значениями.

и Y обменяются своими значениями.


Слайд 20 тест

тест

Слайд 21 Разветвляющиеся алгоритмы
 
Разветвляющимися называются алгоритмы, в которых в зависимости

Разветвляющиеся алгоритмы  Разветвляющимися называются алгоритмы, в которых в зависимости от значения

от значения какого-то выражения или от выполнения некоторого логического

условия дальнейшие действия могут производиться по одному из нескольких направлений.


Слайд 22 «Обход»
«Разветвление»

«Обход»«Разветвление»

Слайд 23 тест

тест

Слайд 24 Пример

Пример

Слайд 25 тест

тест

Слайд 26 Множественный выбор

Множественный выбор

Слайд 27 тест

тест

Слайд 28 ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ
Цикл — разновидность управляющей конструкции, предназначенная для организации

ЦИКЛИЧЕСКИЕ АЛГОРИТМЫЦикл — разновидность управляющей конструкции, предназначенная для организации многократного исполнения набора

многократного исполнения набора инструкций.
Различают три типа циклов:
циклы со счетчиком

(или с известным числом повторений);
циклы с предусловием;
циклы с постусловием.

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

Слайд 29 ЦИКЛЫ СО СЧЕТЧИКОМ
В циклах со счетчиком число повторений

ЦИКЛЫ СО СЧЕТЧИКОМВ циклах со счетчиком число повторений цикла является фиксированным

цикла является фиксированным числом. Переменная, которая считает количество повторений

(шагов) цикла, называется счетчиком цикла (параметром цикла, управляющей переменной цикла).

Слайд 30 Циклы с предусловием
Циклы с предусловием – это такие

Циклы с предусловиемЦиклы с предусловием – это такие циклы, в которых

циклы, в которых до начала выполнения тела цикла проверяется

условие выполнения следующего шага цикла

Слайд 31 тест

тест

Слайд 32 тест

тест

Слайд 33 Циклы с постусловием
Циклы с постусловием – это такие

Циклы с постусловиемЦиклы с постусловием – это такие циклы, в которых

циклы, в которых условие выполнения следующего шага цикла проверяется

после выполнения тела цикла

Слайд 34 процедуры и функции
Подпрограммы – это программные модули, выполняющие

процедуры и функцииПодпрограммы – это программные модули, выполняющие законченное логическое действие,

законченное логическое действие, а по окончании работы передающие управление

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


Слайд 35 процедуры и функции
Данные для обработки подпрограммы-функции и подпрограммы-процедуры

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

получают из вызвавшей их программы.
Подпрограмма получает данные из основной

программы:
неявно, т.е. с использованием глобальных переменных и констант;
явно – через так называемые параметры (фактические параметры).


Слайд 36 область действия данных
Ресурсы основной программы, которые доступны в

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

любой подпрограмме, вызываемой из этой основной программы, получили название

глобальных.
Подпрограммы в собственном разделе описаний могут объявлять необходимые для работы алгоритма рабочие переменные. Ресурсы, объявленные в разделе описаний подпрограммы, называются локальными, и они недоступны в программе, из которой вызывается эта подпрограмма.
Если в подпрограмме объявлена локальная переменная, имя которой совпадает с именем глобальной переменной, то эта глобальная переменная в подпрограмме «перекрывается» (т.е. становится недоступной в подпрограмме).

Слайд 37 передача данных через параметры
Для обеспечения контролируемой передачи параметров

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

в подпрограмму и возврата результатов из неё используется механизм

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



Слайд 38 передача данных через параметры
Чтобы отличать параметры подпрограммы, описанные

передача данных через параметрыЧтобы отличать параметры подпрограммы, описанные в её заголовке

в её заголовке и теле, от параметров, указываемых при

вызове подпрограммы, первые принято называть формальными параметрами, вторые — фактическими параметрами.
При вызове подпрограммы фактические параметры, указанные в команде вызова, становятся значениями соответствующих формальных параметров, чем и обеспечивается передача данных в подпрограмму.

Слайд 39 Рекурсивные алгоритмы
Рекурсивный алгоритм – алгоритм, использующий в качестве

Рекурсивные алгоритмыРекурсивный алгоритм – алгоритм, использующий в качестве вспомогательного самого себя.Подпрограмма,

вспомогательного самого себя.
Подпрограмма, обращающаяся сама к себе как к

подпрограмме, называется рекурсией. (Рекурсия – «возвращение»).
В рекурсивных подпрограммах выделяют две серии шагов:
шаги рекурсивного погружения подпрограммы в себя до тех пор, пока выбранный параметр не достигнет граничного значения;
шаги рекурсивного выхода до тех пор, пока выбранный параметр не достигнет начального значения .


Слайд 40 тест

Задана программа, реализующая рекурсивный алгоритм. В программе вычисляется

тестЗадана программа, реализующая рекурсивный алгоритм. В программе вычисляется (-ются) …ВВЕСТИ nrec=reks(n)ВЫВЕСТИ recENDФУНКЦИЯ reks(n)ЕСЛИ n

(-ются) …

ВВЕСТИ n
rec=reks(n)
ВЫВЕСТИ rec
END

ФУНКЦИЯ reks(n)
ЕСЛИ n

ФУНКЦИИ

Слайд 41 Структурное программирование
Структурный подход предполагает использование нескольких основных структур

Структурное программированиеСтруктурный подход предполагает использование нескольких основных структур (следование, разветвление, цикл),

(следование, разветвление, цикл), комбинация которых дает все многообразие алгоритмов

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

Слайд 42 Метод нисходящего проектирования
Метод нисходящего проектирования предполагает последовательное разложение

Метод нисходящего проектированияМетод нисходящего проектирования предполагает последовательное разложение общей функции обработки

общей функции обработки данных на простые функциональные элементы методом

«сверху - вниз», от целого к части.

Слайд 43 Модульное программирование
При модульном подходе сначала определяются состав и

Модульное программированиеПри модульном подходе сначала определяются состав и подчиненность функций, а

подчиненность функций, а затем – набор программных модулей, реализующих

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

Слайд 44 Структурное программирование
Структурное программирование основано на модульной структуре программного

Структурное программированиеСтруктурное программирование основано на модульной структуре программного продукта и типовых

продукта и типовых управляющих структурах алгоритмов обработки данных различных

программных модулей.
В любой типовой структуре блок, кроме условного (который имеет два выхода), имеет только один вход и один выход. Виды основных управляющих структур – последовательность, альтернатива (условие выбора), цикл.

Слайд 45 Объектно-ориентированное программирование
Большим шагом вперёд в развитии технологий программирования

Объектно-ориентированное программированиеБольшим шагом вперёд в развитии технологий программирования было появление объектно-ориентированного

было появление объектно-ориентированного программирования.
В концепции объектно-ориентированного программирования новый подход

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

Слайд 46 Понятие объекта
Объект — совокупность свойств, методов, событий.
В

Понятие объектаОбъект — совокупность свойств, методов, событий. В объектно-ориентированном программировании понятию объекта соответствует схема:

объектно-ориентированном программировании понятию объекта соответствует схема:


Слайд 47 Свойства, методы, события
Свойствами описываются характеристики объектов (размер, цвет,

Свойства, методы, событияСвойствами описываются характеристики объектов (размер, цвет, видимость и т.д.).Методы

видимость и т.д.).
Методы – это действия, совершаемые над объектами

(ячейку можно почистить – метод Clear, форму показать – метод Show).
События - действия, распознаваемые объектом (щелчок мышью, выход из программы), для которого можно запрограммировать отклик (т.е. реакцию объекта на произошедшее событие).


Слайд 48 Объектно-ориентированное программирование
Объектно-ориентированный подход к программированию:
программа представляет собой

Объектно-ориентированное программированиеОбъектно-ориентированный подход к программированию: программа представляет собой описание объектов, их

описание объектов, их свойств, совокупностей, отношений между ними, способов

их взаимодействия и операций над объектами (методов);
важное свойство подхода – поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие.

Слайд 49 Объектно-ориентированное программирование
Объектно-ориентированное программирование снабжает программные объекты встроенными характеристиками:
Инкапсуляция

Объектно-ориентированное программированиеОбъектно-ориентированное программирование снабжает программные объекты встроенными характеристиками:Инкапсуляция – это понятие

– это понятие означает, что в качестве единого целого,

называемого объектом, рассматриваются некоторая структура данных, определяющая его свойства, и некоторая группа функций (методов).



Слайд 50 Объектно-ориентированное программирование
Наследование – механизм порождения новых классов, когда

Объектно-ориентированное программированиеНаследование – механизм порождения новых классов, когда порождаемый класс наследует

порождаемый класс наследует данные и методы порождающего класса. Наследование

позволяет одним объектам приобретать атрибуты и поведение других. Группы более низкого уровня наследуют характеристики групп более высоких уровней. Кроме того, наследование позволяет модифицировать поведение объектов-потомков, не меняя поведения объектов исходного родительского класса.

Слайд 51 Объектно-ориентированное программирование
Полиморфизм – множественность форм, которые может принимать

Объектно-ориентированное программированиеПолиморфизм – множественность форм, которые может принимать правило с одним

правило с одним и тем же именем. Полиморфизм методов

– когда метод с одним именем может исполняться по-разному для порождаемого и порождающего классов.

  • Имя файла: algoritmizatsiya-i-programmirovanie.pptx
  • Количество просмотров: 92
  • Количество скачиваний: 0
- Предыдущая Дисграфия
Следующая - А.С. Пушкин