Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

Σχετικά έγγραφα
Σχήµα 2.1: Εισαγωγή array στο Front Panel.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram.

3. Στο Block Diagram αναπτύσουµε το υπολογιστικό µέρος του προγράµµατος. Σχήµα 1.1: Το Front Panel του LabVIEW.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 7.1: Εισαγωγή της δοµής stacked sequence στο Block Diagram.

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι

Γνωριµία µε τη Microsoft Access

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

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

Πίνακες, περιγράµµατα και σκίαση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΒΑΣΙΚΕΣ Ο ΗΓΙΕΣ ΧΡΗΣΗΣ

Κεφάλαιο 5ο: Εντολές Επανάληψης

Γνωριµία µε το Microsoft Excel

Σημειώσεις στο PowerPoint

Μάθημα 6ο. Υπολογιστικό Φύλλο

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής...

a. Επιλέγουμε τις γραμμές προς διαγραφή a. Επιλέγουμε τις στήλες προς διαγραφή a. Γράφουμε σε μια στήλη μια σειρά από αριθμούς ή αλφαριθμητικά

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ

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

Browsers. Λειτουργικότητα και Παραμετροποίηση

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C


Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ενότητα. Επεξεργασία πινάκων

Shift+γράμμα. Πατάμε τον τόνο (δί[λα στο L) και μετά το φωνήεν. Πως βάζουμε διαλυτικά; Πατάμε το Shift+ τόνο και μετά το φωνήεν (ι ή υ)

Εισαγωγή και επεξεργασία δεδοµένων

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Δημιουργία ενός κενού πίνακα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

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

Week. 6: Java Collections

ΕΡΩΤΗΣΕΙΣ στην επεξεργασία κειμένου (Word)

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών

Ο ΗΓΙΕΣ DOCUMENT DESIGNER

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Heapsort Using Multiple Heaps

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

Συστήματα Αναμονής (Queuing Systems)

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( ) " " Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση

Σχεδίαση Μισθοδοτικής Κατάστασης

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

Κεφάλαιο Χρήση κειµενογράφου. 4.1 Εισαγωγή Σκοπός Τι θα µάθεις

ΝΟΜΟΤΕΛΕΙΑ Οδηγίες Χρήσης Internet 1

Δηµιουργώντας µία παρουσίαση µε το Prezi

Πίνακες δημιουργία και μορφοποίηση πίνακα

Σχεδίαση Μισθοδοτικής Κατάστασης.

Οδηγίες για την κατασκευή του αρχείου «Ταυτότητα (α+β) 2» 1. Αποκρύπτουµε τους άξονες και το παράθυρο άλγεβρας: Παράθυρο προβολή

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Διαχειριστικό σύστημα πακέτων φιλοξενίας

Σχεδίαση Μισθοδοτικής Κατάστασης

Οδηγός Χρήστη για το ιαλειτουργικό Χάρτη

ιαµόρφωση σελίδας Προεπισκόπηση Εκτύπωση

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Εισαγωγή στο Word 2007 Ν. Παπαδόπουλος

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 3 η

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας

ΤΕΙ Ηρακλείου. Τμήμα Λογιστικής Πληροφορική I 6 η Εργαστηριακή άσκηση (Excel)

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

Ψευδοκώδικας. November 7, 2011

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

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

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

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Γνωριμία με το περιβάλλον LabVIEW. Γνωριμία με το περιβάλλον LabVIEW.

ΕΠΛ 232 Φροντιστήριο 2

Λύσεις για τις ασκήσεις του lab5

ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΙ ΠΑΤΡΑΣ ΤΕΙ ΠΑΤΡΑΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT

11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44.

ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΜΕ ΕXCEL

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

του και από αυτόν επιλέγουµε το φάκελο εµφανίζεται ένα παράθυρο παρόµοιο µε το ακόλουθο:

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

Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 γ

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

ΗΥ-150. Πίνακες (Arrays)

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ:- Γ ΛΥΚΕΙΟΥ ΤΜΗΜΑΤΑ: ΓΟ4 ΓΟ7 (ΖΩΓΡΑΦΟΥ) ΓΟ5 ΓΟ6 (ΧΟΛΑΡΓΟΣ) HM/NIA: 15/1/2017

Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής

Εισαγωγή στην Αριθμητική Ανάλυση

ECDL Module 4 Υπολογιστικά Φύλλα Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

Να το ξαναγράψετε χρησιμοποιώντας αντί για την εντολή Για Τέλος_επανάληψης: α. την εντολή Όσο Τέλος_επανάληψης

Φύλλο 2. Δράσεις με το λογισμικό Cabri-geometry 3D

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

οµή δικτύου ΣΧΗΜΑ 8.1

2. Κάντε κλικ στο παράθυρο όψης Top για να το ενεργοποιήσετε, ώστε να σχεδιάσετε το πάτωµα του δωµατίου.

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

Ενότητα 7 Ουρές Προτεραιότητας

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

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

Transcript:

Η δοµή «Shift register» 1. Η δοµή «Shift register» εισάγεται στο βρόγχο for-loop αλλά και σε άλλους βρόγχους που θα δούµε στη συνέχεια, όπως ο βρόγχος «While loop». Ο τρόπος εισαγωγής και λειτουργίας της παραµένει ο ίδιος σε όλους τους βρόγχους. Στη συνέχεια θα παρουσιαστεί για το βρόγχο for-loop. 2. Η δοµή shift register εισάγεται σε ένα βρόγχο for-loop µε δεξί κλικ πάνω στο αριστερό ή στο δεξί κατακόρυφο περίγραµµα του βρόγχου και επιλογή της εντολής «Add Shift Register» από το αναδυόµενο µενού (σχήµα 3.1). Με την εκτέλεση της εντολής θα εµφανιστούν στα δύο κατακακόρυφα περιγράµµατα του βρόγχου for-loop δύο τετράγωνα µε δύο βελάκια µε φορά προς τα κάτω το αριστερό και προς τα πάνω το δεξί. Αρχικά και τα δύο βελάκια έχουν µαύρο χρώµα (σχήµα 3.1). Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop. 3. Η εργασία που κάνει η δοµή shift register είναι το ότι µεταφέρει το δεδοµένο το οποίο καλωδιώνουµε στο δεξί βελάκι στο τέλος µιας επανάληψης του βρόγχου for-loop, στο αριστερό βελάκι στην αρχή της επόµενης επανάληψης του βρόγχου for-loop. Έτσι σε κάθε επανάληψη του βρόγχου µπορεί να

εκτελείται η ίδια διαδικασία µε δεδοµένο εισαγωγής όµως που ενηµερώνεται και ανανεώνεται σε κάθε επανάληψη του βρόγχου. 4. Είναι προφανές ότι θα δύο βελάκια της shift register θα πρέπει να είναι καλωδιωµένα µε τον ίδιο τύπο δεδοµένων, δηλαδή απλοί πραγµατικοί ή ακέραιοι αριθµοί, µονοδιάστατα ή διδιάστατα arrays κλπ. Το χρώµα που τελικά θα πάρουν τα βελάκια της shift register θα καθοριστεί από τον τύπο των δεδοµένων που θα καλωδιώσουµε σε αυτά (π.χ. µπλε για ακέραιους αριθµούς ή arrays, πορτοκαλί για πραγµατικούς αριθµούς ή arrays). 5. Μία δοµή shift register πρέπει να αρχικοποιηθεί, δηλαδή να δώσουµε µία αρχική τιµή στο αριστερό βελάκι, η οποία θα αποτελέσει την είσοδο της συνάρτησης για την πρώτη επανάληψη που θα εκτελέσει. Τούτο γίνεται απλά ορίζοντας την αρχική αυτή τιµή σε µία αριθµητική σταθερά ή σταθερά array και καλωδιώνοντας το αριστερό βελάκι έξω από το βρόγχο for-loop. 6. Για παράδειγµα, στο σχήµα 3.2 η δοµή shift register έχει αρχικοποιηθεί µε την ακέραια σταθερά 0. Τούτο αυτοµάτως καθορίζει τον τύπο των δεδοµένων που θα ανακυκλώνονται µέσω της shift register, που θα είναι ακέραιοι αριθµοί. Επίσης τούτο συνεπάγεται ότι στην πρώτη εκτέλεση του βρόγχου το αριστερό βελάκι θα δώσει µέσα στο βρόγχο για την εκτέλεση των όποιων πράξεων την τιµή 0. Με το τέλος της πρώτης εκτέλεσης στο δεξί βελάκι θα αποδοθεί η τιµή 0 + 5 = 5. Αυτή η τιµή θα ανακυκλωθεί και θα έρθει στο αριστερό βελάκι κατά τη δεύτερη επανάληψη του βρόγχου. Έτσι η είσοδος στο βρόγχο από το αριστερό βελάκι στη δεύτερη εκτέλεσή του θα είναι ίση µε 5, ενώ στο τέλος της δεύτερης εκτέλεσης του βρόγχου στο δεξί βελάκι θα αποδοθεί η τιµή 5 + 5 = 10, η οποία θα επιστρέψει στο αριστερό βελάκι κατά την τρίτη εκτέλεση του βρόγχου. Η διαδικασία θα επαναληφθεί για τον αριθµό των επαναλήψεων που έχουν οριστεί για τη for-loop. Σχήµα 3.2: Παράδειγµα shift register σε βρόγχο for-loop.

Συναρτήσεις (functions) για τα arrays Όλες οι συναρτήσεις που απευθύνονται στα arrays προσεγγίζονται µε δεξί κλικ στο Block diagram και επιλογή τους από το µενού «Array» Η συνάρτηση «Build array» 1. Η επιλογή της συνάρτηση Build array από το µενού «Array» παρουσιάζεται στο σχήµα 3.3. Σχήµα 3.3: Επιλογή της συνάρτησης Build array από το µενού «Array». 2. Η συνάρτηση build array χρησιµοποιεί τις εισόδους στα αριστερά της για να «κτίσει» ένα πίνακα. Με την εισαγωγή µιας build array στο block diagram, τούτη εµφανίζεται µε µία µόνο είσοδο. Μπορούµε να αυξήσουµε τις εισόδους στα αριστερά της build array τραβώντας τους µοχλούς χειρισµού του εικονιδίου προς τα πάνω ή προς τα κάτω. Στη συνέχεια µπορούµε απλά να καλωδιώσουµε τιµές στις εισόδους στα αριστερά της build array και να κτίσουµε έτσι ένα array. Όλα τα ανωτέρω παρουσιάζονται στο σχήµα 3.4. 3. Στο σχήµα 3.4 κατασκευάσαµε ένα µονοδιάστατο array µε πραγµατικές τιµές σε αυτό. Η συνάρτηση Build array τοποθετεί τη µία τιµή κάτω από την άλλη και κτίζει έτσι το array.

Σχήµα 3.4: Καθορισµός διαστάσεων και αρχικοποίηση της συνάρτησης Build. 4. Εκτός από σταθερές, στις εισόδους µίας Build array µπορούµε να καλωδιώσουµε numeric controls ή indicators. 5. Επίσης, στις εισόδους µιας Build array µπορούµε να καλωδιώσουµε άλλα arrays, ή και συνδυασµούς arrays και σταθερών, όπως φαίνεται στο παράθυρο βοήθειας της συνάρτησης, στο σχήµα 3.5. Το αποτέλεσµα που θα πάρουµε κάθε φορά εξαρτάται από τα δεδοµένα εισόδου της συνάρτησης Σχήµα 3.5: Το παράθυρο βοήθειας για τη συνάρτηση Build array. 6. Είδαµε ήδη πως όταν εισάγουµε στις εισόδους της Build array απλούς αριθµούς, δηλαδή numeric constants, controls ή indicators, το αποτέλεσµα είναι ένα µονοδιάστατο array (σχήµα 3.4). 7. Επίσης, όταν εισάγουµε σε µία build array µονοδιάστατα arrays και απλούς αριθµούς, το αποτέλεσµα είναι και πάλι ένα µονοδιάστατο array (σχήµα 3.5). Οι τιµές εισόδου τοποθετούνται η µία κάτω από την άλλη και σε αυτή την περίπτωση. 8. Αν εισάγουµε σε µία build array µόνο arrays, τότε το αποτέλεσµα µπορεί να είναι:

a. Ένα νέο µονοδιάστατο array, όταν είναι ενεργοποιηµένη η επιλογή «Concatenate inputs» που εµφανίζεται στο αναδυόµενο µενού µε δεξί κλικ πάνω στη συνάρτηση Build array. Στην περίπτωση αυτή η συνάρτηση Build array απλά τοποθετεί τα arrays εισόδου το ένα κάτω από το άλλο και κτίζει έτσι και πάλι ένα µονοδιάστατο array. b. Ένα νέο διδιάστατο array, όταν είναι δεν ενεργοποιηµένη η επιλογή «Concatenate inputs» που εµφανίζεται στο αναδυόµενο µενού µε δεξί κλικ πάνω στη συνάρτηση Build array. Στην περίπτωση αυτή η συνάρτηση Build array τοποθετεί τα arrays εισόδου το ένα δίπλα στο άλλο και κτίζει έτσι ένα διδιάστατο array. Τα ανωτέρω παρουσιάζονται στο σχήµα 3.6. Σχήµα 3.6: Εναλλακτική λειτουργία της Build array µέσω της επιλογής «Concatenate inputs». 9. Προς ανακεφαλαίωση των ανωτέρω ας δούµε το παράδειγµα του σχήµατος 3.7. Αρχικά, στον αριστερό βρόγχο for-loop κατασκευάζεται ένα µονοδιάστατο array µε µέγεθος 24 τιµών και τιµές από 1 έως 24, αυξανόµενες κατά 1 σε κάθε κελί. Στη συνέχεια στο δεξί βρόγχο for-loop έχουµε εισάγει δύο shift register. Η πρώτη έχει αρχικοποιηθεί µε ένα µονοδιάστατο κενό array πραγµατικών αριθµών, ενώ η δεύτερη έχει αρχικοποιηθεί µε ένα διδιάστατο κενό array πραγµατικών αριθµών. Σχήµα 3.7: Παράδειγµα συνδυασµένης χρήσης shift register και build array.

Εντός του δεύτερου βρόγχου for-loop έχουµε εισάγει δύο συναρτήσεις build array. Στην πιο πάνω από αυτές είναι ενεργοποιηµένη η επιλογή «Concatenate inputs», ενώ στην πιο κάτω δεν είναι ενεργοποιηµένη η επιλογή αυτή. Σε κάθε µία build array εισάγεται το µονοδιάστατο array που έχει δηµιουργηθεί από τον αριστερό βρόγχο for-loop. Ο δεξιός βρόγχος for-loop θα επαναληφθεί 365 φορές. Με την πάνω build array κτιστεί ένα µονοδιάστατο array που θα περιέχει το array 1-24, 365 φορές, τη µία κάτω από την άλλη. Το πλήθος των στοιχείων του µονοδιάστατου αυτού array θα είναι 24 x 365 = 8.760. Με την κάτω build array θα κτιστεί ένα διδιάστατο array, το οποίο θα έχει σε 365 γραµµές το διάνυσµα 1-24. Παρατηρείται στο σχήµα 3.7 ότι πριν την είσοδο του διδιάστατου array στο indicator «Array 1» έχει εισαχθεί µία ακόµα συνάρτηση. Η συνάρτηση αυτή είναι η «Transpose 2D array» και το αποτέλεσµά της είναι να κάνει τις γραµµές του αρχικού array στήλες και τις στήλες γραµµές. Έτσι το τελικό αποτέλεσµα που τελικά θα εισαχθεί στο Indicator «Array 1» θα είναι ένα διδιάστατο array µε το array 1-24 να εµφανίζεται σε 365 στήλες. 10. Η εισαγωγή της συνάρτησης «Transpose 2D array» από το µενού «Array» παρουσιάζεται στο σχήµα 3.8. Στο ίδιο σχήµα παρουσιάζεται το µενού βοήθειας της ίδιας συνάρτησης. Σχήµα 3.8: Εισαγωγή της συνάρτησης «Transpose 2D array» στο Block diagram και το µενού βοήθειας.

Η συνάρτηση «Array size» 1. Η συνάρτηση «Array size» επιστρέφει το πλήθος των στοιχείων που περιέχονται σε ένα array. Η εισαγωγή της στο Block diagram και το µενού βοήθειας παρουσιάζονται στο σχήµα 3.9. Σχήµα 3.9: Εισαγωγή της συνάρτησης «Array size» στο Block diagram και το µενού βοήθειας. 2. Στην περίπτωση µονοδιάστατου array η συνάρτηση αυτή επιστρέφει ένα numeric indicator, µε το πλήθος των τιµών του µονοδιάστατου array. Στην περίπτωση ενός διδιάστατου array, η συνάρτηση επιστρέφει ένα µονοδιάστατο array µε δύο τιµές, κατά σειρά το πλήθος των γραµµών και των στηλών του διδιάστατου array (σχήµα 3.10). Σχήµα 3.10: Λειτουργία της συνάρτησης build array µε µονοδιάστατο και διδιάστατο array.

Η συνάρτηση «Max & Min» 1. Η συνάρτηση «Max & Min» επιστρέφει τη µέγιστη και την ελάχιστη τιµή ενός array, µαζί µε τη θέση (index) των τιµών αυτών εντός του array. Η σύνταξή της είναι απλή και δίνεται στο µενού βοήθειας της συνάρτησης που παρουσιάζεται στο σχήµα 3.11. Στο ίδιο σχήµα παρουσιάζεται και η εισαγωγή της συνάρτησης αυτής στο block diagram από το µενού «Array». Σχήµα 3.11: Εισαγωγή της συνάρτησης «Max & Min» στο Block diagram και το µενού βοήθειας. Η συνάρτηση «Delete From Array» 1. Η συνάρτηση «Delete From Array» διαγράφει ένα συγκριµένο µέρος ενός array. 2. Οι απαιτούµενες είσοδοι της συνάρτησης, σύµφωνα µε το µενού βοήθειας, είναι το αρχικό array, το µήκος (length) του τµήµατος που θέλουµε να διαγράψουµε και η θέση (index) από την οποία ξεκινάει αυτό το µήκος. Υπενθυµίζεται ότι το πρώτο στοιχείο ενός µονοδιάστατου array έχει index ίσο µε 0, ενώ το index του πρώτου στοιχείου ενός διδιάστατου array είναι το (0, 0). 3. Η συνάρτηση «Delete From Array» επιστρέφει τόσο το µέρος του array που αποµένει µετά τη διαγραφή, όσο και το τµήµα του array που διαγράφηκε. 4. Η σύνταξή της είναι απλή και δίνεται στο µενού βοήθειας της συνάρτησης που παρουσιάζεται στο σχήµα 3.12. Στο ίδιο σχήµα παρουσιάζεται και η εισαγωγή της συνάρτησης αυτής στο block diagram από το µενού «Array».

Σχήµα 3.12: Εισαγωγή της συνάρτησης «Delete From Array» στο Block diagram και το µενού βοήθειας. Παράδειγµα 1. Στο σχήµα 3.13 παρουσιάζεται ένα παράδειγµα που ανακεφαλαιώνει τα όσα έχουν παρουσιαστεί παραπάνω. Με τη δοµή του σχήµατος αυτού ταξινοµούνται τα στοιχεία ενός µονοδιάστατο array σε φθίνουσα σειρά, δηλαδή από το µεγαλύτερο προς το µικρότερο. Στη συνέχεια περιγράφεται η λογική του παραδείγµατος. 2. Καταρχήν το µονοδιάστατο array στο οποίο θέλουµε να ταξινοµήσουµε τα στοιχεία του σε φθίνουσα σειρά είναι το array 1. Με τη συνάρτηση «Array Size» παίρνουµε το πλήθος των στοιχείων του array αυτού και το δίνουµε στη σταθερά Ν του βρόγχου for-loop. Έτσι εξασφαλίζουµε ότι ο βρόγχος for-loop θα εκτελεστεί τόσες φορές, όσο είναι το πλήθος των στοιχείων του array 1. Σχήµα 3.13: Παράδειγµα ταξινόµησης των τιµών ενός µονοδιάστατου array σε φθίνουσα σειρά. 3. Εισάγουµε στη συνέχεια δύο δοµές shift register στο βρόγχο for-loop. Την πρώτη την αρχικοποιούµε µε το array 1, ενώ τη δεύτερη την αρχικοποιούµε µε ένα κενό µονοδιάστατο array.

4. Από την πρώτη shift register στην πρώτη εκτέλεση του βρόγχου παίρνουµε το array 1 και το εισάγουµε στη συνάρτηση «Max & Min». Έτσι στην πρώτη εκτέλεση του βρόγχου παίρνουµε από τη συνάρτηση «Max & Min» τη µέγιστη τιµή και τη θέση της (index) του αρχικού array 1. Στη συνέχεια το array 1, ως περιεχόµενο της shift register στην πρώτη εκτέλεση του βρόγχου οδηγείται στη συνάρτηση «Delete From Array». Στη συνάρτηση αυτή έχουµε καλωδιώσει το index της µέγιστης τιµής του array 1, όπως δίνεται απότ η συνάρτηση «Max & Min» και έχουµε επίσης ορίσει µήκος διαγραφής ίσο µε 1. Έτσι, το αποτέλεσµα της συνάρτησης «Delete From Array» θα είναι ένα διάνυσµα που προκύπτει από το αρχικό array 1, εφόσον διαγράψουµε τη µέγιστη τιµή του. Το διάνυσµα αυτό το καλωδιώνουµε στο δεξί βελάκι της πρώτης shift register, ώστε να αποτελέσει την είσοδο για την εκτέλεση της ανωτέρω διαδικασίας κατά τη δεύτερη επανάληψη του βρόγχου for-loop. 5. Ταυτόχρονα, εισάγουµε τη µέγιστη τιµή που έχουµε εντοπίσει από το αρχικό διάνυσµα array 1 σε µία συνάρτηση «Build array», στην οποία επίσης έχουµε καλωδιώσει την αρχική τιµή της δεύτερης shift register, δηλαδή το µονοδιάστατο κενό array, µε το οποίο την έχουµε αρχικοποιήσει. Έτσι, η έξοδος από τη δεύτερη shift register κατά την πρώτη εκτέλεση του βρόγχου θα είναι ένα µονοδιάστατο διάνυσµα µε µόνη τιµή τη µέγιστη τιµή από το αρχικό διάνυσµα array 1. 6. Κατά τη δεύτερη εκτέλεση του βρόγχου η ανωτέρω διαδικασία θα επαναληφθεί µε µόνες διαφορές τις τιµές τις οποίες φέρουν τα δύο δεξιά βελάκια των δοµών shift register. Η πρώτη shift register περιέχει πλέον το αρχικό array 1 χωρίς όµως τη µέγιστη τιµή του. Έτσι η επανάληψης της διαδικασίας θα οδηγήσει στον εντοπισµό της επόµενης µέγιστης τιµή του νέου array και στην αφαίρεσή της από αυτό. Η δεύτερη shift register περιέχει ήδη ένα µονοδιάστατο array µε µόνη τιµή τη µέγιστη τιµή από το αρχικό διάνυσµα array 1. Η επανάληψη της διαδικασίας θα έχει ως αποτέλεσµα την προσθήκη σε αυτό το array της δεύτερης µέγιστης τιµής του αρχικού διανύσµατος. 7. Η ανωτέρω διαδικασία επαναλαµβάνεται τόσες φορές, όσο είναι το πλήθος των στοιχείων του αρχικού διανύσµατος array 1. Το αποτέλεσµα θα είναι ένα νέο διάνυσµα, το array 2, που θα το πάρουµε από την έξοδο της δεύτερης shift register, στο οποίο θα περιέχονται οι τιµές του αρχικού διανύσµατος array 1 ταξινοµηµένες σε φθίνουσα σειρά. 8. Αν θέλαµα να πάρουµε τις τιµές του διανύσµατος array 1 σε αύξουσα σειρά, τότε θα έπρεπε στη συνάρτηση «Max & Min» να πάρουµε τις εξόδους που δίνουν την ελάχιστη τιµή του διανύσµατος και τη θέση της µέσα στο array.