31/03/2015 Καθηγητής : Δρίμτζιας Βασίλης 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 1ο: ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ
Η ΕΝΝΟΙΑ ΠΡΟΒΛΗΜΑ Με τον όρο «πρόβλημα» εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Ενδεικτικά προβλήματα (γενικά): Το πρόβλημα μέτρησης του χρόνου, μέχρι την εφεύρεση της κλεψύδρας και του εκκρεμούς Προβλήματα κοινωνικής αδικίας και εκμετάλλευσης Το πρόβλημα του έτους 2000 (millennium bug) Προβλήματα επιδημιών, μέχρι να ανακαλυφθούν τα απαιτούμενα εμβόλια Η τρύπα του όζοντος Η ενοποίηση των τεσσάρων πεδίων δυνάμεων 31/03/20152 Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΤΑΝΟΗΣΗ ΠΡΟΒΛΗΜΑΤΟΣ Η κατανόηση ενός προβλήματος αποτελεί συνάρτηση δύο παραγόντων: Σωστή διατύπωση εκ μέρους του δημιουργού του Σωστή ερμηνεία από τη μεριά εκείνου που καλείται να το αντιμετωπίσει. Η μορφή με την οποία παρουσιάζεται ένα πρόβλημα μπορεί να είναι οποιαδήποτε, αρκεί να μπορεί να γίνει αντιληπτή από μια από τις πέντε αισθήσεις. 31/03/20153 Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΤΑΝΟΗΣΗ ΠΡΟΒΛΗΜΑΤΟΣ(2) Σαφήνεια διατύπωσης: Ο Γιάννης και η Μαρία είναι παντρεμένοι. Ο Χρήστος είναι αθλητικός τύπος. Η Ελένη είναι προϊσταμένη σε τράπεζα. Πόσες ασάφειες μπορούν να εντοπιστούν στην παραπάνω παράγραφο; Ο Γιάννης είναι παντρεμένος με τη Μαρία ή απλά και οι δύο είναι παντρεμένοι; Αν θέλουμε να αγοράσουμε δώρα, πόσα δώρα θα έπρεπε να αγοραστούν; 31/03/20154 Καθηγητής : Δρίμτζιας Βασίλης
ΣΗΜΑΝΤΙΚΟΙ ΟΡΙΣΜΟΙ Με τον όρο δεδομένο δηλώνεται οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του Με τον όρο πληροφορία, αναφέρεται οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων Ο όρος επεξεργασία δεδομένων δηλώνει τη διαδικασία κατά την οποία ένας «μηχανισμός» δέχεται τα δεδομένα, τα επεξεργάζεται σύμφωνα με ένα προκαθορισμένο τρόπο και αποδίδει πληροφορίες. 31/03/20155 Καθηγητής : Δρίμτζιας Βασίλης
ΔΟΜΗ ΠΡΟΒΛΗΜΑΤΟΣ Με τον όρο δομή ενός προβλήματος αναφερόμαστε στα συστατικά του μέρη, στα επιμέρους τμήματα που το αποτελούν και στον τρόπο που αυτά τα μέρη συνδέονται μεταξύ τους. 31/03/20156 Καθηγητής : Δρίμτζιας Βασίλης
ΑΝΤΙΜΕΤΩΠΙΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 31/03/20157 Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΘΟΡΙΣΜΟΣ ΑΠΑΙΤΗΣΕΩΝ Η σωστή επίλυση ενός προβλήματος προϋποθέτει: Τον επακριβή προσδιορισμό των δεδομένων που παρέχει το πρόβλημα Τη λεπτομερειακή καταγραφή των ζητουμένων που αναμένονται σαν αποτελέσματα της επίλυσης του προβλήματος. 31/03/20158 Καθηγητής : Δρίμτζιας Βασίλης
ΣΤΑΔΙΑ ΑΝΤΙΜΕΤΩΠΙΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ Κατανόηση, όπου απαιτείται η σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητουμένων του προβλήματος Ανάλυση, όπου το αρχικό πρόβλημα διασπάται σε άλλα επιμέρους απλούστερα προβλήματα Επίλυση, όπου υλοποιείται η λύση του προβλήματος, μέσω της λύσης των επιμέρους προβλημάτων 31/03/20159 ΚΑΤΑΝΟΗΣΗΑΝΑΛΥΣΗΕΠΙΛΥΣΗ Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΤΗΓΟΡΙΕΣ ΠΡΟΒΛΗΜΑΤΩΝ(1) Με κριτήριο τη δυνατότητα επίλυσης: Επιλύσιμα: Η λύση τους είναι ήδη γνωστή και έχει διατυπωθεί. Επιλύσιμα είναι επίσης προβλήματα που η λύση τους δεν έχει ακόμα διατυπωθεί, αλλά η συνάφειά τους με άλλα υποδηλώνει ότι θα λυθούν. Ανοικτά: Η λύση τους δεν έχει ακόμα βρεθεί, αλλά παράλληλα δεν έχει αποδειχθεί ότι δεν έχουν λύση. Άλυτα: Έχουμε φτάσει στην παραδοχή ότι δεν επιδέχονται λύση (Τετραγωνισμός του κύκλου) 31/03/ Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΤΗΓΟΡΙΕΣ ΠΡΟΒΛΗΜΑΤΩΝ(2) Με κριτήριο το βαθμό δόμησης των λύσεων: Δομημένα: Η επίλυση προέρχεται από μια αυτοματοποιημένη διαδικασία (Δευτεροβάθμια εξίσωση) Ημιδομημένα: Η λύση επιδιώκεται στα πλαίσια ενός εύρους πιθανών λύσεων (επιλογή μέσου μεταφοράς για κάποια διαδρομή: λεωφορείο, μετρό, ταξί, αυτοκίνητο, περπάτημα) Αδόμητα: Οι λύσεις τους δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί η δυνατότητα δόμησής τους. 31/03/ Καθηγητής : Δρίμτζιας Βασίλης
ΚΑΤΗΓΟΡΙΕΣ ΠΡΟΒΛΗΜΑΤΩΝ(3) Με κριτήριο το είδος επίλυσης: Απόφασης: Η απόφαση που θα ληφθεί ως λύση του προβλήματος απαντά σε κάποιο ερώτημα, ενδεχομένως του τύπου ΝΑΙ ή ΌΧΙ. (Ο ακέραιος αριθμός Ν είναι πρώτος;) Υπολογιστικά: Το πρόβλημα που τίθεται απαιτεί τη διενέργεια υπολογισμών για να μπορέσει να δοθεί μια απάντηση. (Να βρεθούν οι παραγοντοποιήσεις του Ν) Βελτιστοποίησης: Το πρόβλημα που τίθεται επιζητά το βέλτιστο αποτέλεσμα για τα συγκεκριμένα δεδομένα (Να παραγοντοποιηθεί το Ν με το μέγιστο αριθμό παραγόντων) 31/03/ Καθηγητής : Δρίμτζιας Βασίλης
ΠΡΟΒΛΗΜΑ ΚΑΙ ΥΠΟΛΟΓΙΣΤΗΣ Οι λόγοι που αναθέτουμε την επίλυση ενός προβλήματος σε υπολογιστή είναι: Η πολυπλοκότητα των υπολογισμών Η επαναληπτικότητα των διαδικασιών Η ταχύτητα εκτέλεσης των πράξεων Το μεγάλο πλήθος των δεδομένων 31/03/ Καθηγητής : Δρίμτζιας Βασίλης
ΠΡΟΒΛΗΜΑ ΚΑΙ ΥΠΟΛΟΓΙΣΤΗΣ Ο υπολογιστής μπορεί να εκτελεί τις ακόλουθες λειτουργίες μόνο: Πρόσθεση, η βασική αριθμητική πράξη, όλες οι άλλες μπορούν να αντιμετωπιστούν ως διαδικασίες πρόσθεσης Σύγκριση, η βασική λειτουργία για τη διενέργεια λογικών πράξεων Μεταφορά δεδομένων, λειτουργία που προηγείται και ακολουθεί την επεξεργασία δεδομένων. 31/03/ Καθηγητής : Δρίμτζιας Βασίλης