Εμφάνιση 1-5 από 5
  1. #1
    Εγγραφή
    13-10-2019
    Περιοχή
    Σε διαμέρισμα
    Μηνύματα
    1
    Downloads
    0
    Uploads
    0
    Τύπος
    Other / Άλλο
    Ταχύτητα
    4096/1024
    ISP
    COSMOTE
    Router
    Huawei 4G
    Καλησπέρα παιδιά !

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

    Σας ευχαριστώ πολύ και αναμένω εντυπώσεις !

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

  2. #2
    Εγγραφή
    01-01-2018
    Περιοχή
    Φόρουμ 24/7
    Μηνύματα
    1.674
    Downloads
    2
    Uploads
    2
    Τύπος
    ADSL
    ISP
    HOL
    Καλησπέρα άσπρε γάτε και καλωσόρισες,

    Δεν την είχα ξανακούσει την prolog αλλά για δεν νομίζω να είναι και πολύ επαγγελματική. Θέλω να πω, κι άλλες το κάνουν αυτό.
    Ας τολμήσει κανείς να με προκαλέσει στις "τελίτσες"
    Ένα π.μ αρκεί.

  3. #3
    Εγγραφή
    04-05-2003
    Περιοχή
    Λάρισα
    Μηνύματα
    4.482
    Downloads
    9
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Wind
    DSLAM
    Wind - ΑΚΑΔΗΜΙΑ
    Router
    TG789vac V2
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Καλησπέρα άσπρε γάτε και καλωσόρισες,

    Δεν την είχα ξανακούσει την prolog αλλά για δεν νομίζω να είναι και πολύ επαγγελματική. Θέλω να πω, κι άλλες το κάνουν αυτό.
    Άλλο είμαι pro στο pro και άλλο professional (επαγγελματική) χρήση.

  4. #4
    Εγγραφή
    17-03-2003
    Περιοχή
    Ηράκλειο Κρήτης
    Μηνύματα
    2.286
    Downloads
    6
    Uploads
    0
    Ταχύτητα
    11050/648
    ISP
    COSMOTE
    Router
    OTE Oxygen Multigateway
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Καλησπέρα άσπρε γάτε και καλωσόρισες,

    Δεν την είχα ξανακούσει την prolog αλλά για δεν νομίζω να είναι και πολύ επαγγελματική. Θέλω να πω, κι άλλες το κάνουν αυτό.
    5 πατερημά και μετάννοια στο άγιο όρος.

    Η prolog είναι, μαζί με την lisp αυτό που εννοούσε ο κόσμος όταν έλεγε AI τη δεκαετία του 90.

    - - - Updated - - -

    Παράθεση Αρχικό μήνυμα από White_Cat Εμφάνιση μηνυμάτων
    Καλησπέρα παιδιά !

    Είναι η πρώτη φορά που γράφω στον ιστότοπο αυτό και παίζοντας λίγο με τη γλώσσα προγραμματισμού Prolog, είπα να φτιάξω ένα κατηγόρημα που ίσως να βοηθάει λίγο τους προληπτικούς, ή να προστατεύει τους γρουσούζηδες από κρίσιμες αποφάσεις σε συγκεκριμένες μέρες.
    Το κατηγόρημα λέγεται find_unlucky_days και δέχεται ως όρισμα κάποιο έτος. Υπολογίζει πόσες φορές εντός του συγκεκριμένου έτους πέφτει Τρίτη και 13.
    Για παράδειγμα αν δώσουμε find_unlucky_days(2019) η Prolog απαντά ως εξής :

    Tuesday August 13 2019

    Αν μέσα σ' ένα συγκεκριμένο έτος δεν είχαμε καμία Τρίτη και 13 απλά απαντά false.
    Επίσης έχω γράψει ακόμα έναν ορισμό του ίδιου κατηγορήματος με δύο παραμέτρους, find_unlucky_days(Year1, Year2) ώστε να υπολογίζει πόσες φορές θα έχουμε Τρίτη και 13 ανάμεσα σε δύο συγκεκριμένα έτη.

    Κώδικας :

    Ο Άσπρος Γάτος
    Γειά σου γάτε, βάλτα σε
    Κώδικας:
    [ c o d e ] Κώδιξ εδώ [/ c o d e]
    τους κώδικες σου για να διαβάζονται καλύτερα (χωρίς τα κενά ανάμεσα)
    Intel i7 Skylake, Nvidia GTX1080Ti - Arch Linux/Windows 10
    Lenovo Thinkpad T470s - Ubuntu 19.04
    iMac G5 - Leaky MB capacitors

  5. #5
    Εγγραφή
    24-06-2003
    Περιοχή
    ΜΑΡΟΥΣΙ
    Ηλικία
    46
    Μηνύματα
    73
    Downloads
    32
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    51200/5120
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΜΑΡΟΥΣΙ
    Router
    Speedport W 724V
    SNR / Attn
    19,6(dB) / 28,6(dB)
    Path Level
    Interleaved
    Τα είπαμε στο διπλανό forum τα λέμε και εδώ. Καλώς όρισες. Μόνο πες μας θα γράφεις τα ίδια και στα δυο ή θα μας εκπλήσσεις διαδοχικά. Οποίος ασχολείται με AI ακαδημαϊκά θα έχει ακούσει - γράψει σε PROLOG. Ο Άσπρος Γάτος είναι ένας από αυτούς που γνωρίζουν καλά την γλώσσα και τα κατηγορήματα του - αν και προχωρημένα μερικές φορές - είναι για μάθημα.

    Η μαγεία της ανάδρομης στην τελευταία γραμμή του κώδικα.


    "UNIX is very simple, it just needs a genius to understand its simplicity." (Dennis M. Ritchie, 1941-2011)

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας