ΟπτικόςΠρογραμματισμός ΙωάννηςΓºΤσούλος ¾¼½
ÔØÖ ½ ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Σεαυτήτηνενότηταθαεξεταστούνμερικέςαπότιςβασικέςδομέςπάνωστις οποίεςστηρίζεταιηβιβλιοθήκη É̺Οιδομέςαυτέςπεριλαμβάνουνδυναμικούς πίνακες αλφαριθμητικάκαθώςκαιχρήση  ÓÒ º ½º½ Διαθεσιμότητα Τολογισμικό ÉØείναιδιαθέσιμογιαχρήσητόσογιαεμπορικήόσοκαιγιαπροσωπικήχρήσηαπότονιστοχώρο ØØÔ»»ÕغÓαπότονοποίοοχρήστηςμπορεί να κατεβάσει ÓÒÐÒ εγκαταστάτηº Αν επιθυμούμενα κατεβάσουμε ÓÒ έκδοσητουλογισμικούμπορούμενατοκάνουμεαπότονσχετικόδικτυακότόπο ºØØÔ»»ÓÛÒÐÓºÕغӻÖÚ»ÕØ» ½º¾ Τοπρόγραμμα ÉØ ÖØÓÖ ½º¾º½ Εμφάνιση Τοβασικόπρόγραμμαμετοοποίοκανείςεργάζεταισε ÉØείναιοκειμενογράφος ÉØ ÖØÓÖπουσυμπεριλαμβάνεταιπάνταστηνδιανομήº Μετοάνοιγμάτου παρουσιάζεταιμιαεικόνασανκαιαυτήνστοσχήμα ½º½º Οχρήστηςμπορείνα επιλέξειναανοίξεικάποιοέργοαπότοπλήκτρο ÇÔÒ ÈÖÓØήναδημιουργήσει ένακαινούριοαπότηνεπιλογή ÆÛ ÈÖÓغΜετονόροέργοηÉØονομάζειτα αρχεία ÔÖÓØπουδημιουργείγιακάθεέργοºΑυτάτααρχείαείναιταμόνααρχεία που δημιουργούνται από την ÉØ και επειδή είναι απλά αρχεία κειμένου μπορούν να δημιουργηθούν με οποιονδήποτε κειμενογράφοº Ενα παράδειγμα έργου το οποίοδημιουργείέναπρόγραμματερματικούμετηνχρήσητωναρχείων ÖºÔÔκαι ÑÒºÔÔπαρουσιάζεταιστοναλγόριθμο ½º½º Στηνμεταβλητή ËÇÍÊËμπαίνουνταονόματατωναρχείωνμεπηγαίοκώδικαπουθαμεταγλωττιστείºΣτην ½
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ¾ ÙÖ ½º½Ηπρώτηεικόνααπότο ÉØ ÖØÓÖº μεταβλητή ÀÊË μπαίνουν τα αρχεία επικεφαλίδας Ö Ð µº Στην μεταβλητή ÉÌμπαίνουνοιβασικέςβιβλιοθήκεςτης ÕØπουαπαιτούνταιº Στην περίπτωσητουπαραδείγματοςαυτούκαθορίζεταιπωςδενθαχρησιμοποιηθούν καθόλουαρχείαγιαγραφικόπεριβάλλον ÉÌ ¹Ùµαλλάθαχρησιμοποιηθούν βιβλιοθήκεςκονσόλας ÉÌ ÓÖµΤοαρχείο ºÔÖÓείναιπάνταστονίδιοκατάλογομετααρχείατουκώδικακαιανοίγονταςαπότο ÉØ ÖØÓÖπαρουσιάζεταιμια οθόνησανκαιαυτήνστοσχήμα ½º¾º Στηναριστερήστήληβρίσκεταιηδομήτου έργουσεμορφήδένδρουκαιδεξιάείναιοβασικόςκειμενογράφοςº Γιαναεκτελεστείτοπρόγραμμαοχρήστηςμπορείναδώσει ÙйÊÙÒαπότομενού ÙÐ ήναπατήσειτοπράσινοδεξιόβέλοςστηναριστερήστήλητουκειμενογράφουº Τατυχόνσφάλματαστηνμεταγλώττισητουέργουθαεμφανιστούνστηνκαρτέλα ÓÑÔÐ ÇÙØÔÙغ ½º¾º¾ Δημιουργία νέου έργου Ταβήματαγιατηνδημιουργίαενόςνέουέργουείναισχετικάλίγα ½º Ð ¹ ÆÛ Ð ÓÖ ÈÖÓØ ¾ºΑπότονδιάλογοπουεμφανίζετειγίνεταιεπιλογή ÔÔÐØÓÒ ¹ ÉØ ÓÒ ÓÐ ÔÔÐØÓÒ ºΕπιλογήτουπλήκτρου ÓÓ
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½º½Παράδειγμααρχείουέργουσε Éغ ½ ÉÌ ÓÖ ¾ ÉÌ Ù ÇÆÁ ½½ ÌÊÌ ½¼ ÇÆÁ Ó Ò Ó Ð ÇÆÁ ÔÔÙÒÐ ½¼ ÌÅÈÄÌ ÔÔ ½½ ½¾ ËÇÍÊË ÑÒ º ÔÔ ½ Ö º ÔÔ ½ ½ ½ ÀÊË ½ Ö º ÙÖ ½º¾Άνοιγμαέργουαπότο ÉØ ÖØÓÖº
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½º¾Εύρεσημέσουόρουσεσειράαπόακέραιουςαριθμούςº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÎØÓÖ ÒÐÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÓÒ Ø ÒØ Æ½¼ ÒØ ÉÎØÓÖÒØ ÖÖÝ ½¼ ÓÖ ¼ Æ µ ½½ ß ½¾ ÒØ Ü ½ ÓÙØ Ò Ø Ö Ü ½ ÒÜ ½ ÖÖÝ º ÔÔÒ Ü µ ½ Ð ½ ÓÙÐ ÚÖ ¼º¼ ½ ÓÖ ¼ ÖÖÝ º Þ µ µ ½ ÚÖ ÖÖÝ ¾¼ ÚÖ»ÖÖÝ º Þ µ ¾½ ÓÙØÚÖ ÚÖÒÐ ¾¾ ÖØÙÖÒ ½ ¾ Ð ºΣτονεπόμενοδιάλογοδίνεταιτοόνοματουέργουστοπλαίσιο ÆÑκαιο φάκελοςπουθααποθηκευτείστοπλαίσιο ÖØ Ò ºΕπιλογή ÆÜØδύοφορές ½º Δυναμικοίπίνακες ÉÎØÓÖ Ηκατηγορία ÉÎØÓÖμπορείναχρησιμοποιηθείγιατηνδημιουργίαδυναμικών πινάκων για τους οποίους δεν χρειάζεται να γνωρίζουμε εκ των προτέρων το μέγεθοςºαυτοίοιδυναμικοίπίνακεςμπορούνναπεριλαμβάνουνσταπεδίατουςαπλούς τύπουςτης πχ ÒØ ÓÙеαλλάακόμακαιαντικείμεναº ½º º½ Πίνακες απλών τύπων Στοπαράδειγματουαλγορίθμου ½º¾ παρουσιάζεταιμιαχρήση της κατηγορίας αυτήςτηνεύρεσητουμέσουόρουαπόμιασειράακεραίωναριθμώνº Γιαναδημιουργηθείέναςπίνακαςακεραίωντιμώναπαιτείταιηδήλωση Éι ØÓÖÒØ ÖÖݺ Ηπροσθήκηστοιχείωνστονπίνακαγίνεταιμετηνχρήσητης
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½º Τοαρχείοδήλωσηςτηςκατηγορίας ÈÖ ÓÒº ½ Ò ÈÊËÇÆÀ ¾ Ò ÈÊËÇÆÀ ÒÐÙ ÉËØÖÒ Ð ÈÖ ÓÒ ÔÖÚØ ÉËØÖÒ ÒÑ Ð ØÒÑ ÔÙÐ ÈÖ ÓÒ µ ½¼ ÚÓ ØÒÑ ÉËØÖÒ µ ½½ ÚÓ ØÐ ØÒÑ ÉËØÖÒ µ ½¾ ÉËØÖÒ ØÒÑ µ ½ ÉËØÖÒ ØÐ ØÒÑ µ ½ ÚÓ Ô Ö Ò Ø µ ½ Ð ½ Ò»» ÈÊËÇÆÀ μεθόδου ÔÔÒ µº Ηπρόσβασησταστοιχείατουπίνακαγίνεταιμετοντελεστή όπωςκαιμεκάθεσυνηθισμένοπίνακατης º ½º º¾ Πίνακες από αντικείμενα Συνήθωςηκατηγορία ÉÎØÓÖχρησιμοποιείταιγιαπίνακεςαντικειμένωνκαιόχι γιαπίνακεςαπόαπλούςτύπουςº Εστωηκατηγορία ÈÖ ÓÒπουπεριγράφειανθρώπουςκαιηοποίαπαρουσιάζεταιστοναλγόριθμο ½º ºΤααντικείμενα ÉËØÖÒ χρησιμοποιούνταιγιατηναναπαράστασηαλφαριθμητικώνστην ÉÌκαιθαπαρουσιαστούναναλυτικάστηνενότητα ½ººΗυλοποίησητηςκατηγορίας ÈÖ ÓÒπαρουσιάζεταιστοναλγόριθμο ½ºº Ημέθοδος ÕÙ µχρησιμοποιείταιγιατηνεμφάνιση δεδομένωνστοτερματικόκαιμπορείναθεωρηθείτοανάλογοτουαντικειμένου ÓÙغΣτοναλγόριθμο ½ºπαρουσιάζεταιηχρήσητηςκατηγορίας ÈÖ ÓÒγιατην δημιουργίαενόςδυναμικούπίνακααπόαντικείμενα ÈÖ ÓÒº ½º º Πίνακες δυναμικών αντικειμένων Μιαακόμαχρησιμότητατωνδυναμικώνπινάκων ÉÎØÓÖείναιότιμπορούννα χρησιμοποιηθούνκαιγιαδυναμικάαντικείμεναº Εστωηαφηρημένηκατηγορία ËÔγιατηνπεριγραφήσχημάτωνμεδήλωσηόπωςπαρουσιάζεταιστοναλγόριθμο ½ºκαιυλοποίησηόπωςπαρουσιάζεταιστοναλγόριθμο ½ºº Απόαυτήντην κατηγορία παράγονται Ηκατηγορίαπεριγραφήςκύκλουμεδήλωσηόπωςπαρουσιάζεταιστοναλγόριθμο ½ºκαιυλοποίησηόπωςπαρουσιάζεταιστοναλγόριθμο ½ºº
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½ºΗυλοποίησητηςκατηγορίας ÈÖ ÓÒº ½ ÒÐÙ ÔÖ ÓÒ º ¾ ÒÐÙ ÉÙ ÈÖ ÓÒ ÈÖ ÓÒ µ ÒÑ Ð ØÒÑ Ð ÚÓ ÈÖ ÓÒ ØÒÑ ÉËØÖÒ µ ½¼ ß ½½ ÒÑ ½¾ Ð ½ ½ ÚÓ ÈÖ ÓÒ ØÐ ØÒÑ ÉËØÖÒ µ ½ ½ Ð ØÒÑ ½ Ð ½ ½ ÉËØÖÒ ÈÖ ÓÒ ØÒÑ µ ¾¼ ß ¾½ ÖØÙÖÒ ÒÑ ¾¾ Ð ¾ ¾ ÉËØÖÒ ÈÖ ÓÒ ØÐ ØÒÑ µ ¾ ¾ ÖØÙÖÒ Ð ØÒÑ ¾ Ð ¾ ¾ ÚÓ ÈÖ ÓÒ Ô Ö Ò Ø µ ¼ ß ½ ÕÙ µæñ ÒÑÄ ØÒÑ Ð ØÒÑ ¾ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½ºΧρήσητηςκατηγορίας ÈÖ ÓÒγιατηνδημιουργίαδυναμικού πίνακαº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÎØÓÖ ÒÐÙ ÔÖ ÓÒ º ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÉÎØÓÖÈÖ ÓÒ ÔÓÔÐ ÈÖ ÓÒ Ô½ Ô¾ ÒØ Ô½ º ØÒÑ ÒÒ µ ½¼ Ô½ º ØÐ ØÒÑ ÈÔÔ µ ½½ Ô¾ º ØÒÑ ÅÖ µ ½¾ Ô¾ º ØÐ ØÒÑ ÁÓÒÒÓÙ µ ½ ÔÓÔÐ º ÔÔÒ Ô½ µ ½ ÔÓÔÐ º ÔÔÒ Ô¾ µ ½ ÓÖ ¼ ÔÓÔÐ º Þ µ µ ½ ÔÓÔÐ º Ô Ö Ò Ø µ ½ ÖØÙÖÒ ¼ ½ Ð Ηκατηγορίαπεριγραφήςορθογωνίουμεδήλωσηόπωςπαρουσιάζεταιστον αλγόριθμο ½º½¼καιυλοποίησηόπωςπαρουσιάζεταιστοναλγόριθμο ½º½½º Μεβάσητιςπροηγούμενεςκατηγορίεςδημιουργείταιτοπρόγραμματουαλγορίθμου ½º½¾μεδυναμικάαντικείμενα ËÔταοποίααποθηκεύονταιστονδυναμικό πίνακα Ô º Σεαυτότοπρόγραμμαοχρήστηςερωτάταιναδώσειμιαεπιλογή από ½μέχρι ºΑνδώσει ½ τότεέναςνέοςκύκλοςεισάγεταιστηνλίστατωνσχημάτωνºανδώσει ¾ εισάγεταιένανέοορθογώνιο ανδώσει εμφανίζονταιόλατα σχήματαπουυπάρχουνστηνλίστακαιμε γίνεταιτερματισμόςτηςεφαρμογήςº ½º º Χρήσιμεςσυναρτήσεις Ηκατηγορία ÉÎØÓÖδιαθέτειμιαμεγάληγκάμααπόσυναρτήσειςκαιστηνσυνέχεια παρουσιάζονταιμερικέςαπόαυτές ½ºΟτελεστής º Αυτόςοτελεστήςχρησιμοποιείταιόπωςκαιημέθοδος ÔÔÒ µγιατηνεισαγωγήστοιχείωνστοτέλοςτουπίνακαº ¾º Þ µºησυνάρτησηαυτήεπιστρέφειτοπλήθοςτωνστοιχείωνπουυπάρχουν στονδυναμικόπίνακαº º Ò ÖØ ÒØ ÔÓ ÚÐÙµºΗσυνάρτησηαυτήπαρεμβάλειστηνθέση ÔÓ τηντιμή ÚÐÙ όπωςφαίνεταικαιστοπαράδειγματουαλγορίθμου ½º½ º º ÖÑÓÚ ÒØ ÔÓ µºδιαγράφειτοστοιχείοστηνθέση ÔÓ º
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½ºΔήλωσητηςκατηγορίας ËÔγιατηνπεριγραφήσχημάτωνº ½ Ò ËÀÈÀ ¾ Ò ËÀÈÀ Ð ËÔ ÔÙÐ ÚÖØÙÐ ÓÙÐ Ö µ¼ ÚÖØÙÐ ÓÙÐ ÔÖÑØÖ µ¼ ÚÓ Ô Ö Ò Ø µ Ð ½¼ ½½ Ò»» ËÀÈÀ ÐÓÖØÑ ½ºΥλοποίησητηςαφηρημένηςκατηγορίαςπεριγραφήςσχημάτων ËÔº ½ ÒÐÙ Ô º ¾ ÒÐÙ ÉÙ ÚÓ ËÔ Ô Ö Ò Ø µ ÕÙ µ ÈÖÑØÖ ÔÖÑØÖ µöö µ Ð ÐÓÖØÑ ½ºΔήλωσηκατηγορίαςπεριγραφήκύκλουº ½ Ò ÁÊÄÀ ¾ Ò ÁÊÄÀ ÒÐÙ Ô º Ð Ö Ð ÔÙÐ ËÔ ÔÖÚØ ÓÙÐ Ê ÔÙÐ ½¼ Ö Ð ÓÙÐ ÑÝÖ µ ½½ ÚÖØÙÐ ÓÙÐ Ö µ ½¾ ÚÖØÙÐ ÓÙÐ ÔÖÑØÖ µ ½ Ö Ð µ ½ Ð ½ ½ Ò»» ÁÊÄÀ
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ÐÓÖØÑ ½ºΥλοποίησητηςκατηγορίαςκύκλουº ½ ÒÐÙ Ö Ð º ¾ ÒÐÙ ÑØ º Ö Ð Ö Ð ÓÙÐ ÑÝÖµ ÊÑÝÖ Ð ÓÙÐ Ö Ð Ö µ ½¼ ÖØÙÖÒ ÅÈÁ Ê Ê ½½ Ð ½¾ ½ ÓÙÐ Ö Ð ÔÖÑØÖ µ ½ ½ ÖØÙÖÒ ¾ ÅÈÁ Ê ½ Ð ½ ½ Ö Ð Ö Ð µ ½ ¾¼ ¾½ Ð ÐÓÖØÑ ½º½¼Περιγραφήτηςκατηγορίαςορθογωνίουº ½ Ò ÊÌÆÄÀ ¾ Ò ÊÌÆÄÀ ÒÐÙ Ô º Ð ÊØÒÐ ÔÙÐ ËÔ ÔÖÚØ ÓÙÐ Ø ÛØ ÔÙÐ ½¼ ÊØÒÐ ÓÙÐ Û ÓÙÐ µ ½½ ÚÖØÙÐ ÓÙÐ Ö µ ½¾ ÚÖØÙÐ ÓÙÐ ÔÖÑØÖ µ ½ ÊØÒÐ µ ½ Ð ½ Ò»» ÊÌÆÄÀ
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½¼ ÐÓÖØÑ ½º½½Υλοποίησητηςκατηγορίαςορθογωνίουº ½ ÒÐÙ Ö Ø Ò Ð º ¾ ÊØÒÐ ÊØÒÐ ÓÙÐ Û ÓÙÐ µ ÛØÛ Ø Ð ½¼ ÓÙÐ ÊØÒÐ Ö µ ½½ ß ½¾ ÖØÙÖÒ ÛØ Ø ½ Ð ½ ½ ÓÙÐ ÊØÒÐ ÔÖÑØÖ µ ½ ½ ÖØÙÖÒ ¾ ÛØ ¾ Ø ½ Ð ½ ¾¼ ÊØÒÐ ÊØÒÐ µ ¾½ ß ¾¾ ¾ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½½ ÐÓÖØÑ ½º½¾Πρόγραμμαεισαγωγήςσχημάτωνº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÎØÓÖ ÒÐÙ Ö Ð º ÒÐÙ Ö Ø Ò Ð º ÒÐÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø ÒØ ÑÒÙ µ ½¼ ÒØ Ü ½½ ÓÙØ ½µ ÆÛ Ö Ð ÒÐ ½¾ ÓÙØ ¾µ ÆÛ Ö Ø Ò Ð ÒÐ ½ ÓÙØ µ ÈÖÒØ Ô ÒÐ ½ ÓÙØ µ ÉÙØÒÐ ½ ÒÜ ½ ÖØÙÖÒ Ü ½ Ð ½ ½ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ¾¼ ß ¾½ ÉÎØÓÖËÔ Ô ¾¾ ÒØ ¾ ÒØ Ó ¾ Ó ¾ ¾ Ó ÑÒÙ µ ¾ Ó ½µ ¾ ß ¾ ÓÙÐ Ê ¼ ÓÙØ ÒØÖ Ê ½ ÒÊ ¾ Ô º ÔÔÒ ÒÛ Ö Ð Êµ µ Ð Ð Ó ¾µ ÓÙÐ Ï À ÓÙØ ÒØÖ ÑÒ ÓÒ ÒÏÀ ¼ Ô º ÔÔÒ ÒÛ ÊØÒÐ Ï Àµ µ ½ Ð ¾ Ð Ó µ ß ÓÖ ¼ Ô º Þ µ µ Ô ÔÖÒØ µ Ð ÐÛÐ Ó µ ÓÖ ¼ Ô º Þ µ µ ¼ ÐØ Ô ½ ÖØÙÖÒ ½ ¾ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½¾ ÐÓÖØÑ ½º½ Παράδειγμαπαρεμβολήςστοιχείωνσεπίνακα ÉÎØÓÖº ½ ÉÎØÓÖÉËØÖÒ Ú Ø Ó Ö ¾ Ú Ø Ó Ö ÐÔ Ø Ð Ø Ú Ø Ó Ö º Ò Ö Ø ¾ ÑÑ µ»» Ú Ø Ó Ö Ð Ô Ø ÑÑ Ð Ø ÐÓÖØÑ ½º½Παράδειγμααναζήτησηςστοιχείωνσεδυναμικόπίνακαº ½ ÉÎØÓÖÉËØÖÒ Ú Ø Ó Ö ¾ Ú Ø Ó Ö Ú Ø Ó Ö º ÒÜÇ µ»» Ö Ø Ù Ö Ò ½ Ú Ø Ó Ö º ÒÜÇ ½ µ»» Ö Ø Ù Ö Ò ½ Ú Ø Ó Ö º ÒÜÇ ¾ µ»» Ö Ø Ù Ö Ò Ú Ø Ó Ö º ÒÜÇ µ»» Ö Ø Ù Ö Ò ½ º ÐÖ µºησυνάρτησηαυτήαδειάζειτονπίνακαº º ÒÜÇ ÚÐÙ ÒØ ÖÓѼµº Ησυνάρτησηαυτήεπιστρέφειτηνθέσηπου βρίσκεταιητιμή ÚÐÙξεκινώνταςαπότηνθέση ÖÓѺΠαράδειγμαχρήσεως παρουσιάζεταιστοναλγόριθμο ½º½º º Ñ ÒØ ÔÓ ÒØ ÐÒع½µº Επιστρέφειένανυποπίνακαοοποίοςξεκινάει απότηνθέση ÔÓ ºΑνηπαράμετρος ÐÒØείναιίσημε ¹½τότεεπιστρέφονται όλαταστοιχείααπότηνθέση ÔÓ αλλιώς ÐÒØτοπολύστοιχείαº Ενα παράδειγμαχρήσεωςτηςσυναρτήσεωςαυτήςπαρουσιάζεταιστοναλγόριθμο ½º½º ½º Αλφαριθμητικάμεχρήσητου ÉËØÖÒ ΗβασικήκατηγορίαπουχρησιμοποιείηÉØγιααλφαριθμητικάονομάζεται ÉËØÖÒ καιείναιπερισσότεροευέλικτηαπότηνκατηγορία ØÖÒήκαιαπότα ËÁÁ αλφαριθμητικάστηχρήσηºεπιπλέονείναι ÙÒÓκαιμπορείνααποθηκεύσεικαι ναεπεξεργαστείκάθεσειράχαρακτήρωνº ½ºº½ Δημιουργίααλφαριθμητικών Εναπρώτοπαράδειγμαανάθεσηςστοιχείωνσεαλφαριθμητικάπαρουσιάζεταιστοναλγόριθμο ½º½º Γιατηνσυνένωσητωναλφαριθμητικώνγίνεταιχρήσητου τελεστή ºΕπίσηςγιατηνπερίπτωσηπουχρειάζεταινααναφερθούμεσεκάποιο συγκεκριμένοστοιχείοτουαλφαριθμητικούχρησιμοποιείταιοτελεστής όπως ακριβώςγίνεταικαιμετουςπίνακεςº Τοπρώτοστοιχείοστοαλφαριθμητικό ܽ είναιτο ܽ¼ καιτοτελευταίοτο ܽܽº Þ µ¹½
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º½Χρήσηυποπινάκωνσε ÉÎØÓÖº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÎØÓÖ ÒÐÙ ÉÙ ÓÙÐ ÚÖ ÉÎØÓÖÓÙÐ Ü µ ÒØ ÓÙÐ ¼º¼ ÓÖ ¼ Ü º Þ µ µ Ü ÖØÙÖÒ»Ü º Þ µ ½¼ Ð ½½ ½¾ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ½ ß ½ ÉÎØÓÖÓÙÐ Ø ÙØ ½ Ø ½¼¼¾¼¼ ¼¼¼¼¼¼¼¼ ½ ÓÙÐ ½ÚÖ Ø µ ½ ÙØØ º Ñ µ ½ ÓÙÐ ¾ÚÖ ÙØ µ ½ ÕÙ µ ÚÖ½ ½ ¾¼ ÕÙ µ ÚÖ¾ ¾ ¾½ ÖØÙÖÒ ½ ¾¾ Ð ÐÓÖØÑ ½º½Παράδειγμαανάθεσηςσεαλφαριθμητικάº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÙ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÉËØÖÒ Ü½ ÒÒ ½¾ ÉËØÖÒ Ü¾ Ì Ì Ø µ ÕÙ µ½ü½¾ü¾ ܽܽ ËÓÑ Ø Ü Ø Ö Ü¾ ½¼ ÕÙ µ½ü½¾ü¾ ½½ ܾ ³ ³ ½¾ ÕÙ µ½ü½¾ü¾ ½ ÖØÙÖÒ ½ ½ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º½Μετατροπήαριθμώνσεαλφαριθμητικάκαιτοαντίστροφοº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÙ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÉËØÖÒ Ò½ Ò¾ Ò ÓÙРܽ ½¼¼º¾ ÒØ Ü¾½ ÒØ Ü Ò½ º Ô Ö Ò Ø ½±½¼º¾ Ð ¾± ܽ ܾ µ ½¼»» Ñ Ð ÒÙÑÖ Ò Ò Ö Ý ÒÙÑÖ ½½ Ò¾ÉËØÖÒ ÒÙÑÖ Ü½ ³ ³ µ Ø ÉËØÖÒ ÒÙÑÖ Ü¾ ¾ µ ½¾ ÕÙ µæ½ ҽƾ Ò¾ ½ Ò ÉËØÖÒ ÒÙÑÖ ½ ¾ µ ½ ÕÙ µæ Ò ½»» Ó Ò Ú Ö Ø Õ Ø Ö Ò Ø Ó ÒÙÑÖ ½ Ü Ò º Ø Ó Á Ò Ø µ ½ ÕÙ µæùñö Ü½Ü¾Ü ½ ÖØÙÖÒ ¼ ½ Ð ½ºº¾ Μετατροπήτύπων Μιαχρήσιμηδυνατότηταπουπαρέχουντααλφαριθμητικά ÉËØÖÒείναιναμετατρέπονταισεαριθμούςαλλάκαιαπόαριθμούςσεαλφαριθμητικάμετηνχρήση ειδικώνμεθόδωνºμιαεπείδιξηαυτήςτηςδυνατότηταςπαρουσιάζεταιστοναλγόριθμο ½º½ºΓιατηνμετατροπήαπόαριθμόσεαλφαριθμητικόμπορείναχρησιμοποιηθείημέθοδος ÔÖÒØ µηοποίαέχειταίδιοορίσματαμετηνμέθοδο ÔÖÒØ µτης τυπικήςγλώσσας ºΤοαποτέλεσμααυτήςτηςμεθόδουαποθηκεύεταισεαλφαριθμητικό ÉËØÖÒºΕπίσηςμπορείναχρησιμοποιηθείη ØØμέθοδος ÉËØÖÒÒÙÑÖ µ ηοποίαμπορείναμετατρέψειδεκαδικόσεαλφαριθμητικόήακέραιοσεαλφαριθμητικόανάλογαμεταορίσματαπουδέχεταιºεπίσηςμπορείνακάνεικαιμετατροπήβάσηςαριθμούαντοπρώτοόρισμαείναιακέραιοςαριθμόςκαιτοδεύτεροη επιθυμητήβάσηστηνοποίαθέλουμεναγίνειημετατροπήºτέλοςγιατηνμετατροπήαλφαριθμητικούσεαριθμούχρησιμοποιούνταιοιμέθοδοι ØÓÁÒØ µγιαμετατροπήαλφαριθμητικούσεακέραιοº ØÓÓÙÐ µγιαμετατροπήαλφαριθμητικούσεδεκαδικόº ½ºº Χρήσιμεςμέθοδοι Στηνσυνέχειαπαρουσιάζονταιμερικέςαπότιςπιοχρησιμοποιούμενεςμεθόδους τηςκατηγορίας ÉËØÖÒ
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º½Προσάρτησηαλφαριθμητικούμετηνμέθοδο ÔÔÒº ½ ÉËØÖÒ Ü Ö ¾ ÉËØÖÒ Ý ÓÑ Ü º ÔÔÒ Ý µ»» Ü ÖÓÑ ÐÓÖØÑ ½º½Παράδειγμαχρήσεωςτηςμεθόδου ÒÜÇσεαλφαριθμητικά ÉËØÖÒº ½ ÉËØÖÒ Ü Ø Ý Õ Ù Ø Ó Ò ¾ ÉËØÖÒ Ý Ø Ü º ÒÜÇ Ý µ»» Ö Ø Ù Ö Ò ¼ Ü º ÒÜÇ Ý ½ µ»» Ö Ø Ù Ö Ò ½¼ Ü º ÒÜÇ Ý ½ ¼ µ»» Ö Ø Ù Ö Ò ½¼ Ü º ÒÜÇ Ý ½ ½ µ»» Ö Ø Ù Ö Ò ½ ½º ÔÔÒ ÉËØÖÒ ÝµºΗμέθοδοςαυτήέχειτηνίδιαλειτουργίαμετοντελεστή καιπροσαρτάτοαλφαριθμητικό Ýστοτέλοςτουτρέχοντοςαλφαριθμητικού όπωςπαρουσιάζεταικαιστοναλγόριθμο ½º½º ¾º Þ µºημέθοδος Þ µεπιστρέφειτοπλήθοςτωνστοιχείωνσεένααλφαριθμητικόº º ÒÜÇ ÉËØÖÒ Ý ÒØ ÖÓѼµºΗμέθοδοςαυτήεπιστρέφειτηνθέσητου αλφαριθμητικού Ýξεκινώνταςαπότηνθέση ÖÓѺΑνδενδίνεταιτοδεύτερο όρισμα τότθεωρείταιπωςηαναζήτησηξεκινάαπότηνπρώτηθέσητου αλφαριθμητικούº Εναπαράδειγμαχρήσεωςτηςμεθόδουπαρουσιάζεταιστον αλγόριθμο ½º½º º ØÖØ ÏØ ÉËØÖÒ Ýµº Ημέθοδοςαυτήεπιστρέφει ØÖÙαντοαλφαριθμητικόξεκινάμετηνέκφραση Ýόπωςφαίνεταικαιστοναλγόριθμο ½º¾¼º º Ò ÏØ ÉËØÖÒ Ýµº Ημέθοδοςαυτήεπιστρέφειαληθέςαντοαλφαριθμητικόπεριέχειστοτέλοςτουαλφαριθμητικό ݺ º ØÓÄÓÛÖ µºημέθοδοςαυτήεπιστρέφειτοαλφαριθμητικόαλλάζονταςκάθε κεφαλαίογράμμαστοαντίστοιχοπεζόόπωςπαρουσιάζεταικαιστοναλγόριθμο ½º¾½º º ØÓÍÔÔÖ µºημέθοδοςαυτήεπιστρέφειτοαλφαριθμητικόαλλάζονταςκάθε πεζόγράμμαστοαντίστοιχοκεφαλαίοº
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º¾¼Ημέθοδος ØÖØ ÏØ µσεαλφαριθμητικά ÉËØÖÒº ½ ÉËØÖÒ Ø Ö ÒÒ ¾ Ø Ö º ØÖØ ÏØ Ò µ»» Ö Ø Ù Ö Ò Ø Ö Ù Ø Ö º ØÖØ ÏØ Ö µ»» Ö Ø Ù Ö Ò Ð ÐÓÖØÑ ½º¾½Ημέθοδος ØÓÄÓÛÖ µσεαλφαριθμητικά ÉËØÖÒº ½ ÉËØÖÒ Ø Ö ÌÉØÈÊÇÂÌ ¾ Ø Ö Ø Ö º ØÓÄÓÛÖ µ»» Ø Ö Ø Õ Ø Ô Ö Ó Ø ½ºº Λίστεςαλφαριθμητικώνμετο ÉËØÖÒÄ Ø Οιλίστες ÉËØÖÒÄ Øχρησιμοποιούνταιευρύταταστην ÉØγιατηναποθήκευσηκαι διαχείρισηακολουθιώναπόαλφαριθμητικάº Εναπαράδειγμαλίσταςπαρουσιάζεται στοναλγόριθμο ½º¾¾όπουαποθηκεύονταιμιασειράαπόονόματασεμια ÉËØÖÒÄ Ø καιστηνσυνέχειααυτάπαρουσιάζονταιταξινομημέναστηνοθόνηºηταξινόμηση γίνεταιμετηνχρήσητηςμεθόδου ÓÖØ µπουδιαθέτειηκατηγορία ÉËØÖÒÄ Øº Μιαάλληχρήσιμηδυνατότηταστιςλίστεςείναιοδιαχωρισμόςένοςαλφαριθμητικού σεμορφή Úόπωςστοπαράδειγματουαλγορίθμου ½º¾ ºΗμέθοδος ÔÐØδέχεται σανόρισματονχαρακτήραπουδιαχωρίζειτααλφαριθμητικά στηνπερίπτωσήμας είναιτο µκαιεπιστρέφειμιαλίστα ÉËØÖÒÄ Ø ½º Χρήση  ÓÒ Το ÓÖÑØ ÓÒαρχικάχρησιμοποιήθηκεστηνγλώσσαπρογραμματισμού ÂÚËÖÔØ καισήμερασυναντάταιστιςπερισσότερεςγλώσσεςπρογραμματισμούºαποτελείμια εύχρηστητεχνικήγιατηναποθήκευσηδεδομένωνδιαφορετικώντύπωνστηνμορφή κλειδίτιμή Εναπαράδειγμα ÓÒπαρουσιάζεταιστοναλγόριθμο ½º¾º Κάθε λίσταπουβρίσκεταιμέσασε ß Ðονομάζεται ÓÒ ÓغΚάθελίσταπουβρίσκεται μέσασε ονομάζεται ÓÒ ÖÖݺ Κάθε ÓØδενείναιαπαραίτητοναπεριέχει ταίδιαπεδίαμεκάποιοάλλοº Επίσηςοιτιμέςκάθεαντικειμένουδενπεριορίζονταισεαλφαριθμητικάαλλάείναιδυνατόναείναικαιαριθμοίήκαιπίνακεςαπό άλλα ÓØ όπωςτοπεδίο ØÑ πουπεριέχειμιαλίστααπόοχήματαºλόγωτης ευελιξίαςτουςτα ÓÒ μπορούνναχρησιμοποιηθούνκαισανβάσειςδεδομένωνº Ωστόσοείναιπιοαργάστηνεπεξεργασίααπόμιαβάσηδεδομένωνπχσε ËÕÐØ καθώςαπαιτείταιτοαλφαριθμητικόπουταπεριέχειναγίνεται ÈÖ απόειδικές βιβλιοθήκεςº ½ºº½ Αντικείμενα ÂËÇÆ Εστωμιααπλήκατηγορίαπεριγραφήςαυτοκινήτωνμεταακόλουθαπεδία ½º Ονομα οχήματος
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º¾¾Ταξινόμησηπίνακαονομάτωνσε ÉËØÖÒÄ Øº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉËØÖÒÄ Ø ÒÐÙ ÉÙ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÉËØÖÒÄ Ø ÒÑ ÒÑ ÒÒ ÒÑ ÃÓ Ø ½¼ ÒÑ ÅÖ ½½ ÒÑ ÑØÖ ½¾ ÒÑ ÆÓ ½ ÕÙ µæñ ÒÑ ½ ÒÑ º Ó Ö Ø µ ½ ÕÙ µæñ ÒÑ ½ ÖØÙÖÒ ¼ ½ Ð ÐÓÖØÑ ½º¾ Διαχωρισμός αλφαριθμητικού Ú και αποθήκευση σε ÉËØÖÒÄ Øº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÙ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ ÉËØÖÒ Ú Ø Ö Ò ÒÒ ÃÓ Ø ÅÖ ÑØÖ ÆÓ Å Ü Ð ÉËØÖÒÄ Ø ÒÑÐ Ø Ú Ø Ö Ò º Ô Ð Ø µ ÒØ ÓÖ ¼ ÒÑÐ Ø º Þ µ µ ½¼ ÉËØÖÒ ÒÑÒÑÐ Ø ½½ ÕÙ µ ÁÒÜ ÒÑÒÑ ½¾ Ð ½ ÖØÙÖÒ ¼ ½ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º¾ Εναπαράδειγμα ÓÒγιατηναποθήκευσηλίσταςαυτοκινήτωνº ½ ß ¾ ÑÔØ ØØÔ»»ÛÛÛº Ó Ô Ò Ó Ø Ð Ð º Ö» Ö» Ö ÜÑÔÐ Ô Ô Ð Ø Ó Ò ÓÙØ Ó Ò ØÑ ßÒÑ Ø ÈÙÒØÓ ÓÒ ÔÙÒØÓ º ÔÒ Ô Ö ½¼¼¼Ð ßÒÑ ÌÓÝÓØ Ó Ö Ó Ð Ð ÓÒ Ó Ö Ó Ð Ð º ÔÒ Ô Ö ¾¾¼¼¼Ð ßÒÑ Æ Ò ÈÖÑÖ ÓÒ ÔÖÑÖ º ÔÒ Ô Ö ½¼¼¼Ð ßÒÑ ÀÓÒ ÂÞÞ ÓÒ Þ Þ º ÔÒ Ô Ö ½¼¼¼Ð ½¼ ½½ Ð ¾º Μάρκα οχήματος º Τιμή οχήματος Ηδήλωσητηςκατηγορίαςβρίσκεταιστοναλγόριθμο ½º¾καιηυλοποίησηστον αλγόριθμο ½º¾ºΓιατηνπρόσβασησταπεδίαενός É ÓÒÇØχρησιμοποιείταιο τελεστής όπωςκαιστουςπίνακεςºανάλογαμετηντιμήπουυπάρχειστοδεξίο τμήματηςανάθεσηςδημιουργείταικαιτοαντίστοιχοπεδίοστοαριστερότμήματης ανάθεσηςº Εναπεδίοσεένα ÓØμπορείναμετατραπείσε ½ºΑλφαριθμητικόμετηνμέθοδο ØÓËØÖÒ µ ¾º Ακέραιο με την μέθοδο ØÓÁÒØ µ ºΔεκαδικόμετηνμέθοδο ØÓÓÙÐ µ Τοκυρίωςπρόγραμμαστοοποίογίνεταιχρήσητηςκατηγορίας Öπαρουσιάζεται στοναλγόριθμο ½º¾º ½ºº¾ Πίνακες ÂËÇÆ Γιατηναναπαράστασηπινάκωναπό ÓÒχρησιμοποείταιηκατηγορία ÉÂËÓÒÖÖݺ Στοπαράδειγματουαλγορίθμου ½º¾παρουσιάζεταιουπολογισμόςτουμέσου όρουγιααυτοκίνηταπουβρίσκονταιαποθηκευμένασεμιαδομή ÉÂËÓÒÖÖݺΓια τηνπροσάρτησηαντικειμένων ÉÂËÓÒÇØσε ÉÂËÓÒÖÖÝχρησιμοποιείταιη μέθοδος ÔÔÒ µº
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ½ ÐÓÖØÑ ½º¾Δήλωσητηςκατηγορίας Öº ½ Ò ÊÀ ¾ Ò ÊÀ ÒÐÙ É ÓÒÇØ Ð Ö ÔÖÚØ ÉËØÖÒ ÒÑ ÖÒ ÓÙÐ Ô Ö ½¼ ÔÙÐ ½½ Ö ÉËØÖÒ Ò ÉËØÖÒ ÓÙÐ Ô µ ½¾ Ö É ÓÒÇØ Ó µ ½ É ÓÒÇØ ØÓÇØ µ ½ Ð ½ ½ Ò»» ÊÀ ÐÓÖØÑ ½º¾Υλοποίησητηςκατηγορίας Öº ½ ÒÐÙ Ö º ¾ Ö Ö ÉËØÖÒ Ò ÉËØÖÒ ÓÙÐ Ô µ ß ÒÑÒ ÖÒ Ô Ö Ô Ð Ö Ö É ÓÒÇØ Ó µ ½¼ ß ½½ ÒÑÓ ÒÑ º Ø Ó Ë Ø Ö Ò µ ½¾ ÖÒÓ ÖÒ º Ø Ó Ë Ø Ö Ò µ ½ Ô Ö Ó Ô Ö º ØÓÓÙÐ µ ½ Ð ½ ½ É ÓÒÇØ Ö ØÓÇØ µ ½ ½ É ÓÒÇØ Ü ½ Ü ÒÑ ÒÑ ¾¼ Ü ÖÒ ÖÒ ¾½ Ü Ô Ö Ô Ö ¾¾ ÖØÙÖÒ Ü ¾ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ¾¼ ÐÓÖØÑ ½º¾Τοκυρίωςπρόγραμμαχρήσεωςτηςκατηγορίας Öº ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ ÉÙ ÒÐÙ Ö º ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ Ö Ö½ ÙÖ ÌÓÝÓØ ¾ ¼ ¼ ¼ ¼ º ¼ µ É ÓÒÇØ Ô½Ö½ º ØÓÇØ µ ÕÙ µö½ Ø Ð Ö Ô½ ½¼ Ô½ Ô Ö Ô½ Ô Ö º ØÓÓÙÐ µ ½º½¼ ½½ Ö Ö¾ Ô½ µ ½¾ É ÓÒÇØ Ô¾Ö¾ º ØÓÇØ µ ½ ÕÙ µö¾ Ø Ð Ô¾ ½ ÖØÙÖÒ ¼ ½ Ð
ÀÈÌÊ ½º ΕΙΣΑΓΩΓΙΚΕΣΕΝΝΟΙΕΣ ¾½ ÐÓÖØÑ ½º¾Υπολογισμόςμέσουόρουτιμήςαυτοκινήτωναπό ÉÂËÓÒÖÖÝ ½ ÒÐÙ ÉÓÖÔÔÐØÓÒ ¾ ÒÐÙ Ö º ÒÐÙ É ÓÒÖÖÝ ÒÐÙ ÉÙ ÒØ ÑÒ ÒØ Ö Ö ÖÚ µ É ÓÒÖÖÝ Ö Ö Ö½ ÙÖ ÌÓÝÓØ ¾ ¼ ¼ ¼ ¼ º ¼ µ Ö Ö¾ ½¼ ÅÖ ¾ ¼ ¼ ¼ º ¼ µ ½¼ Ö Ö Ù ¾ ¼ ¼ ¼ ¼ º ¼ µ ½½ Ö Ö ÂÞÞ ÀÓÒ ½ ¼ ¼ ¼ º ¼ µ ½¾ Ö º ÔÔÒ Ö½ º ØÓÇØ µ µ ½ Ö º ÔÔÒ Ö¾ º ØÓÇØ µ µ ½ Ö º ÔÔÒ Ö º ØÓÇØ µ µ ½ Ö º ÔÔÒ Ö º ØÓÇØ µ µ ½ ÓÙÐ Ú Ö È Ö ¼º¼ ½ ÒØ ½ ÓÖ ¼ Ö º Þ µ µ ½ ¾¼ É ÓÒÇØ Ô Ö º ØÓÇØ µ ¾½ Ú Ö È Ö Ô Ô Ö º ØÓÓÙÐ µ ¾¾ Ð ¾ Ú Ö È Ö» Ö º Þ µ ¾ ÕÙ µúö Ô Ö Ú Ö È Ö ¾ ÖØÙÖÒ ¼ ¾ Ð