Difference between revisions of "FP Laboratory 6"

From Marek Běhálek Wiki
Jump to navigation Jump to search
Line 4: Line 4:
 
*Create a function that print
 
*Create a function that print
 
<syntaxhighlight lang="Haskell">zoom :: Int -> Pic -> Pic</syntaxhighlight>
 
<syntaxhighlight lang="Haskell">zoom :: Int -> Pic -> Pic</syntaxhighlight>
 +
 +
== Complex function - Huffman Codes ==
 +
 +
*Create a function that will compute Huffman codes for a given list of characters and their frequencies.
 +
<syntaxhighlight lang="Haskell">huffman :: [(Char, Int)] -> [(Char, String)]</syntaxhighlight>
 +
<syntaxhighlight lang="Haskell" class="myDark">
 +
*Main>  huffman [('a',45),('b',13),('c',12),('d',16),('e',9),('f',5)]
 +
[('a',"0"),('b',"101"),('c',"100"),('d',"111"),('e',"1101"),('f',"1100")]
 +
</syntaxhighlight>

Revision as of 15:28, 17 September 2019

Operators

  • Define following functions that performs corresponding logic operations: not', and', or', nand', xor', impl', equ'
  • Define the 'standard' priority for all these functions, if they are used as operators.
  • Create a function that print
zoom :: Int -> Pic -> Pic

Complex function - Huffman Codes

  • Create a function that will compute Huffman codes for a given list of characters and their frequencies.
huffman :: [(Char, Int)] -> [(Char, String)]
*Main>  huffman [('a',45),('b',13),('c',12),('d',16),('e',9),('f',5)]
[('a',"0"),('b',"101"),('c',"100"),('d',"111"),('e',"1101"),('f',"1100")]