Δομημένος Προγραμματισμός (Προγραμματισμός υπολογιστών)
Κέρος Ιωάννης Καθηγητής Πληροφορικής ΠΕ19
Στάδια αντιμετώπισης προβλημάτων.
1. Κατανόηση του προβλήματος.
2. Ανάλυση του προβλήματος. 3. Καθορισμός (των απαιτήσεων) του προβλήματος.
2
9/1/2014
Κέρος Α. Ιωάννης
Κατανόηση του προβλήματος. Πολλές φορές αντιμετωπίζουμε πολύπλοκα προβλήματα. Κατανόηση του περιεχομένου του προβλήματος. Αποσαφήνιση παρερμηνειών. Εντοπισμός δεδομένων - ζητουμένων.
Ορισμός: Η κατανόηση του προβλήματος εμπεριέχει, με σαφήνεια και πληρότητα, τη διάκριση και το συσχετισμό των δεδομένων με τα ζητούμενα.
3
9/1/2014
Κέρος Α. Ιωάννης
Ανάλυση του προβλήματος (Δομή). Ορισμός: Η εργασία ανάλυσης ενός προβλήματος σε άλλα απλούστερα, καθώς και η περιγραφή του τρόπου σύνδεσης αυτών, ώστε η σύνθεση τους να επιλύει το όλο πρόβλημα, καλείται ανάλυση της δομής του προβλήματος. Πάρτι
4
Φαγητό
Ποτό
Είδος
Αγορά
Χώρος
Ποσότητα
9/1/2014
Συμφωνία
Καθαριότητα
Κέρος Α. Ιωάννης
Ανάλυση του προβλήματος (Δομή). Η ανάλυση του προβλήματος είναι διαδικασία: Οικεία σε όλους μας (Παράδειγμα: Τι υποχρεώσεις έχω να κάνω σήμερα το απόγευμα;). Καθαρά προσωπική. Προαιρετική. Ευέλικτη (τα προβλήματα αλλάζουν, δεν παραμένουν στατικά).
5
9/1/2014
Κέρος Α. Ιωάννης
Καθορισμός (των απαιτήσεων) του προβλήματος. Ορισμός: Ο καθορισμός των απαιτήσεων ενός προβλήματος είναι ο εντοπισμός των δεδομένων του, των αποτελεσμάτων του και των σχέσεων που τα συνδέουν. Παράδειγμα (Άσκηση 1, σελίδα 7) Δίνεται ο αριθμός των νικών και των ηττών μιας ομάδας μπάσκετ σε μία αγωνιστική περίοδο. Η ομάδα βαθμολογείται για κάθε νίκη με 2 βαθμούς και για κάθε ήττα με 1 βαθμό. Να υπολογίσετε την συνολική βαθμολογία της ομάδας και να καθορίσετε τον πίνακα δεδομένων – ζητουμένων και των σχέσεων που τα συνδέει. Λύση Δεδομένα: Νίκες, Ήττες Ζητούμενα: Βαθμολογία Σχέσεις: Βαθμολογία= 2*Νίκες +1*Ήττες
6
9/1/2014
Κέρος Α. Ιωάννης
Άσκηση 2. Παράδειγμα (Άσκηση 2, σελίδα 7) Δίνονται το ονοματεπώνυμο, η διεύθυνση, το τηλέφωνο και το πλήθος των KW ρεύματος που κατανάλωσε ένας πελάτης της ΔΕΗ. Η ΔΕΗ κοστολογεί τα πρώτα 100 KW προς 1.5 € το ένα και τα υπόλοιπα προς 2€ το ένα. Ζητείται να υπολογισθεί το κόστος που θα καταβάλλει ο καταναλωτής. Να καθορίσετε τον πίνακα δεδομένων και ζητουμένων και των σχέσεων που τα συνδέουν. Λύση Δεδομένα: Ονοματεπώνυμο, Διεύθυνση, Τηλέφωνο, KW Ζητούμενα: Ποσό Σχέσεις: KW*1.5, αν KW<=100 Ποσό= 100*1.5+(KW-100)*2, αν KW>100
7
9/1/2014
Κέρος Α. Ιωάννης
Άσκηση 3. Παράδειγμα (Άσκηση 3, σελίδα 7) Δίνονται οι δικαιολογημένες και οι αδικαιολόγητες απουσίες ενός μαθητή με δεδομένο ότι το όριο των δικαιολογημένων απουσιών είναι 50 και των αδικαιολόγητων 60. Να ελέγξετε αν ο μαθητής προάγεται ή απορρίπτεται λόγω απουσιών. Να καθορίσετε τον πίνακα δεδομένων και ζητουμένων και των σχέσεων που τα συνδέουν.
8
Λύση Δεδομένα: Δικ, Αδικ Ζητούμενα: Αποτέλεσμα Σχέσεις: Περνάει, αν Δικ<=50 και Αδικ<=60 Αποτέλεσμα= Απορρίπτεται, διαφορετικά 9/1/2014
Κέρος Α. Ιωάννης
Καθορισμός απαιτήσεων. Ορισμός: Δεδομένα είναι σύνολο των στοιχείων που είναι απαραίτητα για την επίλυση του προβλήματος.
9
9/1/2014
Κέρος Α. Ιωάννης
Καθορισμός απαιτήσεων. Ορισμός: Ζητούμενα είναι τα αποτελέσματα που θα προκύψουν μετά την επίλυση του προβλήματος.
10
9/1/2014
Κέρος Α. Ιωάννης
Κύκλος πληροφορίας.
Δεδομένα
Επεξεργασία
Πληροφορίες
Παράδειγμα
11
Βαθμοί μαθημάτων
Μέσος όρος τετραμήνου
Μέσος όρος Α’ τετραμήνου Μέσος όρος Β’ τετραμήνου
Γενικός Μέσος όρος
9/1/2014 Κέρος Α. Ιωάννης
Καθορισμός απαιτήσεων. Ο καθορισμός των απαιτήσεων ενός προβλήματος περιλαμβάνει:
Σαφή καταγραφή των δεδομένων. Αναλυτική διατύπωση του προβλήματος.
Λεπτομερειακή περιγραφή των ζητουμένων. Διερεύνηση αποτελεσμάτων.
12
9/1/2014
Κέρος Α. Ιωάννης
Αλγόριθμοι – Βασικές έννοιες.
Έχετε ακούσει ποτέ την λέξη « »; «Μαμά, πώς να φτιάξω φασολάδα;» «Συγνώμη, κύριε πως θα πάω στην Θεσσαλονίκη;» Ορισμός: Η διαδοχική σειρά πεπερασμένου πλήθους λογικών βημάτων τα οποία εκτελούνται σε πεπερασμένο χρόνο και τα οποία απαιτούνται για την επίλυση ενός προβλήματος καλείται αλγόριθμος.
13
9/1/2014
Κέρος Α. Ιωάννης
Χαρακτηριστικά αλγορίθμων. Ένας καλός αλγόριθμος πρέπει:
Να περιγράφει χρησιμοποιήσει.
με
ακρίβεια
τα
δεδομένα
που
θα
Κάθε βήμα του να είναι καθορισμένο ώστε να φανερώνει τι κάνει. Να δίνει με ακρίβεια τα αποτελέσματα που παράγονται από το κάθε βήμα του.
Να ολοκληρώνεται έπειτα από πεπερασμένο αριθμό βημάτων, που το καθένα εκτελείται σε πεπερασμένο χρόνο.
14
9/1/2014
Κέρος Α. Ιωάννης
Το κόσκινο του Ερατοσθένη. Πρόβλημα: Ποιοι είναι οι πρώτοι αριθμοί, μεταξύ του 1 και ενός αριθμού Ν;
1. Καταγράφουμε όλους του αριθμούς από 2 έως Ν σε μία λίστα.
2. Για κάθε πρώτο αριθμό που συναντάμε στην λίστα, διαγράφουμε από την λίστα τα πολλαπλάσια του. 3. Αν ο πρώτος αριθμός που συναντάμε στην λίστα είναι μικρότερος από την τετραγωνική ρίζα του Ν τότε επαναλαμβάνουμε το βήμα 2, αλλιώς οι εναπομείναντες αριθμοί της λίστας είναι και οι ζητούμενοι πρώτοι αριθμοί του προβλήματος.
15
9/1/2014
Κέρος Α. Ιωάννης
Το κόσκινο του Ερατοσθένη. Παράδειγμα: Ποιοι είναι οι πρώτοι αριθμοί, μεταξύ του 1 και του 16; Βήμα 1. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Βήμα 2. Είναι το 2< ρίζα(16); Ναι, άρα διαγράφουμε τα πολλαπλάσια του. 23 5 7 9 11 13 15 Βήμα 2. Είναι το 3< ρίζα(16); Ναι, άρα διαγράφουμε τα πολλαπλάσια του. 23 5 7 11 13 Βήμα 2. Είναι το 5< ρίζα(16); Όχι, άρα οι ζητούμενοι αριθμοί είναι: 23 5 7 11 13
16
9/1/2014
Κέρος Α. Ιωάννης
Εργαλεία αναπαράστασης αλγορίθμων. Πρέπει να υπάρχει μία κοινή γλώσσα έκφρασης ώστε μετά από καιρό να . είναι εύκολη η κατανόηση και η τροποποίηση του αλγορίθμου από εμάς ή από άλλους. Φραστική μέθοδος. Δομοδιάγραμμα. Ψευδοκώδικας. Λογικό διάγραμμα.
17
9/1/2014
Κέρος Α. Ιωάννης
Ψευδοκώδικας. Αποτελείται από φράσεις, λέξεις και ρήματα στην προστακτική (π.χ. τοποθέτησε, γράψε) της ελληνικής γλώσσας τα οποία έχουν προσυμφωνηθεί όσο αφορά το νόημα τους. Σχεδιάζεται με βάση δημοφιλείς γλώσσες προγραμματισμού.
18
ΑΛΓΟΡΙΘΜΟΣ ΘΕΜΑ1 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ:ΠΡΟΦ, ΓΡΑΠΤ, ΜΟ ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ ΑΡΧΗ ΕΜΦΑΝΙΣΕ ‘Δώσε το ονοματεπώνυμο του μαθητή’ ΔΙΑΒΑΣΕ ΟΝΟΜΑ ΕΜΦΑΝΙΣΕ ‘Δώστε τον προφορικό και τον γραπτό βαθμό του μαθητή’ ΔΙΑΒΑΣΕ ΠΡΟΦ,ΓΡΑΠΤ ΜΟ(ΠΡΟΦ+ΓΡΑΠΤ)/2 ΑΝ ΜΟ >=9.5 ΤΟΤΕ ΕΜΦΑΝΙΣΕ ‘Επιτυχία’ ΑΛΛΙΩΣ ΕΜΦΑΝΙΣΕ ‘Αποτυχία’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ ΘΕΜΑ1
9/1/2014
Κέρος Α. Ιωάννης
Λογικό διάγραμμα. Απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση λειτουργιών.
19
9/1/2014
Κέρος Α. Ιωάννης
Βασικά σχήματα λογικών διαγραμμάτων. Αρχή
Τέλος
Πράξεις
Είσοδος
Υποπρόγραμμα
20
Συνθήκη
Έξοδος
9/1/2014
Εκτύπωση Κέρος Α. Ιωάννης
Βασικές αλγοριθμικές δομές. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης.
21
9/1/2014
Κέρος Α. Ιωάννης