Първото ще е на 16 декекмври 2006г., второто - на 13 януари 2007г.
И двете са в събота, от 10:00 часа в 210-а зала на ХФ.
Thursday, November 16, 2006
Малко информация за първото контролно по Функционално...
Значи контролното е на 22 ноември (сряда), по време на лекциите,
като преподавателката каза, че можем ако искаме даже да си ползваме
междучасия ( 2 при това!, второто от 14:00 до 14:15 и да продължим после) .
Задачите ще са 3 или 4, още не са ги измислили, та затова не се знае още.
Материалът е от #1 до #6 глава в книжката на Магда.
А да знаете, че #7 глава ще я пропуснем и няма да я взимаме, да не се излъже някой да я учи :)
като преподавателката каза, че можем ако искаме даже да си ползваме
междучасия ( 2 при това!, второто от 14:00 до 14:15 и да продължим после) .
Задачите ще са 3 или 4, още не са ги измислили, та затова не се знае още.
Материалът е от #1 до #6 глава в книжката на Магда.
А да знаете, че #7 глава ще я пропуснем и няма да я взимаме, да не се излъже някой да я учи :)
Wednesday, November 08, 2006
решения на задачите по ф.пр.
1. зад:
(define (sum-rec n)
(if (= n 1) 0
(+ (/ (- n 1) n) (sum-rec (- n 1)))))
(define (sum-iter n)
(define (tmp count rez)
(if (> count n) rez (tmp (+ count 1) (+ rez (- 1 (/ 1 count))))))
(tmp 2 0))
зад.2:
(define (list-primes a b)
(define (prime? x)
(define (tmp delitel)
(if (> delitel (/ x 2)) #t
(if (= (modulo x delitel) 0) #f
(tmp (+ 1 delitel)) ) ) )
(tmp 2) )
(if (>= b a) (cond ((< a 2)(list-primes 2 b))
((prime? a )
(display a)(display " ")(list-primes (+ a 1) b)
)
(else (list-primes (+ a 1) b))
) ) )
зад.3:
( define (reverse x)
( define (tmp a rez)
( if (= a 0) rez (tmp (floor(/ a 10)) (+ (* rez 10) (modulo a 10) ) ) )
)
(tmp x 0)
)
зад. 4:
(define (sum-list a b c)
(define (sum x rez)
(if (= x 0) rez (sum (floor(/ x 10)) (+ rez (modulo x 10))))
)
(cond ( (and (<= a b) (= c (sum a 0)))
(display a) (display " ") (sum-list (+ a 1) b c )
)
( (<= a b )
(sum-list (+ a 1) b c )
) ))
Задачите достигат до вас с любезната помощ на Камен :))))))
(define (sum-rec n)
(if (= n 1) 0
(+ (/ (- n 1) n) (sum-rec (- n 1)))))
(define (sum-iter n)
(define (tmp count rez)
(if (> count n) rez (tmp (+ count 1) (+ rez (- 1 (/ 1 count))))))
(tmp 2 0))
зад.2:
(define (list-primes a b)
(define (prime? x)
(define (tmp delitel)
(if (> delitel (/ x 2)) #t
(if (= (modulo x delitel) 0) #f
(tmp (+ 1 delitel)) ) ) )
(tmp 2) )
(if (>= b a) (cond ((< a 2)(list-primes 2 b))
((prime? a )
(display a)(display " ")(list-primes (+ a 1) b)
)
(else (list-primes (+ a 1) b))
) ) )
зад.3:
( define (reverse x)
( define (tmp a rez)
( if (= a 0) rez (tmp (floor(/ a 10)) (+ (* rez 10) (modulo a 10) ) ) )
)
(tmp x 0)
)
зад. 4:
(define (sum-list a b c)
(define (sum x rez)
(if (= x 0) rez (sum (floor(/ x 10)) (+ rez (modulo x 10))))
)
(cond ( (and (<= a b) (= c (sum a 0)))
(display a) (display " ") (sum-list (+ a 1) b c )
)
( (<= a b )
(sum-list (+ a 1) b c )
) ))
Задачите достигат до вас с любезната помощ на Камен :))))))
Friday, October 27, 2006
Ф.Пр. домашно I
Функционално програмиране, Домашна работа № 1
(зимен семестър на учебната 2006/2007 г.)
спец. Информатика, III курс, група 8
Задача 1: Да се напишат две процедури – sum-rec и sum-iter, които по зададено естествено число n пресмятат сумата
1/2 + 2/3 + ... +(n-1)/n
съответно използвайки рекурсивен и итеративен процес.
Задача 2:
Да се напише процедурата list-primes, която по зададени естествени числа a и b извежда всички прости числа в интервала [a, b].
Задача 3:
Да се напише процедурата reverse, която обръща цифрите в десетичния запис на дадено естествено число n. (т.е. f(123) = 321)
Задача 4:
Да се напише процедурата list-sum, която по зададени естествени числа a, b и c извежда всички естествени числа от интервала [a, b], за които сумата от цифрите им е равна на c.
Пример:
(list-sum 10 20 5) -> 14
(list-sum 10 50 5) -> 14, 23, 32, 41, 50
Забележка: За извеждане на текст в Scheme може да използвате процедурата display:
(display “Hello World”)
(display x)
(зимен семестър на учебната 2006/2007 г.)
спец. Информатика, III курс, група 8
Задача 1: Да се напишат две процедури – sum-rec и sum-iter, които по зададено естествено число n пресмятат сумата
1/2 + 2/3 + ... +(n-1)/n
съответно използвайки рекурсивен и итеративен процес.
Задача 2:
Да се напише процедурата list-primes, която по зададени естествени числа a и b извежда всички прости числа в интервала [a, b].
Задача 3:
Да се напише процедурата reverse, която обръща цифрите в десетичния запис на дадено естествено число n. (т.е. f(123) = 321)
Задача 4:
Да се напише процедурата list-sum, която по зададени естествени числа a, b и c извежда всички естествени числа от интервала [a, b], за които сумата от цифрите им е равна на c.
Пример:
(list-sum 10 20 5) -> 14
(list-sum 10 50 5) -> 14, 23, 32, 41, 50
Забележка: За извеждане на текст в Scheme може да използвате процедурата display:
(display “Hello World”)
(display x)
Wednesday, October 25, 2006
Ебем го функционално...
Днеска пуснаха някво малко контролно - една задачка за 15 мин в първия час на лекцията по фекално програмиране. Даскалицата каза накря, че било само за наш си самоконтрол , което не пречеше да се изпотя 3 пъти докато го писах. Разцепиха ни на 2 групи - едната решава задачата рекурсивно, другата итеративно. Нямам си идея дали ше ни го тури в края на семестъра, с тея изненадващи контролни, ама ако имате време идвайте поне за 1-вия час. Толкоз от мен. Peace out there, pimps and hoes.
Thursday, October 12, 2006
ИО упражнения
Днес на упражненията по ИО пуснаха списък. Така ще е през седмица (т.е. всеки път когато имаме семинарни). На компютръните списъци няма да има, а и те повтарят дословно публикуваните вече в интернет.
Wednesday, October 11, 2006
Ф.Пр. контролни
Вече са известни датите на големите контролни по функционално.
K1 - 22.11.2006
K2 - 10.01.2007
Препоръчаната ни среда за програмиране е dr.scheme
K1 - 22.11.2006
K2 - 10.01.2007
Препоръчаната ни среда за програмиране е dr.scheme
Subscribe to:
Posts (Atom)