- Системы исполнения функциональных программ

Презентация "Системы исполнения функциональных программ" по информатике – проект, доклад

Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5

Презентацию на тему "Системы исполнения функциональных программ" можно скачать абсолютно бесплатно на нашем сайте. Предмет проекта: Информатика. Красочные слайды и иллюстрации помогут вам заинтересовать своих одноклассников или аудиторию. Для просмотра содержимого воспользуйтесь плеером, или если вы хотите скачать доклад - нажмите на соответствующий текст под плеером. Презентация содержит 5 слайд(ов).

Слайды презентации

Кубенский А.А. Функциональное программирование. Глава 5. Системы исполнения функциональных программ. Глава 5. Системы исполнения функциональных программ. 5.3. Функциональные модели последовательных процессов. Рассмотрим простой язык императивного программирования без функций, переходов и сложных стр
Слайд 1

Кубенский А.А. Функциональное программирование.

Глава 5. Системы исполнения функциональных программ.

Глава 5. Системы исполнения функциональных программ

5.3. Функциональные модели последовательных процессов

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

Выражения: Целые числа: 12 25 0

Простые переменные целого типа:

x myInt

Унарные и бинарные операции с целыми результатами:

(x+12) * (y-1)

Логические константы и выражения (но не переменные):

not (x Последовательное исполнение: begin s1; s2; ... end

Условный оператор:

if b then s1 else s2 Пустой оператор: skip Оператор цикла: while b do s

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

Рассмотрим программу вычисления факториала. Пример программы. begin f := 1; while n > 1 do begin f := f * n; n := n – 1 end end. В начальном состоянии существенно только значение переменной n; в конце работы результат определяется значением переменной f. Прежде всего, переведем программу в вид, у
Слайд 2

Рассмотрим программу вычисления факториала.

Пример программы.

begin f := 1; while n > 1 do begin f := f * n; n := n – 1 end end

В начальном состоянии существенно только значение переменной n; в конце работы результат определяется значением переменной f.

Прежде всего, переведем программу в вид, удобный для обработки.

data Expression = { представление выражений } data Operator = { представление операторов } data Context = { представление контекста переменных }

Два способа обработки и исполнения программы:

Интерпретация:

interpret :: Operator -> Context -> Context

Компиляция:

compile :: Operator -> (Context -> Context)

На самом деле оба способа представлены одной и той же карринговой функцией!

Представление выражений и программ. data Expression = Integral Int | Logical Bool | Variable String | Unary String Expression | Binary Expression String Expression. data Operator = Skip | Assignment String Expression | Sequence [Operator] | If Expression Operator Operator | While Expression Operator
Слайд 3

Представление выражений и программ.

data Expression = Integral Int | Logical Bool | Variable String | Unary String Expression | Binary Expression String Expression

data Operator = Skip | Assignment String Expression | Sequence [Operator] | If Expression Operator Operator | While Expression Operator

type Context = [(String, Expression)]

eval :: Expression -> Context -> Expression

eval v@(Integral n) _ = v eval v@(Logical b) _ = v eval (Variable x) ctx = assoc x ctx eval (Unary op ex) ctx = intrinsic op [eval ex ctx] eval (Binary e1 op e2) ctx = intrinsic op [eval e1 ctx, eval e2 ctx]

intrinsic "+" [(Integral a), (Integral b)] = Integral (a+b)

intrinsic "-" [(Integral a)] = Integral (-a)

intrinsic "and" [(Logical a), (Logical b)] = Logical (a && b)

intrinsic :: String -> [Expression] -> Expression

Исполнение операторов. replace :: String -> Expression -> Context -> Context. replace x val = map (\(y,v) -> (y,if x == y then val else v)). replace "f" (Integral 20) [("n", (Integral 4)), ("f", (Integral 5))]. Например: даст в результате. [("n", (
Слайд 4

Исполнение операторов.

replace :: String -> Expression -> Context -> Context

replace x val = map (\(y,v) -> (y,if x == y then val else v))

replace "f" (Integral 20) [("n", (Integral 4)), ("f", (Integral 5))]

Например: даст в результате

[("n", (Integral 4)), ("f", (Integral 20))]

interpret Skip ctx = ctx interpret (Assignment x expr) ctx = replace x (eval expr ctx) ctx interpret (Sequence []) ctx = ctx interpret (Sequence (s:seq)) ctx = interpret (Sequence seq) (interpret s ctx) interpret (If expr s1 s2) ctx = case (eval expr ctx) of (Logical True) -> interpret s1 ctx (Logical False) -> interpret s2 ctx interpret oper@(While expr s) ctx = case (eval expr ctx) of (Logical True) -> interpret oper (interpret s ctx) (Logical False) -> ctx

Пример компиляции и исполнения программы. program = Sequence [(Assignment "f" (Integral 1)), (While (Binary (Variable "n") ">" (Integral 1)) (Sequence [(Assignment "f" (Binary (Variable "f") "*" (Variable "n"))), (Assignment &q
Слайд 5

Пример компиляции и исполнения программы

program = Sequence [(Assignment "f" (Integral 1)), (While (Binary (Variable "n") ">" (Integral 1)) (Sequence [(Assignment "f" (Binary (Variable "f") "*" (Variable "n"))), (Assignment "n" (Binary (Variable "n") "-" (Integral 1)))])) ]

compile program

- функция преобразования контекстов

interpret program [("f", (Integral 0)), ("n", (Integral 3))]

[("f", (Integral 6)), ("n", (Integral 0))]

Список похожих презентаций

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

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

Исполнители алгоритмов. КАЛЬКУЛЯТОР 1. У исполнителя Калькулятор две команды, которым присвоены номера: вычти 1; умножь на 3. Первая из них уменьшает ...
Введение в программирование на Java

Введение в программирование на Java

Курс – Объектно-ориентированное программирование Время изучения - 4 курс, 7 семестр Направление подготовки - "230105 - Программное обеспечение вычислительной ...
Алгоритмизация и программирование в Pascal

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

Вводная часть. Процесс решения задачи на ПК – это совместная деятельность человека и машины. Его условно можно разделить на несколько этапов. Человеку ...
Алгоритмы и программирование

Алгоритмы и программирование

АЛГОРИТМ Линейный Циклический С ветвлением С процедурой. Программа – запись алгоритма на языке программирования для компьютера. Алфавит языка. Алфавит ...
Введение в программирование

Введение в программирование

«Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно.». «Кодируй так, как будто человек, ...
Введение в объектно-ориентированное программирование

Введение в объектно-ориентированное программирование

X, Y – координаты центра круга;. Draw R – радиус круга; Color – цвет круга. 1 способ. Draw1: R=10; x=5; y=10; color=3; Draw2: R=45; x=15; y=3; color=2;. ...
Введение в параллельное программирование

Введение в параллельное программирование

Содержание лекции. Формальный подход к определению параллельной программы Меры качества параллельных программ Предел ускорения вычислений при распараллеливании ...
Аспектно-ориентированное программирование

Аспектно-ориентированное программирование

Сквозная функциональность. Ведение журналов Авторизация. Модуль оформления заказов. Модуль принятия товаров. Проблемы сквозной функциональности. Запутанность ...
Динамическое программирование

Динамическое программирование

Основные определения (подробно). Многие задачи практического программирования являются задачами на перебор вариантов и выбор среди этих вариантов ...
Введение в программирование Turbo Pascal

Введение в программирование Turbo Pascal

Тема 1: Введение в программирование. Какой язык понимает процессор? Процессор понимает язык электрических сигналов. Он не различает сильный или слабый ...
Введение в программирование

Введение в программирование

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

Динамическое программирование

Задача о нахождении минимальных затрат при строительстве транспортных артерий. Решение задач ДП основано на принципе оптимальности. Принцип гласит: ...
Введение в программирование

Введение в программирование

Тема 1: Введение в программирование. Какой язык понимает процессор? Процессор понимает язык электрических сигналов. Он не различает сильный или слабый ...
Защита от вредоносных программ

Защита от вредоносных программ

АНТИВИРУСНЫЕ ПРОГРАММЫ. Антивирус – это программа, предназначенная для борьбы с вредоносными программами. Антивирусы выполняют три основные задачи: ...
Классификация прикладных программ

Классификация прикладных программ

FL Studio (ранее — Fruity Loops) — цифровая звуковая рабочая станция (DAW) и секвенсер для написания музыки. Создана программистом Дидье Дэмбреном ...
Классификация прикладных программ

Классификация прикладных программ

Введение. Этот класс программ предназначен для выполнения конкретных практических работ с данными: создание, преобразование, транспортировка, воспроизведение. ...
Использование программ пакета MS Office в учебном процессе

Использование программ пакета MS Office в учебном процессе

Использование программ пакета MS Office в учебном процессе. Мастер – класс:. Инструктивно-дидактическое сопровождение информационно-интерактивного ...
Информация и информационные процессы. Измерение информации. Системы счисления

Информация и информационные процессы. Измерение информации. Системы счисления

Задание № 1. Что из ниже перечисленного не является для вас информацией? а) LIRO CAS. в) Лед – твердое вещество. г) 25 · 15 = 360. б) Сегодня на улице ...
Информация в памяти компьютера. Системы счисления

Информация в памяти компьютера. Системы счисления

Как представлена информация в компьютере? Информация в компьютере представлена двумя цифрами 0 и 1. Системы счисления. Позиционные Непозиционные. ...

Конспекты

Системы программирования и прикладное программное обеспечение

Системы программирования и прикладное программное обеспечение

Тема: «Системы программирования и прикладное программное обеспечение». . Тип урока:. изучение нового материала. . Цели урока:. Образовательная. ...
Системы счисления

Системы счисления

Республика Татарстан. Верхнеуслонский муниципальный район. . МБОУ «Матюшинская СОШ». Урок информатики в 8 классе на тему «Системы ...
Кодирование числовой информации. Системы счисления

Кодирование числовой информации. Системы счисления

Отдел образования администрации Тальменского района Алтайского края. Муниципальное казенное общеобразовательное учреждение. «Новоозерская средняя ...
Составление программ с использованием циклических алгоритмов

Составление программ с использованием циклических алгоритмов

Предмет:. Информатика 2 урока объяснения и закрепления. Тема:. "Составление программ с использованием циклических алгоритмов". Продолжительность: ...
Составление программ с ветвлением

Составление программ с ветвлением

. Тема:. . Практическая работа «Составление программ с ветвлением». Цель урока. :. Актуализация опорных знаний умений и навыков для творческого ...
Системы управления базами данных (СУБД)

Системы управления базами данных (СУБД)

МКОУ «Средняя общеобразовательная с углубленным изучением отдельных предметов школа №5». городского округа город Фролово. ...
Системы счисления в заданиях ЕГЭ

Системы счисления в заданиях ЕГЭ

План – конспект урока по информатике. . по теме: «Системы счисления в заданиях ЕГЭ». Тип урока. : урок- обобщение изученного по теме «Система ...
Системы счисления

Системы счисления

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

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

Тема: Системы оптического распознавания документов. Цель:. формирование представления о программах для работы со сканером, знать системы распознавания ...
Системы объектов

Системы объектов

Конспект урока информатики для 6 класса. «Системы объектов». Цели урока:. 1) расширить и обобщить представления школьников о системах объектов;. ...

Советы как сделать хороший доклад презентации или проекта

  1. Постарайтесь вовлечь аудиторию в рассказ, настройте взаимодействие с аудиторией с помощью наводящих вопросов, игровой части, не бойтесь пошутить и искренне улыбнуться (где это уместно).
  2. Старайтесь объяснять слайд своими словами, добавлять дополнительные интересные факты, не нужно просто читать информацию со слайдов, ее аудитория может прочитать и сама.
  3. Не нужно перегружать слайды Вашего проекта текстовыми блоками, больше иллюстраций и минимум текста позволят лучше донести информацию и привлечь внимание. На слайде должна быть только ключевая информация, остальное лучше рассказать слушателям устно.
  4. Текст должен быть хорошо читаемым, иначе аудитория не сможет увидеть подаваемую информацию, будет сильно отвлекаться от рассказа, пытаясь хоть что-то разобрать, или вовсе утратит весь интерес. Для этого нужно правильно подобрать шрифт, учитывая, где и как будет происходить трансляция презентации, а также правильно подобрать сочетание фона и текста.
  5. Важно провести репетицию Вашего доклада, продумать, как Вы поздороваетесь с аудиторией, что скажете первым, как закончите презентацию. Все приходит с опытом.
  6. Правильно подберите наряд, т.к. одежда докладчика также играет большую роль в восприятии его выступления.
  7. Старайтесь говорить уверенно, плавно и связно.
  8. Старайтесь получить удовольствие от выступления, тогда Вы сможете быть более непринужденным и будете меньше волноваться.

Информация о презентации

Ваша оценка: Оцените презентацию по шкале от 1 до 5 баллов
Дата добавления:9 мая 2019
Категория:Информатика
Содержит:5 слайд(ов)
Поделись с друзьями:
Скачать презентацию
Смотреть советы по подготовке презентации