# Αρχές Γλωσσών Προγραμματισμού (εργαστήριο 9)
### 27/5/2021
:::danger
Η συγκεκριμένη σελίδα μπορεί να χρησιμοποιηθεί για ερωτήσεις στην ώρα του μαθήματος.
:::
## Περιεχόμενο μαθήματος
Συναρτησιακός προγραμματισμός - γλώσσα Haskell
* [Glasgow Haskell Compiler](https://www.haskell.org/platform/)
Μπορείτε να χρησιμοποιήσετε και το διερμηνευτή της Haskell [Hugs](https://www.haskell.org/hugs/pages/downloading-May2006.htm) ο οποίος όμως δεν αναπτύσσεται πλέον.
## Πρόγραμμα μαθήματος
| Ώρα | Θέμα |
| --- | ---- |
|10:10-10:20| Εκφράσεις και βασικοί τύποι |
|10:20-10:30| Συναρτήσεις - αναδρομή |
|10:30-10:50| Αντιστοίχιση μοτίβων - φρουροί |
|10:50-11:00| [Άσκηση 1](#Άσκηση-1) |
|11:00-11:10| Διάλειμμα |
|11:10-11:20| Πλειάδες και λίστες |
|11:40-11:50| [Άσκηση 2](#Άσκηση-2) |
|11:20-11:30| Περιοχές τιμών, μη φραγμένες περιοχές τιμών, list comprehensions |
|11:40-11:50| [Άσκηση 3](#Άσκηση-3) |
|11:50-12:00| [Άσκηση 4](#Άσκηση-4)
### Άσκηση 1
Γράψτε μια συνάρτηση με όνομα myReverse που να δέχεται μια λίστα και να επιστρέφει τη λίστα αντεστραμμένη.
```
Prelude> myReverse [1, 2, 3]
[3, 2, 1]
```
### Άσκηση 2
Γράψτε μια συνάρτηση που να δημιουργεί ζεύγη με όλους τους πιθανούς συνδυασμούς δύο χρωμάτων από τα black, white, blue, yellow και red.
### Άσκηση 3
Γράψτε ένα list comprehension που να επιστρέφει την προπαίδεια για τον πολλαπλασιασμό των ακεραίων τιμών από 1 μέχρι και 10.
### Άσκηση 4
Λύστε το πρόβλημα του χρωματισμού χάρτη χρησιμοποιώντας την Haskell.
---
:::info
* Πάντα, κάνετε ερωτήσεις στο κάτω μέρος του εγγράφου, ακριβώς πάνω από εδώ
:::