Page 1 of 8 123 ... LastLast
Results 1 to 10 of 72

Thread: Εισαγωγή στην Fortran

  1. #1
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Εισαγωγή στην Fortran

    Τι Είναι η Fortran

    Η Fortran (FORmula TRANslation) είναι μια επιστημονική γλώσσα προγραμματισμού, όπως είναι οι Cobol, Algol, Ada, PL1, APL, Pascal κ.ά., η παλαιότερη απ’ όλες. Ένας πολύ μεγάλος όγκος από επιστημονικές εφαρμογές έχει αναπτυχθεί με τη γλώσσα αυτή και έτσι είναι αναγκαία και χρήσιμη η εκμάθηση και η υποστήριξή της. Η Fortran είναι εξαιρετικά κατάλληλη για πολύπλοκες αριθμητικές εργασίες.

    Δημιουργήθηκε το 1955 στα εργαστήρια της ΙΒΜ από μια ομάδα επιστημόνων με επικεφαλής τον John Backus. Μέχρι σήμερα έχουν εμφανισθεί διάφορες παραλλαγές και βελτιώσεις της, όπως οι Fortran ΙΙ, Fortran IV, Fortran V, Fortran 66 και Fortran 77.

    Η Fortran 90 είναι η πιο τελευταία έκδοση της γλώσσας και με την επερχόμενη Fortran 95 τοποθετείται πλέον στον όμιλο των μοντέρνων γλωσσών προγραμματισμού. Υπάρχει και η έκδοση Visual Fortran, η οποία βασίζεται στην Fortran 90 με στοιχεία της Fortran 95 και χρησιμοποιεί ένα γραφικό, παραθυρικό περιβάλλον.

    Το Πρώτο Πρόγραμμα σε Fortran

    Για μια πρώτη γνωριμία με την Fortran, θα δούμε ένα απλό πρόγραμμα που υπολογίζει και εκτυπώνει την τρίτη δύναμη των ακεραίων από το 2 έως και το 100.

    Code:
    PROGRAM FIRST
    
    ! ΤΟ ΠΡΩΤΟ ΜΑΣ ΠΡΟΓΡΑΜΜΑ ΣΕ FORTRAN
    
    ! ΥΠΟΛΟΓΙΖΕΙ ΤΗΝ ΤΡΙΤΗ ΔΥΝΑΜΗ ΤΩΝ ΑΚΕΡΑΙΩΝ &
    
    &! ΑΡΙΘΜΩΝ ΑΠΟ ΤΟ 2 ΕΩΣ ΚΑΙ ΤΟ 100
    
    X=2    ! ΑΡΧΙΚΗ ΤΙΜΗ
    
    100 Y=X**3
    
    PRINT *, X, Y
    
    X=X+1
    
    IF(X<=100) GO TO 100
    
    STOP
    
    END PROGRAM FIRST
    Μερικές πρώτες παρατηρήσεις που μπορούμε να κάνουμε είναι οι εξής :

    *

    Το σύμβολο ! χρησιμοποιείται για να ορίζουμε σχόλια (comments) και μπορούμε να το χρησιμοποιήσουμε στην αρχή μιας εντολής αλλά και πιο μέσα.
    *

    Μπορούμε να χρησιμοποιήσουμε αριθμούς για τις εντολές του προγράμματος, όπου η αρίθμησή τους δεν είναι υποχρεωτικό να είναι αύξουσα.
    *

    Το * στην εντολή εκτύπωσης προσδιορίζει ελεύθερη μορφή εκτύπωσης.
    *

    Για να συνεχίσουμε μια μεγάλη εντολή στην επόμενη σειρά, θα πρέπει να γράψουμε το σύμβολο & στο τέλος της γραμμής και να συνεχίσουμε στην επόμενη γραμμή με το ίδιο σύμβολο &, αν και αυτό δεν είναι απαραίτητο.
    *

    Για να γράψουμε περισσότερες από μία εντολές στην ίδια γραμμή, θα πρέπει να χρησιμοποιήσουμε τον χαρακτήρα ;.
    *

    Η τελευταία εντολή κάθε προγράμματος πρέπει να είναι η END.
    *

    Η πρώτη εντολή κάθε προγράμματος είναι πολύ χρήσιμο, αν και όχι υποχρεωτικό, να είναι η PROGRAM ακολουθούμενη από το όνομα του προγράμματος.
    *

    Μετά από την εντολή END είναι πολύ χρήσιμο, αν και όχι υποχρεωτικό, να γράψουμε και πάλι το όνομα του προγράμματος.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  2. #2
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Γνωριμία με το Περιβάλλον της Visual Fortran

    Το περιβάλλον της Visual Fortran είναι οργανωμένο σε projects και η ανάπτυξη των προγραμμάτων γίνεται δια μέσου των projects. Μέσα σε κάθε project δημιουργούνται τα αρχεία με τα πηγαία προγράμματα (source programs).

    Τα projects είναι διαφόρων τύπων και περιέχονται μέσα σε workspaces, όπου ένα workspace μπορεί να περιέχει περισσότερα από ένα projects. Η Visual Fortran έχει ενσωματωμένο έναν δικό της text editor για να μπορούμε να γράφουμε τα προγράμματά μας και χρησιμοποιεί βιβλιοθήκες, που είναι πολύ χρήσιμες στους προγραμματιστές.

    Για να ξεκινήσουμε την Visual Fortran, επιλέγουμε Developer Studio από το υπομενού Visual Fortran του αρχικού μενού Έναρξη. Για να δημιουργήσουμε ένα καινούργιο πρόγραμμα, επιλέγουμε New… από το μενού File ή πατάμε τα πλήκτρα Control+N.

    Στο πλαίσιο διαλόγου New και στην καρτέλα Projects επιλέγουμε Fortran Console Application. Στο πλαίσιο κειμένου Project name γράφουμε το όνομα του project, π.χ. Project1. Στη θέση Location μπορούμε να αφήσουμε την προεπιλεγμένη θέση της Visual Fortran για τη δημιουργία του project, δηλ. την CProgram Files\Microsoft Visual Studio\MyProjects\Project1, ή να κάνουμε κλικ στο διπλανό πλήκτρο με τις τρεις τελείες (…) και να επιλέξουμε μια άλλη δική μας θέση. Η Visual Fortran θα δημιουργήσει έναν φάκελο (directory) με το όνομα του καινούργιου project και στη θέση που επιλέξαμε.

    Κάνουμε κλικ στο ΟΚ και στο επόμενο πλαίσιο διαλόγου επιλέγουμε το πλήκτρο επιλογής An empty project και κάνουμε κλικ στο πλήκτρο Finish. Στο νέο περιβάλλον που θα εμφανισθεί επιλέγουμε New… από το μενού File ή πατάμε τα πλήκτρα Control+N. Στο πλαίσιο διαλόγου New και στην καρτέλα Files επιλέγουμε Fortran Free Format Source File και στο πλαίσιο κειμένου File name γράφουμε το όνομα του προγράμματος, π.χ. Program1.

    Στη θέση Location μπορούμε να επιλέξουμε τον φάκελο όπου θα δημιουργηθεί το πρόγραμμα ή αφήνουμε τον φάκελο που προτείνει η Visual Fortran. Κάνουμε κλικ στο ΟΚ και είμαστε έτοιμοι να ξεκινήσουμε να γράφουμε το πρόγραμμά μας.

    Παρατηρούμε ότι καθώς πληκτρολογούμε τις εντολές του προγράμματος, αυτόματα η Visual Fortran χρωματίζει με πράσινο χρώμα τα σχόλια, με μπλε χρώμα τις εντολές της γλώσσας (δεσμευμένες λέξεις) και αφήνει όλα τα άλλα με το κανονικό μαύρο χρώμα. Αποθηκεύουμε το πρόγραμμά μας και βλέπουμε ότι προστίθεται αυτόματα η επέκταση .f90.

    Για παράδειγμα, έστω ότι δημιουργούμε ένα πολύ απλό πρόγραμμα που θα προσθέτει δύο αριθμούς και θα εμφανίζει το άθροισμά τους :

    Code:
    ! Πρόσθεση δύο αριθμών
    
    program program1
    
        real::a, b, c
    
        read *, a, b
    
        c =a + b
    
        print *, a, b, c
    
        stop
    
    end program program1
    Για να εκτελέσουμε το παραπάνω πρόγραμμα, θα πρέπει να πάμε με τη σειρά στις εξής επιλογές του μενού Build :

    *

    Compile Program1.f90 (Control+F7), για να γίνει η μεταγλώττιση (compilation) του προγράμματος και να εντοπιστούν τα τυχόν συντακτικά λάθη. Τα λάθη (errors) ή οι προειδοποιήσεις (warnings) θα εμφανισθούν στο κάτω παραθυράκι της Visual Fortran. Αν υπάρχουν λάθη, θα πρέπει να τα διορθώσουμε πριν προχωρήσουμε στο επόμενο βήμα.
    *

    Build Project1.exe (F7), για να γίνει η διασύνδεση των απαραίτητων βιβλιοθηκών και να δημιουργηθεί η εκτελέσιμη μορφή του προγράμματος.
    *

    ! Execute Project1.exe (Control+F5), για να εκτελεσθεί το πρόγραμμα. Θα εμφανισθεί ένα άλλο παράθυρο όπου θα πρέπει να δώσουμε δύο αριθμητικές τιμές και να πατήσουμε το πλήκτρο enter για να δούμε το αποτέλεσμα.

    Για να ανοίξουμε τώρα ένα υπάρχον πρόγραμμα και να το επεξεργαστούμε, επιλέγουμε Open Workspace… από το μενού File και αναζητούμε το αρχείο με όνομα Program1 αλλά με επέκταση .dsw.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  3. #3
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Οι Σταθερές στη Fortran

    Οι σταθερές (constants) στη Fortran είναι έξι ειδών και είναι οι εξής :



    Ακέραιες σταθερές (integer ή fixed point constants). Είναι όλοι οι ακέραιοι αριθμοί από –231-1 έως και +231-1 και δεν χρησιμοποιούμε υποδιαστολή.


    Πραγματικές σταθερές (real ή floating point constants). Είναι αριθμοί που περιέχουν οπωσδήποτε υποδιαστολή και παίρνουν τιμές από –1038 έως και +1038. Μπορούν να παρασταθούν και με εκθετική μορφή, όπως για παράδειγμα 29.32Ε3 = 29.32 Χ 103.


    Σταθερές διπλής ακρίβειας (double precision constants). Είναι αριθμοί που περιέχουν οπωσδήποτε υποδιαστολή και παίρνουν τιμές από –10308 έως και +10308. Μπορούν να παρασταθούν και με εκθετική μορφή, όπως για παράδειγμα 29.32D3 = 29.32 Χ 103.


    Μιγαδικές σταθερές (complex constants). Στη Fortran μια μιγαδική σταθερά παριστάνεται με δύο πραγματικές σταθερές, μια για το πραγματικό και μια για το φανταστικό μέρος, που χωρίζονται με κόμμα και περικλείονται σε παρενθέσεις. Για παράδειγμα (2.1, –5.6) = 2.1 – 5.6i.


    Λογικές σταθερές (logical constants). Όπως σ’ όλες τις γνωστές γλώσσες προγραμματισμού, έτσι και στη Fortran, οι λογικές σταθερές είναι δύο : .TRUE. και .FALSE.


    Αλφαριθμητικές σταθερές (alphanumeric constants). Αποτελούνται από ένα πλήθος συμβόλων, κενών αλφαβητικών ή και αριθμητικών χαρακτήρων που περικλείονται σε μονές ή διπλές αποστρόφους. Για να κάνουμε μια αλφαριθμητική σταθερά να περιέχει η ίδια απόστροφο, γράφουμε δύο συνεχόμενες αποστρόφους χωρίς κενό ανάμεσά τους.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  4. #4
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Οι Μεταβλητές στη Fortran

    Οι μεταβλητές (variables) στη Fortran είναι κι αυτές έξι ειδών και είναι οι εξής :



    Ακέραιες μεταβλητές (integer variables). Παίρνουν ως τιμές μόνο ακέραιες σταθερές και ο πρώτος χαρακτήρας τους πρέπει να είναι ένα από τα γράμματα I, J, K, L, M και N. Αν θέλουμε μια ακέραια μεταβλητή να αρχίζει από διαφορετικό γράμμα, θα πρέπει να το δηλώσουμε στην αρχή του προγράμματος με την εντολή δήλωσης INTEGER, ως εξής :

    Code:
    INTEGER::A, FLORINA


    Πραγματικές μεταβλητές (real variables). Παίρνουν ως τιμές μόνο πραγματικές σταθερές και ο πρώτος χαρακτήρας τους πρέπει να είναι ένα από τα γράμματα του λατινικού αλφαβήτου εκτός από τα I, J, K, L, M και N. Για να χρησιμοποιήσουμε ένα από τα γράμματα αυτά σαν τον πρώτο χαρακτήρα μιας πραγματικής μεταβλητής, θα πρέπει να το δηλώσουμε στην αρχή του προγράμματος με την εντολή δήλωσης REAL, ως εξής :

    Code:
    REAL::K1, M5

    Μεταβλητές διπλής ακρίβειας (double precision variables). Παίρνουν ως τιμές πραγματικές σταθερές διπλής ακρίβειας. Μπορούν να αρχίζουν από οποιοδήποτε γράμμα του λατινικού αλφαβήτου αλλά θα πρέπει να δηλώνονται στην αρχή του προγράμματος με την εντολή δήλωσης DOUBLE PRECISION ή την REAL(8), ως εξής :

    Code:
    DOUBLE PRECISION::MEAN, A ή REAL(8)::K1, M5

    Μιγαδικές μεταβλητές (complex variables). Παίρνουν ως τιμές μιγαδικές σταθερές. Μπορούν να αρχίζουν από οποιοδήποτε γράμμα του λατινικού αλφαβήτου αλλά θα πρέπει να δηλώνονται στην αρχή του προγράμματος με την εντολή δήλωσης COMPLEX, ως εξής :
    Code:
    COMPLEX::A20, C


    Λογικές μεταβλητές (logical variables). Παίρνουν ως τιμές λογικές σταθερές. Μπορούν να αρχίζουν από οποιοδήποτε γράμμα του λατινικού αλφαβήτου αλλά θα πρέπει να δηλώνονται στην αρχή του προγράμματος με την εντολή δήλωσης LOGICAL, ως εξής :

    Code:
    LOGICAL::RESULT, PASS


    Αλφαριθμητικές μεταβλητές (alphanumeric variables). Παίρνουν ως τιμές αλφαριθμητικές σταθερές και ορίζονται με μια εντολή CHARACTER της εξής μορφής :

    Code:
    CHARACTER(LEN=μήκος)::A1, A2, A3, …
    ή

    Code:
    CHARACTER(μήκος)::A1, A2, A3, …
    ή

    Code:
    CHARACTER*μήκος::A1, A2, A3, …
    Όλες οι παραπάνω εντολές ορίζουν ότι οι μεταβλητές Α1, Α2 και Α3 είναι αλφαριθμητικές και παίρνουν τιμές έως και μήκος όση είναι η τιμή του προσδιοριστικού μήκος. Αν παραλείψουμε την τιμή για το προσδιοριστικό, τότε οι μεταβλητές θα μπορούν να πάρουν τιμή ενός μόνο χαρακτήρα.



    Code:
    CHARACTER(LEN=8)::A1, A2*3, A3, Α4*5
    που ορίζει ότι οι μεταβλητές Α1 και Α3 θα έχουν μήκος 8 χαρακτήρων, αλλά η μεταβλητή Α2 θα έχει μήκος 3 χαρακτήρων και η μεταβλητή Α4 θα έχει μήκος 5 χαρακτήρων.

    Προσέξτε και τα εξής :

    Code:
      CHARACTER A1(10)
    
    CHARACTER *(*)B
    
    CHARACTER(LEN=*)NAME
    
    PARAMETER (NAME=’ΦΛΩΡΙΝΑ’)
    Η μεταβλητή Α1 είναι ένας αλφαριθμητικός πίνακας μίας διάστασης που περιέχει 10 στοιχεία μήκους ενός χαρακτήρα το καθένα, το μήκος της μεταβλητής Β δεν προσδιορίζεται ενώ το μήκος της μεταβλητής NAME καθορίζεται στην επόμενη εντολή PARAMETER από την τιμή που της δίνουμε (μήκος = 7).

    Το όνομα μιας μεταβλητής στη Fortran μπορεί να περιέχει γράμματα, ψηφία και τον χαρακτήρα υπογράμμισης _. Μπορεί να έχει έως και 31 χαρακτήρες αλλά ο πρώτος χαρακτήρας δεν πρέπει να είναι ψηφίο.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  5. #5
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Η Εντολή IMPLICIT NONE

    Είδαμε στην προηγούμενη παράγραφο ότι μια σύμβαση που έχει παραμείνει από τις παλαιότερες εκδόσεις της Fortran είναι ότι όλες οι μεταβλητές που αρχίζουν από τα γράμματα Ι – Ν είναι ακέραιες ενώ όλες οι υπόλοιπες είναι πραγματικές.

    Αυτή η σύμβαση παύει να ισχύει αν χρησιμοποιήσουμε εντολές δήλωσης, όπως είναι οι INTEGER, REAL, LOGICAL, COMPLEX κ.ά. Στην Fortran 90 μπορούμε να ακυρώσουμε την παραπάνω σύμβαση αν χρησιμοποιήσουμε την εντολή IMPLICIT NONE και ανάλογες εντολές δήλωσης, όπως παρακάτω :

    Code:
    IMPLICIT NONE
    
    INTEGER::A=0
    
    REAL::I, J
    
    REAL::A1=1.5, A2 = 3.4
    Βλέπουμε ότι παράλληλα με τη δήλωση του τύπου μιας μεταβλητής μπορούμε να της δώσουμε και αρχική τιμή.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  6. #6
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Οι Αριθμητικές Παραστάσεις στη Fortran

    Οι αριθμητικές παραστάσεις στην Fortran μπορούν να αποτελούνται από μια απλή μεταβλητή ή και από μια πολύπλοκη αλγεβρική παράσταση. Τα σύμβολα που χρησιμοποιούμε και οι πράξεις που μπορούμε να κάνουμε μέσα στις αριθμητικές παραστάσεις είναι τα εξής :



    +, πρόσθεση


    –, αφαίρεση


    *, πολλαπλασιασμός


    /, διαίρεση


    **, ύψωση σε δύναμη

    Η ιεραρχία των αριθμητικών πράξεων μέσα σε μια αριθμητική παράσταση είναι η εξής : πρώτα υπολογίζονται οι δυνάμεις, μετά οι πολλαπλασιασμοί και οι διαιρέσεις και τέλος οι προσθέσεις και οι αφαιρέσεις. Για τις ισοδύναμες αριθμητικές πράξεις, η ιεραρχία είναι από αριστερά προς τα δεξιά. Βέβαια, αν χρησιμοποιηθούν παρενθέσεις, θα γίνουν πρώτα οι πράξεις μέσα στις παρενθέσεις.

    Όταν γίνεται διαίρεση δύο ακεραίων αριθμών, τότε στην ουσία παίρνουμε το πηλίκο της ακέραιης διαίρεσης. Για παράδειγμα, το αποτέλεσμα της διαίρεσης 5/3 είναι 1 και το αποτέλεσμα της διαίρεσης 18/4 είναι 4.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  7. #7
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Οι Ενσωματωμένες Συναρτήσεις της Fortran

    Η Fortran είναι εφοδιασμένη με πάρα πολλές έτοιμες (ενσωματωμένες) συναρτήσεις, τις οποίες μπορούμε να καλούμε όποτε θέλουμε στα προγράμματά μας. Οι πιο χρήσιμες από τις συναρτήσεις αυτές είναι οι εξής :

    SIN(X)-->ημ(χ)
    COS(X)-->συν(Χ)
    TAN(X)-->εφ(Χ)
    COTAN(X)-->σφ(Χ)
    ASIN(X)-->τοξημ(Χ)
    ACOS(X)-->τοξσυν(Χ)
    ATAN(X)-->τοξεφ(Χ)
    EXP(X)-->eX
    ALOG10(X)-->log(X)
    LOG(X)-->ln(X)
    CEILING(X)-->Ο μικρότερος ακέραιος που είναι >= Χ
    FLOOR(X)-->Ο μεγαλύτερος ακέραιος που είναι <= Χ
    FLOAT(X)-->Μετατροπή ακεραίου σε πραγματικό
    IFIX(X)-->Μετατροπή πραγματικού σε ακέραιο
    DBLE(X)-->Μετατροπή αριθμού σε διπλής ακρίβειας
    SNGL(X)-->Μετατροπή διπλής ακρίβειας σε πραγματικό
    SIGN(X1, X2),ISIGN(X1, X2)-->Συνάρτηση πρόσημο
    DIM(X1, X2),IDIM(X1, X2)-->Θετική διαφορά
    REAL(X)-->Μετατροπή ακεραίου σε πραγματικό ή το πραγματικό μέρος μιγαδικού
    AIMAG(X)-->Φανταστικό μέρος μιγαδικού
    CMPLX(X1, X2)-->Μετατροπή ακεραίων ή πραγματικών σε μιγαδικό(Ζ=α+βι)
    MAX(X1, X2 …)-->Μέγιστος
    MIN(X1, X2 …)-->Ελάχιστος
    MOD(X1, X2)-->Υπόλοιπο διαίρεσης
    AINT(X), INT(X)-->Αποκοπή δεκαδικού μέρους
    ANINT(X), NINT(X)-->Στρογγυλοποίηση
    CHAR(X)-->Χαρακτήρας ASCII
    ICHAR(X)-->Θέση χαρακτήρα στον κώδικα ASCII
    LEN(X)-->Πλήθος χαρακτήρων
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  8. #8
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    INDEX(X1, X2)-->Θέση αλφαριθμητικού μέσα σε άλλο.
    LLT(X1, X2)-->Σύγκριση αλφαριθμητικών (<)
    LGT(X1, X2)-->Σύγκριση αλφαριθμητικών (>)
    LLE(X1, X2)-->Σύγκριση αλφαριθμητικών (<=)
    LGE(X1, X2)-->Σύγκριση αλφαριθμητικών (>=)

    Ακολουθούν παραδείγματα :

    Code:
    FLOAT(12) = 12.                 ! Μετατροπή ακεραίου αριθμού σε πραγματικό
    
    IFIX(16.87) = 16                  ! Μετατροπή πραγματικού αριθμού σε ακέραιο
    
    DBLE(13.14) = 13.14D1                 ! Μετατροπή αριθμού σε διπλής ακρίβειας
    
    SNGL(9.14D2) = 9.14E2     ! Μετατροπή διπλής ακρίβειας σε πραγματικό
    
    SIGN(10, -5) = -10                           ! Χρήση της συνάρτησης πρόσημο
    
    IDIM(10, 15) = 0                              ! Θετική διαφορά
    
    REAL(10.3+3.4i) = 10.3                 ! Πραγματικό μέρος μιγαδικού αριθμού
    
    AIMAG(10.3+3.4i) = 3.4                ! Φανταστικό μέρος μιγαδικού αριθμού
    
    CONJG(10.3+3.4i) = 10.3–3.4i                   ! Συζυγής μιγαδικού αριθμού
    
    CMPLX(-9.1, 35.34) = -9.1+35.34i            ! Δημιουργία μιγαδικού αριθμού
    
    AINT(7.4) = 7.0                                ! Αποκοπή δεκαδικού μέρους
    
    INT(7.4) = 7                                      ! Αποκοπή δεκαδικού μέρους
    
    ANINT(7.8) = 8.0                             ! Στρογγυλοποίηση αριθμού
    
    NINT(7.8) = 8                                   ! Στρογγυλοποίηση αριθμού
    
    MAX(10.3, 31.4, 15.7) = 31.4           ! Υπολογισμός μεγίστου
    
    MIN(10.3, 31.4, 15.7) = 10.3            ! Υπολογισμός ελαχίστου
    
    MOD(18, 4) = 2                                ! Υπόλοιπο ακέραιης διαίρεσης
    
    CHAR(65) =’A’                    ! Επιστροφή χαρακτήρα από τον κωδικό ASCII
    
    ICHAR(‘A’) = 65                  ! Επιστροφή κωδικού ASCII από τον χαρακτήρα
    
    LEN(‘FLORINA’) = 8                     ! Πλήθος χαρακτήρων αλφαριθμητικού
    
    INDEX(‘FLORINA’, ‘O’) = 3         ! Θέση του 2ου ορίσματος
    
    LLT(‘A’, ‘B’) = .TRUE.
    
    LGT(‘C’, ‘D’) = .FALSE.
    
    LLE(‘A’, ‘B’) = .TRUE.
    
    LGE(‘C’, ‘D’) = .FALSE.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  9. #9
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Πράξεις με Αλφαριθμητικές Μεταβλητές

    Ο τελεστής // ενώνει τα περιεχόμενα δύο αλφαριθμητικών μεταβλητών. Ακολουθούν παραδείγματα :

    Code:
     CHARACTER*15::A, B*8, C*7
    
                B = ’ΦΛΩΡΙΝΑ’
    
                C = ‘ΚΟΖΑΝΗ’
    
                A = B // C
    
                A = B // ‘KAI ’ // C
    Η μεταβλητή Α θα περιέχει αρχικά την τιμή ‘ΦΛΩΡΙΝΑ ΚΟΖΑΝΗ ’ και μετά την τιμή ‘ΦΛΩΡΙΝΑ ΚΑΙ ΚΟΖ’.

    Μπορούμε να αποσπάσουμε χαρακτήρες από μια αλφαριθμητική μεταβλητή, ορίζοντας μέσα σε παρενθέσεις το κατώτερο και το ανώτερο όριο και χωρίζοντάς τα με τον χαρακτήρα :.

    Για παράδειγμα, ο συμβολισμός Α(3:5) ορίζει ένα υποσύνολο της αλφαριθμητικής μεταβλητής Α που αποτελείται από τον τρίτο μέχρι και τον πέμπτο χαρακτήρα της.

    Μπορούμε να παραλείψουμε το 1 σαν κατώτερο όριο. Για παράδειγμα, ο συμβολισμός Α(:5) είναι ίδιος με τον Α(1:5). Μπορούμε να παραλείψουμε και το ανώτερο όριο αν είναι ίσο με το πλήθος των χαρακτήρων της αλφαριθμητικής μεταβλητής. Για παράδειγμα, ο συμβολισμός Α(4 είναι ίδιος με τον Α(4:10), αν φυσικά η αλφαριθμητική μεταβλητή Α αποτελείται από 10 χαρακτήρες.

    Ο παραπάνω συμβολισμός μπορεί να χρησιμοποιηθεί και σε εντολές αντικατάστασης. Για παράδειγμα, η παρακάτω έκφραση :

    Code:
    A(2:5) = B(4:7)
    αντικαθιστά 3 χαρακτήρες της μεταβλητής Α με άλλους τρεις χαρακτήρες της μεταβλητής Β ενώ οι υπόλοιποι χαρακτήρες της μεταβλητής Α δεν επηρεάζονται.
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

  10. #10
    Join Date
    Nov 2010
    Location
    Ελλάδα(Αθήνα)-Россия (г. Красноярск)
    Posts
    3,070

    Default Απ: Εισαγωγή στην Fortran

    Η Εντολή PARAMETER

    Με την εντολή PARAMETER μπορούμε να δώσουμε τιμές σε κάποιες μεταβλητές ταυτόχρονα με τον ορισμό τους, οι οποίες όμως δεν θα μπορούν να αλλαχθούν στη συνέχεια. Πρόκειται στην ουσία για σταθερές με όνομα.

    Για παράδειγμα, η επόμενη εντολή :

    Code:
      REAL, PARAMETER::pI=3.1415926
    ορίζει μια πραγματική μεταβλητή με όνομα PI και με τιμή 3.1415926, η οποία δεν θα μπορεί να μεταβληθεί κατά την εκτέλεση του προγράμματος.

    Μπορούμε να χρησιμοποιήσουμε και μόνη της την εντολή PARAMETER και με διάφορες μορφές, ως εξής :

    Code:
     REAL(4)::pI, pI1
    
                CHARACTER::A*10, B*10
    
                PARAMETER(pI=3.1415926, PI1=PI/2)
    
                PARAMETER(A=’FLORINA’, B=’PER SEMPRE’)
    Πάντα Φιλικά, Στάμος.
    Desktop: openSUSE 12,3||x86_64||KDE 4.10.5||AMD PHENOM II X3||AMD RADEON 6990.
    Γλώσσες Προγραμματισμού: C++, Qt developing.
    http://bit.ly/fT8Hfi

Page 1 of 8 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •