Post on 12-Jun-2015
Μονοδιάστατοι Πίνακες
Πίνακες (Arrays)
Επιτρέπουν να αναφερόμαστε σε μια σειρά μεταβλητών με το ίδιο όνομα και να χρησιμοποιούμε ένα αριθμό (δείκτη) για να τις ξεχωρίζουμε. Βοηθούν στη δημιουργία μικρότερου και απλούστερου κώδικα, επειδή χρησιμοποιείται ο δείκτης για τη δημιουργία βρόχου.
Πίνακες (Arrays)
•Είναι δυνατή η αναφορά σε μια ομάδα τιμών με χρήση ενός ονόματος
•Πραγματοποίηση επεξεργασίας αυτών των τιμών είτε ατομικά, είτε συλλογικά.
Πίνακες (Arrays)
Οι πίνακες μπορούν να σας βοηθήσουν να παρακολουθείτε μικρά σύνολα τιμών με τρόπους που δεν θα ήταν πρακτικοί αν χρησιμοποιούσαμε συμβατικές μεταβλητές. Μονοδιάστατοι: κατάλογοι τιμών Δισδιάστατοι: πίνακες τιμών Τρισδιάστατοι: τρισδιάστατο σχήμα
Πίνακες
• Πίνακας (array) είναι ένα σύνολο μεταβλητών που έχουν κοινό όνομα και τύπο δεδομένων.
• Οι ανεξάρτητες τιμές του πίνακα ονομάζονται στοιχεία και αναγνωρίζονται από δείκτες.
Μονοδιάστατοι Πίνακες
• Ο δείκτης εμφανίζεται σε παρένθεση μετά το όνομα της μεταβλητής π.χ. Numbers(1)
• Εξ ορισμού η τιμή του πρώτου δείκτη αντιστοιχεί στο 0 π.χ. Numbers(0), Numbers(1), Numbers(2) …
Δήλωση πίνακα σταθερού μεγέθους
Η σύνταξη του ορισμού ενός τοπικού πίνακα:
Dim ΌνομαΠίνακα(Μεγαλύτερος δείκτης) As Τύπος Δεδομένων
Dim Months(12) As Integer
Εντολή Option Base
Για να θέσουμε τη τιμή του πρώτου δείκτη ίση με ένα χρησιμοποιούμε την εντολή Option Base. Παράδειγμα:
Option Base 1 Dim Months(12) As Integer
Εντολή Option Base
Παράδειγμα:
Option Base 1 Public Months(12) As Integer
Μονοδιάστατοι Πίνακες
Παράδειγμα: Option Base 1 Dim StudentName(200) As String For i=1 To 200 StudentName(i)=InputBox("Πληκτρολογείστε όνομα φοιτητή" & i)
Next i
Παράδειγμα 1: Μονοδιάστατος Πίνακας
Option Base 1 Dim StudentName(200) As String
Private Sub Command1_Click() For i=1 To 200
StudentName(i)=InputBox("Πληκτρο_ λογείστε το όνομα του φοιτητή" & i)
Next i End Sub
Παράδειγμα 2: Ανάγνωση Στοιχείων
Option Base 1 Dim A(3) As Single Private Sub Command1_Click() Dim i As Integer
For i=1 To 3 A(i) =InputBox("Πληκτρολογείστε το στοιχείο " & i)
Print A(i)
Next i End Sub
Παράδειγμα 2: Άθροισμα Στοιχείων
Private Sub Command2_Click() Dim i As Integer, Sum As Single
Sum = 0 For i=1 To 3 Sum = Sum + A(i) Next i Print "Αθροισμα στοιχείων:=" ; Sum End Sub
Παράδειγμα 2: Γινόμενο Στοιχείων
Private Sub Command3_Click() Dim i As Integer, Gin As Single
Gin = 1 For i=1 To 3 Gin = Gin * A(i) Next i Print “ Γινόμενο στοιχείων:=" ; Gin End Sub
Παράδειγμα 2: Μέγιστο Στοιχείο
Private Sub Command4_Click() Dim i As Integer, Megisto As Single Megisto = A(1) For i=1 To 3 If A(i) > Megisto Then Megisto = A(i) End If Next i Print “ Μέγιστο στοιχείο:=" ; Megisto End Sub
Παράδειγμα 2:
Άθροισμα Συνημιτόνων των Στοιχείων
Private Sub Command5_Click() Dim i As Integer, SumCos As Single SumCos = 0 For i=1 To 3 SumCos = SumCos + Cos(A(i)) Next i Print "Αθροισμα συνημιτόνων των στοι_
χείων:=" ; SumCos End Sub
Παράδειγμα 3
Να γραφεί πρόγραμμα το οποίο
καταγράφει και εμφανίζει τις ανώτατες ημερήσιες θερμοκρασίες μιας εβδομάδας και υπολογίζει τη μέση τιμή των θερμοκρασιών.
Παράδειγμα 3:
Option Base 1 Dim Temp(7) As Single Private Sub Command1_Click() Dim i As Integer For i=1 To 7 Temp(i) = InputBox ("Δώσε την υψηλότερη
θερμοκρασία", "Ημέρα" & i) Next i End Sub
Παράδειγμα 3:
Private Sub Command2_Click() Dim i As Integer, Total As Single Print "Υψηλότερες θερ/σίες της εβδομάδας:" Total = 0 For i=1 To 7 Print "Ημέρα"; i , Temp(i) Total = Total + Temp(i) Next i
Παράδειγμα 3
Print Print "Μέσος όρος υψηλότερων_
θερμοκρασιών:" ; Total/7
End Sub
Παράδειγμα 4
Θεωρώντας ότι οι τιμές των εσπεριδοειδών προϊόντων μεταβάλλονται καθημερινά στην Κεντρική Αγορά της Αθήνας, να γραφεί πρόγραμμα το οποίο:
1. Διαβάζει και εμφανίζει τις ημερήσιες τιμές των
πορτοκαλιών ανά κιλό για μια εβδομάδα (5 εργάσιμες ημέρες).
2. Υπολογίζει και εμφανίζει το μέσο όρο των ημερήσιων τιμών των πορτοκαλιών ανά κιλό για μια εβδομάδα.
Παράδειγμα 4
3.Υπολογίζει και εμφανίζει τη μέγιστη και την ελάχιστη
τιμή των πορτοκαλιών. 4. Υπολογίζει και εμφανίζει τη διαφορά μέγιστης και
ελάχιστης τιμής. Εάν η διαφορά είναι μεγαλύτερη από 1 Ευρώ εμφανίζει το μήνυμα «Υψηλή αύξηση», αλλιώς το μήνυμα «Αποδεκτή αύξηση».
Άσκηση Γράψτε ένα πρόγραμμα που δέχεται από το πληκτρολόγιο τα στοιχεία 10 παραγωγών. Για κάθε παραγωγό δέχεται το όνομά του, το είδος της καλλιέργειας (1 για πορτοκάλια, 2 για λεμόνια ή 3 για μανταρίνια), και την παραγωγή που πέτυχε ο παραγωγός. Οι τιμές των προϊόντων είναι 1, 2 και 3 ευρώ αντίστοιχα. Μετά το τέλος της εισαγωγής των δεδομένων, το πρόγραμμα εμφανίζει. Τα στοιχεία των παραγωγών Το άθροισμα της είσπραξης για τους παραγωγούς των καλλιεργειών 1
και 2. Τη μέση παραγωγή για τους καλλιεργητές της κατηγορίας 3. Ένας καλλιεργητής αποκαλείται “μεγαλοκαλλιεργητής” άν η παραγωγή
του είναι > 4*μο (μέση παραγωγή της κατηγορίας). Να βρεθεί το ποσοστό των μεγαλοκαλλιεργητών για την κατηγορία 3.