uzluga.ru
добавить свой файл
1 2 ... 21 22


Языки и методы конструирования программ

Программирование 2 (Без раздела про С++ и дополнение про базы данных)

Содержание

Лекция 1. Модель вычислений фон Неймана и традиционные языки

Лекция 2. Нетрадиционные модели вычислений

Лекция 3. Ленивые вычисления и функциональная модель

Лекция 4. Постулаты необходимости, их следствия. Особенности ленивых и жадных вычислений при решении различных задач

Лекция 5. Решение численных задач в функциональном стиле

Лекция 6. Ленивые вычисления: императивные примеры

Лекции 7-8. Элементы сентенциального стиля программирования. язык Prolog, сопоставление с образцом, язык Рефал

Лекция 9. Концепция «Model View Controller»

Лекция 10. Жизненный цикл программного обеспечения и его модели. Мотивация изучения жизненного цикла.

Лекция 11. Классические модели

Лекция 12-13. Развитые модели жизненного цикла. Производственные функции в моделировании жизненного цикла: модель фазы — функции. Моделирование жизненного цикла объектно-ориентированных программных проектов.

Дополнительные лекции:

Лекция A. Введение в базы данных: мотивация СУБД. Лекция B. Модели баз данных. Лекция C. Проектирование баз данных. Лекция D. Нормализация

Лекция 1. Модель вычислений фон Неймана и традиционные языки



Каноническая архитектура фон Неймана

  • Три элемента вычислительной системы:

    • Память
    • Процессор
    • Управляющее устройство
  • Однородность памяти и адресация

    • Понятия ячейки, адреса и значения
  • Пассивность памяти и активность процессора

  • Роль устройства управления

  • Наличие канала связи между памятью и процессором. Работа канала осуществляется, когда

    • Требуется подать процессору команду для выполнения (активизируется устройством управления)
    • Процессору для выполнения команды требуется получить операнд (активизируется процессором)
    • При выполнении команды требуется изменение ячейки(активизируется процессором)

Дополнение канонической архитектуры: устройства ввода и вывода

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



Модификация канонической схемы



Альтернатива канонической схемы

  • Разрешить выполнение всех команд, для которых готовы операнды

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

  • Задача динамической коммутации

  • Data flow vs. Control flow

  • Несоответствие стиля альтернативных программ стилю, к которому привыкли программисты

  • Активная (ассоциативная) память

  • Консерватизм традиционных языков



Особенности традиционных языков

  • Присваивание значений (переменная — аналог ячейки)

  • Операторы (зависимость выполнения, последовательность)

  • Структура управления (разветвления — наиболее употребительные приемы)

  • Приведения

  • Подпрограммы



Присваивание значений

a = <выражение>

Приведения

  • Типов выражения и переменной в присваивании

  • Округление и отбрасывание

  • Контролируемые (явно указываемые) и по умолчанию

  • Приведения указателей



Подпрограммы

  • Типовой прием группировки команд



следующая страница >>