Εκτέλεση (Βασικά)

Για την εκτέλεση

Καλό είναι να δει κανείς το εγχειρίδιο που παρέχεται μαζί με τη γλώσσα (το μικρό εγχειρίδιο της Μ2000). Υπάρχει και ένα δεύτερο εγχειρίδιο, στα αγγλικά, με διαφορετική διάρθρωση, το M2000paper.pdf


Εδώ παραθέτω συνοπτικές οδηγίες και επεξηγήσεις.

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

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

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

Μπορούμε να καθαρίσουμε το κάτω μέρος, με την εντολή Οθόνη ή με τα πλήκτρα Ctrl+C.

Εμφανίζεται το σήμα ">" και ένας δρομέας που αναβοσβήνει (στα Windows) σαν κάτω παύλα _

Αν γράψουμε Τέλος και πατήσουμε πλήκτρο Enter κλείνει το πρόγραμμα.
Με την εντολή Ρυθμίσεις αλλάζουμε στοιχεία του περιβάλλοντος. Ανοίγει μια φόρμα διαλόγου και κάνουμε επιλογές.
Με την Ελληνικά επιλέγουμε τα μηνύματα λαθών να εμφανίζονται στα ελληνικά. Με την Λατινικά επιλέγουμε να βγαίνουν στη δεύτερη γλώσσα (προς το παρόν είναι τα Αγγλικά).


Μπορούμε να δώσουμε άμεσα εντολές.Το ? είναι το Τύπωσε για γρήγορο γράψιμο:
? 2+5*3
πατάμε enter και θα πάρουμε το αποτέλεσμα 17

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

Αν θέλουμε να δούμε όλες τις εντολές γράφουμε Σ  (είναι συντόμευση του ΣΥΓΓΡΑΦΗ ή Edit) και πατάμε enter. Θα ανοίξει ο διορθωτής προγράμματος και μπορούμε να διαγράψουμε ή να βάλουμε γραμμές. Βγαίνουμε με το Esc.

Στη κονσόλα οι εντολές που δίνουμε πάνε στο Μεταφραστή  Γραμμής Εντολών, Μπορούμε να ορίσουμε μεταβλητές. Πχ  (το > εμφανίζεται από το περιβάλλον)
>Α=10
>Τύπωσε Α*3, Α+5, Α/Α
>Α+=100
>?  Α*3, Α+5, Α/Α

Στη γραμμή εντολών μπορούμε να δώσουμε ένα υποσύνολο εντολών της Μ2000. Δεν μπορούμε να δώσουμε για παράδειγμα εντολές επανάληψης. Επίσης υπάρχει ένα σύνολο εντολών που αναγνωρίζει μόνο η γραμμή εντολών. Σε προγράμματα μπορούμε να στείλουμε μια γραμμή εντολών στον διερμηνευτή της γραμμής εντολών με την ΘΕΣΕ  ή SET, όμως επειδή αυτή η γραμμή είναι σαν να δόθηκε από τη κονσόλα, δεν μπορούμε να γράψουμε μεταβλητές που είναι τοπικές, δηλαδή αυτές που δεν φαίνονται στην κονσόλα.

Μέχρι εδώ είδαμε πως θα δημιουργήσουμε μια αριθμητική μεταβλητή. Μια αλφαριθμητική θέλει στο όνομα το $. Μπορούν να συνυπάρχουν τα Α και Α$.
>Α$="Γιώργος"
>? Μήκοε(Α$)=7
Μπορούμε να δούμε τι μεταβλητές έχουμε με την εντολή Λίστα
>Λίστα
Μπορούμε να καθαρίσουμε όλες τις μεταβλητές
>Καθαρό
Μπορούμε να φτιάξουμε πίνακα (η Πίνακας Κ(10) φτιάχνει από Κ(0) έως Κ(9)) και εδώ χρησιμοποιούμε δήλωση των άκρων, του κάτω και του άνω άκρου στην πρώτη διάσταση.
>Πίνακας Κ(1 έως 10)=0
>Κ(1)=100
Μπορούμε να τυπώσουμε ένα στοιχείο του πίνακα
>? Κ(1)
Μπορούμε να τυπώσουμε όλο το πίνακα:
>? Κ()
Μπορούμε να δώσουμε περισσότερες από μια εντολή σε μια γραμμή με την άνω και κάτω τελεία.
>Λίστα : Καθαρό : Λίστα

Οι μεταβλητές είναι ονόματα που συνδέονται με ένα περιεχόμενο. Οι πίνακες είναι ονόματα που έχουν θέσεις αριθμημένες για να βάζουμε περιεχόμενο. Οι πίνακες μπορούν να έχουν διαστάσεις δηλαδή δυο ή περισσότερες αριθμήσεις θέσεων, έτσι ένας πίνακας Α(10,2) έχει δυο διαστάσεις, και συνολικά 10Χ2=20 στοιχεία.

>Πίνακας Α(10,2)
Δείτε ότι με το := δίνουμε πολλά στοιχεία στο πίνακα. Σε έναν δυο διαστάσεων πίνακα όπως ο Α() τα δυο πρώτα στοιχεία είναι στο Α(0,0) και Α(0,1)

>Α(0,0):=1,2
>? Α(0,0)=1, Α(0,1)=2

Αριστερή και Δεξιά Έκφραση
Βασικό στοιχείο στο προγραμματισμό είναι η αναγνώριση της Αριστερής και της Δεξιάς έκφρασης.

Είδαμε ότι το = το χρησιμοποιούμε για εκχώρηση τιμής και για ισότητα. Καταλαβαίνουμε εύκολα, πότε το ίσον είναι ισότητα. Μαθαίνουμε να αναγνωρίζουμε την Αριστερή από Δεξιά έκφραση.
πχ το Τύπωσε 10=15-5 έχει δεξιά έκφραση το Τύπωσε, που είναι εντολή και αριστερή το 10=15-5 που είναι μια λογική έκφραση , εδώ την λέμε σύγκριση, και έχει δυο μέρη το 10 και το 15-5 που αμφότερα είναι αριθμητικές εκφράσεις (ακόμα και η έλλειψη τελεστή πράξης, όπως το 10 δεν αναιρεί την έννοια της έκφρασης). Έτσι εδώ το = είναι σε αριστερή έκφραση, άρα είναι ισότητα.
Δείτε το παρακάτω:

> Β=50

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

Ιδιαιτερότητα της Μ2000
Εκτός από την χρήση μεταβλητών και πινάκων υπάρχει και ένας ιδιαίτερος χώρος που βάζουμε και βγάζουμε τιμές. Αυτός ο χώρος λέγεται Σωρός Τιμών και δουλεύει σαν στοίβα και σαν ουρά.

>Βάλε 1,2,3,4
>Σωρός
Εμφανίζει 4   3   2   1 ανάποδα δηλαδή. Η Βάλε ή Push βάζει στην κορυφή του σωρού τιμές. Αν δώσουμε τέσσερις τιμές θα βάλει τη πρώτη στη κορυφή, εδώ το 1, μετά το 2 στη κορυφή άρα επόμενο θα είναι το 1 και έτσι φτάνουμε στο 4 με επόμενα το 3 το 2 και το 1
Η εντολή Σωρός μας δείχνει τι έχει.
Ενώ στις μεταβλητές έχουμε όνομα για μια τιμή, και στους πίνακες έχουμε όνομα και αριθμητικό δείκτη (ή δείκτες αν έχουμε δυο ή περισσότερες διαστάσεις)., στο σωρό τιμών έχουμε θέση σε σχέση με τη κορυφή. Επιπλέον ο σωρός τιμών δεν έχει όριο, μπορεί να καλύψει μέχρι όλη τη μνήμη του υπολογιστή.

Για να πάρουμε από το σωρό μια τιμή τραβάμε πάντα από τη κορυφή, που σημαίνει ότι βγάζουμε ένα στοιχείο. Με την Σωρός ως έχει βλέπουμε τα στοιχεία του σωρού (το ανάλογο της εντολής Λίστα). Βλέπουμε λοιπόν τα 4 3 2 1 και δίνουμε την εντολή:
>? Αριθμός
δίνει το 4
Πατάμε το πάνω βελάκι και επιλέγουμε την εντολή που είχαμε δώσει πριν το ? Αριθμός και πατάμε  enter και το κάνουμε συνέχεια, επιλογή και enter.
Θα πάρουμε διαδοχικά τα 3 2 1 και το μήνυμα λάθους "ο σωρός είναι άδειος" (αφού έχουμε δώσει το Ελληνικά, ή το έχουμε βάλει στις ρυθμίσεις ως την εκ των ρυθμίσεων τιμή).
Ο σωρός έδρασε σαν στοίβα: Τελευταίο Μπαίνει Πρώτο Βγαίνει  (Last In First Out, LIFO)

Τώρα που είναι άδειος ο σωρός θα δοκιμάσουμε την άλλη λειτουργία
>Σειρά 1,2,3,4
> Σωρός
Τώρα βλέπουμε το 1 2 3 4 (δεν έχουν αντίστροφη σειρά όπως πριν). Η Σειρά γράφει κάθε νούμερο στο τέλος ή πυθμένα του σωρού.  Έτσι το πρώτο γράφεται στη κορυφή επειδή είναι άδειος ο σωρός, το δεύτερο γράφεται πίσω από τη κορυφή 1 2, το 3 γράφεται στο τέλος άρα έχουμε 1 2 3, το 4 επίσης στο τέλος άρα έχουμε 1 2 3 4.
Τώρα πατάμε το άνω βελάκι για να βρούμε την εντολή ? Αριθμός και πατάμε Enter και επαναλαμβάνουμε μέχρι να πάρουμε το ίδιο λάθος με πριν "ο σωρός είναι άδειος"
Θα μας δώσει πριν το λάθος τα νούμερα με τη σειρά 1 2 3 4. Αυτή η λειτουργία λέγεται λειτουργία ουράς, ή Πρώτο Μπαίνει Βγαίνει Πρώτο, First In First Out ή FIFO).

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

Συγγραφή Τμήματος
>Σ Αλφα
Ανοίγει ο διορθωτής για να γράψουμε το τμήμα Αλφα.
Στο πρώτο τμήμα θα βάλουμε την εντολή Σωρός να δούμε τι έχουμε κατά τη κλήση.
Αν θέλουμε να διαβάσουμε δυο αριθμούς από το σωρό τιμών, τότε γράφουμε μια Διάβασε Χ, Υ ώστε να μπουν οι τιμές στα Χ και Υ (τα δημιουργεί αν δεν υπάρχουν τοπικά).
Σωρός
Διάβασε Χ, Υ
Τύπωσε Χ*Υ
Πατάμε Esc
> Βάλε "οκ"
> Αλφα  2, 3
Εμφανίζει το σωρό τιμών (μπορούν να μπουν διάφορα είδη τιμών στο Σωρό Τιμών)
2 3 "οκ"   
Δείτε ότι στη κλήση της Αλφα γράψαμε το όνομά της. Αυτή είναι η αριστερή έκφραση.. Δεν υπάρχει τελεστής που ανήκει στους τελεστές αριστερής έκφρασης, οπότε ή είναι εντολή ή κλήση τμήματος. Εδώ είναι κλήση τμήματος. Η δεξιά έκφραση είναι μια λίστα εκφράσεων που μπορεί να έχει πολλά κόμματα διαχωρισμένων εκφράσεων, και εδώ είναι μόνο ένα, άρα έχουμε δυο εκφράσεις με δύο τιμές, το 2 και το 3. Ο διερμηνευτής βάζει σε μια σειρά τα 2 και 3 και μετά τα βάζει στη κορυφή του σωρού τιμών. Σαν να τα βάζει στο τέλος με το Σειρά και να τα μεταφέρει στην κορυφή.
Έτσι η Διάβασε θα πάρει τις τιμές και θα τις βάλει σε δυο νέες μεταβλητές τη Χ και Υ. Αυτές οι μεταβλητές θα διαγραφούν με την επιστροφή από τη κλήση της άλφα. Ο κανόνας εδώ είναι ότι κάθε νέο αναγνωριστικό που φτιάχνουμε σε ένα τμήμα ή μια συνάρτηση θα διαγραφεί με την επιστροφή από τη κλήση.
Μπορούμε να καλέσουμε το Άλφα με την Κάλεσε
>Κάλεσε Άλφα, 2, 3
Τα τμήματα εξ ορισμού δεν έχουν αναδρομή με την απλή κλήση, δεν το αφήνει ο διερμηνευτής. Όμως με τη Κάλεσε γίνεται να έχουμε αναδρομή. Η κλήση της Άλφα μέσα από την Άλφα πρέπει να γίνει με την Κάλεσε για να έχουμε αναδρομή. Οι συναρτήσεις έχουν αναδρομή, όπως και ρουτίνες και οι απλές συναρτήσεις άμεσα.
Τώρα είμαστε στη γραμμή εκτέλεσης και με τη Σωρός βλέπουμε ότι έχουμε μια λέξη.
>? Γράμμα$
οκ
Με την Γράμμα$ κάναμε ότι με την Αριθμός για αριθμούς.

Συγγραφή Συνάρτησης
Ας φτιάξουμε και μια συνάρτηση (δείτε εδώ το = είναι αριστερή έκφραση, μόνο του). Στις συναρτήσεις η έξοδος γίνεται στο τέλος της συνάρτησης όχι στην = σαν εντολή. Αν δεν βάλουμε το = ή αν δεν εκτελεστεί λόγο αλλαγής ροής, γυρίζει μηδενική τιμή 0 ή "" ανάλογα  το όνομα της συνάρτησης. Αν η συνάρτηση έχει το $ στο όνομα γυρνάει αλφαριθμητικό (γράμματα).
Σ Επί2()
Διάβασε Χ
=Χ*2
Πατάμε Esc
>? Επί2(10)=20

Αποθήκευση Προγράμματος
Σώνουμε τα προγράμματα με το Σώσε
Σώσε πρώτο
Διαγράφουμε τα τμήματα με το Νέο, αλλά ο σωρός δεν διαγράφεται
Διαγράφουμε το σωρό τιμών με το Άδειασε
Διαγράφουμε τις μεταβλητές (καθολικές ή γενικές) με το Καθαρό
Τα κάνουμε όλα (εκτός από το σωρό), με την Αρχή
>Αρχή
Τώρα γράφουμε:
>Φόρτωσε πρώτο
Γράφουμε:
>Τμήματα ?
Και βλέπουμε τι έχουμε  (με σκέτο Τμήματα βλέπουμε και τι έχουμε στο δίσκο, σε ονόματα αρχείων). Αν το όνομα θέλουμε να έχει διαστήματα χρησιμοποιούμε εισαγωγικά. Σπάνιο να το χρησιμοποιήσουμε.

Γραφικά στη Κονσόλα
Με το παρακάτω:
>Οθόνη ,0
καθαρίζουμε την οθόνη από την πάνω γραμμή, βάζοντας δηλαδή την ολίσθηση να γίνεται από την πρώτη γραμμή (να μην έχουμε χωριστή οθόνη)
>Οθόνη, -10 
Τώρα καθαρίζουμε τις κάτω 10 γραμμές και πάει ο δρομέας στη πρώτη από αυτές τις γραμμές.
> Θέση 6000. 6000¨: Χάραξε 3000, 2000
Δώσαμε εντολή μετακίνησης του δρομέα γραφικών (Δεν φαίνεται) και μετά χαράξαμε 3000 twips δεξιά και 2000 twips κάτω (σχετικές αποστάσεις).
> Κύκλος 3000 
Δίνουμε έναν κύκλο με ακτίνα 3000 twips και κέντρο το σημείο που βρίσκεται ο δρομέας γραφικών.
Η οθόνη της κονσόλας έχει και γραφικά.


Στην εγκατάσταση της Μ2000 υπάρχει βιβλίο στα ελληνικά για να δει κανείς περισσότερα, και έχει ένα κεφάλαιο για γραφικά!
Τέλος υπάρχει η εντολή Βοήθεια 
>Βοήθεια Όλα 
μας δίνει όλα τα αναγνωριστικά (πάνω από 500) της γλώσσας και για κάθε ένα έχει οδηγίες και προγράμματα για να καταλάβει κανείς την λειτουργία.
>Βοήθεια Τύπωσε


Χρήση του info

Την πρώτη φορά που ξεκινάμε τη Μ2000 μπορούμε να δώσουμε τα παρακάτω
κατάλογος εφαρμογή.κατ$
ή
dir app.dir$

και μετά 
Φόρτωσε info
ή
Load info

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

Πατάμε το F1 για να σωθεί στο κατάλογο χρήστη.
Έτσι δεν χρειάζεται την επόμενη φορά να αλλάζουμε κατάλογο.
Είναι στα αγγλικά άλλα έχει πολλές; πληροφορίες και πολλά προγράμματα και παιχνίδια!










Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου