----------------------------------------------------------------------------------------- A következő feladatsor (az utolsó kettő kivételével) példa arra, hogy a DP-nzh Erlang részében milyen "egyklózos" feladatokat kell megoldani. ----------------------------------------------------------------------------------------- Egyklózos nzh-mintafeladatok ============================ Az alábbi feladatok megoldására egy-egy *nemrekurzív* függvényt kell írnia, aminek egyetlen klózból kell állnia. A megírandó függvényeket az nzhms.erl mintasablon specifikálja. Önálló segédfüggvényt nem szabad definiálnia! Ha az eredményben az elemek sorrendjét a feladat nem írja elő, akkor ez a sorrend tetszőleges lehet. Az Erlang összes nyelvi eleme, az aritmetikai, logikai és összehasonlító műveletek, a típuskonverziós függvények és a beépített függvények (BIF-ek) használhatók; a 'lists' modulból a következő függvények használata van megengedve: append/2, filter/2, foldl/3, foldr/3, hd/1, last/1, map/2, member/2, nth/2, reverse/1, seq/2, seq/3, sort/1, sublist/3, subtract/2, tl/1, usort/1, zip/2, zip3/3. Törekedjék minél tömörebb megoldásra! f1. Az Xs bemenő paraméter számok listája. Az eredménylistában adja vissza az Xs lista 7-nél határozottan nagyobb elemeit, mégpedig az Xs-beli előfordulásukhoz képest fordított sorrendben! f2. Az Xs bemenő paraméter számok listája. Eredményül adja vissza az Xs-ben előforduló páros számok összegét! f3. Az Xs bemenő paraméter számok listája. Az eredménylistában adja vissza az összes olyan {A,B} párt, amelyre A és B az Xs listában közvetlenül szomszédos elemek (ebben a sorrendben), és amelyre A és B összege 5! f4. Az Xs bemenő paraméter számok listája. Az eredménylistában adja vissza az összes olyan számot egyszer felsorolva, amelyik legalább kétszer előfordul az Xs-ben. f5. Az Xss bemenő paraméter számok listájának listája. Eredményül adja vissza az Xss-ben előforduló legnagyobb értékű számot! A lists:flatten/1 és lists:flatten/2 függvényeket nem használhatja! Figyelem: Xss-ben pozitív és negatív számok is lehetnek! Bonyolultabb egyklózos példák ============================= A következő feladatok már túl összetettek ahhoz, hogy a zárhelyin elvárjuk a megoldásukat; azt illusztrálják, hogy funkcionális nyelven hogyan lehet megoldani hasonló jellegű feladatokat pár sorban, önálló segédfüggvény nélkül. e1. Az Xs bemenő paraméter számok listája. Az eredménylistában adja vissza az Xs szélsőértékeit az eredeti sorrendben, azaz azokat az elemeket, amelyeknek mindkét oldalán van szomszédja, és amelyek vagy mindkét közvetlen szomszédnál nagyobbak, vagy mindkettőnél kisebbek! e2. Az Xs bemenő paraméter számok listája. Az eredménylistában adja vissza az összes olyan {A,B,C} hármast, amelyre A, B és C az Xs listában (nem feltétlenül szomszédos elemekként) ebben a sorrendben előfordulnak, és amelyre A és C összege B! ------ $LastChangedDate: 2020-11-19 09:24:24 +0100 (Thu, 19 Nov 2020) $ --------