Καλησπέρα παιδιά !
Είναι η πρώτη φορά που γράφω στον ιστότοπο αυτό και παίζοντας λίγο με τη γλώσσα προγραμματισμού Prolog, είπα να φτιάξω ένα κατηγόρημα που ίσως να βοηθάει λίγο τους προληπτικούς, ή να προστατεύει τους γρουσούζηδες από κρίσιμες αποφάσεις σε συγκεκριμένες μέρες.
Το κατηγόρημα λέγεται find_unlucky_days και δέχεται ως όρισμα κάποιο έτος. Υπολογίζει πόσες φορές εντός του συγκεκριμένου έτους πέφτει Τρίτη και 13.
Για παράδειγμα αν δώσουμε find_unlucky_days(2019) η Prolog απαντά ως εξής :
Tuesday August 13 2019
Αν μέσα σ' ένα συγκεκριμένο έτος δεν είχαμε καμία Τρίτη και 13 απλά απαντά false.
Επίσης έχω γράψει ακόμα έναν ορισμό του ίδιου κατηγορήματος με δύο παραμέτρους, find_unlucky_days(Year1, Year2) ώστε να υπολογίζει πόσες φορές θα έχουμε Τρίτη και 13 ανάμεσα σε δύο συγκεκριμένα έτη.
Κώδικας :
convert_month(1,"January").
convert_month(2,"February").
convert_month(3,"March").
convert_month(4,"April").
convert_month(5,"May").
convert_month(6,"June").
convert_month(7,"July").
convert_month(8,"August").
convert_month(9,"September").
convert_month(10,"October").
convert_month(11,"November").
convert_month(12,"December").
fud(Year,Month) :- day_of_the_week(date(Year,Month,13),2).
find_unlucky_days(Year) :-
between(1,12,M),fud(Year,M),
convert_month(M,Str),
write("Tuesday "),write(Str),write(" 13 "),write(Year),nl.
find_unlucky_days(Year1,Year2) :- between(Year1,Year2,Y), find_unlucky_days(Y).
Αν θέλετε να βρείτε τις Παρασκευές και 13 αντί τις Τρίτες, απλά κάνετε τις εξής 2 αλλαγές :
- Εκεί που λέει day_of_the_week(date(Year,Month,13),2) αλλάξτε το 2 πριν την παρένθεση και κάντε το 5.
- Στην προτελευταία γραμμή του κώδικα αλλάξτε τη λέξη Tuesday σε Friday.
Έτσι λοιπόν δίνοντας στην Prolog την εντολή find_unlucky_days(2020,2030) βρίσκω ότι για την επόμενη δεκαετία οι χαρακτηριστικές μέρες θα είναι :
- Τρίτη 13 Οκτωβρίου 2020
- Τρίτη 13 Απριλίου 2021
- Τρίτη 13 Ιουλίου 2021
- Τρίτη 13 Σεπτεμβρίου 2022
- Τρίτη 13 Δεκεμβρίου 2022
- Τρίτη 13 Ιουνίου 2023
- Τρίτη 13 Φεβρουαρίου 2024
- Τρίτη 13 Αυγούστου 2024
- Τρίτη 13 Μαΐου 2025
- Τρίτη 13 Ιανουαρίου 2026
- Τρίτη 13 Οκτωβρίου 2026
- Τρίτη 13 Απριλίου 2027
- Τρίτη 13 Ιουλίου 2027
- Τρίτη 13 Ιουνίου 2028
- Τρίτη 13 Φεβρουαρίου 2029
- Τρίτη 13 Μαρτίου 2029
- Τρίτη 13 Νοεμβρίου 2029
- Τρίτη 13 Αυγούστου 2030
Άρα το πιο γρουσούζικο έτος είναι το 2029 γιατί πέφτει τρεις φορές Τρίτη και 13 και μάλιστα σε δύο διαδοχικούς μήνες. Γενικά παρατηρώ ότι το πιο σύνηθες είναι να πέφτουν μία ή δύο τέτοιες μέρες μέσα σ' ένα έτος.
Βασικός στόχος μου με αυτή την ανάρτηση εκτός απ’ το αστείο της υπόθεσης είναι να γνωριστώ με άλλα μέλη του forum που χρησιμοποιούν την εν λόγω γλώσσα προγραμματισμού και να δω κυρίως αν η Prolog έχει σήμερα επαγγελματική χρήση στην Ελλάδα.
Σας ευχαριστώ πολύ και αναμένω εντυπώσεις !
Ο Άσπρος Γάτος
Εμφάνιση 1-5 από 5
-
13-10-19, 19:04 Προγραμματισμός για προληπτικούς και γρουσούζηδες #1
-
13-10-19, 19:18 Απάντηση: Προγραμματισμός για προληπτικούς και γρουσούζηδες #2
Καλησπέρα άσπρε γάτε και καλωσόρισες,
Δεν την είχα ξανακούσει την prolog αλλά για δεν νομίζω να είναι και πολύ επαγγελματική. Θέλω να πω, κι άλλες το κάνουν αυτό.
-
13-10-19, 19:28 Απάντηση: Προγραμματισμός για προληπτικούς και γρουσούζηδες #3
-
14-10-19, 13:23 Απάντηση: Προγραμματισμός για προληπτικούς και γρουσούζηδες #4
5 πατερημά και μετάννοια στο άγιο όρος.
Η prolog είναι, μαζί με την lisp αυτό που εννοούσε ο κόσμος όταν έλεγε AI τη δεκαετία του 90.
- - - Updated - - -
Γειά σου γάτε, βάλτα σε
Κώδικας:[ c o d e ] Κώδιξ εδώ [/ c o d e]
-
16-10-19, 21:30 Απάντηση: Προγραμματισμός για προληπτικούς και γρουσούζηδες #5
Τα είπαμε στο διπλανό forum τα λέμε και εδώ. Καλώς όρισες. Μόνο πες μας θα γράφεις τα ίδια και στα δυο ή θα μας εκπλήσσεις διαδοχικά. Οποίος ασχολείται με AI ακαδημαϊκά θα έχει ακούσει - γράψει σε PROLOG. Ο Άσπρος Γάτος είναι ένας από αυτούς που γνωρίζουν καλά την γλώσσα και τα κατηγορήματα του - αν και προχωρημένα μερικές φορές - είναι για μάθημα.
Η μαγεία της ανάδρομης στην τελευταία γραμμή του κώδικα.
Bookmarks