Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2011, 16:40   #1
Krechet
Пользователь
 
Аватар для Krechet
 
Регистрация: 03.12.2008
Сообщений: 76
По умолчанию Написать функцию

Добрый день Друзья! Не могли бы вы мне немного помочь?
Дано описание ЯП L:

Код:
Любое выражение на языке L - это функция.
Объявление функции A(x) = x + 2:
  A := L x. x + 2
Выражение, вычисляющее A(3):
  (L x. x + 2) 3
Объявление функции от нескольких переменных x + y:
  B := L x y. x + y
Выражение, вычисляющее B(1,2):
  (L x y. x + y) 1 2
Аргументом функции может быть другая функция. 
Объявление функции С, которая принимает в качестве аргумента функцию y и вычисляет y(3):
  C := L y. y 3
Выражение, вычисляющее C(A):
  (L y. y 3) (L x. x + 2)
Т.е. следующие три выражения будут эквивалентны:
  (L y. y 3) (L x. x + 2)
  (L x. x + 2) 3
  3 + 2
Язык L является лево-ассоциативным, т.е. выражение x y z эквивалентно (x y) z, а не x (y z).
В языке L нет логических значений, их заменяют функции:
  TRUE(x,y) = x
  FALSE(x,y) = y
Объявление этих функций на языке L:
  TRUE := L x y. x
  FALSE := L x y. y
Определение функции AND(p,q) = p AND q:
  AND := L p q. p q p
Рассмотрим пример: 
  p = TRUE
  q = FALSE
Т.е.: 
  p = L x y. x
  q = L x y. y.
На выходе мы должны получить FALSE, т.е.:
  L x y. y
Как работает функция AND? Попытаемся разобраться.
Подставим p и q в выражение p q p:
  (L x y. x) (L x y. y) (L x y. x)
Вторая и третья скобки - это аргументы x и y функции в первой скобке.
Функция в первой скобке всегда возвращает свой первый аргумент, т.е. нашу вторую скобку, т.е.:
  L x y. y
что как раз соответствует логическому значению FALSE.
Задание:
Напишите функцию OR(p,q) = p OR q.
Подскажите, в каком хоть направлении двигаться, а то с утра мозг не включается, а проверка завтра, спасибо заранее!!!
При установке Линукс не пострадало ни одного пингвина... Зато пострадало много дятлов..
Krechet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать функцию (С++) dmitriy0097 Помощь студентам 2 12.12.2010 15:46
написать функцию akaaka Общие вопросы Delphi 2 22.05.2010 12:59
Не могу написать функцию Dima_mazhor БД в Delphi 1 17.12.2008 05:28
Помогите написать функцию Черничный Общие вопросы Delphi 4 13.08.2008 07:02