En aquest tema, explorarem els tipus de dades bàsics en Haskell. Els tipus de dades són fonamentals per a qualsevol llenguatge de programació, ja que defineixen la naturalesa de les dades que es poden manipular. Haskell, com a llenguatge de programació funcional, té un sistema de tipus molt ric i potent.

Contingut

Tipus de Dades Primitius

Els tipus de dades primitius són els tipus de dades més bàsics i fonamentals en Haskell. Aquests inclouen:

  • Enter (Int, Integer)
  • Coma flotant (Float, Double)
  • Caràcter (Char)
  • Cadena de caràcters (String)
  • Booleà (Bool)

Enter (Int, Integer)

  • Int: Un enter de mida fixa. La mida depèn de la implementació, però sovint és de 32 o 64 bits.
  • Integer: Un enter de mida arbitrària. Pot emmagatzemar nombres molt grans, però és menys eficient que Int.
-- Exemple d'Int
x :: Int
x = 42

-- Exemple d'Integer
y :: Integer
y = 12345678901234567890

Coma flotant (Float, Double)

  • Float: Un nombre de coma flotant de precisió simple.
  • Double: Un nombre de coma flotant de precisió doble.
-- Exemple de Float
a :: Float
a = 3.14

-- Exemple de Double
b :: Double
b = 2.718281828459045

Caràcter (Char)

  • Char: Representa un únic caràcter Unicode.
-- Exemple de Char
c :: Char
c = 'A'

Cadena de caràcters (String)

  • String: Una llista de caràcters ([Char]).
-- Exemple de String
s :: String
s = "Hola, món!"

Booleà (Bool)

  • Bool: Pot ser True o False.
-- Exemple de Bool
flag :: Bool
flag = True

Tipus de Dades Compostos

Els tipus de dades compostos permeten agrupar múltiples valors en una sola estructura. Els més comuns són:

  • Tuples
  • Llistes

Tuples

Les tuples permeten agrupar múltiples valors de diferents tipus en una sola unitat.

-- Exemple de tuple
t :: (Int, String, Bool)
t = (42, "Hola", True)

Llistes

Les llistes són col·leccions de valors del mateix tipus.

-- Exemple de llista
lst :: [Int]
lst = [1, 2, 3, 4, 5]

Conversió de Tipus

En Haskell, és possible convertir entre diferents tipus de dades utilitzant funcions de conversió.

Exemple de Conversió

-- Convertir un Int a un Float
intToFloat :: Int -> Float
intToFloat x = fromIntegral x

-- Convertir un Float a un String
floatToString :: Float -> String
floatToString x = show x

Exercicis Pràctics

Exercici 1: Definir Variables

Defineix variables dels següents tipus: Int, Float, Char, String, Bool.

-- Solució
myInt :: Int
myInt = 10

myFloat :: Float
myFloat = 3.14

myChar :: Char
myChar = 'H'

myString :: String
myString = "Haskell"

myBool :: Bool
myBool = False

Exercici 2: Treballar amb Tuples

Defineix una tuple que contingui un Int, un String i un Bool. Després, escriu una funció que retorni el segon element de la tuple.

-- Solució
myTuple :: (Int, String, Bool)
myTuple = (1, "Hello", True)

secondElement :: (Int, String, Bool) -> String
secondElement (_, y, _) = y

Exercici 3: Treballar amb Llistes

Defineix una llista de Int i escriu una funció que retorni la suma de tots els elements de la llista.

-- Solució
myList :: [Int]
myList = [1, 2, 3, 4, 5]

sumList :: [Int] -> Int
sumList = sum

Conclusió

En aquesta secció, hem après sobre els tipus de dades bàsics en Haskell, incloent-hi els tipus primitius i compostos. També hem vist com convertir entre diferents tipus de dades i hem practicat amb alguns exercicis. Aquests conceptes són fonamentals per a la programació en Haskell i ens preparen per a temes més avançats.

© Copyright 2024. Tots els drets reservats