Πρόλογος. Γιώργος Καρράς



Σχετικά έγγραφα
ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

ΣΗΜΕΙΩΣΕΙΣ. στη γλώσσα προγραμματισμού. Γκέτσιος Βασίλειος

1. Τα τμήματα της επιφάνειας εργασίας των Windows

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Ο Προγραμματισμός στην Πράξη

Γεωργάκης Αριστείδης ΠΕ20

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel... 9

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

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

Ταυτότητα εκπαιδευτικού σεναρίου

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εντολές της LOGO (MicroWorlds Pro)

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Εμφανίζονται 3 επιλογές με 3 εικονίδια, η «ζωγραφική», η «εισαγωγή» και η «κάμερα».

Τιμή Τιμή. σκορ. ζωές

του προγράμματος diagrama_rohs.zip )

Βασικές Έννοιες Υπολογιστών

Γνωρίστε το Excel 2007

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

KTurtle. KTurtle του KDE. KTurtle (καμβάς), Επεξεργαστής Κώδικα και Επιθεωρητής (Εικόνα 2.1). Στην Κονσόλα (Εκτελεστής) Επιφάνεια Εργασίας (καμβάς)

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

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

Microsoft PowerPoint 2007

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Διαδικασιακός Προγραμματισμός

Προγραμματισμός. Το περιβάλλον του scratch

Pixlr: Ας περικόψουμε τα περιττά

επιµέλεια Θοδωρής Πιερράτος

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

ΕΠΙΣΚΟΠΗΣΗ ΕΦΑΡΜΟΓΩΝ ΓΡΑΦΕΙΩΝ

B) Ετοιμάζοντας μια Παρουσίαση

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στοn επεξεργαστή κειμένου Microsoft Word. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Διδασκαλία γραμμάτων-συλλαβών

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Το περιβάλλον προγραμματισμού MicroWorlds Pro

αξιοποίηση των ΤΠΕ: Η logo στη διδακτική διδακτική πράξη

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31

Δημιουργία. Ιστολογίου (blog) 7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ

Μάθημα 4ο. Προγράμματα

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ

7 ο Γυμνάσιο Καβάλας Καλλιόπη Παρσέλια Σχολ. έτος: Το περιβάλλον προγραμματισμού MicroWorlds Pro

Τετράδια Κιθάρας. Χρήση του PowerTab

Σχεδίαση και ανάπτυξη δραστηριοτήτων στο προγραμματιστικό περιβάλλον MicroWorlds Pro

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Περιεχόμενα. Σελίδα 3 από 21

WiFi V-Timer ΕΚΔΟΣΗ 2Η

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

Τα αλφαριθμητικά αποτελούνται από γράμματα, λέξεις ή άλλους χαρακτήρες (π.χ. μήλο, Ιούλιος 2009, You win!).

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Πρόβλημα 29 / σελίδα 28

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

Προγραμματισμός με Logo στο MicroWorlds Pro

αντίστοιχο γεγονός. Όταν όντως το κουμπί

Περιεχόμενα. Δημιουργία σύνδεσης ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ Γνωριμία με μια ιστοσελίδα:... 38

Λίγα λόγια από το συγγραφέα Microsoft Word Δημιουργία νέου εγγράφου Το σύστημα Βοήθειας του Word...

Εγκατάσταση της Unity

Σχολ.έτος Κεφάλαιο 5 ο Γνωριμία με το Λογισμικό του Υπολογιστή.

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών»

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Γ-ΓΥΜΝΑΣΙΟΥ (1) ΣΕΛ 1 / 6

Το βιβλίο της Μ. Autism Resource CD v Resource Code RC115

ΕΙΣΑΓΩΓΗ ΣΤΟ POWER POINT

Βάσεις δεδομένων (Access)

ΤΟ MICROSOFT WORD XP. Ας ξεκινήσουμε λοιπόν!

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Τίτλος Πακέτου Certified Computer Expert-ACTA

Περιεχόμενα. Περιεχόμενα...v

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Transcript:

Πρόλογος Οι υπολογιστές είναι μηχανές για να εξυπηρετούν κάποιες ανάγκες μας. Ο προσδιορισμός των αναγκών εκείνων που θα εξυπηρετήσουμε με την χρήση του υπολογιστή είναι η πιο καλή εισαγωγή στους υπολογιστές. Μια προσέγγιση στο θέμα είναι να μάθουμε για μια πληθώρα χρήσεων του υπολογιστή και να ταυτίσουμε μερικές από αυτές με αυτές που χρειαζόμαστε για να καλύψουμε ανάγκες μας. Αυτό θα απαιτούσε περισσότερα βιβλία, περισσότερο χρόνο από αυτόν που διαθέτουμε. Μια άλλη προσέγγιση είναι να μάθουμε τον υπολογιστή προγραμματίζοντάς τον. Δεν θέλουμε γνώσεις για να φτιάξουμε τεράστια εμπορικά προγράμματα. Θέλουμε να βάλουμε τον υπολογιστή να δουλέψει για μας σε απλά και ωραία πράγματα. Το βιβλίο αυτό, με το περιεχόμενο CD, θα προσπαθήσει να σας βάλει στο πνεύμα του προγραμματιστή και κατ' επέκταση να σας κάνει σωστό χρήστη του υπολογιστή. Θα το κάνει αυτό παρέχοντάς σας μια γλώσσα προγραμματισμού με ελληνικές εντολές που θα περάσετε στον υπολογιστή σας από το CD και ακολουθώντας τα κεφάλαια του βιβλίου με τα παραδείγματα και τις αναφορές σε καίρια θέματα, θα είστε σε θέση να γράψετε τα δικά σας προγράμματα για τις δικές σας ανάγκες. Το βιβλίο απευθύνεται σε παιδιά δημοτικού, γυμνασίου, λυκείου αλλά και σε ενήλικες. Η παρεχόμενη γλώσσα προγραμματισμού είναι στην ουσία ένα περιβάλλον προγραμματισμού που εξομοιώνει υπολογιστές της δεκαετίας του 80 με τις δυνατότητες γραφικών, βάσεων δεδομένων και πολυμέσων των σύγχρονων υπολογιστών. Γιώργος Καρράς

4 Εισαγωγή Στις αρχές της δεκαετίας του 1980 εμφανίζονται οι μικροϋπολογιστές στην ελληνική αγορά, στα πρώτα ειδικά μαγαζιά, ταυτόχρονα με την εμφάνισή τους στο εξωτερικό. Τα μοντέλα έρχονταν, τότε, το ένα πίσω από το άλλο. Άλλο με τον τάδε επεξεργαστή άλλο με τον δείνα, ο κάθε ένας κάπως διαφορετικός από τον άλλο. Σε όλα τα μηχανήματα υπήρχε μία γλώσσα προγραμματισμού. Η γλώσσα αυτή ήταν, στους περισσότερους, η BASIC. Η βασική γλώσσα κατά μία έννοια. Όλοι τότε οι ενδιαφερόμενοι για τους υπολογιστές, όπως και ο γραφών, μάθαιναν τις δυνατότητες των μηχανημάτων αυτών - το πώς μπορεί κανείς να τα χρησιμοποιήσει καλύτερα - με την χρήση φυσικά της ενσωματωμένης γλώσσας. Ο κάθε κατασκευαστής υπολογιστή τότε έδινε μαζί με τον υπολογιστή και έναν οδηγό χρήστη «USER GUIDE», το εγχειρίδιο δηλαδή, με παραδείγματα και αναφορές για κάθε εντολή που περιλάμβανε αυτή η ενσωματωμένη γλώσσα. Αν και σε ορισμένους υπολογιστές η γλώσσα δεν έδινε πρόσβαση σε ιδιαίτερες δυνατότητες και έπρεπε κανείς να γράφει προγράμματα σε γλώσσα μηχανής (γλώσσα δηλαδή που χειρίζεται άμεσα η κεντρική μονάδα επεξεργασίας και δεν είναι εύκολα κατανοητή), για τους περισσότερους αρκούνταν σ' αυτό που είχαν για να γνωρίσουν τον κόσμο των υπολογιστών. Με τον καιρό όμως, οι κατασκευαστές αφού είδαν την ροπή του κόσμου να γυρνάει προς τις αγορές υπολογιστών με πολλές δυνατότητες αλλά φτωχή ή μηδενική ενσωματωμένη γλώσσα (βλέπε PC, Atari, Amiga) αφαίρεσαν κάθε γλώσσα και επομένως και το ανάλογο εγχειρίδιό της, αναγκάζοντας τον χρήστη να ψάχνει για έτοιμα προγράμματα και ειδικευμένη γνώση για αυτά. Τα εξειδικευμένα προγράμματα όμως βλέπουν τον υπολογιστή μόνο από μία σκοπιά, αυτήν για την οποία προγραμματίστηκαν,

5 π.χ. για την επεξεργασία κειμένου. Ας το κάνουμε πιο κατανοητό παρακάτω: Κάθε εφαρμογή έχει ένα αντικείμενο, το κύριο, όπου πάνω σ' αυτό δουλεύουμε. Αυτό το χαρακτηρίζει. Ο επεξεργαστής κειμένου για παράδειγμα έχει κύριο αντικείμενο το έγγραφο. Για κάθε τέτοιο αντικείμενο υπάρχουν ιδιότητες και μέθοδοι που μπορούμε να προσαρμόσουμε και να εκτελέσουμε αντίστοιχα. Το ζητούμενο σε κάθε εφαρμογή είναι να ετοιμάσουμε το απαραίτητο κύριο αντικείμενο για προβολή, εκτύπωση και γενικεύοντας για δημοσίευση με οποιονδήποτε τρόπο και για όσους παραλήπτες θέλουμε. Αν λοιπόν η χρήση ενός υπολογιστή γίνεται για την χρήση μιας ή περισσοτέρων εφαρμογών τότε πέρα από την διευθέτηση αρχείων και της επιφάνειας εργασίας του υπολογιστή μας, απαιτείται η εξειδικευμένη γνώση των κύριων αντικειμένων των εφαρμογών αυτών. Δηλαδή φθάσαμε στο σημείο να χρειάζεται κανείς να παρακολουθήσει σεμινάρια ή σπουδές πληροφορικής για να ξεκινήσει σωστά την χρήση ενός υπολογιστή. Τέτοιο πράγμα, ειδικά για τους μικροϋπολογιστές, παλαιότερα δεν ήταν απαραίτητο. Μάλιστα μπορεί να μην υπήρχε Internet για να μοιράζονται οι χρήστες τα κατορθώματά τους αλλά υπήρχαν έξοχα περιοδικά (ξένα και ελληνικά) που συντελούσαν στην μεταφορά γνώσης. Βέβαια η χρήση συγκεκριμένων - μεγάλων - εφαρμογών πρέπει και είναι ο τελικός σκοπός ενός μαθητευόμενου που αύριο θα θέλει να ασχοληθεί επαγγελματικά. Το ερώτημα είναι: Ο περισσότερος κόσμος που έχει έναν υπολογιστή στο σπίτι, πόσο θα τον χρησιμοποιήσει επαγγελματικά; Κυρίως ποτέ θα λέγαμε. Άρα ποιο όφελος έχει κανείς για να μάθει την άλφα ή βήτα εφαρμογή αφού ουδέποτε θα ασχοληθεί σε επαγγελματικό επίπεδο; Σε παραλληλισμό το να αγοράσει κανείς έναν επεξεργαστή κειμένου του επιπέδου MS Word είναι το ίδιο με κάποιον που αγοράζει έναν

6 αεροσυμπιεστή και έναν αερογράφο για να μάθει να βάφει, χωρίς να είναι αυτή η δουλειά του. Ας δούμε όμως τι δυνατότητες έχει ένας σημερινός υπολογιστής στην απλή του μορφή και όχι σε σύνθετες που παρουσιάζονται από τις εκάστοτε προσφερόμενες εφαρμογές. Πρώτον, και το γνωρίζουν όλοι, ο υπολογιστής διαθέτει μια οθόνη, άρα έναν τρόπο να βγάζει εικόνες - γραφήματα - γράμματα. Επίσης έχει δυνατότητα να βγάζει ήχους - μουσική, να εκτυπώνει σε χαρτί, μέχρι και να χειρίζεται άλλες συσκευές διαβιβάζοντας με προσαρμοστές τα κατάλληλα σήματα - εντολές. Αυτές είναι οι δυνατότητες εξαγωγής πληροφοριών. Δεύτερον έχει την δυνατότητα να δέχεται στοιχεία και να τα μετατρέπει ανάλογα σε όλα τα παραπάνω. Και το πετυχαίνει με τη χρήση ποντικιού (δείκτη), πληκτρολογίου, σαρωτή σελίδων και φωτογραφιών, εισόδους για ήχο, σήμα video (από κάμερες), ραδιόφωνο, τηλεόραση, CD, DVD και ένα σωρό άλλες πηγές πληροφοριών αναλογικές και ψηφιακές. Αυτές είναι οι δυνατότητες εισαγωγής πληροφοριών. Τρίτον, και το ξεχωρίζουμε, το Modem, αυτή είναι η συσκευή που μας ανοίγει τον δρόμο για την αμφίδρομη επικοινωνία με όλον τον κόσμο. Το Modem είναι ο προσαρμοστής τηλεφωνικής γραμμής στον υπολογιστή μας, εισάγει και εξάγει πληροφορίες, όχι απλά όπως ένα τηλέφωνο αλλά σαν πολλαπλά τηλέφωνα- γραμμές που τα έχουμε συνδέσει με μια συσκευή. Συνήθως μια βασική σύνθεση υπολογιστή για το σπίτι δεν έχει τόσες εισόδους όπως είδαμε παραπάνω αλλά έχει τουλάχιστον τα βασικά: πληκτρολόγιο και ποντίκι (δείκτης), κάρτα ήχου με δυνατότητα εγγραφής ήχου, CD ή DVD αναπαραγωγέα (player), παιγνιολαβή (joystick) και τελευταία όλο και συχνότερα το modem.

7 Γενικά η χρήση του υπολογιστή στο σπίτι περιορίζεται στην επικοινωνία μέσω Internet, έτοιμα παιχνίδια και εκπαίδευση μέσα από multimedia παρουσιάσεις (πολυμεσικές αν σας λεει τίποτα αυτό ή το καλύτερο οπτικοακουστικές). Σε ελάχιστες περιπτώσεις θα ζωγραφίσει κανείς (και αυτό για αστείο) ή θα γράψει κάτι παραπάνω από μια υπενθύμιση. Θα χρησιμοποιήσει κανείς δηλαδή τον υπολογιστή για πληροφόρηση και σαν θαμώνας καφενείου θα μπαίνει σε τσατς (Chats) ή ελληνικά τις λεγόμενες τηλεσυνεδρίες όπου θα βρίσκει άλλα πρόσωπα και θα ανταλλάσσει απόψεις και το συνηθέστερο αστεία. Χωρίς να παραβλέπουμε και τις προαναφερόμενες χρήσεις ως ικανοποιητικές θα πρέπει να προσθέσουμε ότι αυτός που θέλει να αναπτύξει τις δυνατότητες της σκέψης του μπορεί να το κάνει με την χρήση μιας γλώσσας προγραμματισμού σε έναν υπολογιστή. Το αποτέλεσμα τέτοιας χρήσης θα είναι οπωσδήποτε κάποια προγράμματα χρήσιμα ή μη, που θα δώσουν ψυχική ικανοποίηση και αυτοπεποίθηση στον δημιουργό τους. Η χρήση της δημιουργικής ελεύθερης έκφρασης εντοπίζεται και αμβλύνεται με την χρήση μιας γλώσσας προγραμματισμού. Η δυνατότητα να ελέγχουμε το αποτέλεσμα και να το διορθώνουμε, δηλαδή η γνωστή μέθοδος δοκιμής και σφάλματος, είναι το κεντρικό στοιχείο που μας βοηθάει στον προγραμματισμό. Σε κάθε άλλη ασχολία μας έξω από τον υπολογιστή όταν εφαρμόσουμε την παραπάνω μέθοδο, πέρα από την αξιοποίηση του ελεύθερου χρόνου μας, έχουμε επιπρόσθετα έξοδα για υλικά για μετατροπές και δοκιμές. Στον υπολογιστή όμως το πρόγραμμα είναι ένα ψηφιακό αρχείο χωρίς μάζα που σαν κόστος έχει μόνο τρεις έννοιες: το αρχικό κόστος ετοιμασίας, δηλαδή προγραμματισμού, το κόστος αποθήκευσης που είναι μηδαμινό και το κόστος χρήσης που έχει να κάνει με τον απαιτούμενο χρόνο που θα μας απασχολήσει κατά την εκτέλεση αυτού του προγράμματος. Από τις τρεις έννοιες μόνο η πρώτη είναι και το ουσιαστικό κόστος αλλά και η χαρά της δημιουργίας. Είναι το συγγραφικό κομμάτι του όλου έργου που το λέμε πρόγραμμα.

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

9 Γι' αυτό και δεν πρέπει να φοβίζει ορισμένους από το αν έχουν γράψει ή όχι κάτι πανεπιστημιακού επιπέδου. Ο προγραμματισμός στηρίζεται μόνο στο εφικτό. Αφού δουλεύει η μέθοδος μας είναι πετυχημένη. Αν και θα μπορούσαμε να τη φτιάχναμε καλύτερα, ως δομικό στοιχείο του προγράμματός μας είναι αυτό που πρέπει. Αν έχουμε κάποιο λάθος στην διατύπωση του συλλογισμού μας θα το δούμε με την μέθοδο δοκιμής και σφάλματος. Σχεδόν όλα τα επαγγελματικά προγράμματα έχουν και μερικές μαύρες στιγμές. Είναι τα λεγόμενα bugs, ή ελληνικά σε ελεύθερη απόδοση κακοτεχνίες και χρειάζονται μερεμέτια. Αποφασίσαμε λοιπόν να ασχοληθούμε με τον προγραμματισμό. Να δοκιμάσουμε τις δυνατότητές μας και να κάνουμε τον υπολογιστή μας να φτιάχνει αραβουργήματα. Οπότε φθάσαμε τώρα στο βασικό ερώτημα: Ποια γλώσσα προγραμματισμού να χρησιμοποιήσω; Και τα επιμέρους ερωτήματα: Πόσο θα μου κοστίσει για να την αποκτήσω; Πόσο χρόνο θα χρειαστώ για να μάθω να κάνω αυτό ή το άλλο, π.χ. έστω να εμφανίσω στην οθόνη μια ευχετήρια κάρτα με τίτλους και εικόνες; Αν ο ερωτών είχε έναν υπολογιστή του 1981 θα άνοιγε το βιβλίο προγραμματισμού που έπαιρνε μαζί με τον υπολογιστή, θα άνοιγε τον υπολογιστή του και θα έφτιαχνε σε δέκα λεπτά τον σκελετό με τα βασικά του προγράμματος. Αλλά με τον καινούριο του υπολογιστή πέρα από το λειτουργικό που περιλαμβάνει αυτός δεν έχει τίποτα άλλο. Επίσης επειδή τα νέα λειτουργικά δουλεύουν με φόρμες, πλαίσια δηλαδή που καταλαμβάνουν ένα τμήμα της οθόνης και μπορούν να αλληλοκαλύπτονται, θα πρέπει λοιπόν να βρει μια γλώσσα που να φτιάχνει πλαίσια τέτοια αφού καταλάβει τις τριάντα και κάτι ιδιότητές τους, μετά να ορίσει κάποια αντικείμενα, άλλα για κείμενο και άλλα για εικόνες, το κάθε ένα με δικές του ιδιότητες και μεθόδους (από καμιά τριανταριά που ενδεχομένως το μητρικό αντικείμενο να τις επηρεάζει διαφορετικά από ότι περιμένουμε...και πάει λέγοντας).

10 Πράγματι ο προγραμματισμός με αντικείμενα Visual ή ελληνικά οπτικά-φανερά ενώ διαφημίζεται σαν ό,τι πιο εύκολο για την δημιουργία προγραμμάτων, απαιτεί μεγάλη γνώση παραδοσιακού προγραμματισμού καθώς και γνώση της πολύπλοκης δομής των αντικειμένων και ειδικότερα των περιορισμών τους. Ο παραδοσιακός προγραμματισμός δεν πρόκειται ποτέ να εγκαταλειφθεί διότι έχει το στοιχείο της αλληλουχίας εντολών που είναι η ουσία κάθε προγραμματισμού. Ο αντικειμενοστραφής προγραμματισμός είναι στην ουσία ο παραδοσιακός με χρήση έτοιμων αντικειμένων. Κάθε αντικείμενο είναι ένα σύνολο μεταβλητών που τις λέμε ιδιότητες και μικρών προγραμμάτων που τα λέμε μεθόδους, οι ιδιότητες και οι μέθοδοι αυτές ενεργούν πάνω σε ένα τμήμα ενός άλλου αντικειμένου και πάει λέγοντας. Τελικά υπάρχουν αντικείμενα που είναι φανερά στην οθόνη μας και άλλα που λέγονται κλάσεις και μπορούν να συνδέονται μόνο με δεδομένα. Δεν είναι εύκολο να κατανοήσει κανείς την προηγούμενη παράγραφο, αν δεν έχει ασχοληθεί με παρόμοιο προγραμματισμό. Αν όμως είχαμε ένα τρόπο να ασχοληθούμε με τον προγραμματισμό σε ένα σύγχρονο υπολογιστή χωρίς αυτά τα μυστήρια αντικείμενα, δηλαδή σαν να δουλεύουμε σε έναν υπολογιστή του 1981 αλλά με την ταχύτητα και την μνήμη των νέων υπολογιστών και επιπλέον με τις δυνατότητες ήχου και προβολής ταινιών που δεν είχαμε τότε, θα πετυχαίναμε να κάναμε πραγματικά αυτό: Να ασχοληθούμε με προγραμματισμό ερασιτεχνικά, χωρίς μεγάλο κόπο, αλλά με καλά αποτελέσματα. Εδώ λοιπόν έρχεται να καλύψει το κενό στις γλώσσες προγραμματισμού η γλώσσα Μ2000, ή Μαθητής 2000 γιατί αφιερώνεται σε αυτούς τους μαθητές από 9 έως 99 χρονών, που βασικά θέλουν να α-σ-χ-ο-λ-η-θ-ο-ύ-ν. Το ερώτημα του αναγνώστη εδώ θα πρέπει να είναι: Τι νέο προφέρει η Μ2000;

11 Η γλώσσα Μ2000 γράφτηκε με την Visual Basic 5 και είναι μια εφαρμογή που τρέχει στα Windows. Ανοίγει μια φόρμα που καταλαμβάνει όλη την οθόνη χωρίς επικεφαλίδα, και μέσα σε αυτήν ανοίγει μια οθόνη. Εκεί μπορούμε να δώσουμε άμεσες εντολές, να γράψουμε ένα πρόγραμμα, να σχεδιάσουμε με γραμμές, πολύγωνα, κύκλους και καμπύλες, επίσης με εντολές να παίξουμε σε έτοιμη μορφή ήχους, μουσική, ταινίες κατά βούληση, να εισάγουμε στοιχεία και να τα επεξεργαζόμαστε, να χρησιμοποιούμε μαθηματικές πράξεις και συναρτήσεις και όλα αυτά με εντολές στην ελληνική γλώσσα αλλά και με αντίστοιχες εντολές στην αγγλική. Δηλαδή κάθε εντολή στη Μ2000 υπάρχει και στις δυο γλώσσες και μπορούμε να δίνουμε όποιες μας βολεύει - στα ελληνικά ή στα αγγλικά. Παράδειγμα: ΤΥΠΩΣΕ 12*3+4*5, "ΚΑΛΗΜΕΡΑ" ή PRINT 12*3+4*5, "ΚΑΛΗΜΕΡΑ" Καθώς τυπώνουμε στην οθόνη κάθε αλλαγή γραμμής στο κάτω μέρος προκαλεί ολίσθηση των γραμμών προς τα πάνω και εμφάνιση καθαρής γραμμής κάτω. Από την έκδοση 2.0 έχουμε πρόσθετες δυνατότητες χρήσης αρχείων τύπου ACCESS, με ερωτήματα της SQL. Αυτό το κομμάτι προορίζεται για πιο προχωρημένους προγραμματιστές. Υπάρχουν όμως και άλλα νέα στοιχεία όπως περιστροφή εικόνας, μεταφορά εικόνας σε μεταβλητές, διαφάνειες και μεγεθύνσεις, καθώς και περιστροφή κειμένου. Επίσης από την έκδοση 3.0 μπορούμε να χειριζόμαστε σελίδες html και να εμφανίζουμε φόρμες για συλλογή στοιχείων μέσα από αναλόγιο τύπου Internet Explorer. Επίσης δυνάμωσε η μηχανή γραφικών με δυνατότητες για καμπύλες - αλλαγές πάχους γραμμών αλλά και εκτύπωση πολλαπλών γλωσσών με επιλογές γλώσσας και γραμματοσειρών. Τέλος βελτιώθηκε η εκτύπωση και ο χειρισμός εκτυπωτή γενικότερα.

12 Τα προγράμματα που φτιάχνουμε είναι στην ουσία αρχεία κειμένων που διαβάζονται ακόμα και από το πρόχειρο. Έχουμε όμως την δυνατότητα να τα κρυπτογραφήσουμε, έτσι ώστε να τρέχουν, αλλά να μην εμφανίζουν λίστα (να κρατάμε για λογαριασμό μας τον κώδικα). Οι εντολές έχουν δοκιμαστεί μία προς μία. Πολλές όμως από αυτές έχουν μεγάλη εμβέλεια και δεν δύναται να προσδιοριστούν επακριβώς τα όρια όπου πέρα από αυτά έχουμε δυσλειτουργίες. Η κύρια δυσλειτουργία αυτής της γλώσσας όπως και στο σύνολό τους όλων των γλωσσών είναι η προβληματική διαχείριση μεγάλου όγκου πληροφοριών ταυτόχρονα. Έτσι πρέπει να επισημανθεί ότι η χρήση μνημοβόρων λειτουργιών (απαιτούν μεταφορές ή και καθορισμούς μεγάλων χώρων στην μνήμη) μπορεί να φθάσει στα όρια των δυνατοτήτων μιας συγκεκριμένης σύνθεσης επεξεργαστή και μνήμης με αποτέλεσμα την αδυναμία ομαλής εκτέλεσης των προγραμμάτων. Το κακό αυτό αποτέλεσμα συνήθως το λέμε crash ή ελληνικά κώλυμα. Δεν πρέπει βέβαια να μας στεναχωρεί ιδιαίτερα, διότι υπάρχουν ασφαλιστικές - προγραμματιστικές διατάξεις που τελικά θα μας οδηγήσουν στον τερματισμό εκτέλεσης της γλώσσας στην καλύτερη περίπτωση ή στην χειρότερη έχουμε τον διακόπτη της ρευματοδοσίας του υπολογιστή πάντα κοντά μας. Τα παραπάνω μπορεί να είναι λίγο αποκαρδιωτικά αλλά δεν πρέπει να το βάζουμε κάτω σε κάτι τέτοιες δυσκολίες. Μετά από ένα απότομο κλείσιμο του υπολογιστή μας ακολουθεί πάντα ένα ομαλότατο άνοιγμα και πάλι από την αρχή. Άρα ουδέν κακό. Όταν ανοίγει η Μ2000 καταλαμβάνει όλη την οθόνη. Αυτό δεν σημαίνει ότι δεν μπορούμε να δουλέψουμε σε μια εφαρμογή των Windows. Καλό όμως είναι, εφόσον εκπαιδευόμαστε σ' αυτήν να μην έχουμε ανοιχτά άλλα προγράμματα.

13 Αφιερώθηκαν οι παραπάνω τρεις παράγραφοι σε ένα θέμα που πολλοί φοβούνται. Στην ασφαλή χρήση του υπολογιστή. Είναι σημαντικό να μην νιώθει φόβο ο εκπαιδευόμενος για το αν θα κάνει ένα σοβαρό λάθος ή όχι. Λάθη κάνουμε όλοι μας ευτυχώς όμως στον υπολογιστή είναι ανώδυνα. Όπως αναφέραμε στον πρόλογο ο σκοπός μας είναι να μάθει τελικά ο εκπαιδευόμενος την σύνταξη της γλώσσας Μ2000. Η μέθοδος που ακολουθούμε είναι η βαθμιαία εισαγωγή με αυξανόμενη αναφορά σε νέες έννοιες. Θα είναι ευχής έργο να μπορούν όλοι να φθάσουν μέχρι το τέλος και να καταλαβαίνουν το κείμενο. Όμως δεν είναι απαραίτητο να γίνει αυτό σε μια μέρα ή μια βδομάδα ή ένα μήνα. Ο καθένας μας έχει το δικό του μέτρο μάθησης. Μπορεί κανείς να παραλείψει κάτι και να το αναζητήσει μετά. Ευτυχώς οι εντολές είναι στα ελληνικά και προδιαθέτουν τον αναγνώστη για την χρησιμότητά τους. Στα τελευταία κεφάλαια υπάρχουν παραδείγματα που ίσως ξενίσουν ορισμένους αν τα συγκρίνουν με την αντίστοιχη ύλη ενός σχολείου ή φροντιστηρίου. Αυτό το εγχειρίδιο δεν γράφτηκε για να συναγωνιστεί άλλες μεθόδους αλλά για να τεκμηριώσει την συγκεκριμένη γλώσσα Μ2000, ώστε να γίνει χρήσιμη σε όλους. Συμπερασματικά λοιπόν η πορεία που θα ακολουθήσουμε στο βιβλίο αυτό είναι τέτοια που βλέπει τον αναγνώστη ως έναν νεοεισερχόμενο στους υπολογιστές. Σαν να ξεκινάει κανείς από το μηδέν. Πρέβεζα, Ιανουάριος 2003 Γιώργος Καρράς

Τμήμα 1 ο Τα πρώτα βήματα Το βιβλίο αυτό έχει τρία τμήματα. Τα πρώτο για τα βασικά βήματα. Το δεύτερο για προχωρημένες φάσεις προγραμματισμού. Το τρίτο περιλαμβάνει τον κατάλογο εντολών με παράδειγμα σε κάθε μία εντολή. Στο τμήμα αυτό και στα κεφάλαια που θα ακολουθήσουν, θα δούμε μια πρώτη γεύση της γλώσσας Μ2000. Θα πληροφορηθούμε σε συντομία αλλά και επιλεκτικά ορισμένες από τις δυνατότητες της γλώσσας. Οι εντολές που περιγράφονται εκτός από την ελληνική γραφή τους έχουν και την αγγλική. Ο μεταφραστής της Μ2000 γνωρίζει και τις δυο γλώσσες! Φυσικά με ένα ελεγχόμενο συντακτικό. Η έντυπη μορφή βοηθάει στο διάβασμα! Μην χάσετε την σειρά των κεφαλαίων διότι σίγουρα κάτι που θα σας διαφύγει ίσως έχει αποτέλεσμα το χάσιμο μερικών ωρών για διόρθωση των προγραμμάτων σας. Στο πρώτο κεφάλαιο, θα γνωρίσετε την οθόνη, αυτό που βλέπετε όταν ανοίγει ο μεταφραστής, αφιερώστε δυο ή τρεις μέρες πριν αλλάξετε κεφάλαιο. Στο δεύτερο κεφάλαιο ξεκινάτε το πρώτο σας πρόγραμμα! Στο τρίτο κεφάλαιο προχωράτε στα εσωτερικά της γλώσσας, δείξτε λίγο υπομονή και παρακολουθήστε το. Στο τέταρτο κεφάλαιο θα μάθετε να φτιάχνετε αρχεία, προσοχή όμως να μην καταχωρείτε προσωπικά δεδομένα άλλων γιατί θέλει άδεια! Στο πέμπτο κεφάλαιο, προχωράμε στις βάσεις δεδομένων. Αν με τα πέντε αυτά κεφάλαια δεν μπορείτε να φτιάξετε έναν τηλεφωνικό κατάλογο, τότε πρέπει να κοιτάξετε για κάτι άλλο!

Κεφάλαιο 1 ο Εξερευνήστε την Οθόνη σας! Ξεκινήσατε, μπράβο! Θέλει λίγο κουράγιο και θα έχετε σύντομα αποτελέσματα. Πρώτα όμως ας δούμε την πρόσβαση στην γλώσσα Μ2000. Κάποιος πιο έμπειρος στα του υπολογιστή θα μπορούσε να σας ξεκινήσει την γλώσσα αφού την εγκαταστήσει. Επίσης να σας δείξει πως γυρνάει στα ελληνικά το πληκτρολόγιο (συνήθως με τα αριστερά shift και alt πατημένα μαζί) Ωραία! τώρα ξεκίνησε η Μ2000 και στην οθόνη βλέπετε ένα μεγάλο πράσινο πλαίσιο με μια επιγραφή σε κίτρινο χρώμα Μ2000 αριθμό έκδοσης μεταφραστή και κάποια ακόμα στοιχεία. Λίγο πιο κάτω υπάρχει ένα γαλάζιο σύμβολο > και ακριβώς δίπλα μια παύλα κόκκινου χρώματος. Το σύμβολο > μας προτρέπει (ή τουλάχιστον ελπίζει ότι το κάνει) να γράψουμε μια εντολή, ελπίζοντας γι' εκείνο κατανοητό. Η παύλα δείχνει το που θα φανεί ένας χαρακτήρας όταν τον πληκτρολογήσουμε. Αυτή η παύλα λέγεται πιο κατανοητά ΔΡΟΜΕΑΣ γιατί κάθε φορά που πληκτρολογούμε προχωράει δεξιά - ανοίγει δρόμο! Επειδή είναι καλό να αιτιολογούμε τις πράξεις μας, αν και λίγο κουραστικό, εδώ πρέπει να δικαιολογήσουμε την ύπαρξη του πλήκτρου Enter (αυτό με το σχήμα της γωνίας). Παλιά στις γραφομηχανές για να αλλάξουμε γραμμή πατούσαμε το πλήκτρο ΕΠΙΣΤΡΟΦΗ ή RETURN. Οι πρώτοι μικροϋπολογιστές διέθεταν ένα τέτοιο πλήκτρο όχι μόνο όμως για να αλλάζουν γραμμή της οθόνης αλλά για να τερματίζουν την κάθε εισαγωγή στοιχείων. Έτσι άλλαξε η ονομασία από Επιστροφή σε Είσοδος ή Enter. Συνοψίζοντας: Κάθε φορά που γράφουμε μια εντολή, ο μεταφραστής δεν ξεκινάει την μετάφραση αν δεν πατήσουμε το Enter. Γράψτε μετά το > με κεφαλαία ΓΕΙΑ ΧΑΡΑ. Στείλτε το για μετάφραση: Πατήστε Enter

16 Θα μας απαντήσει ο μεταφραστής:? ΓΕΙΑ ΧΑΡΑ Και θα μπει στην αναμονή νέας εντολής προς μετάφραση. Θα μας δείξει πάλι το > Αυτό που γράψαμε δεν είχε κάποια έννοια για τον μεταφραστή, έτσι μας έβγαλε το αγγλικό ερωτηματικό? καθώς και το προβληματικό κομμάτι της εντολής - εδώ όλο ήταν ένα πρόβλημα! Δοκιμάστε τώρα να μην γράψετε τίποτα αλλά να πατήσετε τριάντα φορές το Enter. Δεν βλέπουμε να μας απαντά ο μεταφραστής αλλά αμέσως μπαίνει στην αναμονή για άλλη εντολή. Επίσης έχουμε φθάσει στην κατώτερη γραμμή της οθόνης και το ΓΕΙΑ ΧΑΡΑ έχει εξαφανιστεί. Επίσης μερικές γραμμές ψηλά στην οθόνη έχουν παραμείνει αμετάβλητες (αυτές που γράφουν Μ2000 κλπ) Ας δώσουμε τώρα την πρώτη μας εντολή: ΟΘΟΝΗ Ελπίζω να μην ξεχάσατε το Enter, διαφορετικά δεν θα σας δίνει σημασία ο μεταφραστής και θα περιμένει ακόμα!! Όπως θα καταλάβατε αυτή η εντολή σβήνει την οθόνη! Αλλά πάλι παραμένει ένα τμήμα ψηλά που δεν έσβησε! Κάτι θα κάνουμε και γι' αυτό. Δοκιμάστε το παρακάτω: ΟΘΟΝΗ 1,0 Μάλιστα! τώρα σβήσαμε όλη την οθόνη και αλλάξαμε χρώμα φόντου στο βαθύ μπλε. Σύνοψη: Η εντολή ΟΘΟΝΗ δέχεται έως δύο παραμέτρους, το χρώμα και τον αριθμό γραμμής όπου από κει και κάτω ολισθαίνει η οθόνη. Μπορούμε να δώσουμε αυτήν την εντολή με τρεις τρόπους: 1. Σκέτη χωρίς παραμέτρους: ΟΘΟΝΗ

2. Με μία παράμετρο: ΟΘΟΝΗ 0 ή ΟΘΟΝΗ,5 17 3. Με δυο παραμέτρους: ΟΘΟΝΗ 1,0 Τα νούμερα είναι ενδεικτικά. Το πρώτο που δείχνει το χρώμα παίρνει τιμές από 0 έως 15, τα δεκάξι εξ ορισμού χρώματα των Windows. Επιπλέον δέχεται και αρνητικές τιμές (με παύλα μπροστά) από -1 έως -1677216, δηλαδή μπορεί να πάρει ένα από τα 16.7 εκατομμύρια χρώματα. Δοκιμάστε το παρακάτω ΟΘΟΝΗ ΧΡΩΜΑ(128,100,50) ΤΥΠΩΣΕ $(,10) η δεύτερη εντολή θα εξηγηθεί παρακάτω, χρειάζεται όμως εδώ για να φτιάξουμε νοητές στήλες πλάτους δέκα γραμμάτων (χαρακτήρων) και τώρα δοκιμάστε και αυτό ΤΥΠΩΣΕ ΧΡΩΜΑ(128,100,50) Η εντολή ΤΥΠΩΣΕ κάνει ακριβώς αυτό: τυπώνει στην οθόνη. Το ΧΡΩΜΑ(128,100,50) είναι μια συνάρτηση που δέχεται τρεις αριθμητικές τιμές και δίνει ένα αριθμητικό αποτέλεσμα. ΤΥΠΩΣΕ -(128+100*2**16+50*2**16) Βλέπουμε τώρα το ίδιο αποτέλεσμα της συνάρτησης ΧΡΩΜΑ( ). Επίσης βλέπουμε ότι η ΤΥΠΩΣΕ μπορεί να τυπώνει το αποτέλεσμα μιας αριθμητικής παράστασης. Ο διπλός αστερίσκος στην αριθμητική παράσταση σημαίνει ύψωση στην δύναμη. Π.χ. 3**2 θα δώσει 9. Μπορούμε να τυπώσουμε δυο ή περισσότερες τιμές με μία εντολή. ΤΥΠΩΣΕ 1,2,3,4,5 ή ΤΥΠΩΣΕ 1,2,,3,4,,5

18 προσέξτε το διπλό κόμμα (κάνει αλλαγή γραμμής, όπως κάνει και η τύπωσε με το πέρας της εντολής) ΤΥΠΩΣΕ "ΜΠΡΑΒΟ ΣΟΥ" Μας απαντά ο μεταφραστής ΜΠΡΑΒΟ ΣΟΥ Μέχρι εδώ μόνο με την χρήση ΤΥΠΩΣΕ έχουμε μια καλή χρήση της Μ2000: Εκτελεί όλες τις αριθμητικές παραστάσεις: ΤΥΠΩΣΕ "3 στο τετράγωνο ="; 3**2 Το σημάδι ; λεει στην τύπωσε να κρατήσει τον κρυφό της δρομέα αμέσως μετά το = και να κολλήσει το επόμενο προς τύπωση εκεί. Δοκιμάστε με κόμμα αντί ερωτηματικό. Μέχρι εδώ βλέπουμε ότι εκτελούνται πράξεις, ότι ολισθαίνει η οθόνη μας και ότι κάποια αποτελέσματα τα χάνουμε κάπου ψηλά στην οθόνη. Πράγματι αυτά που πέρασαν την πρώτη γραμμή της οθόνης (από πάνω) χάθηκαν για πάντα! Αν θέλαμε να κρατήσουμε ένα αριθμητικό αποτέλεσμα, πως θα το κάναμε; γράψτε το παρακάτω: Α=12 ΤΥΠΩΣΕ Α ΟΘΟΝΗ ΤΥΠΩΣΕ Α Α! Τώρα βλέπουμε ότι το γράμμα Α περιέχει το νούμερο 12 και δεν χάνεται άμα σβήσουμε την οθόνη. Η Α είναι λοιπόν μια μεταβλητή (γιατί μπορούμε να της αλλάξουμε την τιμή), δες: Α=13 ΤΥΠΩΣΕ Α, Α*10 Δώστε και αυτό ΛΙΣΤΑ

19 Θα μας απαντήσει ο μεταφραστής με την εμφάνιση στην οθόνη των μεταβλητών που έχουμε ορίσει, εδώ την Α Γράψτε ΚΑΘΑΡΟ ΛΙΣΤΑ Τώρα σβήσανε όλες οι μεταβλητές! Ξανά τώρα δώστε: Α=1+2+3+4+5 ΤΥΠΩΣΕ Α Άρα τώρα ξέρουμε πως να σώσουμε κάποιο αποτέλεσμα αριθμητικής παράστασης και να το τυπώσουμε στην οθόνη. Βέβαια θα θέλαμε να αλλάξουμε χρώμα στα γράμματα, γίνεται αυτό; ΠΕΝΑ 15 Αν θέλουμε να κρατήσουμε ένα όνομα; Α$="ΓΕΙΑ ΧΑΡΑ" ΤΥΠΩΣΕ Α$ ΛΙΣΤΑ Τώρα βλέπουμε δυο τιμές (μεταβλητές) την Α και Α$. Η πρώτη έχει αριθμητική τιμή η δεύτερη έχει αλφαριθμητική (που σημαίνει παίρνει γράμματα, αριθμούς και σύμβολα, θα την ακούσετε και σαν συμβολοσειρά, αγγλικά string) Οι μεταβλητές παύουν να υπάρχουν μετά από καθαρισμό με την ΚΑΘΑΡΟ ή μετά από τερματισμό της Μ2000 με την εντολή ΤΕΛΟΣ, επίσης και με την εντολή ΑΡΧΗ δώστε τώρα: ΑΡΧΗ ΛΙΣΤΑ και

20 Α=5 ΑΡΧΗ "","" ΛΙΣΤΑ Η εντολή ΑΡΧΗ κάνει ψυχρή η θερμή επανεκκίνηση του μεταφραστή. Χωρίς παραμέτρους κάνει ψυχρή εκκίνηση, σβήνει εσωτερικά προγράμματα και μεταβλητές. Ενώ στην θερμή απλά επαναφέρει την αρχική οθόνη αλλά δεν σβήνει τίποτα άλλο. ΑΡΧΗ "COURIER" Αλλάζει τα γράμματα σε Courier. Η δεύτερη παράμετρος λεει στον μεταφραστή να εκτελέσει και μια σειρά εντολών ΑΡΧΗ "","ΜΠΙΠ :ΜΠΙΠ" Η ΜΠΙΠ κάνει ακριβώς αυτόν τον ήχο. Η άνω και κάτω τελεία χωρίζει δυο εντολές όπως το παρακάτω ΤΕΣΤ ΑΚΟΗΣ της μιας γραμμής (να μια χρήση για ιατρικούς σκοπούς!): ΜΠΙΠ : ΤΥΠΩΣΕ "ΑΝ ΔΕΝ ΤΟ ΑΚΟΥΣΕΣ ΔΕΝ ΑΚΟΥΣ ΤΙΠΟΤΑ" Δες και αυτό ΕΙΣΑΓΩΓΗ Α$: ΤΥΠΩΣΕ Α$ Η πρώτη εντολή μας ζητάει να γράψουμε κάτι μετά το ερωτηματικό? Αμέσως μόλις δώσουμε και το απαραίτητο ENTER θα μας το ξαναγράψει στην οθόνη. Ταυτόχρονα το έχει κρατήσει στην μεταβλητή Α$ ΕΙΣΑΓΩΓΗ "ΔΩΣΕ ΤΟ ΜΙΚΡΟ ΣΟΥ ΟΝΟΜΑ ", Α$ : ΤΥΠΩΣΕ "ΤΟ ΟΝΟΜΑ ΣΟΥ ΕΙΝΑΙ "; Α$ Αντί για ερωτηματικό τώρα βγαίνει μια συμβολοσειρά ή αλφαριθμητικό ή ξερά θα λέγαμε μια πρόταση όπου στην συνέχεια γράφουμε το όνομά μας.

21 Σύνοψη: Στην οθόνη εμφανίζονται πέρα από επιγραφές ή αριθμητικά αποτελέσματα και σημεία-προτάσεις εισαγωγής. Η οθόνη μας εκτός από χαρακτήρες μπορεί να εμφανίσει και γραφήματα αλλά και εικόνες! ΟΘΟΝΗ, 0 : ΟΘΟΝΗ,ΥΨΟΣ - 3 Τώρα έχουμε τρεις γραμμές στο κάτω μέρος της οθόνης όπου θα δίνουμε εντολές στον μεταφραστή. Η μεταβλητή ΥΨΟΣ μας δίνει το ύψος της οθόνης σε χαρακτήρες (οι γραμμές έχουν αρίθμηση από 0 έως Υψος-1) Υπάρχει και η ΠΛΑΤΟΣ που δίνει τις στήλες της οθόνης σε χαρακτήρες, ενώ η μεταβλητή ΣΤΗΛΗ μας λεει πόσους χαρακτήρες πλάτος έχει η κάθε νοητή στήλη εκτύπωσης. Αν διαβάσατε παραπάνω η ΣΤΗΛΗ αλλάζει με μια ΤΥΠΩΣΕ $(, αριθμός) Η πρώτη παράμετρος της $( ) έχει να κάνει με την στοίχιση των στηλών, για την ώρα δεν θα επεκταθούμε σε αυτό. ΦΟΝΤΟ 5,2 ΦΟΝΤΟ 5,2,0 ΦΟΝΤΟ 1 ΘΕΣΗ 3000,3000 ΧΑΡΑΞΕ 2000,0 ΧΑΡΑΞΕ 0,2000,15 ΧΑΡΑΞΕ -2000,0 ΧΑΡΑΞΕ 0,-2000,14 ΚΥΚΛΟΣ 1000 ΚΥΚΛΟΣ 2000,2 ΚΥΚΛΟΣ 2000,.5,14 ΘΕΣΗ 2000,2000 ΚΥΚΛΟΣ 2000

22 ΓΕΜΙΣΕ 0,0,14 ΘΕΣΗ 4000,2000 ΚΥΚΛΟΣ ΓΕΜΙΣΜΑ 3, 2000, 1, 15, ΠΙ, 0 Ας δούμε μια επιγραφή: ΘΕΣΗ 5000,5000 ΕΠΙΓΡΑΦΗ "ΟΧΙ ΚΑΠΝΙΣΜΑ","ARIAL", 48 ΕΠΙΓΡΑΦΗ "ΟΧΙ ΚΑΠΝΙΣΜΑ","ARIAL", 48, ΠΙ/4 Η δεύτερη παραλλαγή περιστρέφει την επιγραφή κατά ΠΙ/4 (45 μοίρες) Λίγο θεωρία: Η εντολή Επιγραφή όπως βλέπετε τυπώνει βάσει του δρομέα γραφικών αλλά δεν τον μετακινεί, όπως και ο ΚΥΚΛΟΣ (δεν φαίνεται ο δρομέας αλλά είναι νοητός) - δηλαδή υπάρχουν δυο εσωτερικές μεταβλητές που κρατάνε τις συντεταγμένες Χ και Υ που δηλώνουν το σημείο από όπου θα ξεκινήσουν εντολές γραφικών. Επίσης και η ΓΕΜΙΣΕ παίρνει απευθείας Χ και Υ χωρίς να επηρεάσει τον δρομέα γραφικών. Αν θέλουμε μάλιστα μπορούμε να δώσουμε: ΓΕΜΙΣΕ,,10 Οπότε γεμίζει με το εξ ορισμού χρώμα 10 μέχρι να βρει το χρώμα της πένας ΓΕΜΙΣΕ ΧΡΩΜΑ 1000,1000, 10 ή ΓΕΜΙΣΕ ΧΡΩΜΑ,,10 Οπότε αλλάζει το χρώμα στο σημείο 1000,1000 ή στην θέση του δρομέα γραφικών καθώς και όπου αλλού συναντήσει το ίδιο χρώμα με κίνηση από το αρχικό και βαδίζοντας πάντα πάνω στο ίδιο χρώμα.

23 Τα γραφικά της Γλώσσας Μ2000 εκτός από την χρήση των καρτεσιανών συντεταγμένων κάνουν και χρήση των πολικών με γωνία και απόσταση. Αλλά δεν θα τα δούμε αυτά σε αυτό το κεφάλαιο. Κλείνοντας αυτό το κεφάλαιο, θα προσθέσουμε μία ακόμα συνάρτηση που δουλεύει μόνο στην ΤΥΠΩΣΕ ΤΥΠΩΣΕ @(10,10),"ΕΔΩ" η @( ) έχει αρκετές παραμέτρους, για την ώρα θα δούμε αυτήν την παραλλαγή, με δύο παραμέτρους. Η πρώτη μας λεει πόσους χαρακτήρες θα μετακινηθούμε από την αριστερή πλευρά της οθόνης και η δεύτερη πόσες γραμμές θα κατέβουμε από την άνω πλευρά της οθόνης. Σε σχέση με άλλες γλώσσες, όταν τυπώνουμε χαρακτήρες το φόντο αυτών είναι ένα χρώμα που ορίζεται από κάποια εσωτερική μεταβλητή. Η Μ2000 γράφει διάφανα τους χαρακτήρες, δηλαδή γράφει τα εικονοστοιχεία που ορίζει ο χαρακτήρας, αν τυπώσουμε ένα διάστημα δεν τυπώνει τίποτα αλλά μεταθέτει την θέση κατά έναν χαρακτήρα. Το φόντο αν έχει διαβάθμιση χρώματος (όπως μπορούμε να το κάνουμε με την εντολή ΦΟΝΤΟ) δεν χάνεται αν γράψουμε χαρακτήρες είτε με την ΤΥΠΩΣΕ είτε με την ΕΠΙΓΡΑΦΗ. Μόνο όταν ολισθήσει η οθόνη η τελευταία γραμμή βάφεται με το χρώμα που ορίζουμε με την εντολή ΟΘΟΝΗ. Βέβαια με την ΕΙΣΑΓΩΓΗ και την ΠΕΔΙΟ που θα δούμε σε άλλο κεφάλαιο οι χαρακτήρες τυπώνονται καθώς πληκτρολογούμε με φόντο το χρώμα της οθόνης. Όπως συμβαίνει και κατά την εισαγωγή εντολών. Η ΤΥΠΩΣΕ είναι μια πολυσύνθετη εντολή αφού έχει και δυο δικές τις εντολές που μπορούν να παρεμβάλλονται στην σειρά αλφαριθμητικών, αριθμών και παραστάσεών τους και μπορούν να μπουν με όποια σειρά θέλουμε. Επίσης να μην ξεχνάμε την χρήση του ερωτηματικού ; του κόμμα και των πολλαπλών κομμάτων.

24 Οι παραλλαγές της @( ) @( Χ ) @(,Υ) @( Χ, Υ) @( Χ, Υ, Χ1,Υ1, ΧΡ) @( Χ, Υ, Χ1, Υ1, ΧΡ, ΠΕΡ) @( Χ, Υ, Χ1, Υ1, "όνομα αρχείου γραφικών") @( Χ, Υ, Χ1, Υ1, "όνομα αρχείου γραφικών", 1) Τα Χ, Υ μεταθέτουν σε απόλυτη θέση τον δρομέα. Υπάρχει και εντολή που το κάνει χωρίς να δώσουμε το π.χ. ΤΥΠΩΣΕ @(10,5); αλλά το ΔΡΟΜΕΑΣ 10,5 Τα Χ1 και Υ1 ορίζουν ένα σημείο πιο δεξιά και πιο κάτω από τα Χ και Υ όπου θα βάψουμε, ή και θα βάλουμε περίγραμμα τα χρώματα των οποίων θα είναι το ΧΡ και ΠΕΡ. Επίσης αντί να βάψουμε μπορούμε να τοποθετήσουμε ένα γραφικό δίνοντας το όνομα του αρχείου μαζί με το μονοπάτι όπου βρίσκεται στον δίσκο (θα το δούμε αυτό αργότερα) Επειδή ορίζουμε με τα Χ, Υ και Χ1, Υ1 δική μας αναλογία πλευρών Χ1-Χ προς Υ1-Υ μπορούμε να απλώσουμε ή όχι μια εικόνα. Αν την απλώσουμε θα καλύπτει όλο το τετράπλευρο, διαφορετικά αν δώσουμε την τελευταία παραλλαγή θα κρατήσει την αναλογία της εικόνας και θα επεκτείνει ή θα μικρύνει ανάλογα την Υ διάσταση. Άρα αν και δεν βάφει αυτόματα η Μ2000 πίσω από τους χαρακτήρες (στο φόντο), στην ΤΥΠΩΣΕ με την @( ) μπορεί να το κάνει. Και κάτι τελευταίο, οι εικόνες μπορεί να είναι jpg, bmp αλλά και σχέδια wmf ή emf. Ειδικά για τα σχέδια wmf και emf αυτά αναπαράγονται χωρίς να αλλάζουν τον φόντο (διάφανα).

25 Με την ΤΥΠΩΣΕ λοιπόν μπορούμε να τυπώνουμε εικόνες, σχέδια, γράμματα, πλαίσια και να χρωματίζουμε την οθόνη. Πάντα όμως σε θέσεις χαρακτήρων. (μπορεί να τα σκεφτεί κανείς σαν κουτάκια αραδιασμένα σε σειρές) Παραλλαγές της $( ) $(στοίχιση) $(στοίχιση, πλάτος στήλης) $(φόρμα$) $(φόρμα$, πλάτος στήλης) στοίχιση: 0 = δεξιά, 1 = αριστερά, 2 = κέντρο φόρμα$: αλφαριθμητικό δες παρακάτω. πλάτος στήλης (μπορούμε να δώσουμε μέχρι το μέγιστο που είναι το πλάτος οθόνης) Παρατήρηση: Όταν ένας αριθμός έχει πλάτος μεγαλύτερο της στήλης και δεν έχουμε ορίσει φόρμα τότε αν η στοίχιση είναι δεξιά ή αριστερά, ο αριθμός θα καταλάβει όσες στήλες χρειασθεί. Ουσιαστικά αυτή η συνάρτηση είναι δυο! Μία για την στοίχιση και μία για το φορμάρισμα των εξαγομένων αριθμών ή και αλφαριθμητικών. Και οι δυο παραλλαγές ισχύουν μέχρι να ξαναδώσουμε μια ίδια εντολή αλλά με άλλες παραμέτρους. Η $("") τερματίζει την χρήση φόρμας. Φορμάρισμα Αλφαριθμητικών Μέσα στο αλφαριθμητικό που θα δηλώσουμε την φόρμα μπορούμε να συμπεριλάβουμε: @ & Θέση εκτύπωσης ενός χαρακτήρα αν υπάρχει στο προς φορμάρισμα αλφαριθμητικό, διαφορετικά τυπώνει το διάστημα Θέση εκτύπωσης ενός χαρακτήρα αν υπάρχει στο προς φορμάρισμα αλφαριθμητικό, διαφορετικά δεν τυπώνει καθόλου χαρακτήρα

26 < Μετατρέπει σε πεζά τους χαρακτήρες που ακολουθούν > Μετατρέπει σε κεφαλαία τους χαρακτήρες που ακολουθούν! Αλλάζει την καθορισμένη φορά εκτύπωσης Φορμάρισμα αριθμών 0 Τυπώνει αριθμό ή το 0 # Τυπώνει αριθμό ή τίποτα. Θέση υποδιαστολής % Μετατροπή σε ποσοστό. Η έκφραση πολλαπλασιάζεται επί 100 και μπαίνει σε αυτή την θέση το σύμβολο %, Διαχωριστής χιλιάδων E- Επιστημονική γραφή αριθμών E+ e- e+ Φορμάρισμα ημερομηνιών και ωρών : Διαχωριστής ώρας / Διαχωριστής ημέρας c Τυπώνει ανάλογα με τα στοιχεία που δίνουμε την πλήρη φόρμα ημερομηνίας και την πλήρη φόρμα ώρας d Τυπώνει την μέρα ως νούμερο χωρίς μηδενικό στα αριστερά (1-31) dd Όπως το προηγούμενο αλλά με το τυχόν μηδενικό αριστερά (01-31) ddd Τυπώνει την ημέρα με τρία αρχικά γράμματα dddd Τυπώνει την ημέρα με το όνομά της ddddd Πλήρη φόρμα ημέρας w Τυπώνει τον αριθμό ημέρας (1 για Κυριακή και 7 για Σάββατο) ww Τυπώνει τον αριθμό εβδομάδας της χρονιάς (1-54) m Τυπώνει τον μήνα ως νούμερο χωρίς μηδενικό στα αριστερά (1-12)

27 mm Όπως το προηγούμενο αλλά με το τυχόν μηδενικό αριστερά (01-12) mmm Τυπώνει το όνομα του μήνα με τρία γράμματα mmmm Τυπώνει όλο το όνομα του μήνα q Τυπώνει τον αριθμό του τετραμήνου (1-4) y Τυπώνει τον αριθμό της ημέρας του έτους (1-366) yy Τυπώνει την χρονιά ως δυο ψηφία (00-99) yyyy Τυπώνει την χρονιά ως αριθμός (100-99990 h Τυπώνει την ώρα χωρίς αριστερό μηδενικό (0-23) hh Όπως το προηγούμενο αλλά με τυχόν αριστερό μηδενικό (00-23) n Τυπώνει τα λεπτά της ώρας χωρίς αριστερό μηδενικό (0-59) nn Όπως το προηγούμενο αλλά με τυχόν αριστερό μηδενικό (00-59) s Τυπώνει τα δευτερόλεπτα του λεπτού της ώρας χωρίς αριστερό μηδενικό (0-59) ss Όπως το προηγούμενο αλλά με τυχόν αριστερό μηδενικό (00-59) ttttt Πλήρης φόρμα ώρας AM/PM Ένδειξη ώρας με ένδειξη πμ και μμ στα κεφαλαία am/pm Όπως πριν αλλά με πεζά τα πμ και μμ A/P Όπως πριν αλλά με ένα γράμμα Π ή Μ AMPM Όπως πριν αλλά χρησιμοποιεί τα εξ ορισμού πμ και μμ που έχουν δηλωθεί στα Microsoft Windows Γενικά για όλα τα παραπάνω: \ τυπώνει τον επόμενο χαρακτήρα που θα βρει στο αλφαριθμητικό φορμαρίσματος Εξαιρούνται τα : a, c, d, h, m, n, p, q, s, t, w, y, / και : (".. Τυπώνει τους περιεχόμενους χαρακτήρες (εδώ... ). ")

28 Όπως βλέπουμε από τους πίνακες παραπάνω, εκτός από αλφαριθμητικά και αριθμούς χειριζόμαστε και ημερομηνίες - ώρες. Τώρα θα δούμε μερικά παραδείγματα χρήσης αυτών: Α=ΣΗΜΕΡΑ Β=ΤΩΡΑ ΤΥΠΩΣΕ Α, Β Θα μας τυπώσει δύο νούμερα. Πράγματι αυτά τα νούμερα δεν μας λένε τίποτα! ΤΥΠΩΣΕ ΗΜΕΡΑ$( Α), ΧΡΟΝΟΣ$( Β) ΤΥΠΩΣΕ ΗΜΕΡΑ$(Α+Β), ΧΡΟΝΟΣ$(Α+Β) Πως όμως θα βάλουμε δικές μας ημερομηνίες και χρόνους σε μεταβλητές και πως μπορούμε να κάνουμε πράξεις και ποιες που να έχουν νόημα; Γ=ΧΡΟΝΟΣ( "10:30" ) ΤΥΠΩΣΕ ΧΡΟΝΟΣ$( Γ-Β ) Δ=ΣΗΜΕΡΑ + 45 ΤΥΠΩΣΕ ΗΜΕΡΑ$(Δ), ΗΜΕΡΑ$(Α), ΗΜΕΡΑ$(Α- 20) ΤΥΠΩΣΕ ΗΜΕΡΑ$(ΗΜΕΡΑ( "12/3/2000" )) Αν θέλουμε όμως να προσθέσουμε π.χ. 5000 λεπτά σε μια δεδομένη ώρα και να βρούμε το αποτέλεσμά της; ΚΑΘΑΡΟ Α=ΧΡΟΝΟΣ( "22:00") Β=ΥΠΩΡΑ( Α,0,5000,0 ) ΜΕΡΕΣ%=Β ΛΕΠΤΟ =ΧΡΟΝΟΣ( "00:01") ΥΠΟΛΟΙΠΑ.ΛΕΠΤΑ% = ( Β-ΜΕΡΕΣ%) / ΛΕΠΤΟ

29 Η μεταβλητή ΜΕΡΕΣ% έχει το σύμβολο % και σημαίνει ότι είναι ακέραια μεταβλητή, δηλαδή δεν κρατάει δεκαδικά. Μπορούμε να έχουμε ταυτόχρονα την Α, Α$ και Α% Η μέρα μετατρέπεται πάντα σε ακέραιο αριθμό ενώ η ώρα πάντα σε δεκαδικό έτσι στην μεταβλητή ΜΕΡΕΣ% γράφουμε μόνο τις ημέρες! Επίσης μπορούμε να βάζουμε και τελείες στα ονόματα (αλλά όχι σαν πρώτο γράμμα) ΤΥΠΩΣΕ ΜΕΡΕΣ%, ΥΠΟΛΟΙΠΑ.ΛΕΠΤΑ% Για τις ημέρες: ΚΑΘΑΡΟ Α=ΣΗΜΕΡΑ Β=ΥΠΜΕΡ( Α,0,3,0) ΤΥΠΩΣΕ ΗΜΕΡΑ$(Β) Μόλις τυπώσαμε την ημερομηνία τρεις μήνες μετά από σήμερα! ΤΥΠΩΣΕ ΓΡΑΦΗ$(ΣΗΜΕΡΑ,"dddd") Μόλις διαβάσαμε το όνομα της σημερινής μέρας! Η συνάρτηση ΓΡΑΦΗ$( ) έχει τρεις μορφές: ΓΡΑΦΗ$( αριθμός) ΓΡΑΦΗ$( αριθμός, φόρμα$) ΓΡΑΦΗ$( γράμματα$, φόρμα$) Παράδειγμα: ΤΥΠΩΣΕ ΓΡΑΦΗ$("ΑΒΓΔΕΖ","<") Μας τυπώνει σε πεζά: αβγδεζ Η φόρμα που εμφανίζεται στη δεύτερη παράμετρο είναι ίδια με την πρώτη παράμετρο της $().

30 Η διαφορά είναι στο ότι για μεν την $() επενεργεί μέσω της ΤΥΠΩΣΕ και μέχρι να ξαναδώσουμε παρόμοια εντολή. Ενώ η ΓΡΑΦΗ$( ) είναι αλφαριθμητική συνάρτηση και μπορεί να εμφανίζεται και εκτός της ΤΥΠΩΣΕ και να μην επιδρά σε άλλα στοιχεία. Α$=ΓΡΑΦΗ$(ΣΗΜΕΡΑ, "dddd") Για αλλαγή από κεφαλαία σε πεζά και το ανάποδο υπάρχουν δυο αλφαριθμητικές συναρτήσεις, εκτός της πιο σύνθετης ΓΡΑΦΗΣ$( "ααααααα","<") : Α$=ΚΕΦ$( "αβγδ") Β$=ΠΕΖ$("ΑΒΓΔ") Αφού μιλάμε για αλφαριθμητικές μεταβλητές ας πούμε και αυτό: Αν δεν υπήρχαν ή δεν είχαν την δυνατότητα να μας προσφέρουν οι υπολογιστές τέτοιες μεταβλητές, τότε δεν θα ξεχώριζε ο υπολογιστής μας από μία αριθμομηχανή τεσσάρων πράξεων που κάνει για δημοτικό! Ας δούμε παρακάτω Α$="αβγδ1234" Α$=Α$+" 5 6 7 8" Α$= "ΚΛΜΝ "+Α$ ΤΥΠΩΣΕ Α$ Μπορούμε να προσθέτουμε στην αρχή ή στο τέλος χαρακτήρες. Δεν μπορούμε όμως να αφαιρούμε ή να κάνουμε άλλες πράξεις, εκτός από τις λογικές! Ωραία και τι σημαίνει λογική πράξη; ΤΥΠΩΣΕ "αβγδ">"ααααα" Θα μας δώσει -1 που σημαίνει σωστό, αλλά αν βάζαμε < θα μας έδινε 0 δηλαδή λάθος. Τι σημαίνει όμως το "αβγδ">"ααααα". Σημαίνει το "αβγδ" είναι μεγαλύτερο από το "ααααα" σε σειρά αύξουσας ταξινόμησης. Το ίδιο ισχύει και για αριθμούς:

ΤΥΠΩΣΕ 10>5 31 Πράγματι το 10 βρίσκεται μετά το 5 σε σειρά αύξουσας ταξινόμησης. Για τους αριθμούς υπάρχουν οι παρακάτω πράξεις + - * / (οι τέσσερις βασικές) ** ύψωση σε δύναμη συνθήκες με αποτέλεσμα λογικό (ΑΛΗΘΕΣ ή ΨΕΥΔΕΣ) <= >= = <> Για αλφαριθμητικά + συνθήκες με αποτέλεσμα λογικό (ΑΛΗΘΕΣ ή ΨΕΥΔΕΣ) <= >= = <> Για συνθήκες (με λογικό αποτελέσματα) OXI (NOT) αναστροφή H (OR ) λογική πρόσθεση KAI (AND ) λογικός πολλαπλασιασμός ΑΠΟ (XOR ) λογική αφαίρεση Δεν θα επεκταθούμε στις πράξεις για την ώρα (κάντε μόνοι σας δοκιμές)

32 Θα δούμε τις συναρτήσεις των αλφαριθμητικών. Ολόκληρη η γλώσσα Μ2000 στηρίζεται σε αυτές. Στην ουσία ένα πρόγραμμα περιλαμβάνει εκφράσεις, λέξεις, αριθμούς που όλα γράφονται σε ένα αλφαριθμητικό. Ο μεταφραστής με χρήση των συναρτήσεων των αλφαριθμητικών ανιχνεύει το πρόγραμμα και ξεχωρίζει λέξεις αριθμούς καθώς και όλο το συντακτικό που περιμένει να βρει. Λογικό λοιπόν είναι να υπάρχει ένας τρόπος να εμφανίζουμε ένα προς ένα τα γράμματα ενός αλφαριθμητικού. Αυτό απαιτεί δυο πράγματα: Μια συνάρτηση που θα μας δίνει το μήκος και μια άλλη που θα μας γυρνάει τον χαρακτήρα στην Χ θέση του αλφαριθμητικού με πρώτη θέση (θέση 1) τον πρώτο χαρακτήρα από αριστερά. ΤΥΠΩΣΕ ΜΗΚΟΣ("ΑΒΓΔ") Τυπώνει φυσικά το 4 ΤΥΠΩΣΕ ΜΗΚΟΣ ("") Τυπώνει το 0 γιατί μεταξύ των αυτιών όπως τα λέμε (τα εισαγωγικά), δεν υπάρχει ίχνος χαρακτήρα. Βέβαια και τα διαστήματα είναι χαρακτήρες: ΤΥΠΩΣΕ ΜΗΚΟΣ("12 34") Τυπώνει 5 γιατί είχαμε και ένα διάστημα μεταξύ των 2 και 3. ΤΥΠΩΣΕ ΜΕΣ$( "12345", 3, 1) Τυπώνει το 3 ως χαρακτήρα και όχι ως αριθμό. Θα μπορούσαμε να τυπώναμε το δεύτερο και τρίτο χαρακτήρα με μια εντολή: Τυπωσε ΜΕΣ$( "12345", 2, 2) Η τρίτη παράμετρος μας λεει πόσους χαρακτήρες από τη θέση που μας λέει η δεύτερη παράμετρος θα φέρει από την πρώτη παράμετρο που είναι το αλφαριθμητικό! Θα μπορούσαμε να δίναμε και το Τυπωσε ΜΕΣ$("12345",2)

33 Τότε μας τυπώνει χαρακτήρες από την θέση 2 έως το τέλος του αλφαριθμητικού. Έστω λοιπόν κάποιος θέτει σε μια μεταβλητή το επίθετό του (φυσικά θα είναι αλφαριθμητική μεταβλητή). Και ζητάμε σε κάποιον άλλο που δεν είδε το επίθετο που γράφτηκε αλλά του λέμε σε ποια μεταβλητή το έχουμε "καταχωρίσει" να μας τυπώσει ένα προς ένα τα γράμματα χωρίς να διαβάσει όλη τη λέξη! Έστω η Α$ έχει το όνομα Β=ΜΗΚΟΣ(Α$) ΤΥΠΩΣΕ Β ΤΥΠΩΣΕ ΜΕΣ$(Α$,1,1) Και θα συνεχίσουμε να δίνουμε αυτήν την εντολή μέχρι η δεύτερη παράμετρος να πάρει το νούμερο του Β. Ελπίζω να μην βάλατε κανένα επίθετο όπως το Χατζηπαπακαραδιαμαντοχαριτοπουλος, γιατί θα βαρεθείτε να γράφετε! Βέβαια αν κάναμε τόσες "μανούβρες" για να πετύχουμε αυτό το πράγμα, τι τον θέλαμε τον υπολογιστή; Καιρός είναι λοιπόν να φτιάξουμε ένα πρόγραμμα που να μας δίνει την δυνατότητα να εκτελούμε επαναληπτικές διαδικασίες! Μαγική έκφραση αυτή! Διάλειμμα και συνεχίζουμε στο άλλο κεφάλαιο!

Κεφάλαιο 2 ο Τα πρώτα μας προγράμματα! Είδαμε στο τέλος του προηγούμενου κεφαλαίου, και για τους ανυπόμονους ακριβώς πριν ένα δευτερόλεπτο, ότι θα ήταν καλύτερα να υπήρχε ένας τρόπος να δίνουμε κάποιες εντολές με αυτόματη επανάληψη, αν κάτι σημαίνει αυτό! Να μπορούσαμε να δώσουμε στο προηγούμενο παράδειγμα ένα κείμενο με λίγες γραμμές που θα μας έγραφε ένα προς ένα τα γράμματα ενός οποιουδήποτε επιθέτου ή πρότασης ολόκληρης ακόμα. Και να ήταν κάπως έτσι: ΕΙΣΑΓΩΓΗ "Δώσε πρόταση ή επίθετο:", Α$ Β=ΜΗΚΟΣ(Α$) ΓΙΑ Ι=1 ΕΩΣ Β { ΤΥΠΩΣΕ ΜΕΣ$(Α$,Ι,1) } Δηλαδή να είχαμε έναν μετρητή επαναλήψεων. Ναι αυτό είναι ένα πρόγραμμα που μπορεί να εκτελέσει η Μ2000, αφού το γράψουμε. Αλλά που πρέπει να το γράψουμε; Εδώ πρέπει να ειπωθεί ότι η γλώσσα Μ2000 δουλεύει με τμήματα. Δηλαδή ένα πρόγραμμα μπορεί να έχει διάφορα τμήματα, αλλά και κάθε τμήμα μπορεί να είναι ένα πρόγραμμα! Αυτό θυμίζει την κότα με το αυγό. Θα λύσουμε όμως και αυτό όπως και το προηγούμενο πρόβλημα, και να πως: Κάθε τμήμα έχει ένα όνομα! Αν και το κάθε αυγό είχε ένα όνομα θα ξέραμε τότε ποιος έκανε ποιον! Με άλλα λόγια δεν μπερδευόμαστε γιατί δουλεύουμε με ονόματα. Έτσι και ένα τμήμα έχει όνομα και χώρο που γράφουμε τις δικές του εντολές. Μπορούμε να έχουμε πολλά τμήματα και μερικά από αυτά να είναι αυτοτελή ενώ κάποια άλλα συνδυάζονται (κάποιο καλεί ένα άλλο).

35 Δώστε πρώτα ΑΡΧΗ για να καθαρίσουμε τον μεταφραστή και να ξεκινήσουμε σαν την πρώτη φορά. ΣΥΓΓΡΑΦΗ ΠΡΩΤΟ Για συντομία ισχύει και το Σ ΠΡΩΤΟ Αμέσως λοιπόν περνάμε στον διορθωτή, ο οποίος γνωρίζει ότι αυτά που θα γράψουμε θα τα καταχωρίσει σε ένα τμήμα με όνομα ΠΡΩΤΟ Ο διορθωτής είναι όπως το πρόχειρο στα WINDOWS. Θα μπορούσε κανείς να γράψει το πρόγραμμα στο WORD και με αντιγραφή και επικόλληση να το φέρει στον διορθωτή. Ο μόνος περιορισμός για αυτόν τον μεταφραστή είναι ότι κάθε τμήμα δεν πρέπει να έχει ΜΗΚΟΣ μεγαλύτερο από 32000 χαρακτήρες περίπου! Μπορούμε όμως να έχουμε τουλάχιστον 64000 τμήματα!. Όλα αυτά βέβαια είναι φανταστικά νούμερα για μας που τώρα ξεκινάμε. Αντιγράφουμε λοιπόν τα παρακάτω: ΕΙΣΑΓΩΓΗ "Δώσε πρόταση ή επίθετο:", Α$ Β=ΜΗΚΟΣ(Α$) ΓΙΑ Ι=1 ΕΩΣ Β { ΤΥΠΩΣΕ ΜΕΣ$(Α$,Ι,1) } και πατάμε το κουμπί Esc (απόδραση ή Escape στα αγγλικά - είναι στην αριστερή άνω γωνία) και γυρνάμε στην οθόνη όπου δίναμε μια προς μία τις εντολές, γράφουμε λοιπόν: ΠΡΩΤΟ και να εκτελείτε το πρώτο μας πρόγραμμα! αν κάνουμε κάποιο λάθος θα βγάλει ερωτηματικό και θέση χαρακτήρα που "χτύπησε" λάθος! Αν ήταν το λάθος στο 15 τότε γράφουμε

36 Σ ΠΡΩΤΟ, 15 και ανοίγει ο διορθωτής με τον δρομέα του (μια κάθετη γραμμή) στο προβληματικό σημείο. Εδώ πρέπει να δουλέψει η φαντασία σας και να βρείτε το λάθος! Αν δεν το βρείτε με την μία προσπαθήστε να αλλάξετε κάτι (μαθηματικά είναι βέβαιο ότι κάποια στιγμή θα δουλέψει, ίσως με άλλα αποτελέσματα αλλά όπως είπαμε προχωράμε με το σύστημα δοκιμής και σφάλματος). Κρίνουμε και συγκρίνουμε μέχρι να δουλεύουν όλα ρολόι. Αν πράγματι τα έχουμε γράψει όλα σωστά θα πρέπει λοιπόν να μας βγάλει πρώτα την εισαγωγή: Δώσε πρόταση ή επίθετο:_ Εμείς λέμε ας δώσουμε το επίθετό μας. Το γράφουμε λοιπόν πληκτρολογώντας. Αφού δώσουμε και το απαραίτητο Enter, αμέσως θα δούμε ένα προς ένα τα γράμματα να τυπώνονται το ένα κάτω από το άλλο. Δώστε τώρα Σ ΠΡΩΤΟ για να βλέπετε το σωστό πρώτο σας πρόγραμμα και να το αναλύσουμε λίγο: Οι δυο πρώτες γραμμές δεν μας προξενούν απορία, τα έχουμε ξαναδεί, αν όχι παρατήστε το κεφάλαιο αυτό και ξανά στο πρώτο κεφάλαιο. Η τρίτη γραμμή παρουσιάζει ενδιαφέρον για μας. Περιλαμβάνει την δομή: ΓΙΑ μεταβλητή= αρχή ΕΩΣ τέλος { εντολή } Τα αρχή και τέλος είναι αριθμητικές παραστάσεις. Αν δεν χρησιμοποιούσαμε την Β, θα μπορούσαμε να γράφαμε κατευθείαν ΓΙΑ Ι=1 ΕΩΣ ΜΗΚΟΣ(Α$) {... Αυτή η δομή έχει και τις παρακάτω μορφές: ΓΙΑ μεταβλητή= αρχή ΕΩΣ τέλος ΑΝΑ βήμα { εντολή }

37 Το βήμα είναι και αυτό μια αριθμητική παράσταση, έτσι θα μπορούσαμε να μετράγαμε και ανά 2 ή τρία. Επίσης αν η αρχή είναι μεγαλύτερη από το τέλος τότε αυτόματα μετράμε ανάποδα. Το βήμα αν το δώσουμε αρνητικό ο μεταφραστής θα το κάνει θετικό, γιατί πάντα έτσι το βλέπει αυτός ο μεταφραστής - έτσι έχει νόημα αφού τα αρχή και τέλος από μόνα τους λένε για αύξηση ή μείωση. Οι αγκύλες { } ορίζουν μια ομάδα εντολών, που μπορεί να έχει και ένα μέλος, δηλαδή μια εντολή ή περισσότερες ή ακόμα και άλλες ομάδες ΓΙΑ μεταβλητή = αρχή ΕΩΣ τέλος { εντολή 1 εντολή2 εντολή3 { εντολή1.1 } } Δηλαδή θα μπορούσαμε εκατό ας πούμε γραμμές κώδικα να τις βάζαμε μέσα σε αγκύλες και μετά από το ΓΙΑ. Επίσης μέσα σε μία ομάδα εντολών θα μπορούσαμε να βάλουμε ότι εντολές ή δομές όπως το ΓΙΑ θα θέλαμε. Επίσης και χωρίς να σας κουράζω θα μπορούσαμε κάποιες ομάδες να τις ονομάζαμε! Πώς; Θα τις δηλώσουμε ως τμήμα Π.χ. φτιάχνουμε ένα νέο τμήμα έστω ΠΡ Σ ΠΡ Και γράφουμε σε αυτό ΤΜΗΜΑ αλφα { ΤΥΠΩΣΕ "εδώ είναι το τμήμα αλφα"

38 } αλφα αλφα αλφα ' δίνουμε το Esc Και γράφουμε ΠΡ Αν όλα πάνε καλά τότε θα δούμε την ΠΡ να τυπώνει τρεις φορές το μήνυμα της αλφα Αν δώσουμε: αλφα Θα δούμε το? αλφα Δηλαδή δεν υπάρχει τέτοιο τμήμα! Στην ουσία την ώρα που τρέχουμε την ΠΡ δημιουργείται η αλφα (ως ΠΡ.ΑΛΦΑ) - μικρά μεγάλα γράμματα δεν παίζουν ρόλο. Και όταν τελειώσει η εκτέλεση της ΠΡ κάθε τμήμα που δημιουργήθηκε κατά την εκτέλεση σβήνει. Άρα εδώ λέμε ότι η άλφα είναι τοπικό τμήμα! Αν γράψουμε στο κείμενο του τμήματος ΠΡ το αλφα σε γραμμή πριν την γραμμή "ΤΜΗΜΑ αλφα { " τότε θα βγει λάθος διότι δεν την έχει δημιουργήσει ο μεταφραστής ακόμα, αφού δεν την είδε. Ο μεταφραστής ή Interpreter μεταφράζει καθώς τρέχει το πρόγραμμα, γι' αυτό και όταν βρίσκει λάθος μας λέει που το βρήκε (αλλά δεν λέει τι είναι, σε επόμενη έκδοση θα προστεθούν και τα απαραίτητα μηνύματα!) Συνήθως τα τοπικά τμήματα τα ορίζουμε στις πρώτες γραμμές ενός τμήματος. Θα μπορούσε κανείς να έχει δυο ή περισσότερους ορισμούς για ένα τμήμα και ένας από αυτούς να επιλέγεται κατά την μετάφραση.

39 Μέχρι εδώ λοιπόν, είδαμε τον τρόπο για να συγγράψουμε ένα πρόγραμμα, αρχίζοντας τμήμα προς τμήμα να το δημιουργούμε. Βέβαια με τα μέχρι τώρα που έχουμε μάθει, μπορούμε να γράψουμε εντολές για να τυπώνουμε γράμματα, εικόνες, σχέδια, να εισάγουμε ονόματα, αριθμούς, προτάσεις, να τυπώνουμε λογικές εκφράσεις, να φτιάχνουμε μεταβλητές διάφορων τύπων καθώς και να επαναλαμβάνουμε μια ομάδα εντολών με μετρητή επαναλήψεων. Ακόμα είμαστε στο 10%! Ένα ερώτημα πλανάται στον αέρα: πώς μπορούμε να εκτελούμε ή όχι μια ομάδα εντολών βάσει μιας λογικής έκφρασης ας πούμε, δηλαδή να επιλέγουμε κατά συνθήκη κώδικα προς εκτέλεση; Ναι είναι χρήσιμο κάτι τέτοιο! Αν για παράδειγμα είχαμε σε μια εισαγωγή μια ερώτηση και κάποιος έγραφε πότε ΝΑΙ και πότε ΟΧΙ, δεν θα έπρεπε σε κάποια στιγμή κάποια εντολή να το ξεχωρίσει και να πράξει ανάλογα; ΑΝ Α$="ΝΑΙ" ΤΟΤΕ { ΤΥΠΩΣΕ "ΕΙΝΑΙ ΘΕΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" } ΑΛΛΙΩΣ { ΤΥΠΩΣΕ "ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" } Αλλά και έτσι ΕΠΕΛΕΞΕ ΜΕ Α$ ΜΕ "ΝΑΙ" ΤΥΠΩΣΕ "ΕΙΝΑΙ ΘΕΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" ΜΕ "ΟΧΙ" ΤΥΠΩΣΕ "ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ η ΕΠΕΛΕΞΕ ΜΕ (ή στα αγγλικά SELECT CASE) είναι πολύ δυνατή δομή, διότι κάνει πολλαπλούς ελέγχους πχ.

40 ΕΠΕΛΕΞΕ ΜΕ Α$ ΜΕ "ΝΑΙ","Ν","Ναι","ναι" ΤΥΠΩΣΕ "ΕΙΝΑΙ ΘΕΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" ΜΕ "ΟΧΙ","Ο","Οχι","οχι","Όχι","όχι" ΤΥΠΩΣΕ "ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ ΑΥΤΟ ΠΟΥ ΛΕΣ" ΑΛΛΙΩΣ ΤΥΠΩΣΕ "ΔΕΝ ΞΕΡΩ ΤΙ ΛΕΣ" ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ Αν θέλουμε να βάλουμε περισσότερες από μία γραμμές μετά από κάθε ΜΕ και μετά από το ΑΛΛΙΩΣ τότε πρέπει να βάλουμε αγκύλες (να φτιάξουμε ομάδα δηλαδή). Επίσης εκτός από πολλαπλά αλφαριθμητικά θα μπορούσαμε να είχαμε παραστάσεις αλφαριθμητικές ή ακόμα και λογικές εκφράσεις "μισές": ΕΠΕΛΕΞΕ ΜΕ ΑΒ$ ΜΕ ="" { ΤΥΠΩΣΕ "ΤΟ ΑΛΦΑΡΙΘΜΗΤΙΚΟ ΕΙΝΑΙ ΑΔΕΙΟ" ΤΥΠΩΣΕ "ΔΕΝ ΜΑΣ ΤΑ ΛΕΣ ΚΑΛΑ" } ΜΕ <"α" ΤΥΠΩΣΕ "ΤΟ ΠΡΩΤΟ ΓΡΑΜΜΑ ΔΕΝ ΕΙΝΑΙ ΠΕΖΟ" ΑΛΛΙΩΣ ΤΥΠΩΣΕ "ΤΟ ΠΡΩΤΟ ΓΡΑΜΜΑ ΜΑΛΛΟΝ ΕΙΝΑΙ ΠΕΖΟ" ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ Πάντα όμως θα εκτελείται μόνο ένα ΜΕ ή αν δεν βρεθεί κανένα να ικανοποιεί τις συνθήκες τότε εκτελείται αν υπάρχει το ΑΛΛΙΩΣ Το ΕΠΕΛΕΞΕ ΜΕ δουλεύει και με αριθμητική έκφραση!

41 Ένα πρόγραμμα χρειάζεται εδώ για να ξεφύγουμε από την μονοτονία της παράθεσης νέων και νέων εντολών! Ας πούμε ότι θέλουμε να φτιάξουμε ένα πρόγραμμα που θα βρίσκει μια τυχαία τιμή από το 1 έως το 100 και θα μας ζητάει να την μαντέψουμε. Κάθε φορά θα του λέμε την τιμή που σκεφτήκαμε (θα την εισάγουμε δηλαδή) και αυτό θα την συγκρίνει με την δική του (που θα είναι κρυφή) και θα μας λέει αν το βρήκαμε ή αν είναι μεγαλύτερη ή μικρότερη από την κρυφή. Κάποτε βέβαια που θα την βρούμε θα μας λέει και ένα ξερό "ΜΠΡΑΒΟ". Το ερώτημα που προκύπτει από την προηγούμενη παράγραφο είναι πώς θα βρούμε ένα τυχαίο αριθμό! Ξεκινάμε λοιπόν ΑΡΧΗ Σ Π Γράφουμε σε μια γραμμή: ΓΙΑ Α=1 ΕΩΣ 100 { ΤΥΠΩΣΕ ΤΥΧΑΙΟΣ(1) } Πατάμε απόδραση (το Esc) Π Τώρα βλέπουμε μερικά 0 και μερικά 1 να εναλλάσσονται τυχαία! ΤΥΠΩΣΕ ΤΥΧΑΙΟΣ( 1, 100 ) Μας τυπώνει έναν τυχαίο αριθμό από ένα έως εκατό (με το ένα και το εκατό ανάμεσα στα τυχαία νούμερα) Άρα ΑΡΧΗ ΣΥΓΓΡΑΦΗ ΜΑΝΤΕΨΕ ή Σ ΜΑΝΤΕΨΕ

42 και γράφουμε στον διορθωτή ΤΥΠΩΣΕ "ΞΕΡΩ ΕΝΑΝ ΑΡΙΘΜΟ ΑΠΟ ΕΝΑ ΕΩΣ ΕΚΑΤΟ" ΤΥΠΩΣΕ "ΜΑΝΤΕΨΕ ΠΟΙΟΣ ΕΙΝΑΙ" α%=τυχαιοσ(1,100) ΠΡ=1 { ΕΙΣΑΓΩΓΗ "ΛΕΣ ΝΑ ΕΙΝΑΙ Ο :",β% ΤΥΠΩΣΕ "ΕΔΩΣΕΣ ΤΟΝ ΑΡΙΘΜΟ:";β% ΕΠΕΛΕΞΕ ΜΕ β% ΜΕ <1, >100 ΤΥΠΩΣΕ "ΕΙΠΑΜΕ ΑΠΟ ΕΝΑ ΕΩΣ ΕΚΑΤΟ" ΜΕ >α% ΤΥΠΩΣΕ "ΕΙΝΑΙ ΜΙΚΡΟΤΕΡΟΣ" ΜΕ <α% ΤΥΠΩΣΕ "ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΟΣ" ΜΕ α% ΕΞΟΔΟΣ ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ ΠΡ=ΠΡ+1 ΚΥΚΛΙΚΑ } ΤΥΠΩΣΕ "ΜΠΡΑΒΟ ΤΟ ΒΡΗΚΕΣ" ΤΥΠΩΣΕ "ΜΕ ";ΠΡ;" ΠΡΟΣΠΑΘΕΙΕΣ" Μας τυπώνει και τις προσπάθειες που κάναμε! Αρκεί όταν βγούμε με απόδραση (Esc) να δώσουμε το όνομα του τμήματος!

ΜΑΝΤΕΨΕ 43 Η εντολή ΚΥΚΛΙΚΑ κάνει μια ομάδα εντολών να ξαναεκτελεστεί. Βέβαια το τμήμα για να έχει τελειωμό πρέπει να υπάρχει κάποιος έλεγχος - γίνεται με την ΕΠΕΛΕΞΕ ΜΕ - που θα οδηγεί στην εντολή ΕΞΟΔΟΣ. Άλλος τρόπος γραφής αυτού του προγράμματος: ΤΥΠΩΣΕ "ΞΕΡΩ ΕΝΑΝ ΑΡΙΘΜΟ ΑΠΟ ΕΝΑ ΕΩΣ ΕΚΑΤΟ" ΤΥΠΩΣΕ "ΜΑΝΤΕΨΕ ΠΟΙΟΣ ΕΙΝΑΙ" α%=τυχαιοσ(1,100) ΠΡ=1 β%=0 ΕΝΩ α%<>β% { ΕΙΣΑΓΩΓΗ "ΛΕΣ ΝΑ ΕΙΝΑΙ Ο :",β% ΤΥΠΩΣΕ "ΕΔΩΣΕΣ ΤΟΝ ΑΡΙΘΜΟ:";β% ΕΠΕΛΕΞΕ ΜΕ β% ΜΕ <1, >100 ΤΥΠΩΣΕ "ΕΙΠΑΜΕ ΑΠΟ ΕΝΑ ΕΩΣ ΕΚΑΤΟ" ΜΕ >α% ΤΥΠΩΣΕ "ΕΙΝΑΙ ΜΙΚΡΟΤΕΡΟΣ" ΜΕ <α% ΤΥΠΩΣΕ "ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΟΣ" ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ ΠΡ=ΠΡ+1 } ΤΥΠΩΣΕ "ΜΠΡΑΒΟ ΤΟ ΒΡΗΚΕΣ" ΤΥΠΩΣΕ "ΜΕ ";ΠΡ;" ΠΡΟΣΠΑΘΕΙΕΣ"