22
Στοιχεία Δομημένου Στοιχεία Δομημένου Προγραμματισμού Προγραμματισμού Προγραμματισμός Προγραμματισμός Υπολογιστών Υπολογιστών ΕΠΑΛ ΕΠΑΛ Καισαριανής Καισαριανής

στοιχεία δομημένου προγραμματισμού

Embed Size (px)

Citation preview

Page 1: στοιχεία δομημένου προγραμματισμού

Στοιχεία Δομημένου Στοιχεία Δομημένου ΠρογραμματισμούΠρογραμματισμού

ΠρογραμματισμόςΠρογραμματισμόςΥπολογιστώνΥπολογιστών

ΕΠΑΛΕΠΑΛΚαισαριανήςΚαισαριανής

Page 2: στοιχεία δομημένου προγραμματισμού

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

Διευκόλυνση στην ανάπτυξη του Διευκόλυνση στην ανάπτυξη του αλγόριθμου, έτσι ώστε να αποτελείται από αλγόριθμου, έτσι ώστε να αποτελείται από ανεξάρτητα τμήματαανεξάρτητα τμήματα

Ευκολία και ταχύτητα στην κωδικοποίησηΕυκολία και ταχύτητα στην κωδικοποίηση Καλύτερη ποιότητα των προγραμμάτωνΚαλύτερη ποιότητα των προγραμμάτων Ευκολία στις διορθώσεις και τη συντήρησηΕυκολία στις διορθώσεις και τη συντήρηση Τεκμηρίωση σχεδόν εξ’ ολοκλήρου στο ίδιο Τεκμηρίωση σχεδόν εξ’ ολοκλήρου στο ίδιο

το πρόγραμματο πρόγραμμα

Page 3: στοιχεία δομημένου προγραμματισμού

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

ΔομέςΔομές• ΑκολουθίαςΑκολουθίας• ΕπιλογήςΕπιλογής• ΕπανάληψηςΕπανάληψης

Από μόνες τους Από μόνες τους δενδεν είναι αρκετές είναι αρκετές Τεχνικές προγραμματισμούΤεχνικές προγραμματισμού

• Ιεραρχικός προγραμματισμόςΙεραρχικός προγραμματισμός• Τμηματικός προγραμματισμόςΤμηματικός προγραμματισμός

Page 4: στοιχεία δομημένου προγραμματισμού

Ιεραρχικός προγραμματισμόςΙεραρχικός προγραμματισμός((από το γενικό στο ειδικό)από το γενικό στο ειδικό)

Η σχεδίαση προχωρά από πάνω προς Η σχεδίαση προχωρά από πάνω προς τα κάτω σε επίπεδατα κάτω σε επίπεδα

Ξεκινάμε από μια σύντομη δήλωση Ξεκινάμε από μια σύντομη δήλωση του τι κάνει το πρόγραμμα στο του τι κάνει το πρόγραμμα στο ψηλότερο επίπεδο ψηλότερο επίπεδο

Σε κάθε επόμενο επίπεδο αναλύουμε Σε κάθε επόμενο επίπεδο αναλύουμε την κάθε επεξεργασία σε μικρότερες την κάθε επεξεργασία σε μικρότερες και πιο λεπτομερειακές και πιο λεπτομερειακές

Page 5: στοιχεία δομημένου προγραμματισμού

Τμηματικός προγραμματισμόςΤμηματικός προγραμματισμός(διαίρει και βασίλευε)(διαίρει και βασίλευε)

Οι διάφορες επεξεργασίες είναι Οι διάφορες επεξεργασίες είναι τμήματα προγράμματος τμήματα προγράμματος

ΛογικάΛογικά ΠλήρηΠλήρη Ανεξάρτητα μεταξύ τουςΑνεξάρτητα μεταξύ τους Όσο το δυνατόν μικράΌσο το δυνατόν μικρά Μια είσοδο και μια έξοδοΜια είσοδο και μια έξοδο

Page 6: στοιχεία δομημένου προγραμματισμού

Διάγραμμα ΙεράρχησηςΔιάγραμμα ΙεράρχησηςΕισόδου-Επεξεργασίας-ΕξόδουΕισόδου-Επεξεργασίας-Εξόδου

Τ000

Είσοδος Τ100 Επεξεργασία Τ200 Έξοδος Τ300

Τ210 Τ220

Τ211 Τ212

Επίπεδο 1

Επίπεδο 2

Επίπεδο 3

Επίπεδο 0

Page 7: στοιχεία δομημένου προγραμματισμού

Ένα υποθετικό πρόβλημαΈνα υποθετικό πρόβλημα

Η μισθοδοσία των υπαλλήλων γίνεται ως εξής: Η μισθοδοσία των υπαλλήλων γίνεται ως εξής: Μέχρι και τις 160 ώρες αποζημιώνονται με 5 € η Μέχρι και τις 160 ώρες αποζημιώνονται με 5 € η μια, ενώ οι παραπάνω με 8 €. Επίσης μια, ενώ οι παραπάνω με 8 €. Επίσης λαμβάνεται εισόδημα 20 € ανά παιδί για τα δυο λαμβάνεται εισόδημα 20 € ανά παιδί για τα δυο πρώτα και 30 € για τα παραπάνω. Από το πρώτα και 30 € για τα παραπάνω. Από το συνολικό εισόδημα γίνεται κράτηση 10% για συνολικό εισόδημα γίνεται κράτηση 10% για ασφάλιση, ενώ από το υπόλοιπο γίνεται ασφάλιση, ενώ από το υπόλοιπο γίνεται κράτηση φόρου 20%. Αν δίνονται οι ώρες κράτηση φόρου 20%. Αν δίνονται οι ώρες εργασίας και ο αριθμός των παιδιών, να εργασίας και ο αριθμός των παιδιών, να υπολογισθούν οι κανονικές αποδοχές, το υπολογισθούν οι κανονικές αποδοχές, το επίδομα τέκνων, οι κρατήσεις και το πληρωτέο επίδομα τέκνων, οι κρατήσεις και το πληρωτέο κάθε υπάλλήλου.κάθε υπάλλήλου.

Page 8: στοιχεία δομημένου προγραμματισμού

Μισθοδοσία 000

Διάγραμμα Διάγραμμα HIPOHIPO (επίπεδο 0) (επίπεδο 0)

Page 9: στοιχεία δομημένου προγραμματισμού

Μισθοδοσία 000

Εισαγωγή δεδομένων 100 Υπολογισμός Πληρωτέου 200 Εκτύπωση Πληρωτέου 300

Διάγραμμα Διάγραμμα HIPOHIPO (επίπεδο 1) (επίπεδο 1)

Page 10: στοιχεία δομημένου προγραμματισμού

Μισθοδοσία 000

Εισαγωγή δεδομένων 100 Υπολογισμός Πληρωτέου 200 Εκτύπωση Πληρωτέου 300

Αποδοχές 210 Κρατήσεις 220

Διάγραμμα Διάγραμμα HIPOHIPO (επίπεδο 2) (επίπεδο 2)

Page 11: στοιχεία δομημένου προγραμματισμού

Μισθοδοσία 000

Εισαγωγή δεδομένων 100 Υπολογισμός Πληρωτέου 200 Εκτύπωση Πληρωτέου 300

Αποδοχές 210 Κρατήσεις 220

Κανονικές 211 Επιδόματα 212 Ασφάλιση 221 Φόρος 222

Διάγραμμα Διάγραμμα HIPOHIPO (επίπεδο 3) (επίπεδο 3)

Page 12: στοιχεία δομημένου προγραμματισμού

Υπολογισμός μισθούΥπολογισμός μισθού ΔΙΑΒΑΣΕ ΩΡΕΣΔΙΑΒΑΣΕ ΩΡΕΣ

ΔΙΑΒΑΣΕ ΠΑΙΔΙΑΔΙΑΒΑΣΕ ΠΑΙΔΙΑ!!

ΑΝ ΩΡΕΣ<=160 ΤΟΤΕΑΝ ΩΡΕΣ<=160 ΤΟΤΕ ΚΑΝΟΝΙΚΕΣ<-ΩΡΕΣ * 5ΚΑΝΟΝΙΚΕΣ<-ΩΡΕΣ * 5

ΑΛΛΙΩΣΑΛΛΙΩΣ ΚΑΝΟΝΙΚΕΣ<- ΩΡΕΣ * 8 - 480ΚΑΝΟΝΙΚΕΣ<- ΩΡΕΣ * 8 - 480 ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΑΝ!!

ΑΝ ΠΑΙΔΙΑ<=2 ΤΟΤΕΑΝ ΠΑΙΔΙΑ<=2 ΤΟΤΕ ΕΠΙΔΟΜΑ<-ΠΑΙΔΙΑ * 20ΕΠΙΔΟΜΑ<-ΠΑΙΔΙΑ * 20

ΑΛΛΙΩΣΑΛΛΙΩΣ ΕΠΙΔΟΜΑ<-ΠΑΙΔΙΑ * 30 -20ΕΠΙΔΟΜΑ<-ΠΑΙΔΙΑ * 30 -20

ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΑΝ!!

ΑΠΟΔΟΧΕΣ <- ΚΑΝΟΝΙΚΕΣ + ΕΠΙΔΟΜΑ ΑΠΟΔΟΧΕΣ <- ΚΑΝΟΝΙΚΕΣ + ΕΠΙΔΟΜΑ !!

ΑΣΦΑΛΙΣΗ <- ΑΠΟΔΟΧΕΣ * 0,1 ΑΣΦΑΛΙΣΗ <- ΑΠΟΔΟΧΕΣ * 0,1 ΦΟΡΟΣ <- (ΑΠΟΔΟΧΕΣ - ΑΣΦΑΛΙΣΗ ) * 0,2ΦΟΡΟΣ <- (ΑΠΟΔΟΧΕΣ - ΑΣΦΑΛΙΣΗ ) * 0,2 ΚΡΑΤΗΣΗ <- ΑΣΦΑΛΙΣΗ + ΦΟΡΟΣ ΚΡΑΤΗΣΗ <- ΑΣΦΑΛΙΣΗ + ΦΟΡΟΣ !!

ΠΛΗΡΩΤΕΟ <- ΑΠΟΔΟΧΕΣ – ΚΡΑΤΗΣΗΠΛΗΡΩΤΕΟ <- ΑΠΟΔΟΧΕΣ – ΚΡΑΤΗΣΗ!!

ΓΡΑΨΕ «Ο υπάλληλος θα πάρει "ΓΡΑΨΕ «Ο υπάλληλος θα πάρει ",, ΠΛΗΡΩΤΕΟ ΠΛΗΡΩΤΕΟ

Page 13: στοιχεία δομημένου προγραμματισμού

Ένα παράδειγμα με επανάληψηΈνα παράδειγμα με επανάληψη

Ο χρήστης δίνει ποσά (Π>=0) που Ο χρήστης δίνει ποσά (Π>=0) που αθροίζονται. Όταν δώσει αρνητικό αθροίζονται. Όταν δώσει αρνητικό αριθμό, η επανάληψη τερματίζεται αριθμό, η επανάληψη τερματίζεται και το άθροισμα εμφανίζεται στην και το άθροισμα εμφανίζεται στην οθόνηοθόνη

Page 14: στοιχεία δομημένου προγραμματισμού

ΨευδοκώδικαςΨευδοκώδικας

ΠΡΟΓΡΑΜΜΑΠΡΟΓΡΑΜΜΑ ΑΘΡΟΙΣΜΑ_ΠΟΣΩΝ_ΠΟΥ_ΔΙΝΕΙ_Ο_ΧΡΗΣΤΗΣ ΑΘΡΟΙΣΜΑ_ΠΟΣΩΝ_ΠΟΥ_ΔΙΝΕΙ_Ο_ΧΡΗΣΤΗΣ ΜΕΤΑΒΛΗΤΕΣΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:ΑΚΕΡΑΙΕΣ: Π Π,, Σ Σ ΑΡΧΗΑΡΧΗ ! ! Π Π <-<- 0 0 Σ Σ <-<- 0 0 !! ΟΣΟΟΣΟ Π Π >=>= 0 0 ΕΠΑΝΑΛΑΒΕΕΠΑΝΑΛΑΒΕ Σ Σ <-<- Σ Σ ++ Π Π ΓΡΑΨΕΓΡΑΨΕ "Δώστε ένα ποσό" "Δώστε ένα ποσό" ΔΙΑΒΑΣΕΔΙΑΒΑΣΕ Π Π ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !! ΓΡΑΨΕΓΡΑΨΕ "Το άθροισμα των ποσών είναι " "Το άθροισμα των ποσών είναι ",, Σ ΣΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Page 15: στοιχεία δομημένου προγραμματισμού

Παράδειγμα διαγράμματος Παράδειγμα διαγράμματος HIPOHIPO

Άθροισμα 000

Αρχικά100

Κύρια200

Τελικά300

Υπολογισμός Αθροίσματος

210

ΕισαγωγήΠοσού

220

ΜηδενισμόςΜεταβλητών

110

ΕμφάνισηΑθροίσματος

310

Page 16: στοιχεία δομημένου προγραμματισμού

Διάγραμμα ροήςΔιάγραμμα ροής

Αρχικά 100

Κύρια 200

Τελικά 300

Ποσό>=0

Αρχή

Τέλος

Όχι

Ναι

Page 17: στοιχεία δομημένου προγραμματισμού

ΈλεγχοςΈλεγχοςΑλγορίθμωνΑλγορίθμων

ΠρογραμματισμόςΠρογραμματισμόςΥπολογιστώνΥπολογιστών

ΕΠΑΛΕΠΑΛΚαισαριανήςΚαισαριανής

Page 18: στοιχεία δομημένου προγραμματισμού

Διαδικασίες τερματισμούΔιαδικασίες τερματισμού

Ένα σημείο έναρξηςΈνα σημείο έναρξης Ένα σημείο τερματισμούΈνα σημείο τερματισμού Ότι κι αν συμβεί, πρέπει η ροή Ότι κι αν συμβεί, πρέπει η ροή

εκτέλεσης του αλγόριθμου να περνάει εκτέλεσης του αλγόριθμου να περνάει από το σημείο τερματισμού τουαπό το σημείο τερματισμού του

Page 19: στοιχεία δομημένου προγραμματισμού

Δοκιμή αλγόριθμουΔοκιμή αλγόριθμου

1.1. Καταγραφή εικονικών δεδομένων Καταγραφή εικονικών δεδομένων σύμφωνα με τις απαιτήσεις του σύμφωνα με τις απαιτήσεις του προβλήματοςπροβλήματος

2.2. Εξαγωγή αποτελεσμάτων χειρογραφικάΕξαγωγή αποτελεσμάτων χειρογραφικά3.3. Κωδικοποίηση αλγόριθμου σε γλώσσα Κωδικοποίηση αλγόριθμου σε γλώσσα

προγραμματισμούπρογραμματισμού4.4. Εκτέλεση του προγράμματος και Εκτέλεση του προγράμματος και

καταγραφή των αποτελεσμάτωνκαταγραφή των αποτελεσμάτων5.5. Σύγκριση με τα χειρογραφικά Σύγκριση με τα χειρογραφικά

αποτελέσματααποτελέσματα

Page 20: στοιχεία δομημένου προγραμματισμού

ΕκσφαλμάτωσηΕκσφαλμάτωση

Ασυμφωνία αποτελεσμάτων σημαίνει Ασυμφωνία αποτελεσμάτων σημαίνει λογικά λάθηλογικά λάθη

Διαδικασία εύρεσής τους ονομάζεται Διαδικασία εύρεσής τους ονομάζεται εκσφαλμάτωσηεκσφαλμάτωση• Διαπίστωση του είδους του λάθουςΔιαπίστωση του είδους του λάθους• Ανεύρεση του τμήματος που βρίσκεταιΑνεύρεση του τμήματος που βρίσκεται• Ανεύρεση του λάθους μέσα σε αυτόΑνεύρεση του λάθους μέσα σε αυτό

Page 21: στοιχεία δομημένου προγραμματισμού

Έλεγχος δεδομένωνΈλεγχος δεδομένων

Κατά τη διαδικασία δοκιμής του Κατά τη διαδικασία δοκιμής του αλγόριθμου πρέπει να επιλέγουμε αλγόριθμου πρέπει να επιλέγουμε δεδομένα που να καλύπτουν κάθε δεδομένα που να καλύπτουν κάθε δυνατή περίπτωση πραγματικών δυνατή περίπτωση πραγματικών δεδομένων δεδομένων

Page 22: στοιχεία δομημένου προγραμματισμού

Αξιολόγηση αλγόριθμουΑξιολόγηση αλγόριθμου

Γίνεται με βάση τα παρακάτω κριτήρια:Γίνεται με βάση τα παρακάτω κριτήρια: Ελαχιστοποίηση του κόστους ελέγχου της Ελαχιστοποίηση του κόστους ελέγχου της

ορθότητάς τουορθότητάς του Ευκολία στη συντήρηση και αναβάθμισηΕυκολία στη συντήρηση και αναβάθμιση Ευκολία στην ανάπτυξή σε γλώσσα Ευκολία στην ανάπτυξή σε γλώσσα

προγραμματισμούπρογραμματισμού Μικρός χρόνος εκτέλεσης (μόνο σε Μικρός χρόνος εκτέλεσης (μόνο σε

επιστημονικές εφαρμογές)επιστημονικές εφαρμογές) Μικρές απαιτήσεις σε υλικό (μικρή Μικρές απαιτήσεις σε υλικό (μικρή

σημασία)σημασία)