ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Σχετικά έγγραφα
Πληροφορική. Ενότητα 5 η : Εισαγωγή στον Προγραμματισμό με τη Visual Basic. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

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

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

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Δομημένος Προγραμματισμός

Υπολογιστικά Συστήματα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

{ int a = 5; { int b = 7; a = b + 3;

Λογιστικές Εφαρμογές Εργαστήριο

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Υπολογιστικά Συστήματα

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Δομημένος Προγραμματισμός

Υπολογιστικά Συστήματα

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Αντικειμενοστραφής Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός και Εφαρμογές Υπολογιστών

Οντοκεντρικός Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Λογιστικές Εφαρμογές Εργαστήριο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 6 η : Ταξινόμηση & Ομαδοποίηση Δεδομένων

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Εισαγωγή στον Προγραμματισμό με C++

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 8 η : Γραφήματα

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

Εισαγωγή στον Προγραμματισμό με C++

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Οντοκεντρικός Προγραμματισμός

Προγραμματισμός Η/Υ. Ενότητα 7: Συναρτήσεις

Εισαγωγή στον Προγραμματισμό με C++

Pascal. 15 Νοεμβρίου 2011

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Δομημένος Προγραμματισμός

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Ανάπτυξη και Σχεδίαση Λογισμικού

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Στατιστική Επιχειρήσεων

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Δομημένος Προγραμματισμός

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Υπολογιστικά Συστήματα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Δομημένος Προγραμματισμός

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

Εισαγωγή στον δομημένο προγραμματισμό

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Υδραυλικά & Πνευματικά ΣΑΕ

Στατιστική Επιχειρήσεων Ι

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

9 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Οντοκεντρικός Προγραμματισμός

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΠΛΗΡΟΦΟΡΙΚΗ. Ενότητα: Εργαστηριακές Ασκήσεις. Καθηγήτρια: Ι.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

11 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Τεχνικό Σχέδιο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 4: Έλεγχος Ροής. Κ.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Τεχνικό Σχέδιο

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 4 η : Η Γλώσσα Προγραμματισμού VB.NET (3 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Στην συγκεκριμένη ενότητα παρουσιάζονται οι διαδικασίες τύπου Sub και Function, παράμετροι και επιστρεφόμενες τιμές, πέρασμα παραμέτρων (ByVal, ByRef) καθώς και θέματα εμβέλειας διαδικασιών & μεταβλητών της γλώσσας προγραμματισμού Visual Basic.NET 4

Περιεχόμενα Διαδικασίες τύπου Function Διαδικασίες τύπου Sub Παράμετροι με τιμή (ByVal) Παράμετροι με αναφορά (ByRef) Θέματα Εμβέλειας 5

Διαδικασίες Εισαγωγικά Η διαδικασία είναι μια «επώνυμη» μονάδα κώδικα. Την «καλούμε» με το όνομά της κάθε φορά που χρειαζόμαστε να εκτελεστεί το σύνολο των εντολών που περιέχει. Στη συνέχεια ο έλεγχος μεταφέρεται στο τμήμα του κώδικα που την κάλεσε Κυρίως Πρόγραμμα Διαδικασίες Δ-1 Δ-2 Δ-3 Δ-4 6

Είδη Διαδικασιών Μια διαδικασία υλοποιεί μια συγκεκριμένη εργασία, άρα με αυτό τον τρόπο κάνουμε «οικονομία» στον κώδικα του προγράμματός μας χωρίζοντάς τον σε μικρότερα τμήματα που τα καλούμε κάθε φορά που τα χρειαζόμαστε (εύκολη συντήρηση του κώδικά μας) Η Visual Basic παρέχει δύο ειδών διαδικασίες: Sub και Function Η διαφορά των διαδικασιών τύπου Function από τις διαδικασίες τύπου Sub βρίσκεται στο γεγονός ότι οι functions έχουν υποχρέωση μετά την κλήση τους να επιστρέψουν μια τιμή. Η τιμή αυτή επιστρέφεται στο όνομα της διαδικασίας 7

Η Διαδικασία Function Ορίζεται με δηλωτικές προτάσεις που καθορίζουν την αρχή και το τέλος της. Μεταξύ της αρχής και του τέλους της διαδικασίας τοποθετούνται οι εντολές που θέλουμε να εκτελεστούν οι εντολές μπορεί να είναι εκτελέσιμες προτάσεις που να καλούν άλλες διαδικασίες τύπου Sub ή function καθώς και δηλωτικές προτάσεις Στην αρχική δηλωτική πρόταση μιας διαδικασίας προσδιορίζονται: η εμβέλειά (scope) της, δηλαδή αν θα είναι «ορατή» και θα μπορεί να κληθεί από άλλες ενότητες κώδικα το όνομά της, με το οποίο θα αναγνωρίζεται από το σύστημα της γλώσσας προγραμματισμού Visual Basic οι παράμετροι της, δηλαδή το είδος και το πλήθος τιμών που θα διαβιβάζονται στη διαδικασία για επεξεργασία ο τύπος της επιστρεφόμενης τιμής, δηλαδή μια δήλωση ενός τύπου δεδομένων της γλώσσας προγραμματισμού Visual Basic 8

Επιστρεφόμενη Τιμή σε Function Όταν δηλώνουμε μια συνάρτηση θα πρέπει να υπάρχει οπωσδήποτε μέσα στον κώδικα ορισμού της μια τουλάχιστον εκτελέσιμη εντολή, με την οποία εκχωρείται στο όνομα της συνάρτησης η τιμή που επιστρέφεται από τη συνάρτηση. 9

Ορισμός Διαδικασίας Function εμβέλεια Function ονομα (λίστα παραμέτρων ) As τύπος_επιστροφής ' εντολή 1 ' εντολή 2 ' εντολή κ Εμβέλεια = Public ή Private Λίστα Παραμέτρων = Μία λίστα με δηλώσεις μεταβλητών διαχωρισμένες με κόμμα «,» Για τη λίστα παραμέτρων θα μιλήσουμε σε λίγο πιο αναλυτικά 10

Παραδείγματα Functions Function calc(byval N1 As Integer, ByVal N2 As Integer) As Integer Return (N1 + N2) ή calc = N1+N2 End Function Function calc(byval N1 As Integer, ByVal N2 As Integer) As Integer Dim result As Integer result = N1 + N2 Return result ή calc=result End Function Function Calc(ByVal N1 As Double, ByVal N2 As Double, ByVal telestis As Char) As Double If telestis = "+" Then Return (N1+N2) ή calc = N1+N2 If telestis = "-" Then Return (N1-N2) ή calc = N1-N2 If telestis = "*" Then Return (N1*N2) ή calc = N1*N2 11

Η Διαδικασία Sub Ορίζεται με δηλωτικές προτάσεις που καθορίζουν την αρχή και το τέλος της. Μεταξύ της αρχής και του τέλους της διαδικασίας τοποθετούνται οι εντολές που θέλουμε να εκτελεστούν οι εντολές μπορεί να είναι εκτελέσιμες προτάσεις που να καλούν άλλες διαδικασίες τύπου Sub ή function καθώς και δηλωτικές προτάσεις Στην αρχική δηλωτική πρόταση μιας διαδικασίας προσδιορίζονται: η εμβέλειά (scope) της, δηλαδή αν θα είναι «ορατή» και θα μπορεί να κληθεί από άλλες ενότητες κώδικα το όνομά της, με το οποίο θα αναγνωρίζεται από το σύστημα της γλώσσας προγραμματισμού Visual Basic οι παράμετροι της, δηλαδή το είδος και το πλήθος τιμών που θα διαβιβάζονται στη διαδικασία για επεξεργασία 12

Ορισμός Διαδικασίας Sub εμβέλεια Sub ονομα (λίστα παραμέτρων ) ' εντολή 1 ' εντολή 2 ' εντολή κ Εμβέλεια = Public ή Private Λίστα Παραμέτρων = Μία λίστα με δηλώσεις μεταβλητών διαχωρισμένες με κόμμα «,» Για τη λίστα παραμέτρων θα μιλήσουμε σε λίγο πιο αναλυτικά 13

Μια απλή διαδικασία Sub Sub simplecalculator() 'Είσοδος δεδομένων Dim Num1, Num2, result As Double, operand As Char Console.Write("Give the 1st number?") Num1 = Console.ReadLine() Console.Write("Give the 2nd number?") Num2 = Console.ReadLine() Console.Write("Give the operand (+,-,*)?") operand = Console.ReadLine() 'Επεξεργασία δεδομένων If operand = "+" Then result = Num1 + Num2 If operand = "-" Then result = Num1 - Num2 If operand = "*" Then result = Num1 * Num2 'Έξοδος - Αποτελέσματα Console.WriteLine() Console.WriteLine("**********Program Output************") Console.WriteLine(Num1 & operand & Num2 & " = " & result) 14

Διαδικασία Sub με παράμετρο Sub saymessage(byval msg As String) Dim stamp As Date stamp = TimeOfDay() MsgBox("Message at " & stamp & msg) 15

Παραδείγματα Διαδικασιών Sub Sub Main() 'Είσοδος δεδομένων Dim Num1, Num2, result As Double, operand As Char Call DataEntry(Num1, Num2, operand) 'Επεξεργασία δεδομένων Call Calculate(Num1, Num2, operand, result) 'Έξοδος - Αποτελέσματα Call PrintResults(Num1, Num2, operand, result) Sub DataEntry(ByRef N1 As Double, ByRef N2 As Double, ByRef telestis As Char) Console.Write("Give the 1st number?") N1 = Console.ReadLine() Console.Write("Give the 2nd number?") N2 = Console.ReadLine() Console.Write("Give the operand (+,-,*)?") telestis = Console.ReadLine() Sub Calculate(ByVal N1 As Double, ByVal N2 As Double, ByVal telestis As Char, ByRef apotelesma As Double) If telestis = "+" Then apotelesma = N1 + N2 If telestis = "-" Then apotelesma = N1 - N2 If telestis = "*" Then apotelesma = N1 * N2 Sub PrintResults(ByVal N1 As Double, ByVal N2 As Double, ByVal telestis As Char, ByRef apotelesma As Double) Console.WriteLine("**********Program Output************") Console.WriteLine(N1 & telestis & N2 & " = " & apotelesma) 16

Παράμετροι Διαδικασιών Οι παράμετροι σε μια διαδικασία Sub ή Function είναι υποθετικές μεταβλητές (λέγονται και τυπικές παράμετροι - Formal parameters) που ενδεικτικά προσδιορίζουν τον τύπο και το πλήθος τιμών οι οποίες θα διαβιβάζονται στη διαδικασία κατά την κλήση της. Οι τιμές που διαβιβάζονται στη συνάρτηση κατά την κλήση της συνήθως αποκαλούνται ορίσματα (arguments) ή πραγματικές παράμετροι και είναι παραστάσεις ή μεταβλητές που χρησιμοποιούνται στο τμήμα κώδικα της διαδικασίας. Η λίστα παραμέτρων μπορεί να είναι κενή και αν είναι περισσότερες από μια διαχωρίζονται με κόμματα Για κάθε παράμετρο αναγράφεται το εικονικό της όνομα και ο τύπος της. 17

Παράμετροι με Τιμή ή με Αναφορά (ByVal, ByRef) Κατά τη δήλωση παραμέτρων σε μια διαδικασία Sub ή Function μπορούμε να καθορίσουμε και το αν επιτρέπεται ή όχι η τροποποίηση των τιμών που θα διαβιβαστούν Με τη δήλωση ByVal (παράμετρος με τιμή) αυτό που διαβιβάζεται δεν επιτρέπεται να τροποποιηθεί (διαβίβαση μόνο της τιμής) Με τη δήλωση ByRef (παράμετρος με αναφορά) αυτό που διαβιβάζεται επιτρέπεται να τροποποιηθεί (διαβίβαση αναφοράς) 18

Παραδείγματα ByVal, ByRef με functions '**** main program *** a = 2 : b = 3 Sum = calc(a, b) Console.WriteLine("Sum= " & Sum & " a= " & a & " b= " & b) '--------------------------------------------------------------- Function calc(byval N1 As Integer, ByVal N2 As Integer) As Integer calc = N1+N2 N1 = N1+1 N2 = N2+1 End Function '--------------------------------------------------------------- Function calc(byref N1 As Integer, ByRef N2 As Integer) As Integer calc = N1+N2 N1 = N1+1 N2 = N2+1 End Function 19

Παραδείγματα ByVal, ByRef με Subs Sub Main() 'Είσοδος δεδομένων Dim Num1, Num2, result As Double, operand As Char Call DataEntry(Num1, Num2, operand) 'Επεξεργασία δεδομένων Call Calculate(Num1, Num2, operand, result) 'Έξοδος - Αποτελέσματα Call PrintResults(Num1, Num2, operand, result) Sub DataEntry(ByRef N1 As Double, ByRef N2 As Double, ByRef telestis As Char) Console.Write("Give the 1st number?") N1 = Console.ReadLine() Console.Write("Give the 2nd number?") N2 = Console.ReadLine() Console.Write("Give the operand (+,-,*)?") telestis = Console.ReadLine() Sub Calculate(ByVal N1 As Double, ByVal N2 As Double, ByVal telestis As Char, ByRef apotelesma As Double) If telestis = "+" Then apotelesma = N1 + N2 If telestis = "-" Then apotelesma = N1 - N2 If telestis = "*" Then apotelesma = N1 * N2 Sub PrintResults(ByVal N1 As Double, ByVal N2 As Double, ByVal telestis As Char, ByVal apotelesma As Double) Console.WriteLine("**********Program Output************") Console.WriteLine(N1 & telestis & N2 & " = " & apotelesma) 20

Εμβέλεια Διαδικασιών Κατά τη δήλωση μιας διαδικασίας μπορούμε να χρησιμοποιήσουμε τις εντολές Private & Public : Με τη δήλωση Public δηλώνουμε διαδικασίες που θέλουμε να έχουν καθολική εμβέλεια, δηλαδή να είναι ορατές από όλα τα σημεία-ενότητες κώδικα του προγράμματός μας Με τη δήλωση Private δηλώνουμε διαδικασίες που θέλουμε να έχουν τοπική εμβέλεια δηλαδή μόνο μέσα στην ενότητα κώδικα που ανήκουν 21

Παράδειγμα Εμβέλειας Διαδικασιών Module Mod_1 Public Sub Mod_1_Sub_1 Private Sub Mod_1_Sub_2 Public Function Mod_1_F1 Private Function Mod_1_F2 Module Mod_2 Public Sub Mod_2_Sub_1 Private Sub Mod_2_Sub_2 Public Function Mod_2_F1 Private Function Mod_2_F2 «Ορατές» διαδικασίες στην ενότητα Mod_2 από την ενότητα Mod_1 είναι οι Mod_1_Sub_1 και Mod_1_F1 ενώ στην ενότητα Mod_1 από την ενότητα Mod_2 είναι οι διαδικασίες Mod_2_Sub_1 και Mod_2_F1 22

Εμβέλεια Διαδικασιών & Μεταβλητών Module Mod_1 Public A As Integer Private B As Integer Public Sub Mod_1_Sub_1 Dim C As Integer Private Function Mod_1_F1 Dim D As Integer Dim E As Integer «Ορατές» διαδικασίες έξω από την ενότητα Mod_1 είναι μόνο η Mod_1_Sub_1 και «ορατές» μεταβλητές μόνο η Α. Μέσα στην ενότητα Mod_1 «ορατές» είναι τόσο οι διαδικασίες Mod_1_Sub_1 και Mod_1_F1 όσο και οι μεταβλητές A, B. ΠΡΟΣΟΧΗ στην Mod_1_F1 ισχύει η τοπική μεταβλητή Α 23

Στατικές Μεταβλητές Module Mod_1 Public A As Integer Private B As Integer Public Sub Sub_1 Static D As Integer Η μεταβλητή D διατηρεί την τιμή της και μετά την ολοκλήρωση της διαδικασίας Sub_1 24

Τέλος Ενότητας