Ποια είναι η σχέση προβλήματος και υπολογιστή; 1.1 Η έννοια πρόβλημα Παραδείγματα προβλημάτων Κοινωνικά προβλήματα (ναρκωτικά, ανεργία, επιδημίες) Φυσικά φαινόμενα (σεισμοί, πλημμύρες, επιδημίες) Μέτρηση χρόνου στην αρχαιότητα Ενεργειακό πρόβλημα Προστασία φυσικού περιβάλλοντος (τρύπα όζοντος) Τεχνολογικά προβλήματα (Millennium Bug) Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι προφανής, ούτε γνωστή. 1
1.2 Κατανόηση προβλήματος Ένα πρόβλημα μπορεί να έχει οποιαδήποτε μορφή, αρκεί να γίνει αντιληπτό με κάποια/-ες από τις 5 αισθήσεις. Ακοή (ηχορύπανση, στάξιμο βρύσης) Αφή (κάψιμο, γρατζουνιά) Όσφρηση (ρύπανση αυτοκ/των, διαρροή φυσικού αερίου) Όραση (μολυσμένο ποτάμι, σκουπίδια στη θάλασσα) Γεύση (χαλασμένο γάλα) Ένα πρόβλημα μπορεί να διατυπωθεί με οποιοδήποτε τρόπο, αλλά συνηθέστερος είναι ο προφορικός και ο γραπτός λόγος. 2
1.2 Κατανόηση προβλήματος Για να λυθεί σωστά ένα πρόβλημα θα πρέπει να έχει γίνει απόλυτα κατανοητό. Σωστή Διατύπωση & Σωστή Ερμηνεία Κατανόηση προβλήματος Επίλυση προβλήματος Άστοχη χρήση ορολογίας ή λανθασμένη σύνταξη Δυσκολία στην κατανόηση του προβλήματος 3
1.2 Κατανόηση προβλήματος Παράδειγμα Ο σύζυγος λέει στη σύζυγο: «Πρέπει να αγοράσω δώρα για τους συναδέλφους μου. Ο Γιάννης και η Μαρία είναι παντρεμένοι. Ο Χρήστος είναι αθλητικός τύπος. Η Ελένη είναι προϊσταμένη σε τράπεζα. Μπορείς να το φροντίσεις εσύ σε παρακαλώ;» Μα αφού ήμουν σαφής, γιατί η σύζυγος μου έφερε μόνο τρία δώρα; Πόσοι μαθητές έχουν γεννηθεί το 1995 και το 1996; 4
1.2 Κατανόηση προβλήματος Δεδομένο - Επεξεργασία - Πληροφορία Άθροισμα 70 12,15,20,9,14 Ταξινόμηση 9,12,14,15,20 Εύρεση μεγαλύτερου 20 5
1.2 Κατανόηση προβλήματος Δεδομένο: οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του. Πληροφορία: οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων. Επεξεργασία Δεδομένων: η διαδικασία στην οποία ένας «μηχανισμός» δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα με έναν καθορισμένο τρόπο και αποδίδει πληροφορίες. Ο μέσος όρος της βαθμολογίας μου στο Α τετράμηνο είναι δεδομένο ή πληροφορία; Μηχανισμοί επεξεργασίας: 6
1.3 Δομή προβλήματος Καλείστε να αντιμετωπίσετε ένα περίπλοκο και πολυπαραγοντικό πρόβλημα. Π.χ. την διοργάνωση ενός πάρτι για τα γενέθλιά σας. Τι κάνετε; Διασπάμε το πρόβλημα σε απλούστερα ελαττώνεται η δυσκολία επίλυσής του 7
1.3 Δομή προβλήματος Η ανάλυση ενός προβλήματος συνίσταται στη διάσπασή του σε επιμέρους υποπροβλήματα και τη διάσπαση αυτών σε ακόμα απλούστερα κ.ο.κ. μέχρι αυτά να θεωρηθούν αρκετά απλά. Δομή ενός προβλήματος είναι τα συστατικά μέρη του προβλήματος, τα επιμέρους τμήματα που το αποτελούν, καθώς επίσης και ο τρόπος που αυτά τα μέρη συνδέονται μεταξύ τους. Ας δουλέψουμε λοιπόν την αναλυτική μας ικανότητα!!! 8
1.3 Δομή προβλήματος Η δομή ενός προβλήματος μπορεί να περιγραφεί είτε φραστικά είτε γραφικά (συνήθως, διαγραμματικά). 1) Προσκλήσεις Δημιουργία Ποιοι θα είναι οι καλεσμένοι Κείμενο πρόσκλησης Αποστολή 2) Τρόφιμα Φαγητό Ποτά 3) Διακόσμηση σπιτιού Αγορά μπαλονιών, γιρλάντων Αλλαγή στη διαρρύθμιση των επίπλων κ.τ.λ. Προετοιμασία ενός πάρτι Φραστική αναπαράσταση 9
1.3 Δομή προβλήματος Προετοιμασία ενός πάρτι Διαγραμματική αναπαράσταση Οργάνωση πάρτι Προσκλήσεις Τρόφιμα Μουσική Διακόσμηση σπιτιού Φαγητό Ποτά Αγορά μπαλονιών αναδιάταξη επίπλων 10
1.4 Καθορισμός Απαιτήσεων Ο καθορισμός απαιτήσεων περιλαμβάνει Τον επακριβή προσδιορισμό δεδομένων Τη λεπτομερειακή καταγραφή ζητουμένων Πώς θα κατακτήσουμε την Τροία; Ποιος κρύβεται πίσω από την κλοπή του διάσημου πίνακα; Έχω 23 στον κουμπαρά και μου έδωσε η γιαγιά μου 5. Μπορώ να αγοράσω ένα πατίνι; 11
1.4 Καθορισμός Απαιτήσεων Στάδια αντιμετώπισης ενός προβλήματος: Κατανόηση (ποια είναι τα δεδομένα και τα ζητούμενα) Ανάλυση (σε επιμέρους προβλήματα) Επίλυση Εσείς εφαρμόζετε στην καθημερινότητά σας αυτήν την προσέγγιση; 12
1.5 Κατηγορίες Προβλημάτων Με κριτήριο τη δυνατότητα επίλυσης Επιλύσιμα Ανοικτά Άλυτα Η λύση τους είναι ήδη γνωστή και έχει διατυπωθεί. Η λύση τους δεν έχει διατυπωθεί, αλλά είναι βέβαιη η δυνατότητα επίλυσης. Δεν έχει βρεθεί λύση, αλλά δεν έχει αποδειχθεί ότι δεν επιδέχονται λύση Έχει αποδειχθεί ότι δεν επιδέχονται λύση 13
1.5 Κατηγορίες Προβλημάτων Με κριτήριο το βαθμό δόμησης των λύσεων Δομημένα Η επίλυσή τους προέρχεται από μια αυτοματοποιημένη διαδικασία Ημιδομημένα Η λύση επιλέγεται από ένα εύρος πιθανών λύσεων Αδόμητα Οι λύσεις δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί σε βάθος η δυνατότητα δόμησής τους. 14
1. 5 Κατηγορίες Προβλημάτων Με κριτήριο το είδος επίλυσης Απόφασης Η λύση του προβλήματος απαντά σε ένα ερώτημα, πιθανόν με «Ναι» ή «Όχι» Υπολογιστικά Υπολογίζουμε την τιμή της απάντησης που ικανοποιεί τα δεδομένα του προβλήματος Βελτιστοποίησης Επιζητούμε το βέλτιστο αποτέλεσμα για τα δεδομένα 15
1.6 Πρόβλημα και υπολογιστής Μηχανισμοί επεξεργασίας vs Παράγει ιδέες Ταχύτητα Απεριόριστο πλήθος δεδομένων Ο Η/Υ εκτελεί γρήγορα και χωρίς σφάλματα τις οδηγίες του προγραμματιστή!!! Σε μερικές περιπτώσεις ο Η/Υ είναι απαραίτητος!!! Ο Η/Υ λύνει ΜΟΝΟ τα δομημένα προβλήματα (αυτοματοποιημένη λύση)!!! 16
1.6 Πρόβλημα και υπολογιστής Γιατί αναθέτουμε προβλήματα σε υπολογιστές; Πολυπλοκότητα των υπολογισμών Επαναληπτικότητα των διαδικασιών Ταχύτητα εκτέλεσης των πράξεων Μεγάλο πλήθος δεδομένων Βασικές λειτουργίες των υπολογιστών Πρόσθεση Σύγκριση Μεταφορά δεδομένων 17