ΚΕΦΑΛΑΙΟ 2 ΠΙΝΑΚΕΣ ¾º½ Μονοδιάστατοιπίνακες Οιπίνακεςείναιδομέςδεδομένωνπουδιαθέτουνέναπλήθοςαπόστοιχείατουίδιου τύπουº Γιαπαράδειγμαηβαθμολογίασεέναμάθημααποθηκεύτεταισεπίνακαº Κάθεστοιχείοτουπίνακααντιπροσωπεύειτηνβαθμολογίαενόςσπουδαστήστο μάθημααυτόºάλλοχαρακτηριστικόπαράδειγμαχρήσηςπίνακαείναιημισθοδοσία μιαςομάδαςυπαλλήλωνºοιπίνακεςδιαθέτουνσυγκεκριμένοαριθμόστοιχείωνμε τοπρώτοστοιχείοναβρίσκεταιστηνθέση ¼º Ηδήλωσημονοδιάστατουπίνακα γίνεταιμετοακόλουθοσχήμα ØÝÔ ÒÑ Þ όπου ØÝÔείναικάποιοςτύποςδεδομένωνπουυποστηρίζειηγλώσσα πχº ÓÙµ ÒÑείναιτοόνοματουπίνακακαι Þείναιτοπλήθοςτωνστοιχείωντουπίνακαº Αυτότοπλήθοςστοιχείωνφυσικάδενμπορείναείναιαρνητικόº Στοναλγόριθμο ¾º½έχουμεχρήσηπίνακαγιατηνανάθεσηκαιεμφάνισητης βαθμολογίας σπουδαστώνº Οπωςβλέπουμεκάθεστοιχείοτουπίνακαθεωρείται μιαανεξάρτητημεταβλητήαπότοπρόγραμμαº Ηπροσπέλασησταστοιχείατου πίνακαγίνεταιμετηνχρήσητωναγκυλώνº Φυσικάείναιεφικτόνααλλάξουν απευθείαςταστοιχείαενόςπίνακαχωρίςανάγνωσηόπωςστοναλγόριθμο ¾º¾ όπου αλλάζειτοδεύτεροκαιτοτρίτοστοιχείοτουπίνακα ÖºΩστόσοηανάγνωση πίνακακαιηανάθεσησεστοιχείαδενείναιομόνοςτρόποςναμπουντιμέςσεέναν πίνακαº Στηνγλώσσα μπορούμενααναθέσουμετιμέςσεστοιχείαενόςπίνακα καικατάτηνδήλωσητου όπωςφαίνεταιστοναλγόριθμο ¾º º Σταπαραδείγματααυτάμέχριστιγμήςγίνεταιεισαγωγήτηςβαθμολογίαςαπευθείαςστονπίνακαχωρίςναγίνεταικάποιοςέλεγχοςγιατηνεγκυρότητατωντιμών οιβαθμοίπρέπειναείναιμεταξύ ¼και µº Αυτόγίνεταιστοναλγόριθμο ¾º όπουμετηνβοήθειατηςβοηθητικήςσυνάρτησης ÖÖ µγεμίζειοπίνακας με έγκυρες τιμέςº ¾¼
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ Αλγόριθμος2.1Είσοδοςκαιεμφάνισηςτηςβαθμολογίας σπουδαστώνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ö ÒØ»» Ò Ò Ó ØÑÓÒ ÓÖ ¼ µ ÓÙØÓ Ø ØÓÒ ØÑÓ Ò ÒÖ ½»» Ñ Ò ØÑÓÒ ÓÖ ¼ µ ÖØÙÖÒ ¼ ¾¼ ÓÙØÓÚØÑÓ Ø Ò Ø Ò Ö Ò ¾º¾ Αλγόριθμοι ¾º¾º½ Πίνακεςσεσυνάρτηση Τοεπόμενοθέμαπουθαεξετάσουμεείναιηχρήσηπινάκωνσανορίσματασε συναρτήσειςº Οαπλούστεροςτρόποςγιαναπραγματοποιηθείαυτόείναιμετην χρήσηδύοξεχωριστώνορισμάτωνσεπίνακα έναόρισμαγιατονπίνακακαιένα όρισμαγιατοπλήθοςτωνστοιχείωντουπίνακαºγιαπαράδειγμαηδήλωση ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ χρησιμοποιείταιγιαναδηλώσουμεμιασυνάρτησηπουλαμβάνειένανπίνακαακεραίωνσανπρώτοόρισμακαιένανακέραιοσανδεύτεροόρισμαº Συνήθωςτο δεύτεροόρισμαχρησιμοποιείταιγιανααναπαραστήσειτηνδιάστασητουπίνακαº Επιπλέονμιασυνάρτησηπουδέχεταισανόρισμαένανπίνακαμπορείνααλλάξει ταστοιχείατουπίνακακαιαυτέςοιαλλαγέςναγίνουνορατέςκαιστηνκαλούσα συνάρτησηºστοπαράδειγματουαλγορίθμου ¾ºησυνάρτηση ÖÖÖÝδιαβάζει απότοπληκτρολόγιοταστοιχείαενόςπίνακακαιησυνάρτηση ÔÖÒØÖÖÝεμφανίζειαυτάταστοιχείαστηνοθόνηºΣτοναλγόριθμοαυτόχρησιμοποιούμεσαν παράδειγμαέναπίνακα στοιχείωνκαιχρησιμοποιούμετο σανδεύτεροόρισμα στιςσυναρτήσεις ÖÖÖÝκαι ÔÖÒØÖÖݺΩστόσοανχρειάζεταιτοπρόγραμμα να γίνει πιο γενικό και να μην χρειάζονται μεγάλες αλλαγές για διαφορετικούς πίνακεςμπορείναχρησιμοποιηθείηεντολή ÒºΗχρήσητηςεντολής Ò
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ ¾¾ Αλγόριθμος2.2Απευθείαςανάθεσησεστοιχείαενόςπίνακαβαθμολογίαςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ö ÒØ»» Ò Ò Ó ØÑÓÒ ÓÖ ¼ µ ÓÙØÓ Ø ØÓÒ ØÑÓ Ò ÒÖ ½ Ö ½ Ö ¾»» Ñ Ò ØÑÓÒ ÓÖ ¼ µ ¾¼ ÖØÙÖÒ ¼ ¾¾ ÓÙØÓÚØÑÓ Ø Ò Ø Ò Ö Ò Αλγόριθμος2.3Ανάθεσητιμώνσεπίνακακατάτηνδήλωσηº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ö ½ ¼ ÒØ ÓÖ ¼ µ ÓÙØÓÚØÑÓ Ø Ò Ø Ò Ö Ò ÖØÙÖÒ ¼ ½
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ ¾ Αλγόριθμος2.4Ανάγνωσηβαθμολογίαςσπουδαστώνμεέλεγχοορίωνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÓÙ ÖÖ µ ÓÙ Ü Ó ÓÙØÓ Ø ÚØÑÓ ÒÜ Û Ü¼ Ü µ ÖØÙÖÒ Ü ½ ÒØ ÑÒ µ ÓÙ Ö ÒØ»» Ò Ò Ó ØÑÓÒ ÓÖ ¼ µ ¾¼ ÓÙØÓ Ø ØÓÒ ØÑÓ Ò ¾¾ Ö ÖÖ µ ¾»» Ñ Ò ØÑÓÒ ÓÖ ¼ µ ÓÙØÓÚØÑÓ Ø Ò Ø Ò Ö Ò ¼ ÖØÙÖÒ ¼ ½
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.5Εισαγωγήκαιεμφάνισηπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØ ÒØÖ ÑÒØ Ó Ö Ò ÒÜ ½ ÚÓ ÔÖÒØÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØ ÑÒØ Ø Ü Ò ¾¼ ¾¾ ¾ ÒØ ÑÒ µ ÒØ Ü ÖÖÖÝ Ü µ ÔÖÒØÖÖÝ Ü µ ÖØÙÖÒ ¼ παρουσιάζεταιστοναλγόριθμο ¾ºº Ηεντολή Òανήκειστονπροεπεξεργαστήτηςγλώσσαςκαιοσκοπόςτηςείναινααντικαταστήσεικάθεεμφάνιση τηςλέξηςπουείναιμετάτο Òμεμίαάλληέκφρασηº Στηνσυγκεκριμένη περίπτωσηαντικαθιστάτο ÊÊËÁμετοναριθμό º Στηνσυνέχειαμεχρήσησυναρτήσεωνπαρουσιάζονταιμιασειράαπόβασικούς αλγόριθμουςστονχώροτωνπινάκωνº ¾º¾º¾ Αναζήτηση ΕναςαπότουςπιοσημαντικούςαλγόριθμουςγιαπίνακεςείναιηαναζήτησηστοιχείωνºΓιαπαράδειγμαέστωοπίνακας x = [10,20,7,9,16,3]
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.6Είσοδος»έξοδοςπίνακακαιχρήσητηςεντολής Òº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØ ÒØÖ ÑÒØ Ó Ö Ò ÒÜ ½ ÚÓ ÔÖÒØÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ¾¼ ÓÙØ ÑÒØ Ø Ü Ò ¾¾ ¾ ÒØ ÑÒ µ ÒØ Ü ÊÊËÁ ÖÖÖÝ Ü ÊÊËÁµ ÔÖÒØÖÖÝ Ü ÊÊËÁµ ÖØÙÖÒ ¼ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ καιζητείταιηεύρεσητηςθέσηςτουαριθμού ºΓιαναγίνειηαναζήτησησυγκρίνουμεκάθεστοιχείομετο μέχριναβρεθείºστονσυγκεκριμένοπίνακατο είναι στηνθέση ¾ºΜετάτηνεύρεσήτουοαλγόριθμος ¾ºδιακόπτεταιº Μιαάλληενδιαφέρουσασυνάρτησηείναιηκαταμέτρησηστοιχείωνπουικανοποιούν κάποιοκριτήριοσεένανπίνακαº Γιαπαράδειγμαναμπορέσουνναβρεθούντα θετικάστοιχείασεένανπίνακα όπωςπαρουσιάζεταιστοναλγόριθμο ¾ºº ¾º¾º Μέγιστο ¹ελάχιστο Ηεύρεσημεγίστου ήκαιελαχίστουµσεένανπίνακαείναιεπίσηςμιασημαντικήδιαδικασίαστουςπίνακεςºγιαναπραγματοποιηθείηαναζήτησητουμεγαλύτερουσε ένανπίνακαξεκινούμεθεωρώνταςπωςτομεγαλύτεροείναιτοπρώτοστοιχείοτου πίνακακαιστηνσυνέχειαεξετάζουμεαναυτόςοισχυρισμόςευσταθείσυγκρίνοντας τοτρέχονμεγαλύτερομεκάθεστοιχείοτουπίνακαºανκάπουβρεθείμεγαλύτερο στοιχείο αναπροσαρμόζεται αυτός ο ισχυρισμόςº Πρακτικά αυτή η διαδικασία παρουσιάζεταιστοναλγόριθμο ¾ºº Ανθέλουμεησυνάρτηση ÑÜÑÒØνα επιστρέψειτοελάχιστοστοιχείοθαχρησιμοποιηθείοτελεστής αντίγια º Εναςάλλοςαλγόριθμοςπουσυσχετίζεταιμετηνεύρεσημεγίστουείναιαυτόςτης εύρεσηςτηςθέσηςτουμεγίστουσεένανπίνακαºγιαναγίνειαυτόπαράλληλαμετο μέγιστοσεκάθεεπανάληψηαναπροσαρμόζεταικαιηθέσητου όπωςπαρουσιάζεται στοναλγόριθμο ¾ºº ¾º¾º Μέσοςόρος Ηεύρεσημέσουόρουσεέναπίνακαχρησιμοποιείταισεπολλέςπεριπτώσειςόπως σεβαθμολογίαενόςμαθήματοςº Γιατηνεύρεσητουμέσουόρουαθροίζονται όλαταστοιχείαενόςπίνακακαιγίνεταιδιαίρεσημετοπλήθοςτουςº Πρέπεινα επισημανθείπωςομέσοςόροςείναιπάνταδεκαδικόςαριθμόςº Στοναλγόριθμο ¾ºπαρουσιάζεταιηεύρεσητουμέσουόρουτηςβαθμολογίας μαθητώνσεένα μάθημαº ¾º¾º Ταξινόμηση Μετηνταξινόμησηεπιτυγχάνεταιημετατροπήενόςπίνακααπόαριθμούςχωρίς κάποιαδομήσεσειράαριθμώνπουέχουνκάποιαδιάταξη όπωςγιαπαράδειγμανα βρίσκονταισεαύξουσασειράºοαπλούστεροςτρόποςγιαναγίνειαυτόείναιμε τοναλγόριθμο Ù ÓÖØπουπαρουσιάζεταιστοναλγόριθμο ¾ºº ¾º Αλφαριθμητικά Τααλφαριθμητικάείναιιδιαίτερηπερίπτωσημονοδιάστατουπίνακακαθώςαποτελούνταιαπόγράμματακαιοσκοπόςτουςείναινααναπαραστήσουνλέξειςκαιφράσειςº Γιαπαράδειγμαστηνεντολή ÓÙØÀÓ ÛÓÖ
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος 2.7Συνάρτησηκαιπρόγραμμαγιατηναναζήτησητηςπρώτης εμφάνισηςστοιχείουσεπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» ÙØ Ý Ò Ö Ø Ô Ø Ö Ø Ò Ô Ö Ó Ø Ø Ø Ø Ñ Ú Ù Ø Ó Ò Ô Ò Ü º Ò Ò Ý Ô Ö Ü Ô Ø Ö ½» ÒØ Ö ÒØ Ü ÒØ Þ ÒØ ÚÙ µ ÒØ ÓÖ ¼ Þ µ ½ Ü ÚÙ µ ÖØÙÖÒ» Ò Ø Ó Ô Ò Ô Ø Ó Ø Ò Ý Ô Ö Ü Ø Ó Ø Ó Ü Ó Ø Ó Ò Ô Ò» ÖØÙÖÒ ¾¼ ¾¾ ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ¾ ÒØ ¼ ½ ¾ ÒØ ÑÒ µ ÒØ ÖÖÝ ÊÊËÁ ÒØ ÚÙ ÒØ ÔÓ ÖÖÖÝ ÖÖÝ ÊÊËÁµ ÓÙØ Ó Ø ØÑ ÒÚÙ ¼ ½ ¾ ÖØÙÖÒ ¼ ÓÖ ¼ Þ µ ÓÙØÓ Ø Ø Ó Ü Ó Ò ÒÜ ÔÓ Ö ÖÖÝ ÊÊËÁ ÚÙ µ ÓÙØ ÖØ Ø Ò Ø ÔÓ Ò
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.8Καταμέτρησηθετικώνστοιχείωνσεπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» Ë Ý Ò Ö Ø Ò Ò Ó ÔÓ Ô Ò» ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØÓ Ø Ø Ó Ü Ó Ò ÒÜ ½» Ë Ý Ò Ö Ø Ý Ö Ø Ø Ó Ò Ø Ó Ü Ó Ò» ÒØ Ó Ù Ò Ø È Ó Ø Ú ÒØ Ü ÒØ Þ µ ÒØ ÓÙÒØ ¼ ¾¼ ÒØ ÓÖ ¼ Þ µ ¾¾ Ü ¼µ ÓÙÒØ ¾ ÖØÙÖÒ ÓÙÒØ ÒØ ÑÒ µ ÒØ ÖÖÝ ÊÊËÁ ÒØ Ø Ó Ø ¼ ÖÖÖÝ ÖÖÝ ÊÊËÁµ ½ Ø Ó Ø Ó Ù Ò Ø È Ó Ø Ú ÖÖÝ ÊÊËÁµ ¾ ÓÙØ Ë Ý Ò Ó Ó Ø Ø Ó ÖØÑÓ Ø Ó Ø Ò ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.9Εύρεσημεγίστουσεπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» Ë Ý Ò Ö Ø Ò Ò Ó ÔÓ Ô Ò» ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØÓ Ø Ø Ó Ü Ó Ò ÒÜ ½» Ë Ý Ò Ö Ø Ý Ö Ñ Ø Ó Ù» ÒØ ÑÜÑÒØ ÒØ Ü ÒØ Þ µ ÒØ ÑÜÜ ¼ ¾¼ ÒØ ÓÖ Þ µ ¾¾ ¾ Ü Ñܵ ÑÜÜ ÖØÙÖÒ ÑÜ ÒØ ÑÒ µ ¼ ÒØ ÖÖÝ ÊÊËÁ ½ ÒØ ÑÜÚÙ ¾ ÖÖÖÝ ÖÖÝ ÊÊËÁµ ÑÜÚÙÑÜÑÒØ ÖÖÝ ÊÊËÁµ ÓÙØ Å ØÓ Ø Ó Ü Ó ØÓÒ ÔÒ Ò ÑÜÚÙÒ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ ¼ Αλγόριθμος2.10Εύρεσηθέσηςμεγίστουσεπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» Ë Ý Ò Ö Ø Ò Ò Ó ÔÓ Ô Ò» ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØÓ Ø Ø Ó Ü Ó Ò ÒÜ ½» Ë Ý Ò Ö Ø Ý Ö Ø Ñ Ø Ó Ù» ÒØ ÑÜÈÓ ØÓÒ ÒØ Ü ÒØ Þ µ ÒØ ÑÜÜ ¼ ¾¼ ÒØ ÑÜÔÓ ¼ ÒØ ¾¾ ÓÖ Þ µ ¾ Ü Ñܵ ÑÜÜ ÑÜÔÓ ¼ ÖØÙÖÒ ÑÜÔÓ ½ ¾ ÒØ ÑÒ µ ÒØ ÖÖÝ ÊÊËÁ ÒØ ÔÓ ÚÙ ÖÖÖÝ ÖÖÝ ÊÊËÁµ ÔÓ ÑÜÈÓ ØÓÒ ÖÖÝ ÊÊËÁµ ÚÙÖÖÝ ÔÓ ¼ ÓÙØÌÓ Ñ ØÓ Ò Ø Ò Ø ÔÓ Ü ØÑ ½ ÚÙÒ ¾ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ ½ Αλγόριθμος2.11Εύρεσημέσουόρουσεπίνακαβαθμολογίαςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» Ë Ý Ò Ö Ø Ò Ò Ó ÔÓ Ô Ò» ÚÓ ÖÖÖÝ ÓÙ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØÓ Ø ÚØÑÓÒ ÒÜ ½ ÓÙ ÚÖÖÝ ÓÙ Ü ÒØ Þ µ ÓÙ ÙѼº¼ ÒØ ¾¼ ÓÖ ¼ Þ µ ÙÑ ÙÑ Ü ÖØÙÖÒ ÙÑ» Þ ¾¾ ¾ ÒØ ÑÒ µ ÓÙ Ö ÊÊËÁ ÓÙ ÚÖ ÖÖÖÝ Ö ÊÊËÁµ ÚÖÚÖÖÝ Ö ÊÊËÁµ ¼ ÓÙØÇÑ Ó ÓÖÓ Ò ÚÖÒ ½ ÖØÙÖÒ ¼ ¾
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ ¾ Αλγόριθμος2.12Ταξινόμησηπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÊËÁ» Ë Ý Ò Ö Ø Ò Ò Ó ÔÓ Ô Ò» ÚÓ ÖÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ÓÖ ¼ Þ µ ÓÙØÓ Ø Ø Ó Ü Ó Ò ÒÜ ½» Ë Ý Ò Ö Ø Ñ Ò Ô Ò» ÚÓ ÔÖÒØÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ ¾¼ ÓÖ ¼ Þ µ ÓÙØÜ Ò ¾¾ ¾» Ë Ò Ö Ø Ø Ü Ò Ó Ñ Ô Ò» ÚÓ ÓÖØÖÖÝ ÒØ Ü ÒØ Þ µ ÒØ Ø ÓÖ ¼ Þ µ ¼ ÓÖ ¼ Þ µ ½ ¾ Ü ½ Ü µ ØÜ Ü Ü ½ Ü ½ Ø ¼ ½ ¾ ÒØ ÑÒ µ ÒØ ÖÖÝ ÊÊËÁ ÖÖÖÝ ÖÖÝ ÊÊËÁµ ÓÖØÖÖÝ ÖÖÝ ÊÊËÁµ ÔÖÒØÖÖÝ ÖÖÝ ÊÊËÁµ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ 2. ΠΙΝΑΚΕΣ Αλγόριθμος2.13Παράδειγμαεμφάνισηςγραμμάτωνκαι ËÁÁκωδικώνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ Ö Ø Ø Ö ÒØ Ó Ö Ò Ü Ø Ä Ø Ø Ö ÒØ ÒÜØÓ Ø Ø Ö³ ³ Ó Ø Ø Ö Ò Ü Ø Ä Ø Ø Ö Ø Ø Ö ÒÜØÓÒ Ü Ø Ä Ø Ø Ö ½ ÓÙØÌÓ ÔÖÓØÓ ÖÑÑ Ø Ø Ö Ò ÓÙØÇ ÔÖÓØÓ ÓÓ ÓÒ ÓÙØÌÓ ÝØÖÓ ÖÑÑÒÜØÄØØÖÒ ÓÙØÇÔÓÑÒÓ ÓÓ ÒÜØÓÒ ÖØÙÖÒ ¼ ηέκφραση ÀÓ ÛÓÖείναιένααλφαριθμητικόº Τααλφαριθμητικάβρίσκονται πάνταμέσασεδιπλάεισαγωγικάκαιαυτόταδιαχωρίζειαπότουςαπλούςχαρακτήρεςπουείναιέναγράμμαμόνονκαιβρίσκονταιμέσασεμονάεισαγωγικάº ¾º º½ Μεταβλητές χαρακτήρα Οιμεταβλητέςχαρακτήραχρησιμοποιούνταιγιαναδηλώσουνέναγράμμαόπως είναιπχτοα το κτλº Οιμεταβλητέςαυτέςδηλώνονταισαν Öαλλάγια τηνγλώσσα μπορούνναχρησιμοποιηθούνκαισανακέραιοιόπωςφαίνεταιστο παράδειγμα ¾º½ º Από το παράδειγμα αυτό είναι φανερό πως οι μεταβλητές τύπου Öμπορούνναχρησιμοποιηθούνκαισανακέραιοιαριθμοίμεπροσθέσεις αναθέσειςκτλº Επιπλέονοικωδικοί και πουεμφανίζοναιγιαταγράμματαα καιβείναιοιαντίστοιχοικωδικοίαυτώντωνγραμμάτωνστονπίνακα ËÁÁº ¾º º¾ Γράμματααπόμικράσεκεφαλαία Στονπίνακα ËÁÁτακεφαλαίαγράμματαβρίσκονταιπριναπόταμικράστιςθέσεις ºººΤαμικράγράμματαβρίσκονταιμετάτηνθέση º Επιπλέονταγράμματα είναισυνεχόμενα πουσημαίνειπωςγιαπαράδειγματοββρίσκεταιμετάτογράμμα ΑºΣτοναλγόριθμο ¾ºεκμεταλλευόμαστεαυτήντηνκατάστασηκαιγίνεταιμετατροπήκάθεμικρούγράμματοςστοαντίστοιχοκεφαλαίοºΗανάγνωσητωνγραμμάτωνγίνεταιεπαναληπτικάκαισταματάμετηνείσοδοτουειδικούγράμματος º
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος 2.14Πρόγραμμαμετατατροπήςτωνμικρώνγραμμάτωνσεκεφαλαίαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ Ö Ø Ø Ö Ö ÙÔÔÖ Ó ÓÙØÓ Ø ÖÑÑ ØÖÑØ ÑÓ Ò Ò Ø Ø Ö Ø Ø Ö ³ ³ ²² Ø Ø Ö ³ Þ ³ µ ½ ÙÔÔÖ Ø Ø Ö ³ ³ ³ ³ µ»» ¾ ÓÙØ Ã Ó ÖÑÑÙÔÔÖ Ò ÓÙØ Ó ÖÑÑ Ø Ø Ö Ò Û Ø Ø Ö ³³ µ ÖØÙÖÒ ¼ ¾¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.15Εισαγωγήγραμμάτωνσεαλφαριθμητικόμεδιαδοχικέςαναθέσειςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ Ö ½ ¼ ¼ ¼ ³ ³ ½ ³Ê ³ ¾ ³Ì ³ ³ ³ ³ ¼ ³ ÓÙØ Ò ½ ÖØÙÖÒ ¼ ¾º º Πίνακες χαρακτήρων Βάζονταςπολλάγράμματαμαζίσεένανπίνακαδημιουργείταιένααλφαριθμητικό γιατηναναπαράστασηλέξεωνκαιπροτάσεωνºωστόσοοπρογραμματιστήςπρέπει ναξέρειπουβρίσκεταιτοτέλοςενόςαλφαριθμητικούμέσασεένανπίνακαºαυτό γίνεταιμετηνχρήσητουειδικούχαρακτήρα ³¼³γιατονκαθορισμότουτέλουςº Προσοχήπρέπειναδοθείστογεγονόςπωςαυτόςοχαρακτήρας ÆÍÄĵδενείναι το ³¼³αλλάτογράμμαπουβρίσκεταιστηνθέση ¼τουπίνακα ËÁÁ τοοποίο είναιμηεκτυπώσιμοº Τοπρόγραμμαστον αλγόριθμο ¾ºγεμίζειτονπίνακα γραμμάτωνχκαιτονεμφανίζειστηνοθόνηº Φυσικάαυτόςοτρόποςδενείναι ιδιαίτεραβολικός αφούπρέπειοχρήστηςναεισάγειέναπροςέναταγράμματα τουαλφαριθμητικούαλλάκαιτονχαρακτήρατερματισμόºτοπιοαπλόπουμπορεί νακάνεικανείςεναλλακτικάείναιναεισάγειτοαλφαριθμητικόμετηνχρήσητου Ò όπωςπαρουσιάζεταιστοναλγόριθμο ¾ººΩστόσοηÒέχειτοπρόβλημαπως μπορείναδιαβάσειμόνοναλφαριθμητικάμιαςλέξήςκαιόχιπροτάσειςº Σεαυτήν τηνπερίπτωσημπορείναχρησιμοποιηθείησυνάρτηση Ø µαπότηνβιβλιοθήκη ØÓºπουπαρουσιάζεταιστοναλγόριθμο ¾ºº ¾º º Συναρτήσειςαλφαριθμητικών Στην συνέχεια παρουσιάζονται δύο χρήσιμες συναρτήσεις αλφαριθμητικών για αντιγραφήαλφαριθμητικώνκαιεύρεσημήκουςαντίστοιχαº Γιατηνχρήσηαυτών τωνσυναρτήσεωναπαιτείταιησυμπερίληψητηςβιβλιοθήκης ØÖÒº
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.16Εισαγωγήαλφαριθμητικούμεχρήσητου Òº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ Ö ½ ¼ ¼ ÓÙØ Ó Ø ØÓ Ò ÓÙØ Ò ÖØÙÖÒ ¼ Αλγόριθμος2.17Ανάγνωσηαλφαριθμητικούμεχρήσητης Ø º ½ ÒÙ Ø Ó º ¾ ÒÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ Ö ½ ¼ ¼ ÓÙØ Ó Ø ØÓ Ò Ø µ ÓÙØ Ò ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ ¾º ºº½ Àσυνάρτηση ØÖÔÝ Ησυνάρτηση ØÖÔÝχρησιμοποιείταιγιατηναντιγραφήενόςαλφαριθμητικούσε έναάλλοº Δενμπορείναχρησιμοποιηθείαπευθείαςανάθεση καθώςτααλφαριθμητικάείναιπίνακεςκαισανπίνακεςδενμπορούμενατουςαναθέσουμεποτέ απευθείαςμιατιμήºστοπαράδειγμα ¾ºπαρουσιάζεταιηχρήσητηςσυνάρτησης ØÖÔÝκαιπαρουσιάζεταιεπίσηςκαιμιαδιαφορετικήυλοποίησήτηςμετοόνομα ØÖÓÔݺ Ησυνάρτηση ØÖÓÔÝεπιστρέφεικαιτοπλήθοςτωνγραμμάτωνπου αντιγράφηκανº ¾º ºº¾ Ησυνάρτηση ØÖÒ Ηεπόμενησυνάρτησηπουχρησιμοποιείταιτακτικάστονπρογραμματισμόμεαλφαριθμητικάείναιη ØÖÒ πουεπιστρέφειτοπλήθοςτωνγραμμάτωνενόςαλφαριθμητικούºστοπαράδειγμα ¾ºπαρουσιάζεταιηενσωματωμένησυνάρτηση ØÖÒ καθώςκαιμιαεναλλακτικήυλοποίησήτηςº ¾º Διδιάστατοιπίνακες Ηγενικήδήλωσηδιδιάστατωνπινάκωνστην είναι ØÝÔ ÒÑ ÖÓÛ ÓÙÑÒ όπου ØÝÔείναιοτύποςτουπίνακα πχº ÓÙµ ÒÑείναιτοόνομάτου ÖÓÛ είναιτοπλήθοςτωνγραμμώνκαι ÓÙÑÒ είναιτοπλήθοςτωνστηλώνºεσωτερικά στηνγλώσσαοιδιδιάστατοιπίνακεςείναιπίνακεςπινάκωνκαιόχιαναπαραστάσεις σεδιδιάστατημορφήº ¾ºº½ Είσοδοςτιμών Μιαςκαιοιδιδιάστατοιπίνακεςδιαθέτουναριθμόγραμμώνκαιστηλώνείναιαπαραίτητο ναχρησιμοποιηθείδιπλήεεπανάληψηγιατηνπροσπέλασητουςº Τοπαράδειγμα τουαλγορίθμου ¾º¾¼παρουσιάζειτηνανάγνωσηκαιεμφάνισηενόςπίνακαακεραίωναριθμώνºΠαρόμοιαμπορούμεναχρησιμοποιήσουμεδιδιάστατουςπίνακεςγια ναεμφανίσουμετονπίνακαπροπαίδειας όπωςπαρουσιάζεταιστοναλγόριθμο ¾ºº ¾ºº¾ Πρόσθεσηπινάκων Εναςακόμαχρήσιμοςαλγόριθμοςστουςπίνακεςδύοδιαστάσεωνείναιηπρόσθεση πινάκωνστοιχείοπροςστοιχείοºφυσικάόπωςγνωρίζουμεγιαναπροστεθούνδύο πίνακεςδύοδιαστάσεωνθαπρέπειοιγραμμέςκαιοιστήλεςναείναιίδιεςº Στο παράδειμα ¾º¾¾παρουσιάζεταιηπρόσθεσηδύοίδιωνπινάκωνº ¾ºº Μεγαλύτεροστοιχείοανάγραμμή Αςυποθέσουμεπωςαποθηκεύουμεσεένανδιδιάστατοπίνακατιςεπιδόσεις μαθητώνσε μαθήματαº Στηνσυνέχειαζητείταιναβρούμετονσπουδαστήπου
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.18Παρουσίασητηςσυνάρτησης ØÖÔݺ ½ ÒÙ Ø Ö Ò º ¾ ÒÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø» Ë Ý Ò Ö Ø Ò Ø Ö Ø Ó Ù Ø Ó» ÒØ ØÖÓÔÝ Ö Ö µ ÒØ ÒØ ¼ ÓÖ ¼ ³ ¼ ³ µ ½ ³ ¼ ³»» Ô Ø Ö Ó Ø Ó Ù Ô Ø Ó Ù ØÓÒ ÖÑÑØÓÒ ÖØÙÖÒ ¾¼ ÒØ ÑÒ µ ¾¾ Ö Ü½ ½ ¼ ¼ ܾ ½ ¼ ¼ ¾ ÒØ ÒØ ÓÙØ Ó Ø Ñ Ü Ò Òܽ Ø Ö Ô Ý Ü¾ ܽ µ ÓÙØÌÓÜ Ò ÜÒ ÓÙØÌÓÜ Ò ÜÒ Ø Ö Ô Ý Ü½ Ì Ø Ø µ ¼ ÒØ ØÖÓÔÝ Ü¾ ܽ µ ½ ÓÙØÌÓÜ Ò ÜÒ ¾ ÓÙØÌÓÜ Ò ÜÒ ÓÙØ È Ø Ó ÖÑÑØÓÒÒØ Ò ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.19Ησυνάρτηση ØÖÒº ½ ÒÙ Ø Ö Ò º ¾ ÒÙ Ø Ó º ÒÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø ÒØ ÑÝ ØÖÒ Ö Ü µ ÒØ ÓÙÒØ ¼ Û Ü ÓÙÒØ ³ ¼ ³ µ ÓÙÒØ ÖØÙÖÒ ÓÙÒØ ½ ÒØ ÑÒ µ Ö Ü ½ ¼ ¼ ÒØ Ò ÓÙØ Ó Ø Ñ Ö Ò Ø Ü µ Ò Ø Ö Ò Ü µ ¾¼ ÓÙØÌÓÑÓ Ò ÒÒ ÒÑÝ ØÖÒ Ü µ ¾¾ ÓÙØÌÓÑÓ Ò ÒÒ ¾ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ ¼ Αλγόριθμος2.20Ανάγνωσηκαιεμφάνισηδιδιάστατουπίνακαº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÇÏË Ò ÇÄË ¾ ÒØ ÑÒ µ ÒØ ÊÇÏË ÇÄË ÒØ ÓÖ ¼ ÊÇÏË µ ÓÖ ¼ ÇÄË µ ½ ÓÙØ Ó Ø ØÓ Ø Ó Ü Ó Ò Ò ÓÙØ ÑÒ ÔÒ Ò ÓÖ ¼ ÊÇÏË µ ¾¼ ÓÖ ¼ ÇÄË µ ¾¾ ¾ ÓÙØ ÓÙØÒ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ ½ Αλγόριθμος 2.21 Πίνακας προπαίδειαςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÇÏË Ò ÇÄË ÒØ ÑÒ µ ÒØ ÊÇÏË ÇÄË ÒØ ÓÖ ¼ ÊÇÏË µ ÓÖ ¼ ÇÄË µ ½ ½µ ½µ ÓÙØ ÑÒ ÔÒ Ò ÓÖ ¼ ÊÇÏË µ ¾¼ ÓÖ ¼ ÇÄË µ ¾¾ ÓÙØ Ø ¾ ÓÙØÒ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ ¾ Αλγόριθμος2.22Παράδεγιμαπρόσθεσηςπινάκωνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ÊÇÏË Ò ÇÄË ¾ ÒØ ÑÒ µ ÒØ ÊÇÏË ÇÄË ÒØ ÊÇÏË ÇÄË ÒØ ÊÇÏË ÇÄË ÒØ ÓÖ ¼ ÊÇÏË µ ½ ÓÖ ¼ ÇÄË µ ÓÙØ Ó Ø ØÓ Ø Ó Ü Ó ØÓÒ Ò Ò ÓÙØ Ó Ø ØÓ Ø Ó Ü Ó ØÓÒ Ò Ò ¾¼ ¾¾ ÓÖ ¼ ÊÇÏË µ ¾ ÓÖ ¼ ÇÄË µ ÓÖ ¼ ÊÇÏË µ ÓÖ ¼ ÇÄË µ ¼ ÓÙØ Ø ½ ¾ ÓÙØÒ ÖØÙÖÒ ¼
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ έλαβετηνμεγαλύτερηβαθμολογίαανάμάθημαºαυτόπαρουσιάζεταστοναλγόριθμο ¾º¾ º
ΚΕΦΑΛΑΙΟ2. ΠΙΝΑΚΕΣ Αλγόριθμος2.23Μεγαλύτεροστοιχείοανάγραμμήº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø Ò ËÌÍÆÌË Ò ÄËËÇÆË ÓÙ ÖÖ µ ÓÙ Ü Ó ÓÙØÓ Ø ÚØÑÓ ÒÜ ½ Û Ü¼ Ü µ ÖØÙÖÒ Ü ÒØ ÑÒ µ ÓÙ Ö ËÌÍÆÌË ÄËËÇÆË ¾¼ ÒØ ÓÖ ¼ ËÌÍÆÌË µ ¾¾ ¾ ÓÖ ¼ ÄËËÇÆË µ ÓÙØ Ó Ø ØÑÓ Ø µ Ò Ö ÖÖ µ ¼ ÓÖ ¼ ÄËËÇÆË µ ½ ¾ ÒØ ÑÜÔÓ ¼ ÓÙ ÑÜÚÙÖ ÑÜÔÓ ÓÖ ¼ ËÌÍÆÌË µ Ö ÑÜÚÙ µ ÑÜÚÙÖ ÑÜÔÓ ¼ ½ ¾ ÓÙØ ËØÓ ÑØÑÌÓÒ ÑÝØÖÓ ÚØÑÓ Ü Ó Ñ Ø Ø ÑÜÔÓ Ñ ØÑ ÑÜÚÙÒ ÖØÙÖÒ ¼