Σύνταξη - Επιμέλεια : Γιακουμόγλου Βαγγέλης
Πολλές φορές η εκφώνηση μιας άσκησης δίνεται με την μορφή προβλήματος. Σε αυτές τις περιπτώσεις θα πρέπει να ακολουθήσουμε κάποια συγκεκριμένα βήματα για να μπορέσουμε να δώσουμε μια σωστή λύση στο πρόβλημα που τίθεται.
Ποια είναι αυτά τα βήματα;
Θα ξεκινήσουμε από τα στάδια επίλυσης ενός προβλήματος.
1ο Βήμα : ΚΑΤΑΝΟΗΣΗ
Είναι ,ίσως, το σημαντικότερο από όλα! Αξίζει να αφιερώσουμε λίγο παραπάνω χρόνο στην κατανόηση του προβλήματος, δηλαδή ,στο τι μας δίνει ως δεδομένα και ποια είναι τα ζητούμενα. Μόνο όταν είμαστε σίγουροι ότι έχουμε καταλάβει σωστά τα παραπάνω , μπορούμε να περάσουμε στο επόμενο βήμα το οποίο είναι…
2ο Βήμα: ΑΝΑΛΥΣΗ
Η ανάλυση, είναι η στιγμή να καταστρώσουμε το σχέδιο δράσης μας. Πως δηλαδή θα χρησιμοποιήσουμε τα δεδομένα ώστε μέσω της κατάλληλης επεξεργασίας να φτάσουμε στη λύση του προβλήματος , δηλαδή να πάρουμε τις σωστές πληροφορίες, μιας και ασχολούμαστε με τον προγραμματισμό και την πληροφορική!
3ο Βήμα : ΕΠΙΛΥΣΗ
Αφού λοιπόν έχουμε ξεκαθαρίσει τι θέλουμε το πρόγραμμά μας να κάνει και έχουμε σκεφτεί και τον τρόπο με τον οποίο θα το κάνουμε, τότε και μόνο, ξεκινάμε να γράφουμε τον αλγόριθμο του προγράμματος.
Ας δούμε ένα παράδειγμα προβλήματος με διαφορετικές παραλλαγές :
Παράδειγμα 1
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται έναν αριθμό και θα εξετάζει αν είναι πρώτος. Πρώτος ονομάζεται ο αριθμός ο οποίος διαιρείται μόνο από τον εαυτό του και την μονάδα.
Τα στάδια της επίλυσης:
1ο Βήμα .Κατανόηση :
Πρόκειται για ένα πρόγραμμα το οποίο θα έχει ως είσοδο έναν αριθμό και θα δίνει ως έξοδο την πληροφορία για το αν αυτός ο αριθμός είναι πρώτος ή όχι.
2ο Βήμα. Ανάλυση:
Πως θα καταλάβει ο υπολογιστής αν ο αριθμός είναι πρώτος ή όχι; Μια ιδέα θα ήταν να τον βάλουμε να μετρήσει πόσοι αριθμοί των διαιρούν ,ξεκινώντας από την μονάδα μέχρι και τον ίδιο του τον εαυτό. Αν το πλήθος των αριθμών που τον διαιρούν είναι δυο τότε σημαίνει ότι διαιρείται μόνο από την μονάδα και τον ίδιο του τον εαυτό, άρα είναι πρώτος. Αν το πλήθος των αριθμών που τον διαιρούν είναι μεγαλύτερο τότε σημαίνει ότι έχει και άλλους διαιρέτες άρα δεν είναι πρώτος.
Πως όμως θα μετρήσουμε τους διαιρέτες; ( Θυμίζω ότι αν x mod y = 0 , τότε ο y είναι διαιρέτης του x ). Αν λοιπόν δημιουργήσουμε μια επανάληψη η οποία στη θέση του x θα έχει τον αριθμό που εξετάζουμε και στη θέση του y τον αριθμό που ελέγχουμε αν είναι διαιρέτης του x τότε θα έχουμε φτάσει στο επιθυμητό αποτέλεσμα.
Ας το δούμε στην πράξη:
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ,Π
ΑΡΧΗ
! Είσοδος του αριθμού που θέλουμε να εξετάσουμε
ΓΡΑΨΕ ‘ΠΛΗΚΤΡΟΛΟΓΗΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ’
ΔΙΑΒΑΣΕ Χ
Π<--0 ! Στην μεταβλητή Π θα μετρήσουμε το πλήθος των διαιρετέων του χ’
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Χ ! Εξετάζουμε όλους τους ακέραιους από το 1 μέχρι το χ
ΑΝ X MOD I = 0 ΤΟΤΕ ! Αν ο I διαιρεί το χ τότε μετράει +1 ο μετρητής Π
Π<--Π+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Π<=2 ΤΟΤΕ
ΓΡΑΨΕ ‘ Ο ΑΡΙΘΜΟΣ : ‘,Χ, ‘ ΕΙΝΑΙ ΠΡΩΤΟΣ’
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘ Ο ΑΡΙΘΜΟΣ : ‘,Χ, ‘ ΔΕΝ ΕΙΝΑΙ ΠΡΩΤΟΣ’
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ