Xbasic: Παράδείγμα χρήσης αριθμητικών τελεστών.
Description: This is issue 26 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #26
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 4. Παράδείγμα χρήσης αριθμητικών τελεστών. Στο παρακάτω παράδειγμα θα χρησιμοποιήσουμε τους τελεστές \ και MOD εφ' όσον οι τελεστές + - * και / μας είναι γνωστοί από την αριθμητική και νομίζω ότι δεν έχει έννοια να επεκταθούμε σε αυτούς. Επαναλαμβάνω ότι δεν χρείαζεται να γράψουμε τους αριθμούς γραμμής απλά τους έχω βάλει για να ξέρουμε σε ποιες γραμμές αναφερόμαστε κάθε φορά.
    1.'
    2.' ####################
    3.' #####  PROLOG  #####
    4.' ####################
    5.'
    6.PROGRAM       "progname"  ' 1-8 char program/file name without .x or any .extent
    7.VERSION       "0.0000"    ' version number - increment before saving altered program
    8.'
    9.' You can stop the PDE from inserting the following PROLOG comment lines
    10.' by removing them from the prolog.xxx file in your \xb\xxx directory.
    11.'
    12.' Programs contain:  1: PROLOG          - no executable code - see below
    13.'                    2: Entry function  - start execution at 1st declared func
    14.' * = optional       3: Other functions - everything else - all other functions
    15.'
    16.' The PROLOG contains (in this order):
    17.' * 1. Program name statement             PROGRAM "progname"
    18.' * 2. Version number statement           VERSION "0.0000"
    19.' * 3. Import library statements          IMPORT  "libName"
    20.' * 4. Composite type definitions         TYPE <typename> ... END TYPE
    21.' * 5. Internal function declarations     DECLARE/INTERNAL FUNCTION Func (args)
    22.' * 6. External function declarations     EXTERNAL FUNCTION FuncName (args)
    23.' * 7. Shared constant definitions        $$ConstantName = literal or constant
    24.
    25.$$secspermin = 60
    26.$$secsperhr = 3600
    27.
    28.' * 8. Shared variable declarations       SHARED  variable
    29.'
    30.' ******  Comment libraries in/out as needed  *****
    31.'
    32.'    IMPORT  "xma"   ' Math library     : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT...
    33.'    IMPORT  "xcm"   ' Complex library  : complex number library  (trig, etc)
    34.     IMPORT  "xst"   ' Standard library : required by most programs
    35.'    IMPORT  "xgr"   ' GraphicsDesigner : required by GuiDesigner programs
    36.'    IMPORT  "xui"   ' GuiDesigner      : required by GuiDesigner programs
    37.'
    38.
    39.
    40.DECLARE FUNCTION  Entry ()
    41.'
    42.'
    43.' ######################
    44.' #####  Entry ()  #####
    45.' ######################
    46.
    47.Programs contain:
    48.'   1. A PROLOG with type/function/constant declarations.
    49.'   2. This Entry() function where execution begins.
    50.'   3. Zero or more additional functions.
    51.'
    52.FUNCTION  Entry ()
    53.        USHORT seconds,minutes,hours,secleft,minleft,nofsec
    54.     STRING ans
    55.
    56.     ans=INLINE$("Enter number of seconds :")
    57.     nofsec=USHORT(ans)
    58.
    59.     hours = nofsec \ $$secsperhr
    60.        minutes = nofsec \ $$secspermin
    61.     minleft = minutes MOD $$secspermin
    62.     secleft = nofsec MOD $$secspermin
    63.
    64.     PRINT nofsec;" Seconds are..."
    65.     PRINT hours;" Hours ";minleft;" min ";secleft;" seconds"
    66.
    67.
    68.END FUNCTION
    69.END PROGRAM
Οι γραμμές 1-37 αποτελούν το κομμάτι PROLOG του προγράμματός μας όπου εκεί ορίζονται οι σταθερές, οι κοινές μεταβλητές για όλο το πρόγραμμα οι τυχόν τύποι μεταβλητών και οι βιβλιοθήκες που χρειάζονται, στο τέλος μπαίνουν οι ορισμοί των συναρτήσεων. Στο συγκεκριμένο παράδειγμα στις γραμμές 25 και 26 ορίζουμε τις σταθερές $$secspermin και $$secsperhr. Στην γραμμή 34 έχουμε δώσει εντολή να περιλιφθεί η βιβλιοθήκη xst και στην γραμμή 40 έχει μπεί ο ορισμός της συνάρτησης ENTRY. Οι γραμμές 53 και 54 Σε αυτές τις γραμμές ορίζουμε το είδος των μεταβλητών που θα χρησιμοποιήσουμε στην συνάρτηση. Η γραμμή 56 Σε αυτή την γραμμή καλούμε την συνάρτηση INLINE$ που την γνωρίσαμε από το προηγούμενο παράδειγμα. Η γραμμή 57 Εδώ γίνεται μετατροπή της μεταβλητής ans που είναι αλφαριθμητική σε αριθμητική για να μπορούν να γίνουν οι πράξεις παρακάτω. Οι γραμμές 59 και 60 Βλέπουμε την χρήση του τελεστή \ (ακέραια διαίρεση) έστι σαν αποτέλεσμα παίρνουμε το ακέραιο πηλίκο της διαίρεσης. Οι γραμμές 61 και 62 Η χρήση του τελεστή MOD για να βρούμε τα υπόλοιπα των διαιρέσεων. Οι γραμμές 64 και 65 Με την χρήση της εντολής PRINT δίνουμε εντολή στην Xbasic να εμφανίσει τα αποτελέσματα στην κονσόλα. Επόμενο Προηγούμενο Περιεχόμενα