Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_лекций_Разработка_ИИ_и_Базы_данных_Ерофеев.pdf
Скачиваний:
0
Добавлен:
13.01.2026
Размер:
4.65 Mб
Скачать

Вкладка 9

Разработка приложений искусственного интеллекта в киберфизических системах

7 (12.11.2025)

Пары, кортежи и списки.

Пара - это упорядоченный набор 2 значений. Кортеж - упорядоченный набор n переменных.

С помощью лямбда исчисления можно создавать связные списки. Связные списки: односвязные списка - переход строго в одном направлении(стек). Двусвязные списки-переход в 2 направления.

Могут попросить перевести адрес в 16 ричный формат.

Для разграничения пар используют дополнительные пары с первым элементом

равным false.

Числа в нумерации Чёрча

Эти выражения фактически представляют собой запись чисел в системе счисления по основанию 1(0=1, 1=11, 2=111).

Могут спросить выписать пример произведения в лямбда аннотации.

Язык функционального программирования Haskell.

Хаскель это функциональный язык программирования.

Код в языке Haskell составляется из выражений, вычисляемых по аналогии с математическими выражениями. Статические переменные которые мы вводим в коде записываются в стек.

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

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

К базовой концепции языка Haskell так же относятся ленивые или отложенные вычисления. Ленивые вычисления - выражение вычисляется только тогда, когда его результат требуется для вывода или вычисления другого выражения. После вычисления результат или сбрасывается или сохраняется. Это приводит к тому что

вычисления проводятся в минимальном объёме, но это приводит к необходимости

сохранения в памяти отложенных выражения. Могут попросить привести пример.

В хаскеле предусмотрена строгая статическая типизация, при динамической типизации

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

сопоставление выполняется во время компиляции. Могут спросить на каком этапе компиляции.

Что для ряда языков со статической типизация таких как Java и C# в период выполнения программы возникает необходимость дополнительной проверки типов. В отличии от этого после компиляции кода на языке Хаскел проверка типов больше не проводится, что существенно повышает производительность. Ресурсоемкость это то

количество времени нужно вашему коду и какое количество памяти он потребляет.

Начало работы с Haskell. Арифметические, логические операции и функции.