Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Haskell
Перезагрузить страницу Определите корректную функцию diff
Ответ
 
Опции темы Опции просмотра
  (#31 (permalink)) Старый
ahil903 ahil903 вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.10.2012
По умолчанию 10.10.2012, 00:56

Цитата:
Сообщение от calabi-yau Посмотреть сообщение
хм, Hugs используете?
Ага, его)

Теперь всё стало ясно, спасибо вам, добрый альтруист
Ответить с цитированием
  (#32 (permalink)) Старый
ahil903 ahil903 вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.10.2012
По умолчанию 30.10.2012, 23:30

Оказывается, не всё понятно)
Не могли бы вы объяснить механизм работы fix', никак не могу понять, что он делает

Последний раз редактировалось ahil903; 31.10.2012 в 00:21
Ответить с цитированием
  (#33 (permalink)) Старый
calabi-yau calabi-yau вне форума
Member
 
Сообщений: 338
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 10 сообщениях
Регистрация: 28.09.2009
По умолчанию 31.10.2012, 15:25

Цитата:
Сообщение от ahil903 Посмотреть сообщение
Не могли бы вы объяснить механизм работы fix', никак не могу понять, что он делает
применяет некоторую функцию f к результату применения самой себя до тех пор, пока не станет справедливым равенство:
haskell Код:
f x = x
т.к когда функция будет отображать аргумент в себя же.

Например функция simplify, пусть дано выражение
haskell Код:
Add (Mul (Const' 0) (Const' 1)) (Const' 2)
после первого применения go мы получим
haskell Код:
Add (Const' 0) (Const' 2)
очевидно это выражение можно упростить - применяем его к go и получаем:
haskell Код:
Const' 2
далее применяя Const' 2 к go мы опять получим:
haskell Код:
Const' 2
что является критерием останова.


Don't fear the Monad
Ответить с цитированием
  (#34 (permalink)) Старый
FeonoR FeonoR вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.05.2013
По умолчанию 30.05.2013, 11:02

Здравствуйте, не могли бы вы мне помочь.
Так же делаю данную лабораторную.. но преподаватель поставил в тупик меня:

Подскажите, как реализовать такой механизм упрощения (т.е. дополнить функцию simplify):
Подаётся выражение типа х+х+х+х и т.д. нужно привести в нём подобные слагаемые и получить выражение типа : Mult (Const n)(Var "x")
Я понимаю что тривиальный случай такой:
simplify (Add x y) |x==y = Mult(Const 2) (x)
Но как его расширить для случая 3 и более не доходит до меня :(

И второе, подскажите где ошибка:

haskell Код:
max3 a b c = if (a>b)&&(a>c) then a else if (b>a)&&(b>c) then b else c

m3 :: IO ()
m3= do putStr "Enter first number\n"
********a <- readLn
********putStr "Enter second number\n"
********b <- readLn
********putStr "Enter third number\n"
********c <- readLn
********putStr ("The sum is "++ show(max3 (a b c))++"\n")
Ругается на последнюю строчку. Я уже что только не пробовал, ну не могу я вывести результат функции...

Заранее спасибо.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определите функцию getTitle , возвращающую название товара sheldon Haskell 5 16.12.2011 12:26
Определите функцию APPEND, объединяющую два списка dudy Lisp 7 17.05.2011 22:53
Определите функцию, переворачивающую список deman Lisp 5 06.05.2011 16:37
Определите рекурсивную функцию MBR Pavel123 Lisp 0 20.12.2010 17:58
Определите функцию (f s), которая вычисляет список mario[x] Lisp 4 09.12.2010 15:37
Определите функцию (FIB N), вычисляющую N-й элемент последовательности Фибоначчи PATRI0T Lisp 4 08.11.2010 17:24
Определите функцию, удаляющую заданный элемент из списка Жасмин Lisp 1 26.10.2010 21:42
Определите функцию, зависящую от двух аргументов u и v lenochka90 Lisp 1 24.09.2010 14:21
Определите функцию, принимающую на вход целое число n AntiSemit Haskell 2 18.12.2009 17:54
Определите функцию (LINEN n), печатающую n раз квадрат 2*2 звездочками Чебурашка Lisp 1 12.12.2009 16:45
Определите функцию, зависящую от одного аргумента MaMasha Lisp 3 24.11.2009 13:44
С помощью предложений COND или CASE определите функцию imported_Irinka Lisp 2 15.05.2004 11:05



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов