Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, παιδιά !

 Παίζοντας πάλι λίγο με την 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 και μάλιστα σε δύο διαδοχικούς μήνες. Γενικά παρατηρώ ότι το πιο σύνηθες είναι να πέφτουν μία ή δύο τέτοιες μέρες μέσα σ' ένα έτος.

Σας ευχαριστώ πολύ που έχετε την υπομονή να διαβάζετε τέτοια μηνύματα !

Να ζήσουν οι γρουσούζηδες !!!

Μην πιστεύετε σε κάτι τέτοια, πλάκα κάνω...!

Ο Άσπρος Γάτος

 

  • Like 7

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...