Αγαπητοί μας φίλοι,

Καλώς ήλθατε στην ιστοσελίδα μας. Ελπίζουμε η παραμονή σας κοντά μας να είναι για σας εποικοδομητική εμπειρία.

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

Σας ευχαριστούμε για το ενδιαφέρον σας και σας ευχόμαστε καλή συνέχεια.

Εγγραφείτε στο φόρουμ, είναι εύκολο και γρήγορο

Αγαπητοί μας φίλοι,

Καλώς ήλθατε στην ιστοσελίδα μας. Ελπίζουμε η παραμονή σας κοντά μας να είναι για σας εποικοδομητική εμπειρία.

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

Σας ευχαριστούμε για το ενδιαφέρον σας και σας ευχόμαστε καλή συνέχεια.

Θέλετε να αντιδράσετε στο μήνυμα; Φτιάξτε έναν λογαριασμό και συνδεθείτε για να συνεχίσετε.
Καλως ηρθατε στην κοινοτητα μας,για οποιαδηποτε απορια στειλετε e-mail στο info@batteryworld.gr

    Ιστορία γλωσσών προγραμματισμού

    matrix
    matrix
    robot


    Αριθμός μηνυμάτων : 222
    Ημερομηνία εγγραφής : 17/01/2010
    Ηλικία : 50
    Τόπος : θεσσαλονικη

    Ιστορία γλωσσών προγραμματισμού Empty Ιστορία γλωσσών προγραμματισμού

    Δημοσίευση  matrix Τετ Φεβ 03, 2010 10:18 pm

    Ουσιαστικά ο ψηφιακός υπολογιστής μπορεί να χρησιμοποιήσει μόνο δυαδικούς αριθμούς και να εκτελέσει διαδοχικά εντολές, που του δίνονται κι αυτές με μορφή δυαδικού αριθμού. Τα προγράμματα που φτιάχνονται με τέτοιες εντολές λέμε πως φτιάχνονται σε γλώσσα μηχανής. Όταν, για παράδειγμα, θέλουμε να αυξήσουμε το περιεχόμενο κάποιου καταμετρητή Ν κατά 2, δίνουμε εντολές σε γλώσσα μηχανής, που μοιάζουν κάπως έτσι:

    000001000000001100101011
    001000000000000000010000
    000010000000001100101011

    Αυτές οι μεγάλες σειρές από 0 και 1 ήταν κουραστικές για τον άνθρωπο. (Φανταστείτε προγράμματα με χιλιάδες γραμμές). Θα βελτιωνόταν κάπως η κατάσταση, αν γράφονταν οι εντολές αυτές με οκταδικούς αριθμούς:

    01001453
    10000020
    02001453

    Έτσι οι εντολές διαβάζονταν λίγο πιο εύκολα, πάλι όμως δεν ήταν απλό να δει κανείς αμέσως ποιά δουλειά έκαναν αυτές οι εντολές. Επίσης, αν ήθελαν οι προγραμματιστές να κάνουν διορθώσεις, προσθήκες και διαγραφές εντολών σε πρόγραμμα γραμμένο σε γλώσσα μηχανής, αντιμετώπιζαν τεράστιες δυσκολίες σε μια διαδικασία πολύ ευάλωτη από λάθη. Επινοήθηκε λοιπόν μια συμβολική γλώσσα για τις εντολές που καταλάβαινε ο υπολογιστής και γράφτηκε ένα συμβολομεταφραστικό πρόγραμμα (assembler), που μετέτρεπε ένα πρόγραμμα συμβολικής γλώσσας σε ένα πρόγραμμα σε γλώσσα μηχανής.

    Το προηγούμενο παράδειγμα θα έμοιαζε σε μια υποθετική συμβολική γλώσσα κάπως έτσι:

    LDA N ;Ν ΕΙΝΑΙ Ο ΜΕΤΡΗΤΗΣ
    ADD +2 ;ΑΥΞΑΝΕΤΑΙ ΚΑΤΑ 2
    STA N ;ΑΠΟΘΗΚΕΥΕΤΑΙ Η ΝΕΑ ΤΙΜΗ

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

    Παρ’ όλα αυτά όμως, επειδή τα προγράμματα δεύτερης γενιάς (αυτά σε συμβολική γλώσσα) είχαν ακριβώς τόσες εντολές όσες είχαν και τα αντίστοιχα προγράμματα σε γλώσσα μηχανής, (ίσως μερικές δεκάδες χιλιάδες εντολές), η ανάπτυξη μεγάλων προγραμμάτων ήταν δύσκολη. Έτσι φτιάχτηκαν οι γλώσσες τρίτης γενιάς, όπως είναι η FORTRAN, όπου ενώ οι προγραμματιστές έδιναν μόνο μια εντολή, (το Ν να γίνει όσο ήταν συν 2),

    Ν = Ν + 2

    αναλάμβανε ένα πρόγραμμα - μεταφραστής (compiler) να την αναλύσει σε περισσότερες εντολές σε συμβολική γλώσσα (και σε γλώσσα μηχανής).

    Εκτός από το ότι έτσι γράφονταν λιγότερες εντολές για το ίδιο πρόγραμμα, δημιουργήθηκαν και γλώσσες ανώτερου επίπεδου που έμοιαζαν περισσότερο με φυσική γλώσσα. Το ίδιο παράδειγμα σε γλώσσα COBOL θα μπορούσε να γραφτεί έτσι:

    ADD 2 TO COUNTER–N .

    (πρόσθεσε 2 στον καταμετρητή Ν), που το καταλαβαίνει οποιοσδήποτε ξέρει αγγλικά, όχι μόνο ο υπολογιστής.

    Στην εκπαιδευτική γλώσσα προγραμματισμού ΓΛΩΣΣΑ, που διαθέτει τις εντελώς απαραίτητες εντολές για εξάσκηση στον προγραμματισμό, η εντολή εκχώρησης τιμής γράφεται έτσι:

    Ν <- Ν + 2

    και σημαίνει «κάνε τις πράξεις στην έκφραση στο δεξιό από το βελάκι μέρος και βάλε την προκύπτουσα τιμή στην μεταβλητή που βρίσκεται στο αριστερό μέρος».

    ΠΗΓΗ: ΕΛΛΗΝΙΚΗ ΒΙΚΙΠΑΙΔΕΙΑ

      Η τρέχουσα ημερομηνία/ώρα είναι Πεμ Μάης 02, 2024 6:03 am