ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: Μαθηματικές Πράξεις στην Visual Basic ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2
Περιεχόμενα 1. Μαθηματικές Πράξεις στην Visual Basic... 4 1.1 Απλές Μαθηματικές Πράξεις... 4 1.2 Σχεδιασμός Προγράμματος... 5 1.3 Η Κωδικοποίηση... 9 2. Παράρτημα... 15 3
1. Μαθηματικές Πράξεις στην Visual Basic 1.1 Απλές Μαθηματικές Πράξεις Όπως και στα μαθηματικά, ο προγραμματισμός μας προσφέρει την ευκαιρία να υπολογίσουμε όλων των ειδών τις μαθηματικές πράξεις Σε αυτή την άσκηση θα προσπαθήσουμε να δημιουργήσουμε ένα πρόγραμμα που να μιμείται τον τρόπο λειτουργίας μιας αριθμομηχανής (calculator). Οι βασικές πράξεις μιας αριθμομηχανής είναι η Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση και Εξύψωση σε Δύναμη (Εκθέτης). Στην πληροφορική θα προσθέσουμε ακόμη δύο πράξεις, την διαίρεση ακεραίων, που μας δίδει δύο αποτελέσματα το Πηλίκο, και το Υπόλοιπο. Ο πιο κάτω πίνακας μας δείχνει την μαθηματική πράξη και το αντίστοιχο σύμβολο της πράξης στην Visual Basic. Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Διαίρεση / Πηλίκο \ Υπόλοιπο MOD Δύναμη ^ Η αριθμομηχανή μας θα δέχεται δύο αριθμούς σε δύο ξεχωριστά αντικείμενα τύπου εργαλείου «TextBox», θα δέχεται την μαθηματική πράξη σε μορφή αντικειμένου τύπου εργαλείου «Option Button». Το αποτέλεσμα της μαθηματικής πράξης θα τυπώνεται σε ετικέτα. Λογικό Διάγραμμα Το πιο πάνω σενάριο μπορεί να παρουσιασθεί σε ένα απλό Λογικό διάγραμμα. Οι ενέργειες που θα πρέπει να μοντελοποιηθούν στο λογικό διάγραμμα είναι: (1) Παίρνουμε τον πρώτο αριθμό (2) Παίρνουμε τον δεύτερο αριθμό (3) Επιλέγουμε την μαθηματική πράξη (4) Υπολογίζουμε την μαθηματική πράξη (5) Τυπώνουμε το αποτέλεσμα στην ετικέτα 4
Σχήμα 1 1.2 Σχεδιασμός Προγράμματος Κατά την διάρκεια του σχεδιασμού του προγράμματος θα δούμε μερικά καινούργια εργαλεία που θα μας κάνουν την φόρμα μας πιο λειτουργική. Συγκρίνετε τις φόρμες που παρουσιάζονται στα σχήματα 2 και 3. Σχήμα 2 5
Σχήμα 3 Η φόρμα στο σχήμα 3 φαίνεται αρκετά πιο λειτουργική, κατανοητή και φιλική από την φόρμα του σχήματος 2. Ακόμη θα μπορούσαμε να προσθέσουμε μια σειρά από σχήματα για να κάνουμε αρκετά πιο ελκυστική την φόρμα μας. Το σχήμα 4 δείχνει την φόρμα μας με την προσθήκη μερικών απλών γραμμών. Στα επόμενα βήματα θα μάθουμε να χρησιμοποιούμε το εργαλείο «Frame», χρήση των ιδιοτήτων «Border Style» του εργαλείου ετικέτας, την χρήση του εργαλείου γραμμών (line), και τέλος θα μάθουμε την προσθήκη μιας εικόνας μέσα στην ράβδο τίτλου της φόρμας μας. 6
Σχήμα 4 (1) Δημιουργήστε μία ετικέτα με το όνομα «lblno1», και προσθέστε στην ιδιότητα «caption» την τιμή «Πρώτος Αριθμός». Η ιδιότητα «Font» να τεθεί στις τιμές «Bold» και μέγεθος «12». Επαναλάβετε την ίδια διαδικασία για τον «Δεύτερο Αριθμό». Η μόνη διαφορά είναι ότι το όνομα της ετικέτας θα είναι «lblno2» και η ιδιότητα «caption» την τιμή «Δεύτερος Αριθμός». Δημιουργήστε δύο κουτάκια «Text Boxes» στις θέσεις που βλέπετε στο σχήμα 5, με τα ονόματα «txtno1», και «txtno2», τα οποία αφήστε κενά. Τέλος δημιουργήστε μια Τρίτη ετικέτα με τις ίδιες ιδιότητες όπως τις προηγούμενες δύο, με όνομα «lblresmessage» και «caption» την λέξη «Αποτέλεσμα» (2) Δημιουργήστε ένα περίγραμμα «Frame» χρησιμοποιώντας το εργαλείο «Frame» από την εργαλειοθήκη (Σχήμα 5) Το εργαλείο «Frame» Περίγραμμα 7
Σχήμα 5 (3) Αφήστε το όνομα του εργαλείου ως έχει «Frame1», αλλάξετε όμως την τιμή της ιδιότητας «caption» σε «Πράξη». Αλλάξτε επίσης το μέγεθος της γραμματοσειράς του εργαλείου σε 14, και να τυπώνετε σε έντονη γραφή (Bold). (4) Δημιουργήστε μία ετικέτα και τοποθετήστε την κάτω από τον τίτλο «Πράξη» στην ίδια ευθεία όμως με τα κουτάκια των αριθμών. Ονομάστε αυτή την ετικέτα «lblop» και αφήστε την κενή. Για να επιτύχουμε αυτή την τρισδιάστατη όψη της ετικέτας, όπως φαίνεται στο σχήμα 4, θα πρέπει η τιμή της ιδιότητας «Border Style» να τεθεί στην τιμή «1 Fixed Single» (5) Δημιουργήστε 7 αντικείμενα εργαλείου «Option Buttons» με τις τιμές «caption» που φαίνονται στο σχήμα 4. Η χρήση του εργαλείου «Option Buttons», έχει εξηγηθεί στο προηγούμενο κεφάλαιο. Αν δεν θυμάστε ανατρέξτε στο κεφάλαιο 4, και διαβάστε το σχετικό εδάφιο. Βεβαιωθείτε ότι τα αντικείμενα είναι του ίδιου μεγέθους, και είναι ευθυγραμμισμένα. Επίσης αλλάξτε την ιδιότητα της γραμματοσειράς «Font» σε μέγεθος 10 και σε τύπο «Bold Italics». Διατηρήστε τα ονόματα των «Option Buttons» ως έχουν, δηλαδή από «option 1» μέχρι «option 7» (6) Δημιουργήστε τις δύο τελευταίες ετικέτες όπως φαίνονται στο σχήμα 4. Ονομαστέ την ετικέτα με το σύμβολο = «lblequal», και την άλλη «lblresult». Οι υπόλοιπες ιδιότητες θα πρέπει να είναι ίδιες με τις ιδιότητες που είχατε επιλέξει για την ετικέτα «lblop» (7) Για να βάλουμε μία εικόνα στην ράβδο τίτλου, επιλέξτε την φόρμα, δηλαδή κάνετε ΚΛΙΚ πάνω στην φόρμα και όχι σε κάποιο εργαλείο. Από τις ιδιότητες της φόρμας, επιλέξτε την ιδιότητα «caption», και δώστε της την τιμή «Μαθηματικές Πράξεις», τέλος επιλέξτε την ιδιότητα «icon», κάνετε ΚΛΙΚ στο αριστερό κουμπί της ιδιότητας (έχει 3 τελείες) και πλοηγήστε το σύστημα να πάρει την εικόνα που βρίσκετε στη θέση 8
«C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Industry\SineWave.ico» Το συγκεκριμένο αρχείο μπορεί να μην βρίσκετε στην ίδια θέση στο δικό σας σύστημα, ή μπορεί να μην θέλετε αυτή την εικόνα. Μπορείτε να πειραματισθείτε και να βάλετε όποια εικόνα εσείς θέλετε. 1.3 Η Κωδικοποίηση Να θυμάστε ότι όταν τρέξετε το πρόγραμμα σας, θα πρέπει πρώτα να βάλετε ένα αριθμό στο κουτί «Πρώτος Αριθμός», μετά ακόμη ένα αριθμό στο κουτί «Δεύτερος αριθμός» και μετά να επιλέξετε την πράξη που θέλετε. Έχομε καταφέρει να τελειώσουμε την σχεδίαση της φόρμας μας και το μόνο που απομένει είναι η κωδικοποίηση, δηλαδή το γράψιμο των εντολών που θα εκτελούνται όταν ο χρήστης θα επιλέγει μία πράξη. (1) Διπλό-Πατήστε το «Option Button» «Πρόσθεση». Το αντικείμενο αυτό θα πρέπει να προσθέτει τις τιμές των δύο κουτιών «txtno1» και «txtno2». Ο κώδικας για αυτό το αντικείμενο εμφανίζεται στο σχήμα 6 Σχήμα 6 Η πρώτη εντολή «lblop.caption= +» τυπώνει το σύμβολο + στην ετικέτα «lblop». Η δεύτερη γραμμή περιέχει πιο ενδιαφέρουσες εντολές, η εντολή «Val» μετατρέπει μια τιμή από κείμενο σε αριθμό. Αν δηλαδή, ο χρήστης πληκτρολογήσει τον αριθμό 7 μέσα στο κουτί «txtno1», ο αριθμός αυτός δεν εκλαμβάνεται με την μαθηματική του ιδιότητα αλλά ως ο χαρακτήρας 7, χωρίς καμιά μαθηματική σημασία Η εντολή «Val» μετατρέπει θα μετατρέψει τον χαρακτήρα 7 στο αριθμητικό νούμερο 7, όπου θα μπορούμε αργότερα να εφαρμόσουμε τις μαθηματικές πράξεις. Αν τώρα κάποιος χρήστης πληκτρολογήσει στο «txtno1» τον χαρακτήρα α, η εντολή «Val» τον αγνοεί και επιστρέφει τον αριθμό 0. Η εντολή μας έχει την μορφή «Val(txtno1.Text)», αυτό σημαίνει ότι το σύστημα θα πάρει το περιεχόμενο της ιδιότητας «TEXT» του εργαλείου «txtno1» και θα το μετατρέψει σε αριθμό. Όλος ο κώδικας της γραμμής 9
lblresult.caption = Val(txtno1.Text) + Val(txtno2.Text) παίρνει το περιεχόμενο της ιδιότητας «TEXT» των εργαλείων «txtno1» και «txtno2» τα μετατρέπει σε αριθμούς και μετά τα προσθέτει. Το αποτέλεσμα της πρόσθεσης, τοποθετείτε, και εμφανίζεται στην ετικέτα «lblresult» (2) Διπλό-Πατήστε το «Option Button» «Αφαίρεση»., και γράψετε τον κώδικα του σχήματος 7 Σχήμα 7 (3) Διπλό-Πατήστε το «Option Button» «Πολλαπλασιασμός»., και γράψετε τον κώδικα του σχήματος 8 Σχήμα 8 (4) Διπλό-Πατήστε το «Option Button» «Διαίρεση»., και γράψετε τον κώδικα του σχήματος 9 Σχήμα 9 10
Τι θα συμβεί αν ο χρήστης πληκτρολογήσει τον αριθμό 0 στο δεύτερο τετραγωνάκι; (5) Διπλό-Πατήστε το «Option Button» «Πηλίκο»., και γράψετε τον κώδικα του σχήματος 10 Σχήμα 10 Τι θα συμβεί αν ο χρήστης πληκτρολογήσει τον αριθμό 0 στο δεύτερο τετραγωνάκι; (6) Διπλό-Πατήστε το «Option Button» «Υπόλοιπο»., και γράψετε τον κώδικα του σχήματος 11 Σχήμα 11 Τι θα συμβεί αν ο χρήστης πληκτρολογήσει τον αριθμό 0 στο δεύτερο τετραγωνάκι; (7) Διπλό-Πατήστε το «Option Button» «Δύναμη»., και γράψετε τον κώδικα του σχήματος 11 11
Σχήμα 11 (8) Αποθηκεύστε την φόρμα σας σαν «MathSimple», και το «Project» σαν «MathSimple» επίσης (9) Τρέξτε το πρόγραμμα σας και παρατηρείστε τα αποτελέσματα (Σχήματα 12 Σχήμα 12 - Πρόσθεση 12
Σχήμα 13 Αφαίρεση Σχήμα 14 - Πολλαπλασιασμός 13
Σχήμα 15 Διαίρεση Σχήμα 16 Πηλίκο 14
Σχήμα 17 Υπόλοιπο Διαίρεσης Σχήμα 18 - Δύναμη 2. Παράρτημα Σημείωμα Αναφοράς. Copyright ΤΕΙ Δυτικής Μακεδονίας, ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. «ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ». Έκδοση: 1.0. Κοζάνη 2015. Σημείωμα Αδειοδότησης. Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα 15
κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Διατήρηση Σημειωμάτων. Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 16