Материалы (9) (Материалы к лекциям)
Описание файла
Файл "Материалы (9)" внутри архива находится в папке "Материалы к лекциям". PDF-файл из архива "Материалы к лекциям", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Языки программированияТеоретические основы:Парадигмы программированияЭлементы теории трансляцииПрактика программирования:ООП подход на основе С++2Литература1)И.А.Волкова, А.В.Иванов, Л.Е.Карпов. Основы объектноориентированного программирования. Язык программирования С++2)И.А. Волкова, А.А.
Вылиток, Т.В. Руденко. Формальные грамматики иязыки. Элементы теории трансляции3)В.Ш. Кауфман. Языки программирования. Концепции и принципы4)Т. Пратт. Языки программирования. Разработка и реализация5)Е.И. Большакова, Н.В. Груздева. Основы программирования на языкеЛисп6) http://cmcmsu.no-ip.info/2course/3Примеры языков программирования Паскаль язык ассемблера Си Фортран Ява Оберон Ада Питон Лисп4Язык программирования (определение)1) инструмент для планирования поведения некоторогоисполнителя2) инструмент для планирования поведения некоторогоустройства-исполнителя3) нотация (знаковая система) для планирования поведениякомпьютеров4Виды ЯП:Специализированные языки (SQL, html и др.)Универсальные языки (Паскаль, Си др.)5Зачем могут понадобиться знания о ЯП• для разработки новых языков программирования(соглашения, определяющие способ общения программы с внешниммиром тоже можно считать ЯП)• для понимания технологии программирования,отраженной в ЯП• для более глубокого усвоения принципов и понятийпрограммирования6Три составляющие языка• синтаксис• семантика• прагматика7Схема рассмотрения ЯП• Базис - это понятия и конструкции, встроенные в язык,иначе говоря, это то, что «понимает» транслятор.
Базисподразделяется на скалярный и структурный.• Средства развития — это аппарат, позволяющийдобавлять в программы новые понятия (абстракции),которых не было в базисе.• Аппарат защиты — это контроль за соблюдениемограничений, управление реакцией на нарушениеобъявленного поведения8Парадигма программирования- это совокупность идей и понятий,определяющих стиль программированияПримеры:• императивная парадигма• объектная парадигма• функциональная парадигма• логическая парадигма9Императивная парадигмамодель компьютера (автор - математик ФонНейман) :• центральное процессорное устройство(ЦПУ)• оперативная память (ОП)• устройства ввода/вывода (УВВ)10Команды ЦПУ• пересылки между ОП и регистрами ЦПУ;• арифметико-логические команды• команды управления, включающие в себякоманды перехода и некоторыеспециальные команды (например, командаостанова)• команды ввода/вывода11Основные понятия императивныхязыков программирования• Переменная – абстрагирует понятие ячейки ОП• Операция – обобщает команды АЛУ ЦПУ• Присваивание – обобщает команды пересылки• Операторы управления – обобщают команды перехода• Операторы ввода/вывода – обобщают машинныекоманды ввода/вывода12Объектная парадигма• Объект = состояние + поведение• Поведение = посылка сообщений себе идругим объектам.• Для каждого вида сообщения существуют«обработчики», которые могутмодифицировать состояние объекта ипосылать сообщения другим объектам.13примерзапись X= X + Yтрактуется в объектной парадигме так:объекту X посылается сообщение«складывайся с объектом Y и измени своесостояние на новое – результат сложения»14Объекты с одинаковым поведением ивозможными состояниями объединяются вклассыКлассы образуют иерархииИерархия – это способ борьбы сосложностью систем15Иерархия «часть/целое»АвтомобильдвигательпоршенькамераколесодискшинаВ ООП это называется структурой объектов16Иерархия «общее/частное»Транспортное средствогрузовое ТСсамосвалбензовозпассажирское ТСавтобуслегковой автомобильВ ООП это называется структурой классов17Объектно-ориентированноепрограммированиеэто метод программирования, основанныйна представлении программы в видесовокупности взаимодействующихобъектов, каждый из которых являетсяэкземпляром определенного класса, аклассы являются членами определеннойиерархии наследования18Наследование• механизм, с помощью которого одинобъект (производного класса) приобретаетсвойства другого объекта (родительского,базового класса).19Полиморфизм• механизм, позволяющий использоватьодин и тот же интерфейс для похожихдействий.Общая концепция полиморфизма: один интерфейс –много методов.Пример: Имеются 3 типа стека для хранения: целых чисел - push_int() чисел с плавающей точкой - push_float() символов - push_char()Вместо трех подпрограмм управления в объектно-ориентированнойпрограмме требуется всего одна операция (один интерфейс) push() иодна операция pop()20Виды полиморфизма• статический (реализуется на этапекомпиляции с помощью перегрузкифункций и операций)• динамический (реализуется во времявыполнения программы с помощьюмеханизма виртуальных функций)• параметрический (реализуется на этапекомпиляции с использованием механизмашаблонов)21.