LCME Четверг, 28.03.2024, 13:40
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Билеты к экзаменам » Программирование » Обязательные к решению задачи
Обязательные к решению задачи
freidomДата: Понедельник, 28.12.2009, 17:40 | Сообщение # 1
Главный тут
Группа: Администраторы
Сообщений: 273
Репутация: 20
Статус: Offline
Not = λx.x?False:True
Xor = λx.λy.x?(Not y):y
And = λx.λy.x?y:False
Or = λx.λy.x?True:y

Inc = λn.λf.λx.f (n f x)
Add = λm.λn.λf.λx.m f (n f x)
Mul = λm.λn.λf.λx.m (Add n) 0
Pow = λm.λn.λf.λx.m (Mul n) 1

Dec = λn.fst (n (λx.<snd x, (Inc (snd x))>) (pair 0 0))
Sub = λm.λn.n Dec m
Div = λm.λn.m (λx.((Inc x)*n > m)?x:(Inc x)) 0

IsZero = λn.n (λx.False) True
IsOdd = λn.n Not False
IsLess = λm.λn.IsZero (Sub m n)
IsEqual = λm.λn.And (IsLess m n) (IsLess n m)

Fact = λn.fst (n (λp.<(fst p) * (snd p), Inc (snd p)>) 1)
Fib = λn.fst (n (λp.<(fst p) + (snd p), (snd p)>) <0, 1>)

 
NesДата: Понедельник, 28.12.2009, 19:03 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
Кстати Дима, что означает знак вопроса (?) в некоторых у тебя ответах
 
freidomДата: Понедельник, 28.12.2009, 19:32 | Сообщение # 3
Главный тут
Группа: Администраторы
Сообщений: 273
Репутация: 20
Статус: Offline
a?b:c = if a then b else c
<a, b> = \s.s a b
 
Форум » Билеты к экзаменам » Программирование » Обязательные к решению задачи
  • Страница 1 из 1
  • 1
Поиск:

Copyright Freidom © 2024 Хостинг от uCoz