ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα σημαντικών ιστορικών ή επιστημονικών προβλημάτων. Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης και απαιτεί λύση η οποία δεν είναι γνωστή εκ των προτέρων. Μερικά σημαντικά ιστορικά ή επιστημονικά προβλήματα είναι: 1. Ο Όμηρος στην Ιλιάδα περιγράφει το πρόβλημα των Ελλήνων, που επινόησαν ως λύση τον Δούρειο Ίππο. 2. Η αργή ταχύτητα μετάδοσης των δεδομένων σε σχέση με τις απαιτήσεις της σύγχρονης τεχνολογίας, αποτελεί πρόβλημα που αντιμετωπίζεται με τις οπτικές ίνες. 3. Το πρόβλημα της κοινωνικής αδικίας οδήγησε στην εμφάνιση του Robin Wood στην Αγγλία. 1.2 Να περιγραφεί το πρόβλημα του 2000. Οι υπολογιστές αναπαριστούσαν την ημερομηνία χρησιμοποιώντας 2 ψηφία για το έτος. Δηλ. η ημερομηνία 15 Απριλίου 1999, αναπαριστάνονταν ως 150499. Το πρόβλημα δημιουργείται από το έτος 2000 και έπειτα, δηλ. από την ημερομηνία 010100, όπου ο υπολογιστής δεν είναι σε θέση να καταλάβει αν πρόκειται για την ημερομηνία 1 Ιανουαρίου 2000 ή 1 Ιανουαρίου 1900. Το συγκεκριμένο πρόβλημα αν και φαίνεται απλό μπορεί να έχει περίπλοκες επιπτώσεις. Για παράδειγμα, οι υπολογιστές τραπεζών μπορεί να κάνουν λάθος οικονομικούς λογαριασμούς, υπολογιστές αεροπορικών εταιρειών να ακυρώνουν κρατήσεις, κλπ.
Το πρόβλημα επιλύεται με την χρήση τεσσάρων ψηφίων για την αναπαράσταση του έτους στους σύγχρονους υπολογιστές. 1.3 Από ποιους παράγοντες εξαρτάται η κατανόηση ενός προβλήματος και ποια μπορεί να είναι η μορφή διατύπωσης ενός προβλήματος; Για να γίνει πλήρως κατανοητό ένα πρόβλημα απαιτείται: 1. Σαφής διατύπωση εκ μέρους του δημιουργού του. 2. Σωστή ερμηνεία από εκείνον που καλείται να το αντιμετωπίσει. Η μορφή με την οποία παρουσιάζεται ένα πρόβλημα μπορεί να είναι οποιαδήποτε, αρκεί να γίνεται αντιληπτό με μια από τις πέντε ανθρώπινες αισθήσεις. Συνηθέστερο μέσο για την αποτύπωση ενός προβλήματος είναι ο λόγος, γραπτός ή προφορικός. 1.4 Τι εννοούμε λέγοντας χώρο ενός προβλήματος; Με τον όρο χώρο προβλήματος ορίζουμε την περιοχή, (π.χ. επιστημονική, καθημερινή ζωή), από την οποία προέρχεται το πρόβλημα. Για παράδειγμα, στο πρόβλημα "κάνω δίαιτα για να χάσω βάρος", ο χώρος του προβλήματος μπορεί να είναι η υγεία ή η ομορφιά. Ο χώρος του προβλήματος είναι σημαντικός παράγοντας για την επίλυση του προβλήματος γιατί θα πρέπει να προσαρμόσουμε την λύση ανάλογα. Για παράδειγμα, στην περίπτωση δίαιτας για λόγους υγείας θα πρέπει να είμαστε αρκετά πιο προσεκτικοί στην αγωγή (δηλ. λύση) που θα προτείνουμε. 1.5 Να δοθούν οι ορισμοί των όρων «δεδομένα», «επεξεργασία δεδομένων», «πληροφορία». Δεδομένο αποτελεί οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό με μια από τις πέντε αισθήσεις του παρατηρητή, στον οποίο διατυπώνεται το πρόβλημα. Είναι δηλ. οποιοδήποτε στοιχείο μπορεί να εξαχθεί από τη διατύπωση του προβλήματος. Επεξεργασία δεδομένων είναι η διαδικασία κατά την οποία τα δεδομένα επεξεργάζονται, κατανοούνται και χρησιμοποιούνται στην επίλυση του προβλήματος. Ο όρος πληροφορία αναφέρεται σε οποιοδήποτε στοιχείο προέρχεται από τη διαδικασία επεξεργασίας των δεδομένων. Δηλ. είναι το αποτέλεσμα της επεξεργασίας δεδομένων. Σχηματικά η σχέση ανάμεσα στα δεδομένα, την επεξεργασία δεδομένων και τις πληροφορίες είναι: ΔΕΔΟΜΕΝΑ ΕΠΕΞΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΑ 1.6 Ποιοι είναι οι μηχανισμοί επεξεργασίας δεδομένων; Οι μηχανισμοί επεξεργασίας των δεδομένων είναι: 1. Ανθρώπινος εγκέφαλος. 2. Υπολογιστής.
1.7 Τι εννοούμε λέγοντας «δομή προβλήματος» και ποια τα πλεονεκτήματα της εύρεσης της δομής ενός προβλήματος Με τον όρο δομή προβλήματος αναφερόμαστε στα.συστατικά του μέρη, δηλ. στα επιμέρους προβλήματα (υποπροβλήματα) που το αποτελούν καθώς και τον τρόπο που αυτά συνδέονται μεταξύ τους. Τα πλεονεκτήματα της ανάλυσης του προβλήματος σε υποπροβλήματα, δηλ. της εύρεσης της δομής του. είναι: 1. Η δυσκολία αντιμετώπισης του προβλήματος ελαττώνεται όσο προχωρά η ανάλυση του σε απλούστερα υποπροβλήματα. 2. Ο κατακερματισμός ενός προβλήματος σε απλούστερα προβλήματα, ενεργοποιεί και οξύνει τη σκέψη και την αναλυτική ικανότητα του ατόμου. 1.8 Πως μπορεί να αναπαρασταθεί η δομή ενός προβλήματος; Ένα πρόβλημα μπορεί να αναπαρασταθεί με δυο τρόπους: 1. Φραστικά, όπου καθένα από τα υποπροβλήματα, περιγράφεται με λόγια. 2. Διαγραμματικά, όπου τα υποπροβλήματα αναπαριστώνται γραφικά ως ορθογώνια παραλληλόγραμμα. 1.9 Πως αναπαρίσταται ένα πρόβλημα διαγραμματικά; Σύμφωνα με τη διαγραμματική αναπαράσταση: 1. Το αρχικό πρόβλημα αναπαρίσταται ως ένα ορθογώνιο παραλληλόγραμμο. 2. Τα επιμέρους προβλήματα αναπαρίστανται επίσης ως ορθογώνια παραλληλόγραμμα. 3. Τα παραλληλόγραμμα που αντιστοιχούν στα υποπροβλήματα σχηματίζονται ένα επίπεδο χαμηλότερα από το πρόβλημα που αναπαριστούν. Για παράδειγμα, ένα τμήμα του προβλήματος των ναρκωτικών μπορεί να αναπαρασταθεί διαγραμματικά ως εξής: Η διαγραμματική αναπαράσταση προσφέρει μια απτή και εύκολα κατανοητή απεικόνιση της δομής του προβλήματος και συνεπώς υπερτερεί της φραστικής αναπαράστασης. 1.10 Ποια είναι τα στάδια επίλυσης ενός προβλήματος; Από τα θέματα που ήδη παρουσιάστηκαν, συνάγεται ότι τα στάδια για την επίλυση ενός προβλήματος είναι: 1. Κατανόηση: γίνεται καθορισμός των απαιτήσεων του προβλήματος, δηλ. αποσαφήνιση των δεδομένων και καταγραφή των ζητουμένων. 2. Ανάλυση: το αρχικό πρόβλημα διασπάται σε επιμέρους, βρίσκουμε δηλ. τη δομή του προβλήματος.
3. Επίλυση: υλοποιείται η λύση του προβλήματος, μέσω της επίλυσης των επιμέρους προβλημάτων. 1.11 Με ποια γενικά κριτήρια μπορούμε να κατηγοριοποιήσουμε τα προβλήματα; Τα προβλήματα μπορούμε να τα κατηγοριοποιήσουμε με βάση τα εξής κριτήρια: 1. Τη δυνατότητα επίλυσής τους, δηλ. της ύπαρξης ή όχι λύσης. 2. Το βαθμό δόμησης της λύσης τους, δηλ. τη δυνατότητα αυτοματοποίηση ς της λύσης τους. 3. Το είδος λύσης τους, δηλ. τον τύπο του αποτελέσματος. 1.12 Σε ποιες κατηγορίες διακρίνονται τα προβλήματα με βάση τη δυνατότητα επίλυσής τους;. Τα προβλήματα με βάση τη δυνατότητα επίλυσής τους διακρίνονται σε: 1. Επιλύσιμα είναι τα προβλήματα που η λύση τους είναι είτε γνωστή είτε είναι παρόμοια με άλλα προβλήματα που ήδη έχουν λυθεί (π.χ. υπολογισμός εμβαδού κύκλου). 2. Άλυτα ονομάζονται τα προβλήματα για τα οποία έχει αποδειχθεί ότι δεν υπάρχει λύση. Έχουμε δηλ. προσπαθήσει να τα επιλύσουμε, αλλά δεν επιδέχονται λύσεως (π.χ. τετραγωνισμός κύκλου). 3. Ανοικτά ονομάζονται τα προβλήματα για τα οποία η λύση δεν έχει ακόμη βρεθεί, αλλά δεν έχει αποδειχθεί ότι δεν μπορούμε να τα επιλύσουμε. 1.13 Σε ποιες κατηγορίες διακρίνονται τα προβλήματα με βάση το βαθμό δόμησης τους; Τα προβλήματα με βάση το βαθμό δόμησής διακρίνονται σε: 1. Δομημένα χαρακτηρίζονται τα προβλήματα των οποίων η λύση προέρχεται από μια αυτοματοποιημένη διαδικασία, δηλ. τα βήματα της λύσεως τους είναι σαφώς καθορισμένα (π.χ. επίλυση δευτεροβάθμιας εξίσωσης). 2. Ημιδομημένα ονομάζονται εκείνα για τα οποία υπάρχει ένα πλήθος λύσεων, αλλά αφήνεται στον ανθρώπινο παράγοντα περιθώρια επιλογής. 3. Αδόμητα ονομάζονται τα προβλήματα τα οποία δεν μπορούν να δομηθούν ή δεν έχει διερευνηθεί σε βάθος η δυνατότητα δόμησής τους. Δηλ. τα βήματα της λύσης τους δεν είναι σαφώς καθορισμένα (π.χ. παιδικό πάρτι). 1.14 Σε ποιες κατηγορίες διακρίνονται τα προβλήματα με βάση το είδος της επίλυσης τους; Τα προβλήματα με βάση το είδος της λύσης διακρίνονται σε: 1. Απόφασης, όταν το πρόβλημα καταλήγει σε μια απόφαση, Π.χ. «Ναι» ή «Όχι», «Γίνεται» ή δεν γίνεται». 2. Υπολογιστικά λέγονται τα προβλήματα που απαιτούν τη διενέργεια υπολογισμών για να δοθεί απάντηση. 3. Βελτιστοποίησης όπου αναζητάμε τη βέλτιστη λύση για τα συγκεκριμένα δεδομένα που διαθέτουμε. 1.15 Για ποιους λόγους αναθέτουμε την επίλυση των προβλημάτων στους υπολογιστές; Χρησιμοποιούμε τους υπολογιστές για την επίλυση προβλημάτων γιατί μπορούν να:
1. Κάνουν πολύπλοκους υπολογισμούς. 2. Επαναλαμβάνουν διαδικασίες και ενέργειες. 3. Εκτελούν ταχύτατα πράξεις. 4. Επεξεργάζονται μεγάλο πλήθος δεδομένων. 1.16 Ποιες βασικές λειτουργίες επιτελεί ένας υπολογιστής; Ο υπολογιστής επιτελεί μόνο τις ακόλουθες βασικές λειτουργίες: 1. Πρόσθεση. Όλες οι υπόλοιπες πράξεις μπορούν να αντιμετωπιστούν σαν διαδικασίες πρόσθεσης. 2. Σύγκριση, η οποία συνιστά τη βασική λειτουργία για την επιτέλεση όλων των λογικών πράξεων. 3. Μεταφορά δεδομένων, λειτουργία απαραίτητη στην επεξεργασία δεδομένων.