Skip To Content
    Dashboard
    • Login
    • Dashboard
    • Courses
    • Calendar
    • 0
      Inbox
    Close
    • My Dashboard
    • Assignments
    • Típusok
    • Home
    • Assignments
    • Files
    • Syllabus

    Típusok

    • Due May 21, 2023 by 11:59pm
    • Points 10
    • Submitting a file upload

    Az alábbi feladatok közül az első kettő 1-1 pontot ér, a 4-es 2 pontot valamint a 3. és 5. feladat 3-3 pontot.

    1. Nevesített típusok

    • Definiáljuk a String típust mint karakterek listáját!
    • Definiáljuk a Year típust mint egész számot!
    • Definiáljuk a sakktábla mezőit mint karakter + egész párokat!

    2. Paraméterezett nevesített típusok

    • Definiáljuk a két mélységű listákat!
    • Definiáljuk a két dimenziós pontokat általában!

    3. Algebrai adattípusok

    • Definiáljuk a kiterjesztett Answer típust, melynek lehetséges válaszai: Yes, No, Maybe!
      • Implementáljuk a logikai és függvényt az Answer típusra!
      • Implementáljuk a logikai vagy függvényt az Answer típusra!
    • Definiáljuk a négy égtájat!
      • Implementáljuk a 90 fokos balra fordulást!
      • Implementáljuk a 90 fokos jobbra fordulást!
      • Implementáljuk a 180 fokos fordulást!
    • Definiáljuk a bitet!
    • Definiáljuk a bináris számokat, mint bitek listáját (type kulcsszóval)!
      • [One, One] :: Binary
      • [Zero, Zero, One] :: Binary
    • Instanciáljuk a típusra Show típusosztályt, mely fordított sorrendben írja ki a számsort (így könnyebb az összeadás).
    • Implementáljuk a plus1 függvényt ami megmondja milyen szám a következő!
      • plus1 [One, One] ⇒ [Zero, Zero, One] :: Binary
    • Implementáljuk az összeadást!
      • [Zero, One] `add` [One, One] ⇒ [One, Zero, One] :: Binary

    4. Paraméterezett algebrai adattípusok

    • Implementáljuk a biztonságos div függvényt!
      • safeDiv :: Integral a => a -> a -> Maybe a
      • 10 `safeDiv` 0 ⇒ Nothing :: Maybe Integer
      • 10 `safeDiv` 4 ⇒ Just 2 :: Maybe Integer
    • Implementáljuk a biztonságos fejelem (head) függvényt!
    • Definiáljuk a párokat (két elemű tuple típust)!
    • Definiáljuk a hármasokat!

    5. Rekurzív algebrai adattípusok

    Definiáljuk az imperatív nyelvekből ismerős tömbök fogalmát egy quad-fa adatstruktúrával (minden csomópont négybe ágazik).

    [1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8] ⇒ Array (Array (1, 3, 2, 4) Array (3, 5, 4, 6) Array (5, 7, 6, 8) Empty)

    Implementáljuk az alábbi tipikus tömbműveleteket:

    • Egy adott méretű tömb létrehozása
    • A tömb egy elemének a felülírása
    • A tömb egy elemének a kiolvasása

     

    1684702740 05/21/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?