BME Villamosm�rn�ki �s Informatikai Kar
M�szaki informatika szak |
Nappali tagozat
2006/2007. tan�v, �szi f�l�v
|
�rjon olyan Prolog elj�r�st binoms/2
n�ven, amely
meghat�rozza az n-ed rend� binomi�lis egy�tthat�kat! (Az n-ed rend�
binomi�lis egy�tthat�k a
Pascal-h�romsz�g n-edik sor�nak elemei.)
A binoms/2
elj�r�s specifik�ci�ja a k�vetkez�:
% binoms(+N,?L): Az L lista az N-edrend� binomi�lis egy�tthat�kat tartalmazza, % azaz N+1 elem� �s (0-t�l sz�mozva) I-edik elem�nek �rt�ke "N alatt az I".
A jobbrekurz�v elj�r�sok kevesebb mem�ri�t ig�nyelnek, mint az egy�b rekurz�v elj�r�sok, ez�rt a feladat megold�sa sor�n jobbrekurz�v elj�r�sok �r�sa aj�nlott, �m ez nem k�telez�, a pontoz�sba nem sz�m�t bele.
A feladat megold�sa sor�n a gyors�t�s �rdek�ben szabad v�g�t �s felt�teles szerkezetet haszn�lni, �m ez sem k�telez�, a pontoz�sba nem sz�m�t bele.
| ?- set_prolog_flag(toplevel_print_options, [quoted(true),numbervars(true),portrayed(true),max_depth(20)]). yes /* a list�k mutat�sa 20 hossz�s�gig */ | ?- binoms(0, L). L = [1] ? ; no | ?- binoms(1, L). L = [1,1] ? ; no | ?- binoms(4, L). L = [1,4,6,4,1] ? ; no
binomstest.pl
n�ven):
:- consult('binoms'). :- \+ binoms(-1, L). :- findall(L, binoms(0, L), S), S == [[1]]. :- findall(L, binoms(1, L), S), S == [[1,1]]. :- findall(L, binoms(4, L), S), S == [[1,4,6,4,1]]. :- findall(L, binoms(10, L), S), S == [[1,10,45,120,210,252,210,120,45,10,1]]. :- findall(L, binoms(16, L), S), S == [[1,16,120,560,1820,4368,8008,11440,12870,11440,8008,4368,1820,560,120,16,1]].
Ha a binomstest.pl
programot a k�rnyezet hiba n�lk�l bet�lti
(pl. a sicstus -l binomstest.pl
vagy az swipl -s
binomstest.pl
parancs hat�s�ra), akkor a binoms.pl
-ben nincs
szintaktikai hiba, �s a binomstest.pl
-ben le�rt tesztesetek is
hib�tlanul futottak le.
A programot az Elektronikus Tan�rseg�d seg�ts�g�vel weben kereszt�l lehet beadni, a HF bead�s men�pont alatt. A m�dos�tott bead�si hat�rid� 2006. december 12., kedd 24:00 (eredetileg dec. 8. volt).
A vizsgaoszt�lyzat meg�llap�t�sakor a hat�rid�re beadott, helyesen megoldott kis h�zi feladat�rt plusz 1 pont j�r.