Skip To Content
    Dashboard
    • Login
    • Dashboard
    • Courses
    • Calendar
    • 0
      Inbox
    Close
    • My Dashboard
    • Assignments
    • Magasabbrendű függvények
    • Home
    • Assignments
    • Files
    • Syllabus

    Magasabbrendű függvények

    • Due Apr 23, 2023 by 11:59pm
    • Points 10
    • Submitting a file upload

    1. Alapfüggvények
    (5 pont)

    Implementáljátok a funkcionális nyelveknek alábbi alapfüggvényeit:

    takeWhile :: (a -> Bool) -> [a] -> [a]

    Visszatéríti egy lista elejéről az elemeket mindaddig, amíg egyik nem felel meg már egy adott feltételnek.
    takeWhile (<5) [1,2,3,4,5,6,5,4,3,2] ⇒ [1, 2, 3, 4]

    dropWhile :: (a -> Bool) -> [a] -> [a]

    Levágja egy lista elejéről az elemeket mindaddig, amíg egyik nem felel meg már egy adott feltételnek, majd a többit visszatéríti.
    dropWhile (<5) [1,2,3,4,5,6,5,4,3,2] ⇒ [5, 6, 5, 4, 3, 2]

    iterate :: (a -> a) -> a -> [a]

    Egy végtelen listát készít, melynek adott kezdőértékből indul, és minden elem az előtte levő elemnek egy függvény alkalmazása.
    take 10 (iterate (*2) 1) ⇒ [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

    all :: (a -> Bool) -> [a] -> Bool

    Leellenőrzi, hogy egy lista minden eleme megfelel-e adott feltételnek.
    all even [2,4..10] ⇒ True

    any :: (a -> Bool) -> [a] -> Bool

    Leellenőrzi, hogy egy listának létezik-e olyan eleme, mely megfelel adott feltételnek.
    any even [1..10] ⇒ True

     

    2. Funkcionális minták alkalmazásai
    -- használjátok a magasabbrendű függvényeket --
    (5p)

    deleteAll :: Eq a => a -> [a] -> [a]

    deleteAll e list -- törli az összes 'e' elemet a 'list' listából.
    Pl. deleteAll 'a' "almaafaalatt" = "lmfltt"

    countAll :: Eq a => a -> [a] -> Int

    countAll e list -- megszámolja az 'e' elem előfordulását a 'list' listában.
    Pl. countAll 'a' "almaafaalatt" = 6

    histogram ::  Eq a => [a] -> [(a,Int)]

    histogram list -- a 'list' elem-gyakoriság párosait téríti vissza.
    Pl histogram "almaafaalatt"  = [('a',6),('l',2),('m',1),('f',1),('t',2)]

    permInv :: [Int] -> [Int]

    permInv list -- visszatéríti a lista -- mint permutáció -- inverzét.
    Pl. permInv [5,6,1,2,4,3] = [ 3, 4, 6, 5, 1, 2]

    1682283540 04/23/2023 11:59pm
    Additional Comments:
    Rating max score to > pts

    Rubric

     
     
     
     
     
         
    Can't change a rubric once you've started using it.  
    Find a Rubric
    Find Rubric
    Title
    You've already rated students with this rubric. Any major changes could affect their assessment results.
    Title
    Criteria Ratings Pts
    Edit criterion description Delete criterion row
    This criterion is linked to a Learning Outcome Description of criterion
    view longer description
    threshold: 5 pts
    Edit rating Delete rating
    5 to >0 pts
    Full Marks
    blank
    Edit rating Delete rating
    0 to >0 pts
    No Marks
    blank_2
    This area will be used by the assessor to leave comments related to this criterion.
    pts
      / 5 pts
    --
    Additional Comments
    Total Points: 5 out of 5
    In order to create video or audio recordings your computer needs to be webcam-enabled. If you don't have a webcam on your computer, you can still record audio-only messages by first installing the Google Video Chat plugin.
    Install the Video Plugin
    Don't have a webcam?