Προγραμματισμόςσε» ΙωάννηςΓºΤσούλος ¾¼½
ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ ½º½ Μεταβλητές ½º½º½ Δήλωση Η δήλωσημεταβλητώνμπορεί να γίνει σε οποιοδήποτεσημείοτου κώδικα σε αλλάείναιπροτιμότεροναγίνεταιστηναρχήτουπρογράμματος ÑÒή μιαςσυνάρτησηςºστοπαράδειγμα ½º½εμφανίζεταιηδήλωσημεταβλητώνγιατους μισθούςκαιτιςηλικέςδύοατόμωνº Οιπιοσυνηθισμένοιτύποιδεδομένωνστην γλώσσαείναι ½ºΑκέραιοιτύποιδεδομένωνºΣεαυτήντηνπερίπτωσησυναντάμετουςτύπους Ö ÒØ ÙÒ Ò ÒØ ¾ºΔεκαδικοίτύποιδεδομένωνºΕδώσυναντάμετουςτύπους ÓØ ÓÙ ºΑλφαριθμητικάºΟιτύποιεδώείναιπίνακεςγραμμάτων Ö ÖÖÝ µκαθώς καιτασγχρονααλφαριθμητικά ØÖÒ ½º½º¾ Ανάγνωση ¹εμφάνιση Γιατηνείσοδο»έξοδομεταβλητώνχρησιμοποιούμετιςροέςδεδομένων ØÖÑ µ πουδιαθέτειηγλώσσαº Γιατηνχρήσητουςχρειάζεταινασυμπεριλάβουμετις επόμενεςδύογραμμέςστηναρχήτουπρογράμματος ÒÙ Ó ØÖÑ Ù Ò ÒÑ Ô Ø Μεαυτέςτιςεντολέςηγλώσσαθαχρησιμοποιήσειτιςαπαραίτητεςβιβλιοθήκεςγια τηνχρήσηεισόδου»εξόδουºστοπαράδειγμα ½º¾οχρήστηςεισάγεικαιεμφανίζει τιςηλικίεςκαιτουςμισθούςδύοατόμωνμιαςεπιχείρησηςηεντολή Òσημαίνει ½
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ ¾ Αλγόριθμος1.1Παράδειγμαδήλωσηςμεταβλητώνº ½ ÒØ ÑÒ µ ¾ ÒØ ½ ¾¾ ÒØ ¾ ÓÙ Ö Ý ½ ¼¼º¼ ÓÙ Ö Ý ¾ º¾¾ ÖØÙÖÒ ¼ τέλοςγραμμήςκαισεπολλέςπεριπτώσειςμπορείνααντικαθίσταταικαιαποτην συμβολοσειρά Ò ½º¾ Τελεστές Μετηνχρήσητωντελεστώνταπρογράμματααποκτούνπερισσότερεςδυνατότητες καιμπορούννακάνουναριθμητικέςκαιλογικέςπράξειςανάμεσασεαριθμούςκαι μεταβλητέςº ½º¾º½ Αριθμητικοίτελεστές Οιαριθμητικοίτελεστέςεκτελούναριθμητικέςπράξειςανάμεσασεαριθμούςκαι έχουνμεγαλύτεροιπροτεραιότητααπόάλλουςτελεστέςº Οιτελεστέςαυτοίείναι οι ½ºΟτελεστήςπολλαπλασιασμού ¾ºΟτελεστήςδιαίρεσης»º Οτανεμφανίζεταιανάμεσασεακέραιουςαριθμούς κάνειακέραιαδιαίρεση δηλαδήηπράξη»¾έχεισαναποτέλεσμα ¾ενώη πράξη º¼»¾έχεισαναποτέλεσμα ¾º ºΟτελεστήςπρόσθεσης ºΟτελεστήςαφαίρεσης ¹ Οιτελεστές και»έχουνμεγαλύτερηπροτεραιότητααπότουςτελεστές ¹και Στοπαράδειγμα ½º εισάγουμεδύοακέραιουςαριθμούςκαιεμφανίζουμετα αποτελέσματαόλωντωνπράξεωνμεταξύτουςºεπιπλέονμπορούμεμετηνχρήση τωναριθμητικώντελεστώνναγράψουμεμαθηματικέςεκφράσειςόπωςπαρουσιάζεταικαιστοπαράδειγματουαλγορίθμου ½º º Εναπαράδειγμααπότηνχρήση αλλά καιαπόπροβλήματαπουμπορούνναπαρουσιαστούνµπαρουσιάζεταιστοναλγόριθμο ½ºº
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Αλγόριθμος1.2Είσοδοςέξοδοςηλικιώνκαιμισθώνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ ½ ¾ ÓÙ Ö Ý ½ Ö Ý ¾ ÓÙØ Ó Ø Ø Ò Ô Ö Ó Ø Ò½ ÓÙØ Ó Ø Ø Ò Ý Ø Ö Ò¾ ÓÙØ Ó Ø ØÓÒ ÔÖÓØÓ Ñ ØÓ Ò Ö Ý ½ ½ ÓÙØ Ó Ø ØÓÒ Ý Ø Ö Ó Ñ ØÓ ½ Ò Ö Ý ¾ ½ ÓÙØÇ Ô Ö Ó Ø Ó Ý Ô Ó Ü ½ ½ ÑÒ Ö Ý ½ ÙÖÓ Ò ½ ÓÙØÇ Ý Ø Ö Ó Ý Ô Ó Ü ¾ ½ ÑÒ Ö Ý ¾ ÙÖÓ Ò ½ ÖØÙÖÒ ¼ ¾¼ Αλγόριθμος1.3Εμφάνισηαριθμητικώνπράξεωνμεταξύακεραίωναριθμώνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ Ü Ý Ö Ù Ø ÓÙØ Ó Ø Ü Ý ÒÜÝ Ö Ù ØÜ Ý ÓÙØÌÓ ØÖÓ Ñ Ò Ö Ù Ø Ò Ö Ù ØÜ Ý ÓÙØÀ Ó Ö Ò Ö Ù Ø Ò Ö Ù ØÜ Ý ½ ÓÙØÌÓÒÓÑÒÓ Ò Ö Ù Ø Ò ½ Ö Ù ØÜ»Ý ½ ÓÙØÌÓ Ô Ó Ò Ö Ù Ø Ò ½ ÖØÙÖÒ ¼ ½
Αλγόριθμος1.4Εκτέλεσημαθηματικώνπράξεωνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ ÓÙØ Ó Ø Ò ÓÙØ Ó Ø Ò ÓÙؾ Ò ÓÙØ Ò ÓÙØ µ¾ µ µò ½ ÓÙØ µ µò ½ ÓÙØ Ò ½ ÓÙØÅ Ó µ µ»¾º¼ Ò ½ ÖØÙÖÒ ¼ ½ ½º¾º¾ Μοναδιαίοιτελεστές Οιμοναδιαίοιτελεστέςχρησιμοποιούνταιγιατηναύξησηήτηνμείωσηκατά ½ενός αριθμούºεμφανίζονταισεδύομορφές Προθεματικήμορφή δηλαδήμπροστάαπότηνμεταβλητήπουαυξάνουνή μειώνουνº Σεαυτήντηνπερίπτωσηέχουντηνμεγαλύτερηπροτεραιότητα απόόλουςτουςτελεστέςσεμιαέκφρασηº Επιθεματική μορφή δηλαδή μετά από την μεταβλητή που αυξάνουν ή μειώνουνº Σεαυτήντηνπερίπτωσηέχουντηνμικρότερηπροτεραιότητααπό όλουςτουςτελεστέςσεμιαέκφρασηº ½º¾º Σχεσιακοίτελεστές Οισχεσιακοίτελεστέςχρησιμοποιούνταιγιατηνσύγκρισηπαραστάσεωνμεταξύ τουςºτοαποτέλεσμαμιαςσύγκρισηςείναιπάντα ½ότανηπαράστασηείναιαληθής και ¼ότανδενείναιº Οισχεσιακοίτελεστέςβρίσκονταιένασκαλίπιοκάτωστην κατάταξηπροτεραιότηταςτελεστώνºοισχεσιακοίτελεστέςπουχρησιμοποιούνται στηνγλώσσα είναι Τελεστήςμικρότερουαπό Τελεστήςμικρότερουήίσουαπό Τελεστήςμεγαλύτερουαπό
Αλγόριθμος 1.5 Παράδειγμα χρήσης μοναδιαίων τελεστών πρόσθεσης και μείωσηςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ Ü Ý Ü¼ Ý Ü ÓÙØ ½µ ÜÜÃÝÝÒ ÝÜ ÓÙØ ¾µ ÜÜÃÝÝÒ Ý Ü ½ ÓÙØ µ ÜÜÃÝÝÒ ½ ÓÙØ µ Ü Ý µ Ü Ý µò ½ Ü ½ ÓÙØ µ ÜÜÒ ½ ÖØÙÖÒ ¼ ½ Τελεστήςμεγαλύτερουήίσουαπο Τελεστήςισότητας δύοίσονµ Τελεστήςδιαφορετικού Στοπαράδειγμα ½ºοχρήστηςεισάγειδύοακέραιουςαριθμούςκαιεμφανίζεταιο μεγαλύτεροςαπόαυτούςμεχρήσητωνσχεσιακώντελεστώνº ½º¾º Λογικοίτελεστές Οιλογικοίτελεστέςχρησιμοποιούνταιγιατονσυνδυασμόλογικώνπαραστάσεων καιβρίσκονταιπιοκάτωστηνσειράπροτεραιότηταςºτοαποτέλεσματωντελεστών αυτώνείναι ½γιααληθείςπαραστάσειςκαι ¼γιαψευδείςºΟιλογικοίτελεστέςτης γλώσσαςείναι ²²Δυαδικόςτελεστήςπουχρησιμοποιείταιγιατηνσύζευξηλογικώνπαραστάσεωνº Γιαπαράδειγμαηέκφραση ¾µ ²² µείναιψευδήςκαθώςηπρώτηέκφρασηείναιψευδήςκαιηδεύτερηαληθήςºαπότηνάλληηέκφραση µ ²² ¾µείναιαληθήςκαθώςκαιταδύομέρηείναιαληθήº ΔυαδικόςτελεστήςγιατηνδιάζευξηλογικώνπαραστάσεωνºΣεαυτόντον τελεστήαρκείέναςαπότουςδύοτελεσταίουςναείναιαληθήςγιαναείναι συνολικάηέκφρασηαληθήςºγιαπαράδειγμαηέκφραση ¾µ µείναι αληθήςαφούτοδεύτεροσκέλοςείναιαληθέςº
Αλγόριθμος1.6Εύρεσημεγαλύτερουμεχρήσησχεσιακώντελεστώνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ Ü Ý ÒØ ÑÜ ÓÙØ Ó Ø Ü Ý ÒÜÝ ÑÜ ÜÝ µ Ü ÝÜ µ Ý ÓÙØÇ Ñ Ý Ø Ö Ó Ò ÑÜÒ ÖØÙÖÒ ¼ Ομοναδιαίοςτελεστήςάρνησηςº Εφαρμόζεταισεμιαέκρασηκαιαντιστρέφειτοαποτέλεσμάτηςº Γιαπαράδειγμαηέκφραηση ¾µέχεισαν αποτέλεσμαψευδές ¼µ ενώηέκφραση µέχεισαναποτέλεσμααληθέςº ½º Δομές ελέγχου Τα προγράμματα δεν μπορούν να κάνουν κάτι παραγωγικό αν έχουν απλώς αριθμητικέςεκφράσειςκαισεαυτήντηνπερίπτωσηδενθαδιέφεραναπόαπλέςαριθμομηχανέςº Για αυτόν τον λόγο υπάρχουν οι λεγόμενες δομές ελέγχου με τις οποίεςοχρήστηςμπορεί ½ºΝακάνειέλεγχοπαραστάσεωνκαιναεκτελέσεικάποιεςενέργειεςανάλογα με την εγκυρότητα αυτών ¾ºΝαεπιλέξειανάμεσασεπολλέςδιαφορετικέςπεριπτώσεις ºΝαεκτελέσειεπαναληπτικάεκφράσειςº ½º º½ Ηδομή Ηδομή χρησιμοποιείταιγιατονέλεγχολογικώνεκφράσεωνºτογενικόσχήμα της δομής είναι Ü Ô Ö Ó Ò µ ÓÑÑÒ Δηλαδήανηέκφραση ÜÔÖ ÓÒείναιαληθής δενείναι ¼µ τότεεκτελούνταιοι εντολές ÓÑÑÒ πουβρίσκονταιμέσασταάγκυστραº Πολλέςφορέςηεντολή ακολουθείταικαιαπότμήμα όπωςστοεπόμενοσχήμα
Αλγόριθμος1.7 Ελεγχοςγιαενηλικίωσηº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ ÑÝ ÓÙØ Ó Ø Ø Ò ÒÑÝ Ñݽµ ÓÙØ Ø Ò Ó Ò ½ ½ ÓÙØÒ Ø Ò Ó Ò ½ ÓÙØ Ì Ø ½ ÑÝ ½ Ü Ö Ó Ò Ò Ó Ò ½ ½ ÖØÙÖÒ ¼ ½ Ü Ô Ö Ó Ò µ ÓÑÑÒ ½ ÓÑÑÒ ¾ Σε αυτήντην περίπτωσηαν η έκφραση ÜÔÖ ÓÒείναι αληθήςεκτελείταιτο πρώτομπλοκεντολών ÓÑÑÒ ½µ διαφορετικάεκτελείταιηομάδαεντολών ÓÑÑÒ ¾º Στοπαράδειγμα ½ºεμφανίζεταιέναπρόγραμματοοποίοδιαβάζει τηνηλικίαμαςκαιανείμαστεενήλικοιεμφανίζειένασχετικόμήνυμα διαφορετικά εμφανίζειταχρόνιαπουαπομένουνγιαενηλικίωσηº Επιπλέονσεπολλάπροβλήματα χρειάζεται να γνωρίζουμε αν ένας αριθμός είναι ζυγός ή όχιºπαραδείγματα ζυγώναριθμώνείναι ¾ ½κτλºΤοπρόβλημααυτόεπιλύεταιστοπαράδειγματου αλγορίθμου ½ºº ½º º¾ Ηδομή ÛØ Ηδομή ÛØχρησιμοποιείταιγιατονπολλαπλόέλεγχοτιμώνκαιχρησιμοποιείται μόνοσεακέραιεςαριθμητικέςπαραστάσειςº Τογενικόσχήματηςδομήςείναιτο επόμενο
Αλγόριθμος 1.8 Ελεγχος για ζυγό αριθμόº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ Ò ÓÙØ Ó Ø ÒÒ ÖØÑÓ ÒÒ Ò±¾¼µ ÓÙØ Ò ÞÝÓ ÖØÑÓ Ò ½ ½ ÓÙØÒ Ò ÞÝÓ ÖØÑÓ Ò ½ ½ ÖØÙÖÒ ¼ ½ ÛØ Ú Ù µ ÚÙ½ ÓÑÑÒ ½ Ö ÚÙ¾ ÓÑÑÒ ¾ Ö º º º º º º º º º º º º º º º º º º º ÙØ ÓÑÑÒ ÙØ Ö Ημεταβλητή ÚÙελέγχεταιγιαισότηταμετιςτιμές ÚÙ½ ÚÙ¾ ººº Αν βρεθείισότηταμεκάποιααπόαυτέςεκτελείταιτοαντίστοιχομπλοκεντολώνº Η εντολή Öστοτέλοςκάθεμπλοκπρέπειναυπάρχειπροκειμένουνασταματήσει ηεκτέλεσητου ÛØσεαυτόακριβώςτοσημείοºΗομάδαεντολώνστο ÙØ θαεκτελεστείότανδενθαυπάρξεικαμίααντιστοιχίατηςμεταβλητής ÚÙμε κάποιααπότιςτιμέςº Στοπαράδειγμα ½ºοχρήστηςεισάγειμιαεπιλογήσεένα ÑÒÙεπιλογώνγιατηνεκτέλεσητων αριθμητικώνπράξεωνº Ανάλογαμετην επιλογήτουεκτελείταικαιηαντίστοιχηομάδαεντολώνº
Αλγόριθμος1.9Μενούεπιλογώνγιατηνεκτέλεσηαριθμητικώνπράξεωνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ü Ý Ö Ù Ø ÒØ Ó Ô Ö Ø Ó Ò ÓÙØ Ó Ø ÙÓ ÖØÑÓÙ ÒÜÝ ÓÙØ Ó Ø Ô Ö Ü Ò ÓÙؽ Ô Ö Ó Ø Ò ÓÙؾ Ö Ò ÓÙØ Ô Ó Ô Ñ Ó Ò ½ ÓÙØ Ö Ò ½ ÒÓ Ô Ö Ø Ó Ò ½ ÛØ Ó Ô Ö Ø Ó Ò µ ½ ½ ½ ½ Ö Ù ØÜ Ý ½ Ö ¾¼ ¾ ¾½ Ö Ù ØÜ Ý ¾¾ Ö ¾ ¾ Ö Ù ØÜ Ý ¾ Ö ¾ ¾ ݼµ ¾ ¾ ÓÙØÝÒÑ Ö Ò ¼ ½ ¾ Ö Ù ØÜ»Ý Ö ÙØ ÓÙØ ÒÓ Ø Ô Ö Ü Ò Ö ¼ ÓÙØÌÓ ÔÓØ Ñ Ø Ô Ö Ü Ò Ö Ù Ø Ò ½ ÖØÙÖÒ ¼ ¾
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Αλγόριθμος1.10Εισαγωγήαριθμώνμέχριοχρήστηςναδώσειαρνητικήτιμήº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ü ÒØ Ó Ù Ò Ø Ö ¼ ÓÙØ Ó Ø Ò ÖØÑÓ ÒÜ Û Ü¼µ Ó Ù Ò Ø Ö ÓÙØ Ó Ø Ò ÖØÑÓ ½ Ò Ü ½ ½ ÓÙØ Ó Ø ÓÙÒØÖ ÖØÑÓÙ Ò ½ ÖØÙÖÒ ¼ ½ ½º º Ηδομή Û Μετηνδομή Ûμπορούμεναεκτελέσουμεμιασειράαπόεντολέςπολλέςφορές όσοισχύειμιασυνθήκηελέγχουºτογενικόσχήματηςδομήςείναι Û Ü Ô Ö Ó Ò µ ÇÅÅÆË Οσοηέκφραση ÜÔÖ ÓÒείναιαληθήςεκτελούνταιοιεντολέςστηνομάδα ÇŹ ÅÆ˺ Ενααπλόπαράδειγμαχρήσηςτηςεντολήςείναιστοναλγόριθμο ½º όπουοχρήστηςεισάγειαριθμούςμέχριναδώσειαρνητικόαριθμόºστοτέλοςεμφανίζεταιτοπλήθοςτωναριθμώνπουέδωσεº Οπωςβλέπουμεαπότοπρόγραμμα οχρήστηςπρώταεισάγειτοναριθμόπριντηνεπανάληψηκαιμετάγίνεταιηεκτέλεσητου Ûº Αυτόπρέπειναγίνεικαθώςδενξέρουμεποιαείναιητιμήτης μεταβλητήςστο Ûκαιέτσιθαπρέπειναγίνειαρχικοποίησηπριντηνείσοδο στονβρόγχοº Επίσηςανοχρήστηςεισάγειαρνητικήτιμή τότεοβρόγχοςδεν εκτελείταικαθόλουκαθώςησυνθήκηείναιεξαρχήςψευδήςº Εναακόμαπρακτικόπρόβλημαπουμπορείναπαρουσιαστείμετηνχρήσητου Ûείναιαυτότης εύρεσηςτωνψηφίωνενόςαριθμού τόσοσεπλήθοςόσοκαιταίδιαταψηφίαºμια λύσηαυτούτουπροβλήματοςπαρουσιάζεταιστοναλγόριθμο ½ºº
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Αλγόριθμος1.11Εύρεσηκαιεμφάνισηψηφίωνενόςαριθμούº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÒØ Ò ÒØ ÒØ ÓÙÒØ ¼ ÓÙØ Ó Ø ÖØÑÓ ÒÒ Û Ò¼µ Ò± ½ ÒÒ» ½ ¼ ½ ÓÙÒØ ½ ÓÙØ È Ó Ò ½ ½ ÓÙØÒ ½ ÓÙØ È ÓÙÒØÒ ½ ÖØÙÖÒ ¼ ¾¼ ½º º Ηδομή ÓººÛ Τοπρόβλημαμετηναρχικοποίησητηςμεταβλητήςπουελέγχειτονβρόγχοπου παρουσιάστηκεπροηγουμένως μπορείνααντιμετωπιστείμετονβρόγχο ÓººÛº Τογενικόσχήματουβρόγχουείναιτοεπόμενο Ó ÇÅÅÆË Û Ü Ô Ö Ó Ò µ Μετηνβοήθειατου ÓººÛξαναγράφουμετοπροηγούμενοπαράδειγμακαιτο αποτέλεσμαεμφανίζεταιστοναλγόριθμο ½ºº Ηβασικήδιαφοράμετονβρόγχο Ûείναιπωςοβρόγχοςεκτελείπρώτατιςεντολέςτουκαιμετάγίνεταιέλεγχοςº Αυτόσημαίνειπωςοιεντολέςμέσαστονβρόγχοθαεκτελεστούνέστωκαιμια φοράº ½º º Ηδομή ÓÖ Η τελευταίαδομήελέγχουείναιηδομή ÓÖº ακόλουθο ÓÖ Ø Ö Ø Ø Ô µ Το σχήματηςεντολήςείναιτο
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Αλγόριθμος1.12Εύρεσηπλήθουςθετικώναριθμώνμεχρήση ÓººÛ ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ü ÒØ Ó Ù Ò Ø Ö ¼ Ó ÓÙØ Ó Ø Ò ÖØÑÓ Ò Ü Ü¼µ Ó Ù Ò Ø Ö ½ Û Ü ¼µ ½ ÓÙØ Ó Ø ÓÙÒØÖ ÖØÑÓÙ Ò ½ ÖØÙÖÒ ¼ ½ ÇÅÅÆË Σεαυτήντηνδομήπρώταεκτελείταιηεντολή ØÖØανεξάρτηταανισχύειησυνθήκη ήόχιº Ηεντολή ØÖØσυνήθωςείναιηαρχικοποίησηκάποιαςμεταβλητής ήκαικλήσησεκάποιασυνάρτησηºστηνσυνέχειαγίνεταιέλεγχοςτηςέκφρασης º Ανείναιαληθήςτότεεκτελούνταιοιεντολές ÇÅÅÆËκαιαμέσως μετάηεντολή ØÔº Μετάτηνεντολή ØÔγίνεταιπάλιέλεγχοςτης º Ολη ηπαραπάνωδιαδικασίαθαμπορούσεεύκολαναπροσομοιωθείκαιμετηνεντολή ÛºΣτοπαράδειγματουαλγορίθμου ½º½ χρησιμοποιούμετηνδομή ÓÖγιανα διαβάσουμεαπότοπλήκτρολόγιοναριθμούς όπουτοντοεισάγειοχρήστηςº Τοπρόγραμμαεμφανίζειστοτέλοςτονμέσοόροτωναριθμώνπουεισήχθησανº ½º Συναρτήσεις ΤοεπόμενοθέμαπουθαασχοληθούμεείναιοισυναρτήσειςºΜετιςσυναρτήσεις μπορείκανείςναγράψεικώδικαοοποίοςμπορείναγραφείμιαφοράκαινακαλείται πολλέςφορέςº Επιπλέονοισυναρτήσειςμπορούνόπωςκαισταμαθηματικάνα δεχθούνδεδομένασανείσοδο ορίσματαµκαιναδώσουνέξοδοκάποιατιμήº ½ºº½ Συναρτήσειςχωρίςορίσματα Στοπαράδειγματουαλγορίθμου ½º½ησυνάρτηση ÔÖÒØÅ µκαλείταισε πολλάσημείατης ÑÒ µº Ηλέξηκλειδί ÚÓστηνσυνάρτησησημαίνειπωςαυτήησυνάρτησηδενπρόκειται ναεπιστρέψειτιμήºφυσικάμιασυνάρτησημπορείναγίνειπιοχρήσιμηαπότονα
ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ ½ Αλγόριθμος1.13Εύρεσημέσουόρουαριθμώνμεχρήσητουβρόγχου ÓÖº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ ÑÒ µ ÓÙ Ü ÙѼº¼ ÚÖ ÒØ ÓÙÒØ Ò Ó Ù Ò Ø Ö ÓÙØ Ó Ø Ô Ø Ó ÖØÑÓÒ ÒÒ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖÒ Ó Ù Ò Ø Ö µ ÓÙØ Ó Ø ÖØÑÓ Ò Ü ½ ÙÑ ÙÑ Ü ½ ½ ÚÖ ÙÑ»Ò ½ ÓÙØÇÑ Ó Ó Ö Ó Ò ÚÖÒ ½ ÖØÙÖÒ ¼ ½ Αλγόριθμος 1.14Πολλαπλήκλήσητηςίδιαςσυνάρτησηςγιαεμφάνισημηνυμάτωνº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÚÓ ÔÖÒØÅ µ ÓÙØ Å ÖÓÑ Ù Ò Ø Ó Ò Ò ÓÙØ ÒÓØÖ Ñ ÖÓÑ Ù Ò Ø Ó Ò Ò ÒØ ÑÒ µ ÒØ Ó Ù Ò Ø Ö ½ ÔÖÒØÅ µ ½ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖ Ó Ù Ò Ø Ö µ ½ ½ ÓÙØÃÓÙÑ Ø Ò Ý Ò Ö Ø Ô Ò ½ ÔÖÒØÅ µ ½ ½ ÖØÙÖÒ ¼ ¾¼
½ Αλγόριθμος1.15Ανάγνωση αριθμώνκαιεμφάνισητουμέσουόρουτουςμε τηνχρήσησυνάρτησηςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÚÓ ÓÑÔÙØÚ µ ÒØ Ó Ù Ò Ø Ö ÓÙ ÙÑ ¼º¼ ÓÙ Ü ÚÖ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖ Ó Ù Ò Ø Ö µ ÓÙØ Ó Ø ÖØÑÓ Ò Ü ½ ÙÑ ÙÑ Ü ½ ½ ÚÖ ÙÑ» Ó Ù Ò Ø Ö ½ ÓÙØÇÑ Ó Ó Ö Ó ÖØÑÓÒ Ò ÚÖÒ ½ ½ ½ ÒØ ÑÒ µ ¾¼ ¾½ ÓÑÔÙØÚ µ ¾¾ ÖØÙÖÒ ¼ ¾ τυπώνειμηνύματαστηνοθόνηºστοπαράδειγματουαλγορίθμου ½º½ησυνάρτηση ÓÑÔÙØÚ µδιαβάζει αριθμούςαπότοπληκτρολόγιο βρίσκειτονμέσοόρο τους και τον εμφανίζειº ½ºº¾ Συναρτήσειςμεορίσματα Ανκαιοισυναρτήσειςχωρίςορίσματαχρησιμοποιούνταιαρκετά συνήθωςεμφανίζονταιμεορίσματαº Αυτόγίνεταιγιατίθέλουμεηεκτέλεσητηςσυνάρτησηςνα διαφοροποιείταιανάλογαμετηνείσοδοπουπαρέχειοχρήστηςº Στοπαράδειγμα ½º½αλλάζουμετηνσυνάρτηση ÓÑÔÙØÚ µώστεναδέχεταιείσοδοαπότον χρήστηº Οιπαράμετροιστιςσυναρτήσειςείναιτοπικέςμεταβλητέςσεαυτέςκαι γράφονταιμέσαστιςπαρενθέσειςτηςσυνάρτησηςºοχρήστηςθαπρέπειναδώσει στηνσυνάρτησηαπότηνοποίαγίνεταιηκλήση η ÑÒστηνπερίπτωσήμαςµτιμές γιακάθεόρισματηςσυνάρτησηςº
½ Αλγόριθμος1.16ΜέσοςόροςΝαριθμώνμευπολογισμόαπόσυνάρτησηº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÚÓ ÓÑÔÙØÚ ÒØ Ò µ ÒØ Ó Ù Ò Ø Ö ÓÙ ÙÑ ¼º¼ ÓÙ Ü ÚÖ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖÒ Ó Ù Ò Ø Ö µ ÓÙØ Ó Ø ÖØÑÓ Ò Ü ½ ÙÑ ÙÑ Ü ½ ½ ÚÖ ÙÑ»Ò ½ ÓÙØÇÑ Ó Ó Ö Ó Ò ÖØÑÓÒ Ò ÚÖÒ ½ ½ ½ ÒØ ÑÒ µ ¾¼ ¾½ ÒØ ÒÙÑÖ ¾¾ ÓÙØ ÔÓ ÓÙ ÖØÑÓÙ Ø Ø Ñ Ó ÓÖÓ ¾ ÒÒÙÑÖ ¾ ÓÑÔÙØÚ ÒÙÑÖ µ ¾ ÖØÙÖÒ ¼ ¾
½ ½ºº Συναρτήσειςμεορίσματακαιεπιστροφή Ησυνάρτηση ÓÑÔÙØÚ µμπορείναγίνειπιοχρήσιμιανεπιστρέφειστηνκαλούσα συνάρτησητηντιμήπουυπολογίζειαντίνατηνεμφανίζειºαυτόείναιησυνήθης πρακτικήόπωςκαισταμαθηματικάºστοναλγόριθμο ½º½παρουσιάζεταιμιαεκδοχήτηςσυνάρτησης ÓÑÔÙØÚ µμεεπιστροφήτιμώνστονχρήστηºμπορούμε νακάνουμετοπρόγραμμαακόμαπιοδομημένομεταφέρονταςτηνανάγνωσητων δεκαδικώναριθμώνσεξεχωριστήσυνάρτησημετοόνομα ÖÓÙ µ όπως παρουσιάζεταιστοναλγόριθμο ½º½º Μιαακόμαχρήσιμησυνάρτησηπουεμφανίζεταισεπολλάπροβλήματαείναιη συνάρτησητουπαραγωντικούºσεαυτήνθαπρέπειοχρήστηςναυπολογίσειτο ƽ 2 3... N Στοναλγόριθμο ½º½παρουσιάζεταιμιαπρώτηεκδοχήγιατοπρόβλημααυτόμε επαναληπτικότρόποºωστόσοτιςπερισσότερεςφορέςαυτότοπρόβλημααντιμετωπίζεταιμετηνχρήσηαναδρομής δηλαδήμεκλήσητηςσυνάρτησηςαπότηνίδια όπωςπαρουσιάζεταικαιστοναλγόριθμο ½º¾¼º
½ Αλγόριθμος 1.17 Υπολογισμός μέσου όρου αριθμών με συνάρτηση και επιστροφήτιμήςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÓÙ ÓÑÔÙØÚ ÒØ Ò µ ÒØ Ó Ù Ò Ø Ö ÓÙ ÙÑ ¼º¼ ÓÙ Ü ÚÖ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖÒ Ó Ù Ò Ø Ö µ ÓÙØ Ó Ø ÖØÑÓ Ò Ü ½ ÙÑ ÙÑ Ü ½ ½ ÚÖ ÙÑ»Ò ½ ÖØÙÖÒ ÚÖ ½ ½ ½ ÒØ ÑÒ µ ¾¼ ¾½ ÒØ Ò½ Ò¾ ¾¾ ÓÙ Ú½ Ú¾ ¾ ÓÙØ ÔÓ ÓÙ ÖØÑÓÙ Ø Ø Ñ Ó ÓÖÓ ¾ ÒÒ½ ¾ Ú½ÓÑÔÙØÚ Ò½ µ ¾ ÓÙØ ÔÓ ÓÙ ÖØÑÓÙ Ø Ø Ñ Ó ÓÖÓ ¾ ÒÒ¾ ¾ Ú¾ÓÑÔÙØÚ Ò¾ µ ¾ ÓÙØÇ Ñ Ó Ó Ö Ó Ò Ú½Ú¾Ò ¼ ÖØÙÖÒ ¼ ½
½ Αλγόριθμος 1.18 Χρήση ξεχωριστής συνάρτησης για την ανάγνωση δεκαδικώναριθμώνγιατοπρόβληματουμέσουόρουº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÓÙ ÖÓÙ µ ÓÙ Ü ÓÙØ Ó Ø ÖØÑÓ ÒÜ ÖØÙÖÒ Ü ÓÙ ÓÑÔÙØÚ ÒØ Ò µ ½ ½ ÒØ Ó Ù Ò Ø Ö ½ ÓÙ ÙÑ ¼º¼ ½ ÓÙ Ü ÚÖ ½ ÓÖ Ó Ù Ò Ø Ö ½ ÓÙÒØÖÒ Ó Ù Ò Ø Ö µ ½ ½ ÜÖÓÙ µ ¾¼ ÙÑ ÙÑ Ü ¾½ ¾¾ ÚÖ ÙÑ»Ò ¾ ÖØÙÖÒ ÚÖ ¾ ¾ ¾ ÒØ ÑÒ µ ¾ ¾ ÒØ Ò½ Ò¾ ¾ ÓÙ Ú½ Ú¾ ¼ ÓÙØ ÔÓ ÓÙ ÖØÑÓÙ Ø Ø Ñ Ó ÓÖÓ ½ ÒÒ½ ¾ Ú½ÓÑÔÙØÚ Ò½ µ ÓÙØ ÔÓ ÓÙ ÖØÑÓÙ Ø Ø Ñ Ó ÓÖÓ ÒÒ¾ Ú¾ÓÑÔÙØÚ Ò¾ µ ÓÙØÇ Ñ Ó Ó Ö Ó Ò Ú½Ú¾Ò ÖØÙÖÒ ¼
½ Αλγόριθμος1.19Υπολογισμόςτουπαραγοντικούμεεπαναληπτικότρόποº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ Ø Ó Ö ÒØ Ò µ ÒØ Ô½ ÒØ ÓÖ ½ Ò µ ÔÔ ÖØÙÖÒ Ô ½ ½ ½ ÒØ ÑÒ µ ½ ½ ÒØ ÒÙÑÖ ½ ÓÙØ Ó Ø ÖØÑÓ ½ ÒÒÙÑÖ ¾¼ ÓÙØÌÓ Ô Ö Ó Ò Ø Ó ØÓÙ Ò Ø Ó Ö ÒÙÑÖµÒ ¾½ ÖØÙÖÒ ¼ ¾¾ Αλγόριθμος1.20Υπολογισμόςπαραγωντικούμετηνχρήσηαναδρομήςº ½ ÒÙ Ó ØÖÑ ¾ Ù Ò ÒÑ Ô Ø ÒØ Ø Ó Ö ÒØ Ò µ Ò½µ ÖØÙÖÒ ½ ÖØÙÖÒ Ò Ø Ó Ö Ò ½µ ÒØ ÑÒ µ ÒØ ÒÙÑÖ ½ ÓÙØ Ó Ø ÖØÑÓ ½ ÒÒÙÑÖ ½ ÓÙØÌÓ Ô Ö Ó Ò Ø Ó ØÓÙ Ò Ø Ó Ö ÒÙÑÖµÒ ½ ÖØÙÖÒ ¼ ½