Αφού γνωρίσαμε 3-4 απλές εντολές της Locomotive Basic, τα loops και τις μεταβλητές ήρθε η ώρα να μάθουμε τους ελέγχους (If) αλλά και μερικά τεχνάσματα της Locomotive.
Σκέφτομαι να το κάνω αυτό με μικρά παραδείγματα
Το παραπάνω κομμάτι κώδικα ζητάει από τον χρήστη να πληκτρολογήσει κάτι και με το πάτημα του enter το αποθηκεύει στην μεταβλητή name$. Το μήνυμα "What is your name" θα εμφανιστεί στην οθόνη μαζί με ένα ερωτηματικό που προσθέτει η εντολή Input
Στην γραμμή 30 τυπώνεται το μήνυμα Hello ενωμένο με τα περιεχόμενα της μεταβλητής name$
Tip 1
Στην περίπτωση που κάνουμε κάποιο λάθος μπορούμε να γράψουμε edit και τον αριθμό της γραμμής που είναι το λάθος. Διορθώνουμε, πατάμε enter και ξανατρέχουμε με run
Tip 2
Αντί Print μπορούμε να βάλουμε ένα Αγγλικό ερωτηματικό. "?"
Αριθμητικές πράξεις
Πρόσθεση
? 1+1
2
Πολλαπλασιασμός
?2*2
4
Διαίρεση
?4/2
2
Διαίρεση που αφήνει μόνο το ακέραιο μέρος, τρώει δηλαδή τα δεκαδικά ψηφία
?3\2
1
Τετραγωνική ρίζα
?sqr(9)
3
TIp 3
Πολλές φορές χρειάζεται να γράψουμε κάποια σχόλια σε κάποια σημεία του προγράμματος που δεν θα τα ελέγχει η γλώσσα Basic ως προς την ορθότητα. Αυτό γίνεται με την εντολή REM
Π.χ
Αν δεν βάλουμε την εντολή REM η Basic θα νομίζει ότι αυτά που γράφουμε είναι εντολές της και φυσικά θα μας βγάλει άπειρα λάθη
Είναι χρήσιμο πριν κάθε ρουτίνα ή κομμάτι κώδικα που κάνει κάποια συγκεκριμένη δουλειά να περιγράφουμε τι κάνει ώστε να είναι ευκολονόητος ο κώδικας μας
Μερικές χρήσιμες εντολές στα γρήγορα
Με αυτή την εντολή αλλάζουμε το Mode γραφικών του Amstrad. Έχουμε άλλες 2 επιλογές την 1 και 2. Δοκιμάστε τις και μετρήστε πόσες γραμμές και πόσες στήλες εμφανίζονται.
Υπάρχει και κάτι άλλο που αλλάζει εκτός από την ανάλυση και τον αριθμό των χαρακτήρων που εμφανίζονται στην οθόνη και αυτό είναι ο αριθμός των χρωμάτων. Όσο ανεβαίνουμε σε ανάλυση κατεβαίνουμε σε αριθμό χρωμάτων.
Σημείωση: Όλα και όλα τα χρώματα στον Amstrad είναι 27. Το θέμα είναι ότι δεν μπορούμε να τα εμφανίσουμε όλα μαζί ταυτόχρονα στην οθόνη σαν μια παλέτα ζωγράφου.
Είπαμε ότι θα μάθουμε να χρησιμοποιιούμε την If. Αυτό θα το κάνουμε σε συνδυασμό με τη γνωριμία μας με τα χρώματα στον Amstrad. Πάμε λοιπόν σε ένα παράδειγμα
Χμμ μόλις θυμήθηκα γιατί η Basic είναι απαράδεκτη σαν γλώσσα
Τα goto είναι ότι χειρότερο έχει σκεφτεί κάποιος για γλώσσα υψηλού επιπέδου.
Το πρόγραμμα μας ζητάει έναν αριθμό από τον χρήστη και τον αποθηκεύει στην μεταβλητή col.
Στην γραμμή 40 γνωρίζουμε την εντολή if με την οποία κάνουμε τον έλεγχο των δεδομένων που εισήγαγε ο χρήστης. Βλέπουμε δηλαδή αν η col έχει τις τιμές που θέλουμε.
Αν ναι τότε μεταφέρεται η εκτέλεση του προγράμματος στη γραμμή 100 όπου αλλάζουμε το χρώμα στο περιθώριο με κωδικό αυτόν που έγραψε ο χήστης.
Αν αφήναμε τον χρήστη να γράψει ότι αριθμό ήθελε και δεν βάζαμε αυτόν τον έλεγχο το πρόγραμμα μας θα "έκσαγε" κατά την εκτέλεση.
Τώρα για το τι κωδικό έχει το κάθε χρώμα στον Amstrad θα πρέπει ή να αντγράψω το κλασσικό πινακάκι από το βιβλίο του Amstrad η να το βρείτε στο Internet
Το συγκεκριμένο κείμενο το θεωρώ draft και θα ανέβει αργότερα στο articles.
Σκέφτομαι να το κάνω αυτό με μικρά παραδείγματα
Κώδικας:
10 cls
20 input"What is your name";name$
30 print"Hello ";name$
Στην γραμμή 30 τυπώνεται το μήνυμα Hello ενωμένο με τα περιεχόμενα της μεταβλητής name$
Tip 1
Στην περίπτωση που κάνουμε κάποιο λάθος μπορούμε να γράψουμε edit και τον αριθμό της γραμμής που είναι το λάθος. Διορθώνουμε, πατάμε enter και ξανατρέχουμε με run
Tip 2
Αντί Print μπορούμε να βάλουμε ένα Αγγλικό ερωτηματικό. "?"
Αριθμητικές πράξεις
Πρόσθεση
? 1+1
2
Πολλαπλασιασμός
?2*2
4
Διαίρεση
?4/2
2
Διαίρεση που αφήνει μόνο το ακέραιο μέρος, τρώει δηλαδή τα δεκαδικά ψηφία
?3\2
1
Τετραγωνική ρίζα
?sqr(9)
3
TIp 3
Πολλές φορές χρειάζεται να γράψουμε κάποια σχόλια σε κάποια σημεία του προγράμματος που δεν θα τα ελέγχει η γλώσσα Basic ως προς την ορθότητα. Αυτό γίνεται με την εντολή REM
Π.χ
Κώδικας:
10 REM This program scrolls a message across the screen
20 REM made for GRM-B2R
Είναι χρήσιμο πριν κάθε ρουτίνα ή κομμάτι κώδικα που κάνει κάποια συγκεκριμένη δουλειά να περιγράφουμε τι κάνει ώστε να είναι ευκολονόητος ο κώδικας μας
Μερικές χρήσιμες εντολές στα γρήγορα
Κώδικας:
mode 0
Υπάρχει και κάτι άλλο που αλλάζει εκτός από την ανάλυση και τον αριθμό των χαρακτήρων που εμφανίζονται στην οθόνη και αυτό είναι ο αριθμός των χρωμάτων. Όσο ανεβαίνουμε σε ανάλυση κατεβαίνουμε σε αριθμό χρωμάτων.
Σημείωση: Όλα και όλα τα χρώματα στον Amstrad είναι 27. Το θέμα είναι ότι δεν μπορούμε να τα εμφανίσουμε όλα μαζί ταυτόχρονα στην οθόνη σαν μια παλέτα ζωγράφου.
Είπαμε ότι θα μάθουμε να χρησιμοποιιούμε την If. Αυτό θα το κάνουμε σε συνδυασμό με τη γνωριμία μας με τα χρώματα στον Amstrad. Πάμε λοιπόν σε ένα παράδειγμα
Κώδικας:
10 border 1
20 cls
30 input "Please give a number between 0 and 26";col
40 if col >=0 and col <27 then gosub 100
50 else
60 print "wrong number. Possible values 0-26"
70 goto 30
100 border col

Τα goto είναι ότι χειρότερο έχει σκεφτεί κάποιος για γλώσσα υψηλού επιπέδου.
Το πρόγραμμα μας ζητάει έναν αριθμό από τον χρήστη και τον αποθηκεύει στην μεταβλητή col.
Στην γραμμή 40 γνωρίζουμε την εντολή if με την οποία κάνουμε τον έλεγχο των δεδομένων που εισήγαγε ο χρήστης. Βλέπουμε δηλαδή αν η col έχει τις τιμές που θέλουμε.
Αν ναι τότε μεταφέρεται η εκτέλεση του προγράμματος στη γραμμή 100 όπου αλλάζουμε το χρώμα στο περιθώριο με κωδικό αυτόν που έγραψε ο χήστης.
Αν αφήναμε τον χρήστη να γράψει ότι αριθμό ήθελε και δεν βάζαμε αυτόν τον έλεγχο το πρόγραμμα μας θα "έκσαγε" κατά την εκτέλεση.
Τώρα για το τι κωδικό έχει το κάθε χρώμα στον Amstrad θα πρέπει ή να αντγράψω το κλασσικό πινακάκι από το βιβλίο του Amstrad η να το βρείτε στο Internet
Το συγκεκριμένο κείμενο το θεωρώ draft και θα ανέβει αργότερα στο articles.