Thursday, November 16, 2006

Дати за контролните по ТВМС

Първото ще е на 16 декекмври 2006г., второто - на 13 януари 2007г.
И двете са в събота, от 10:00 часа в 210-а  зала на ХФ.

Малко информация за първото контролно по Функционално...

Значи контролното е на 22 ноември (сряда), по време на лекциите,
като преподавателката каза, че можем ако искаме даже да си ползваме
междучасия ( 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 )
) ))


Задачите достигат до вас с любезната помощ на Камен :))))))

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)

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