Главная страница
Навигация по странице:

  • ТЕРМИНЫ И ОБОЗНАЧЕНИЯ Ассоциативный список

  • Атом

  • Деструктивные операции

  • Клауза

  • Мера организованности программы

  • Область видимости имѐн

  • Псевдо-функции

  • Ранг работоспособности программы

  • Свободные переменные

  • Семантический спуск определения ЯП

  • Степень изученности задачи

  • Универсальная семантическая функция ЯП

  • Хэш-функции

  • ОБОЗНАЧЕНИЯ (X . Y)

  • (x y . l ) – первый элемент списка – x, второй элемент списка – y, остальные находятся в списке l([XL . YL] . AL)

  • (X | Y)

  • (Expr) – результат вычисления выражения или успех выполнения процесса.$ – переменная для кода успеха/результата процесса.$*

  • ывап. Курс лекций новосибирск 2015


    Скачать 1.73 Mb.
    НазваниеКурс лекций новосибирск 2015
    Дата09.11.2020
    Размер1.73 Mb.
    Формат файлаpdf
    Имя файлаFIT-Gor-PP3.pdf
    ТипКурс лекций
    #149035
    страница16 из 16
    1   ...   8   9   10   11   12   13   14   15   16

    СПИСОК ЛИТЕРАТУРЫ
    1.
    Айлиф Дж. Принципы построения базовой машины. / Дж . Айлиф. – М.: Мир,
    1973. – 119 с.
    2.
    Баранов С. Н. Феномен Форта / С. Н. Баранов, М. Ю. Колодин. // Системная информатика.
    Вып
    4.
    Методы теоретического и системного программирования. – Новосибирск: Наука. Сиб. изд. фирма, 1995. С. 193–
    271.
    3.
    Браун П. Макропроцессоры и мобильность программного обеспечения. /П.
    Браун. – М.: Мир, 1977. 253 с.
    4.
    Вирт Н. От Модулы к Оберону. / Н. Вирт. // Системная информатика. Вып
    1. Проблемы современнного программирования. – Новосибирск: Наука.
    Сиб. отд-е, 1991. С. 63–75
    5.
    Воеводин В. В. Параллельные вычисления. / В. В. Воеводин, Вл. В.
    Воеводин. – СПб.: БХВ-Петербург, 2002. 608 с.
    6.
    Городняя Л. В. Функциональный подход к описанию парадигм программирования / Л. В. Городняя // Препринт № 152. Надзаг.: ИСИ СО
    РАН, – Новосибирск, 2009. С. 66.
    7.
    Дейкстра Э. Дисциплина программирования. / Э. Дейкстра. М.: Мир, 1978.
    275 с.
    8.
    Иртегов Д. В. Введение в операционные системы / Д. В. Иртегов. – СПб.:
    БХВ-Петербург, 2008. 1040 с.
    9.
    Лавров С. С. Методы задания семантики языков программирования / С. С.
    Лавров // Программирование, 1978. N 6. С. 3-10.
    10. Лавров С. С. Функциональное программирование. Интерпретатор языка
    Лисп / С. С. Лавров, Л. В. Городняя // Компьютерные инструменты в образовании. – СПб, 2002. №5.
    11. Леман М. М. Программы, жизненные циклы и законы эволюции программного обеспечения / М. М. Леман. – М.: Мир, ТИИЭР, 1980. Т. 68-9.
    С. 26-45
    12. Мейер Б. Основы объектно-ориентированного проектирования. / Б. Мейер. –
    М.:
    Интернет-Университет
    Информационных технологий.
    URL: http://www.intuit.ru/department/se/oopbases/, 2007 (проверено 1.12.2014)
    13.
    Пратт Т. Языки программирования. Разработка и реализация. / Т. Пратт,
    М. Зелковиц; Под общей редакцией А.Матросова. – СПб.: Питер, 2002. 688 с.
    14.
    Сошников Д. В.
    Функциональное программирование на языке F#.
    /
    Д. В. Сошников.

    М.: ДМК Пресс, 2011.
    15. Хендерсон П. Функциональное программирование. / П. Хендерсон. – М.:
    Мир, 1983. 349 с.


    199
    16.
    Хоар Ч. Взаимодействующие последовательные процессы. / Ч. Хоар. – М.:
    Мир, 1989. 264 с.
    17.
    Хорстман К. Scala для нетерпеливых. / К. Хорстман.
    – М.:
    ДМК Пресс
    ,
    2013. 408 с.
    18. Черноножкин С. К. Методы тестирования программ / С. К. Черноножкин. –
    Новосибирск: НГУ, 2004. 166 с.
    19. Backus J. Can programming be liberated from the von Neumann style? A functional stile and its algebra of programs / J. Backus. // Comm. ACM. 1978. V.
    21 N. 8. P. 613-641.
    20. Floyd, R. W. The paradigms of Programming. / R. W. Floyd. //Communications of the ACM 22 (N 8), 1979: p. 455
    21. Knoop J. Compiler Construction / 20th International Conference, CC 2011Held as Part of the Joint European Conferences on Theory and Practice of Software,
    ETAPS 2011 Saarbrücken, Germany, March 26 – April 3, 2011 // Lecture Notes in Computer Science. Springer V2011. V. 6601. 330 p.
    22. McCarthy J. LISP 1.5 Programming Manual / J. McCarthy. The MIT Press,
    Cambridge, 1963. 106 p
    23. Russian Lisp User Group. URL: http://lisp.ru/
    24.
    Примеры на языке Prolog. URL: http://www.cs.bham.ac.uk/pjh/modules/current/25433/examples/l15_ex ample3.html

    200
    П р и л о ж е н и е
    ТЕРМИНЫ И ОБОЗНАЧЕНИЯ
    Ассоциативный список – список пар, предназначенный для хранения соответствия между именами и их определениями (значения переменных, констант, определения функций).
    Атом – данное, не разделяемое на части средствами ЯП.
    Дампрезервная память для хранения промежуточных результатов, которые могут понадобиться при дальнейших вычислениях.
    Деструктивные операции – выполняются на памяти операндов, что может повлечь потерю данных.
    Замыкание функции – конструкция из определения функции и таблицы значений используемых в ней свободных переменных.
    Клауза – предикат и соответствующая ему ветвь для вывода цели вычисления.
    Ленивое вычисление – отложенное действие, выполняемое лишь если оно необходимо для получения результата.
    Мера организованности программы – зависимость объѐма отладки модифицируемой программы от объѐма вносимых изменений.
    Монада – вспомогательная семантическая система ЯП со своими правилами выполнения действий и вычисления функций.
    Область видимости имѐн – участки программы, на которых имена имеют определение.
    Показатель отлаженности программы – частота обнаружения дефектов в программе или длина интервала между внесением исправлений в программу.
    Псевдо-функции – кроме значения производят дополнительные действия.
    Рабочие переменные – видимы в пределах блока.
    Раздельная компиляция – методика создания кода частей программы для их многократного использования в других программах.
    Ранг работоспособности программы – полнота множества возможных данных, на которые программа реагирует разумно.
    Реализационное замыкание ЯП – расширение определения ЯП, создаваемое для его эффективной реализации.
    Свободные переменные – получают значение или определение вне
    задаваемого фрагмента.
    Семантическая декомпозицияразложение определения на части, смысл каждой из которых может быть выражен на естественном языке.

    201
    Семантический спуск определения ЯП – исключение из определения ЯП компонентов, сводимых у более простым или общим средствам, что формально не влияет на полноту ЯП.
    Список свободной памяти – структура данных, обеспечивающая динамический доступ к памяти.
    Степень изученности задачи – оценка готовности к программированию постановки задачи и методов еѐ решения.
    Структурное
    программирование

    методика представления императивно-процедурных программ, упрощающая их отладку.
    Универсальная семантическая функция ЯП – функция вычисления результата любой правильно представленной на ЯП функции от допустимых данных.
    Уровень абстрагирования понятий – характеристика независимости понятия от малосущественных свойств конкретных примеров.
    Хэш-функции – методика хранения динамически изменяемого конечного множества из элементов бесконечного множества.
    АББРЕВИАТУРЫ
    Обозначение
    Расшифровка
    АК
    Абстрактный комплекс
    АМ
    Абстрактная машина
    АС
    Абстрактный синтаксис
    БД
    Базы данных
    БНФ
    Формы Бэкуса-Наура
    БС
    Базовые средства
    ВС
    Вспомогательная семантика
    ЖЦП
    Жизненный цикл программ
    ЗШ
    Заочная школа юных программистов
    ЗШЮП
    Заочная школа юных программистов
    ИП
    Императивно-процедурное программирование
    ИС
    Информационная система
    ИТ
    Информационные технологии
    КМ
    Конкретная машина
    КП
    Компонентное программирование
    КС
    Конкретный синтаксис
    КЯ
    Концептуальные языки программирования
    ЛП
    Логическое программирование
    ЛШ
    Летняя школа юных программистов
    ЛШЮП
    Летняя школа юных программистов

    202
    НФ
    Нормализованная форма
    ОИВТ
    Основы информатики и вычислительной техники
    ООП
    Объектно-ориентированное программирование
    ОС
    Операционная семантика
    ПЖЦП
    Полный жизненный цикл программ
    ПИП
    Процедурно-императивное программирование
    ПП
    Парадигма программирования
    РБНФ
    Расширенные формы Бэкуса-Наура
    РИС
    Распределѐнная информационная система
    РП
    Реализационная прагматика
    СД
    Структуры данных
    СП
    Система программирования
    СПП
    Стандартное прикладное программирование
    СУ
    Синтаксическое управление
    ТА
    Таблица атомов
    ТД
    Типы данных
    ТИ
    Таблица идентификаторов/имѐн
    ТП
    Технология программирования
    УФ
    Универсальная функция языка программирования
    УЯ
    Учебный язык программирования
    ФП
    Функциональное программирование
    ШИ
    Школьная информатика
    ШЮП
    Школа юных программистов
    ЯНОП
    Язык начального обучения программированию
    ЭП
    Эксплуатационная прагматика
    ЯВУ
    Язык высокого уровня
    ЯНОП
    Язык начального обучения программированию
    ЯНУ
    Язык низкого уровня
    ЯП
    Язык программирования
    ЯПП
    Язык параллельного программирования
    ЯСВУ
    Язык сверх высокого уровня
    ЯСП
    Язык и система программирования
    ЯФП
    Язык функционального программирования
    AMA
    Абстрактная машина.ассемблера
    AMF
    Абстрактная машина языка Forth
    AML
    Абстрактная машина языка Lisp
    AMM
    Абстрактная машина макрогенератора
    AMP
    Абстрактная машина языка Pascal
    AMQ
    Абстрактная машина управления процессами
    BIOS basic input/output system - «базовая система ввода-вывода»
    CSP
    Communicating Sequential Processes — теория взаимодействующих последовательных процессов,

    203
    разработанная Чарльзом Э. Хоаром в 1969 году.
    CCS
    Calculus of Communicating Systems — исчисление общающихся систем, разработанное Робином Милнером в 1980 году
    FDD
    Функционально-ориентированное проектирование
    LAP
    Ассемблер языка Lisp
    PID
    Идентификатор процесса
    RISC restricted (reduced) instruction set computer— компьютер с сокращѐнным набором команд
    SECD
    Абстрактная машина языка Lisp
    SECM
    Абстрактная машина языка Pascal
    SSA
    Однократное присваивание
    UML
    Универсальный язык моделирования UML
    XP
    Экстремальное программирование
    ОБОЗНАЧЕНИЯ
    (X . Y) – работает как (cons X Y) – X становится «головой» списка Y.
    (x . l )
    – это значит, что первый элемент списка – x
    , а остальные находятся в списке l
    (x y . l )
    – первый элемент списка – x
    , второй элемент списка – y
    , остальные находятся в списке l
    ([XL . YL] . AL)
    – работает как
    (pairlis
    XL YL AL) – функция аргументов
    XL,YL,
    AL строит список пар-консолидаций соответствующих элементов из списков
    XL, YL
    и присоединяет их к списку AL. Полученный список пар, похожий на таблицу с двумя столбцами, называется ассоциативным списком или таблицей атомов.
    Такой список может использоваться для связывания имен переменных и функций при организации вычислений интерпретатором.
    (X | Y) – работает как (append X Y) – сцепляет списки в один общий список.
    AL[X]
    – работает как
    (assoc
    X AL) – функция двух аргументов,
    X
    и AL.
    Если AL – таблица атомов, подобная тому, что формирует функция pairlis
    , то assoc выбирает из него первую пару, начинающуюся с
    X
    Таким образом, это функция поиска определения или значения в таблице атомов.
    [x] – содержимое памяти по адресу x.
    e[n] – содержимое n-го элемента контекста.
    {A | B | … | Z} – множество вариантов.

    204
    A(
    Pr)
    – число аргументов процедуры Pr.
    L(
    Pr)
    – число локальных переменных процедуры Pr.
    @F – адрес подпрограммы, выполняющей функцию F.
    @c – адрес позиции «c» в программе.
    _ – произвольное значение ( _ подчерк).
    (Expr)

    результат вычисления выражения или успех выполнения процесса.
    $

    переменная для кода успеха/результата процесса.
    $*

    все аргументы переданные скрипту (выводятся в строку).
    $!

    PID последнего запущенного в фоне процесса.
    $$

    PID самого скрипта.
    NN(d)

    список номеров и имѐн элементов очереди.
    [, … ] - очереди процессов.
    NULL

    пустой файл.
    H(d)

    голова очереди, точнее – процесс с наивысшим приоритетом.
    T(d)

    хвост очереди, остаток после удаления головы. d = H(d) • T(d).
    PN

    имя текущего процесса.

    Учебное издание
    Городняя Лидия Васильевна
    ПАРАДИГМА ПРОГРАММИРОВАНИЯ
    Курс лекций
    Редактор Т.Ю. Седыченко
    Подписано в печать __.__.2015 г.
    Формат 60×84 1/16. Уч.-изд. л. 12. Усл. печ. л. ___.
    Тираж ___ экз. Заказ №
    Редакционно-издательский центр НГУ.
    630090, Новосибирск, ул. Пирогова, 2.
    1   ...   8   9   10   11   12   13   14   15   16


    написать администратору сайта