Προγραμματισμός & Εφαρμογές Υπολογιστών: Visual Basic 6.0 Μάθημα 2 Είσοδος Έξοδος - Μεταβλητές Κ. Κωστοπούλου Αθήνα, Μάρτιος 2015
Τα βήματα του κύκλου ανάπτυξης ενός προγράμματος 1. Αποφασίζουμε τι θέλουμε να κάνει το πρόγραμμά μας. 2. Αποφασίζουμε πώς θέλουμε να εμφανίζεται στην οθόνη το μέρος επικοινωνίας με τον χρήστη (interface). 3. Σχεδιάζουμε το interface.
Τα βήματα του κύκλου ανάπτυξης ενός προγράμματος 4. Καθορίζουμε το χρώμα, μέγεθος, και εμφάνιση κάθε αντικειμένου. 5. Γράφουμε σε BASIC το τι θα κάνει κάθε τμήμα του προγράμματός μας (εντολές = commands). 6. Εκτελούμε («τρέχουμε») το πρόγραμμα για να δούμε αν λειτουργεί. 7. Διορθώνουμε τα λάθη που υπάρχουν στο πρόγραμμα. 8. Επαναλαμβάνουμε τα βήματα 6 και 7 έως ότου δεν υπάρχουν πια λάθη.
Visual Basic Για τη δημιουργία ενός προγράμματος (ή εφαρμογής) απαιτούνται τα παρακάτω προγραμματιστικά βήματα: Δημιουργία διασύνδεσης χρήστη. Ορισμός ιδιοτήτων. Συγγραφή κώδικα προγράμματος.
Visual Basic Πρόγραμμα (Program): Σειρά από εντολές για εκτέλεση από τον υπολογιστή. Γλώσσα Προγραμματισμού (Programming Language): Το εργαλείο που χρησιμοποιούμε για να κατασκευάσουμε ένα πρόγραμμα. Ορίζεται από τη σημασιολογία και το συντακτικό της.
Visual Basic Σημασιολογία (Semantics) - Η σημασία των λέξεων στη γλώσσα. Συντακτικό (Syntax) - Οι κανόνες για τους επιτρεπτούς τρόπους συνδυασμού αυτών των λέξεων. Πηγαίο Πρόγραμμα (Source Code): το πρόγραμμα που γράφετε χρησιμοποιώντας μια γλώσσα προγραμματισμού. Μεταφραστής (compiler): μετατρέπει το πηγαίο πρόγραμμα σε αντικειμενικό πρόγραμμα (object program)..
Διαδικασία γραφής εκτέλεσης προγράμματος ΟΘΟΝΗ ΕΚΔΟΤΗΣ- ΔΙΟΡΘΩΤΗΣ ΠΗΓΑΙΟ (SOURCE) ΠΡΟΓΡΑΜΜΑ ΒΟΗΘΗΤΙΚΑ ΑΡΧΕΙΑ MHNYMATA COMPILER COMPILER ΑΝΤΙΚΕΙΜΕΝΟ (OBJECT) ΠΡΟΓΡΑΜΜΑ ΒΙΒΛΙΟΘΗΚΗ ΥΠΟΠΡΟΓ/ΤΩΝ LINKER ΕΚΤΕΛΕΣΙΜΟ ΠΡΟΓΡΑΜΜΑ
Αποθήκευση προγράμματος File / Save Project ( Menu Bar ) ( ToolBar ) Αποθήκευση Φόρμας Αποθήκευση Έργου
Αρχεία τα οποία δημιουργούνται με την αποθήκευση Αρχείο Φόρμας (. frm ) Αρχείο Project (. vbp ) Αρχείο workspace (. vbw )
Αποθήκευση προγράμματος.vbp = Visual Basic Project το αρχείο που ανιχνεύει όλα τα άλλα μέρη.frm = Form file διαφορετικό αρχείο για κάθε φόρμα.vbw = Visual Basic workspace
Δημιουργία εκτελέσιμου αρχείου ΠΡΟΕΚΤΑΣΕΙΣ ΣΕ ΑΡΧΕΙΑ.exe Οι εφαρμογές Windows που δημιουργούνται με τη Visual Basic μπορούν να λειτουργήσουν σε οποιαδήποτε σύστημα στο οποίο εκτελούνται Windows και στο οποίο υπάρχουν τα απαραίτητα αρχεία υποστήριξης.
Είσοδος / Έξοδος Visual Basic Ένας υπολογιστής δεν θα είχε μεγάλη χρήση, εάν δεν υπήρχε τρόπος να εισάγουμε δεδομένα και να λαμβάνουμε δεδομένα (αποτελέσματα). Η διαδικασία μετακίνησης δεδομένων προς και από έναν Η/Υ ονομάζεται είσοδος και έξοδος.
Visual Basic Μια γλώσσα προγραμματισμού αποτελείται από εντολές: εισόδου εξόδου εκτέλεσης πράξεων Μπορούμε έτσι να έχουμε διαλογικά προγράμματα.
Είσοδος / Έξοδος Μια γλώσσα προγραμματισμού περιέχει εντολές για είσοδο και έξοδο δεδομένων. Οι εντολές αυτές επιτρέπουν σε μια γλώσσα προγραμματισμού να δημιουργεί διαλογικά προγράμματα.
Είσοδος / Έξοδος Τα διαλογικά προγράμματα επιτρέπουν την αμφίδρομη επικοινωνία μεταξύ του χρήστη και του υπολογιστή. Π.χ. ο υπολογιστής μπορεί να κάνει μια ερώτηση στο χρήστη, εκτυπώνοντας την ερώτηση στη οθόνη. Ο χρήστη μπορεί να απαντήσει, πληκτρολογώντας στο πληκτρολόγιο.
Προγραμματιστική Εντολή Είναι οποιοσδήποτε συνδυασμός λέξεωνκλειδιών, ιδιοτήτων, συναρτήσεων, τελεστών και συμβόλων που όλα μαζί αποτελούν μια έγκυρη οδηγία αναγνωρίσιμη από τον μεταγλωττιστή της Visual Basic.
Προγραμματιστική Εντολή Για παράδειγμα, η σύνταξη της εντολής για την απόδοση τιμής σε μια ιδιότητα ενός αντικειμένου είναι η εξής: Αντικείμενο. Ιδιότητα = Τιμή Text1.Text= "Η πρώτη μου εντολή σε Visual Basic"
Δομή Προγράμματος Ορισμός Μεταβλητών Μηχανισμοί (εντολές) Εισόδου Επεξεργασία Μηχανισμοί (εντολές) Εξόδου
Εντολές Εξόδου Print "Το πρώτο μου πρόγραμμα σε Visual Basic" MsgBox "Το δεύτερο πρόγραμμα σε Visual Basic" Label1.Caption ="Το τρίτο πρόγραμμα σε Visual Basic " Text1.Text ="Το τέταρτο πρόγραμμα σε Visual Basic"
Εντολή Εξόδου: Print Private Sub Command1_Click() Print "Το πρώτο μου πρόγραμμα σε Visual Basic" End Sub
Εντολή Εξόδου: MsgBox Private Sub Command1_Click() MsgBox "Το δεύτερο πρόγραμμα σε Visual Basic" End Sub Private Sub Command2_Click() End End Sub
Εντολή : End Προσδιορίζει το τέλος της εφαρμογής Διακόπτει την ροή εκτέλεσης του προγράμματος Επιστρέφει τον έλεγχο στην κατάσταση σχεδίασης
Εντολές Εξόδου Private Sub Command1_Click() Print "1η εντολή εξόδου" Label1.Caption = "2η εντολή εξόδου" Text1.Text = "3η εντολή εξόδου" MsgBox ("4η εντολή εξόδου") End Sub Private Sub Command2_Click() End End Sub
Μηχανισμοί Εισόδου Συνάρτηση InputBox Αντικείμενο TextBox
Μεταβλητές Είναι μια προσωρινή θέση αποθήκευσης δεδομένων στο πρόγραμμά μας. Μπορούμε να χρησιμοποιούμε μια ή περισσότερες μεταβλητές. Αποθηκεύονται λέξεις, αριθμοί, ημερομηνίες και ιδιότητες.
Μεταβλητές Η μνήμη του υπολογιστή αποτελείται από θέσεις, μέσα στις οποίες μπορούμε να αποθηκεύσουμε διάφορες πληροφορίες 56 1283 Μα ρία 0,35 10/3/2015
Μεταβλητές Πριν χρησιμοποιήσετε μια μεταβλητή θα πρέπει να της παραχωρήσετε μια ποσότητα μνήμης του υπολογιστή σας. Παράδειγμα: Κράτηση θέσης στο θέατρο Εκχώρηση μνήμης σε μεταβλητές: Εντολή Dim
Μεταβλητές Αριθμητικές μεταβλητές που αποθηκεύουν αριθμούς (ακέραιους αριθμούς, δεκαδικούς, ποσοστά, χρηματικά ποσά, ημερομηνίες) και τις ρυθμίσεις για τις αριθμητικές ιδιότητες. Μεταβλητές συμβολοσειρών που αποθηκεύουν κείμενο και τις ρυθμίσεις για τις ιδιότητες του κειμένου.
Εντολή Dim Dim ΟνομαΜεταβλητής As ΤύποςΔεδομένων
Συμβάσεις Ονομασίας Μεταβλητών Να αποτελείται από λατινικά γράμματα, αριθμούς ή/και την κάτω παύλα. Δεν πρέπει να περιέχει κενά ή άλλα σύμβολα (π.χ. τελεία). Να ξεκινά με γράμμα και να έχει μήκος μέχρι 255 χαρακτήρες.
Συμβάσεις Ονομασίας Μεταβλητών Να μη χρησιμοποιεί δεσμευμένες λέξεις ή ονόματα αντικειμένων ή ιδιοτήτων της Visual Basic (π.χ. Text). Μπορείτε να δίνεται περιγραφικά ονόματα που συνδυάζουν μια ή περισσότερες λέξεις (π.χ. TotalCostOfProduct). Μπορείτε να κάνετε συνδυασμούς πεζών και κεφαλαίων γραμμάτων ή και αριθμών (π.χ. DateOfBirth).
Παραδείγματα Ονομάτων Μεταβλητών Total 4598 Maria_M last.name FirstName Last Name NAME Print Train23
Θεμελιώδεις Τύποι Δεδομένων Boolean 2 bytes True ή False Dim Flag As Boolean Flag = True Integer (Ακέραιος) 2 bytes -32.768 έως 32.767 Dim Students As Integer Students = 3000
Θεμελιώδεις Τύποι Δεδομένων Long (Μεγάλος Ακέραιος) 4 bytes -2.147.483.648 έως 2.147.483.647 Dim Insects As Long Insects = 40000000 Single (Κινητής υποδιαστολής απλής ακρίβειας) 4 bytes -3,402823Ε38 έως +3,402823E38 Dim Price As Single Price = 75.99
Θεμελιώδεις Τύποι Δεδομένων Double (Κινητής υποδιαστολής διπλής ακρίβειας) 8 bytes -1,79769313486232Ε+308 έως 1,79769313486232Ε+308 Dim Pi As Single Pi = 3.1415926535 Currency (Νομισματική τιμή) 8 bytes - 922.337.203.685.477,5808 έως 922.337.203.685.477,5807
Θεμελιώδεις Τύποι Δεδομένων String (Αλφαριθμητικό) 1 byte ανά χαρακτήρα 65.400 χαρακτήρες αλφαριθμητικών δεδομένων Dim Name As String Name = Maria 1 έως Date (Ημερομηνία) 8 bytes 1 Ιανουαρίου 100-31 Δεκεμβρίου 9999 Variant (Παραλλαγή) 16 (bytes) για αριθμούς 22(bytes) + 1 byte ανά χαρακτήρα (για αλφαριθμητικά).
Τύποι Δεδομένων Η Visual Basic επιτρέπει να δημιουργείτε τους δικούς σας τύπους δεδομένων. Ιδιαίτερα χρήσιμο αν έχετε να κάνετε με μια ομάδα στοιχείων δεδομένων που σχετίζονται μεταξύ τους με φυσικό τρόπο αλλά ανήκουν σε άλλες κατηγορίες. Παράδειγμα: τύπος Employee όνομα, ημερομηνία γέννησης και ημερομηνία πρόσληψης ενός υπαλλήλου
Συμβάσεις Ονομασίας Μεταβλητών Προαιρετικά, μπορείτε να ξεκινάτε κάθε όνομα μεταβλητής με μια σύντμηση 2 ή 3 χαρακτήρων η οποία αντιστοιχεί στον τύπο των δεδομένων που αποθηκεύονται στη μεταβλητή Παράδειγμα: strname Θα το συναντήσετε σε πολλά βιβλία
Visual Basic Βασικοί κανόνες για τύπους δεδομένων Κάθε μεταβλητή έχει μόνο ένα τύπο δεδομένων. Ο τύπος κάθε μεταβλητής δηλώνεται πριν από τη χρήση της μεταβλητής.
Visual Basic Πριν χρησιμοποιήσετε μια μεταβλητή θα πρέπει να την ορίσετε. Ο ορισμός μιας μεταβλητής είναι μια δήλωση που καθορίζει το όνομά της και τον τύπο της. Εξ ορισμού, η Visual Basic για μεταβλητές που δεν ορίζονται θεωρεί ότι είναι τύπου Variant.
Visual Basic Το σημείο στο οποίο ορίζεται η μεταβλητή καθορίζει και την εμβέλεια της, δηλαδή σε ποια άλλα σημεία του προγράμματος μπορεί να χρησιμοποιηθεί. Οι μεταβλητές ανάλογα με την εμβέλεια τους διακρίνονται σε τοπικές, γενικές (καθολικές) ή δημόσιες μεταβλητές.
Εντολές απόδοσης τιμής Χ 4 Χ Χ 4 Χ Χ Χ Χ+1 4 5 Χ 4*5 Χ Χ 20 Χ Χ+Ψ Χ 4 Χ Ψ Χ Ψ 4 Χ 4 Ψ 4 8 Ψ Χ Χ Ψ+1 4 5 Χ Χ Χ Χ*Χ 4 16 Ψ Χ Χ Ψ*Ψ 4 16
Visual Basic Οι τοπικές μεταβλητές ορίζονται στην αρχή μιας διαδικασίας και είναι διαθέσιμες μόνο μέσα στη διαδικασία. Η σύνταξη του ορισμού μιας τοπικής μεταβλητής είναι: Dim ΟνομαΜεταβλητής As ΤύποςΔεδομένων
Visual Basic Dim TotalTax As Single Dim MyBirthDate As Date Dim SurName As String
Μηχανισμός Εισόδου: Συνάρτηση InputBox Για την εισαγωγή δεδομένων σε ένα πρόγραμμα της Visual Basic μπορεί να χρησιμοποιηθεί η συνάρτηση InputBox. Η InputBox είναι μια ειδική συνάρτηση που εμφανίζει στην οθόνη ένα πλαίσιο διαλόγου (παράθυρο) και ζητά δεδομένα από τον χρήστη.
Συνάρτηση InputBox Η σύνταξή της είναι η εξής: ΟνομαΜεταβλητής = InputBox(Μήνυμα, [Τίτλος], [Προεπιλεγμένη τιμή]) ΟνομαΜεταβλητής είναι η τιμή που θέλουμε να εισάγουμε. Μήνυμα είναι το κείμενο (μέσα σε αποστρόφους) που εμφανίζεται μέσα στο πλαίσιο διαλόγου.
Συνάρτηση InputBox Τίτλος είναι το κείμενο (μέσα σε αποστρόφους) που θα εμφανιστεί στη γραμμή τίτλου του πλαισίου διαλόγου. Προεπιλεγμένη τιμή είναι μια προεπιλεγμένη απάντηση (μέσα σε αποστρόφους) την οποία ο χρήστης μπορεί να τη δεχθεί ή να την αλλάξει.
Συνάρτηση InputBox StudentName = InputBox("Παρακαλώ δώστε το όνομα του φοιτητή") StudentName = InputBox("Παρακαλώ δώστε το όνομα του φοιτητή", "Όνομα Φοιτητή", "Παπαδόπουλος")
Συνάρτηση InputBox CompanyName = InputBox("Παρακαλώ πληκτρολογήστε το όνομα της εταιρείας") CompName=InputBox("What is the name of the company?", "Company Request", "XYZ")
Παράδειγμα 1 - Συνάρτηση InputBox Private Sub Command1_Click() Dim StudentName As String StudentName = InputBox("Παρακαλώ δώσε το ονοματεπώνυμο του φοιτητή") Label1.Caption = StudentName End Sub
Private Sub Command1_Click() Dim StudentName As String StudentName = InputBox("Παρακαλώ δώστε το όνομα του φοιτητή", "Όνομα Φοιτητή", "Παπαδόπουλος") Label1.Caption = StudentName End Sub Παράδειγμα 2 - Συνάρτηση InputBox
Μαθηματικοί τελεστές Ο προγραμματισμός των Η/Υ είναι πιο λογικός από τα μαθηματικά. Είναι θέμα απλής λογικής. Οι μαθηματικοί τελεστές μοιάζουν και δρουν σαν τους αντίστοιχους τελεστές των μαθηματικών και δίνονται στον παρακάτω πίνακα:
Μαθηματικοί τελεστές Όνομα Τελεστή Παράδειγμα Πρόσθεση + Cost + Tax Αφαίρεση - TotalCost - Cost Πολ/σμός * Cost*NumProducts
Μαθηματικοί τελεστές Όνομα Τελεστή Παράδειγμα Διαίρεση / 17/5 είναι 3,4 Ακέραια Διαίρεση \ 17\5 είναι 3 Υπόλοιπο Δ/σης Mod 17 Mod 5 είναι 2 Δύναμη ^ Cost ^ 2
Παράδειγμα-Συνάρτηση InputBox Private Sub Command1_Click() Dim x As Single Dim y As Single x = InputBox("Πληκτρολόγησε την τιμή του x ) y= 10 * x + (15 - x) Print "Η τιμή του y είναι:=" & y End Sub
Παράδειγμα-Συνάρτηση InputBox Private Sub Command1_Click() Dim x As Single, z As Single, y As Single x = InputBox("Πληκτρολόγησε την τιμή του x") z = InputBox("Πληκτρολόγησε την τιμή του x") y = 10 * x + (15 - x) * z Print "Η τιμή του y είναι:=" & y End Sub
Παράδειγμα - Συνάρτηση InputBox Private Sub Command1_Click() Dim X As Integer, Z As Integer, Y As Integer Dim A As Single, B As Single X = InputBox("Δώσε την τιμή του Χ") Y = InputBox("Δώσε την τιμή του Υ") Z = InputBox("Δώσε την τιμή του Z") A = Cos(X) + 2 * Sin(Z) B = Abs(Z) ^ 2 + Sqr(X) + Exp(Y) Print "Το Α είναι =", A Print "Το Β είναι =", B End Sub
Παράδειγμα-Συνάρτηση InputBox Private Sub Command_Click() Dim cars as Integer cars=inputbox("παρακαλώ δώστε τον αριθμό των διαθέσιμων θέσεων") Print "Ο χώρος στάθμευσης έχει" & cars & διαθέσιμες θέσεις αυτοκινήτων" End Sub
Αντικείμενο TextBox Παράδειγμα Για να εισάγει δεδομένα ο χρήστης στα προγράμματα της VB μπορεί να χρησιμοποιεί πλαίσια κειμένου (TextBox). cars=text1.text
Private Sub Command_Click() Dim cars as Integer cars=text1.text Print "Ο χώρος στάθμευσης έχει" & cars & διαθέσιμες θέσεις αυτοκινήτων" End Sub Αντικείμενο TextBox
Private Sub Command_Click() Dim cars as String cars=text1.text Print "Ο χώρος στάθμευσης έχει" & cars & " αυτοκίνητα" End Sub Αντικείμενο TextBox
Private Sub Command1_Click() Dim onoma As String Dim kodikos As Integer onoma = Text1.Text kodikos = Text2.Text Αντικείμενο TextBox Text3.Text = kodikos & " " & onoma End Sub
Αντικείμενο TextBox Private Sub Command1_Click() Dim X As Single Dim Y As Single X = Text1.Text Y = 10 * X + (15 - X) Label2.Caption = "Η τιμή του Υ είναι:=" & Y End Sub
Visual Basic Private Sub Command1_Click() Dim onoma As String Dim posotita As Single Dim price As Single onoma = Text1.Text posotita = Text2.Text price = Text3.Text eispraxi = posotita * price Label4.Caption = onoma & " " & eispraxi & "Ευρώ" End Sub
Print FirstName Print LastName End Sub Παράδειγμα Visual Basic Private Sub Command_Click() Dim FirstName As String Dim LastName As String FirstName="Νικόλαος" LastName="Νικολάου"
Private Sub Command_Click() Dim FirstName As String Dim LastName As String Label1.Caption= "Δώσε το όνομά σου" Label2.Caption =" Δώσε το επιθετό σου" FirstName=Text1.Text LastName=Text2.Text Print FirstName Print LastName End Sub Visual Basic
Σταθερές Αν μια μεταβλητή περιέχει μια τιμή που δεν αλλάζει ποτέ (π.χ. η μαθηματική σταθερά 3,14), τότε μπορείτε να αποθηκεύσετε την τιμή αυτή ως σταθερά (constant) και όχι ως μεταβλητή. Οι σταθερές δηλώνονται με την παρακάτω μορφή: Const ΌνομαΣταθεράς = Τιμή
Σταθερές Όπου ΟνομαΣταθεράς είναι το όνομα της σταθεράς το οποίο ακολουθεί τους κανόνες των ονομάτων των μεταβλητών. Παραδείγματα: Const Pi = 3,14159 Const MyAddressNumber = 132
Σταθερές Οι σταθερές χρησιμοποιούνται όταν η ίδια τιμή χρειάζεται σε διάφορα σημεία του προγράμματος. Εάν χρειαστεί να αλλάξετε αργότερα την τιμή, μόνο ο ορισμός Const θα χρειαστεί να αλλάξει. Οι σταθερές σας βοηθούν να διατηρήσετε το πρόγραμμά σας πιο ευανάγνωστο. Επίσης, μειώνουν το κίνδυνο λαθών, μια και η τιμή μιας μεταβλητής δεν μπορεί να τροποποιηθεί.