14
Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό που αντιστοιχεί σε ένα έτος μ.Χ. και θα αποφαίνεται αν το έτος αυτό είναι δίσεκτο ή όχι. Ένα έτος είναι δίσεκτο αν διαιρείται με το 4, εκτός εάν διαιρείται με το 100 οπότε και δεν είναι δίσεκτο .Ωστόσο αν διαιρείται με το 400 το έτος είναι δίσεκτο. Ε.1 Αλγόριθμος Δίσεκτο_έτος Τέλος Δίσεκτο_έτος Στην ουσία πρόκειται για πρόβλημα απόφασης. Ζητείται δηλαδή μια απόφαση ΝΑΙ ή ΟΧΙ. Ο αλγόριθμος είναι ο ακόλουθος: Διάβασε έτος δίσεκτο ψευδής Αν έτος mod4 = 0 τότε δίσεκτο αληθής Τέλος_αν Αν έτος mod100 = 0 τότε δίσεκτο ψευδής Τέλος_αν Αν έτος mod400 = 0 τότε δίσεκτο αληθής Τέλος_αν Αν δίσεκτο = Αληθής τότε Αλλιώς Εμφάνισε Το έτος είναι δίσεκτοΕμφάνισε Το έτος δεν είναι δίσεκτοΤέλος_αν ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ∆ομή Επιλογής ΕΠΑΝΑ Λ Η Ψ Η

Δομή Επιλογής-Ασκήσεις για Επανάληψη

Embed Size (px)

DESCRIPTION

http://videolearner.com/ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Ασκήσεις για επανάληψη στη Δομή Επιλογής.

Citation preview

Page 1: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό που αντιστοιχεί σε ένα έτος μ.Χ. και θα αποφαίνεται αν το έτος αυτό είναι δίσεκτο ή όχι. Ένα έτος είναι δίσεκτο αν διαιρείται με το 4, εκτός εάν διαιρείται με το 100 οπότε και δεν είναι δίσεκτο .Ωστόσο αν διαιρείται με το 400 το έτος είναι δίσεκτο.

Ε.1

Αλγόριθμος Δίσεκτο_έτος

Τέλος Δίσεκτο_έτος

Στην ουσία πρόκειται για πρόβλημα απόφασης. Ζητείται δηλαδή μια απόφαση ΝΑΙ ή ΟΧΙ.

Ο αλγόριθμος είναιο ακόλουθος:

Διάβασε έτοςδίσεκτο ← ψευδής

Αν έτος mod4 = 0 τότεδίσεκτο ← αληθής

Τέλος_ανΑν έτος mod100 = 0 τότε

δίσεκτο ← ψευδήςΤέλος_ανΑν έτος mod400 = 0 τότε

δίσεκτο ← αληθήςΤέλος_ανΑν δίσεκτο = Αληθής τότε

ΑλλιώςΕμφάνισε “Το έτος είναι δίσεκτο”

Εμφάνισε “Το έτος δεν είναι δίσεκτο”Τέλος_αν

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής ΕΠΑΝΑΛΗΨΗ

Page 2: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό που αντιστοιχεί σε ένα έτος μ.Χ. και θα αποφαίνεται αν το έτος αυτό είναι δίσεκτο ή όχι. Ένα έτος είναι δίσεκτο αν διαιρείται με το 4, εκτός εάν διαιρείται με το 100 οπότε και δεν είναι δίσεκτο .Ωστόσο αν διαιρείται με το 400 το έτος είναι δίσεκτο.

Αλγόριθμος Δίσεκτο_έτος

Τέλος Δίσεκτο_έτος

Στην ουσία πρόκειται για πρόβλημα απόφασης. Ζητείται δηλαδή μια απόφαση ΝΑΙ ή ΟΧΙ.

ΑΛΛΙΩΣ

Διάβασε έτος

Αν (έτος mod4 = 0) τότεκαι (έτος mod100 <> 0)

Αλλιώς

Εμφάνισε “Το έτος είναι δίσεκτο”

Εμφάνισε “Το έτος δεν είναι δίσεκτο”Τέλος_αν

ή (έτος mod400 = 0)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.1 ΕΠΑΝΑΛΗΨΗ

Page 3: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Με το Διατραπεζικό Σύστημα Συναλλαγών ΔΙΑΣ ,κάποιος καταθέτης μπορεί να πραγματοποιήσειανάληψη από κάποια άλλη τράπεζα πέραν αυτής που συνεργάζεται , από ένα μηχάνημα ΑΤΜ. Για την υπηρεσία αυτή υπάρχει χρέωση ίση με το ένα εκατοστό του ποσού της ανάληψης. Η χρέωση αυτή ωστόσο δεν μπορεί να είναι μικρότερη από 1€, αλλά ούτε και να υπερβαίνει τα 3€. Να αναπτυχθείαλγόριθμος που με δεδομένο το διαθέσιμο υπόλοιπο του πελάτη , θα διαβάζει το ποσό της ανάληψηςαπό ένα ΑΤΜ του ΔΙΑΣ και αν μπορεί να πραγματοποιηθεί η συναλλαγή , θα εκτυπώνει το νέο διαθέσιμο υπόλοιπο του λογαριασμού και τη χρέωση που θα έχει ο πελάτης.

Ε.2

Για να μπορεί να πραγματοποιηθεί η συναλλαγή , πρέπει το διαθέσιμο υπόλοιπο να είναι μεγαλύτερο ή ίσο με το ποσό ανάληψης, συν το ποσό της χρέωσης από το ΔΙΑΣ.

Ο αλγόριθμος είναιο ακόλουθος:

Αλγόριθμος ΔΙΑΣ

Τέλος ΔΙΑΣ

Δεδομένα //κωδικός_πελάτη ,διαθέσιμα//Διάβασε ανάληψη

χρέωση ← 0.01*ανάληψηΑν χρέωση <1 τότε

χρέωση ← 1Αλλιώς_αν χρέωση >3 τότε

χρέωση ← 3Τέλος_αν

αφαιρούμενο_ποσό ← ανάληψη+χρέωσηΑν διαθέσιμα >=αφαιρούμενο_ποσό τότε

διαθέσιμα ← διαθέσιμα - αφαιρούμενο_ποσόΕκτύπωσε “Το νέο διαθέσιμο υπόλοιπο σου είναι”,διαθέσιμαΕκτύπωσε “Η χρέωση από το σύστημα ΔΙΑΣ είναι ”,χρέωσηΑλλιώςΕκτύπωσε “Το διαθέσιμο υπόλοιπο δεν επαρκεί ”Τέλος_ανΑποτελέσματα //κωδικός_πελάτη ,διαθέσιμα//

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής ΕΠΑΝΑΛΗΨΗ

Page 4: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει τρεις αριθμούς α,β,γ που αντιστοιχούν στα μήκη τριών ευθυγράμμων τμημάτων και θα ελέγχει –θα εκτυπώνει αν ορίζεται τρίγωνο με πλευρές α,β,γ, καθώς και το είδος του τριγώνου που προκύπτει ( ορθογώνιο, οξυγώνιο ή αμβλυγώνιο.)

Ε.3

Θεωρούμε ότι οι τρεις εισαγόμενες τιμές α,β,γ είναι θετικοί αριθμοί. Ο αλγόριθμος θα ελέγχει αν ορίζεται τρίγωνο, ελέγχοντας αν κάθε πλευρά ενός τριγώνου είναι μικρότερηαπό το άθροισμα των άλλων δύο.Στη συνέχεια ο αλγόριθμος εντοπίζει τη μεγαλύτερη πλευρά του τριγώνου, την οποία συμβολίζει«πλευρά1». Ο έλεγχος για το είδος του τριγώνου γίνεται από τις συνθήκες:

(πλευρά1)2> (πλευρά2)2+ (πλευρά3)2 , τότε το τρίγωνο είναι αμβλυγώνιο.

(πλευρά1)2= (πλευρά2)2+ (πλευρά3)2 , τότε το τρίγωνο είναι ορθογώνιο.

(πλευρά1)2< (πλευρά2)2+ (πλευρά3)2 , τότε το τρίγωνο είναι οξυγώνιο.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής ΕΠΑΝΑΛΗΨΗ

Page 5: Δομή Επιλογής-Ασκήσεις για Επανάληψη

ΕΠΑΝΑΛΗΨΗΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

∆ομή Επιλογής

Ο αλγόριθμος είναιο ακόλουθος:

Αλγόριθμος Τρίγωνο

Τέλος Τρίγωνο

Διάβασε α,β,γ ! Θεωρούμε ότι α,β,γ >0 αλλιώς με επανάληψη Αρχή….Αν (α<β+γ) και (β<α+γ) και (γ<α+β) τότε

πλευρά1 ← α

Αν β >πλευρά1 τότε

Τέλος_αν

! Ορίζεται τρίγωνο

πλευρά2 ← βπλευρά3 ← γ

πλευρά1 ← βπλευρά2 ← απλευρά3 ← γ

Αν γ >πλευρά1 τότε

Τέλος_αν

πλευρά1 ← γπλευρά2 ← απλευρά3 ← β

Αν πλευρά1^2>πλευρά2^2+πλευρά3^2 τότεΕκτύπωσε “Αμβλυγώνιο τρίγωνο”

Αλλιώς_αν πλευρά1^2<πλευρά2^2+πλευρά3^2 τότεΕκτύπωσε “Οξυγώνιο τρίγωνο”

ΑλλιώςΕκτύπωσε “Ορθογώνιο τρίγωνο”

Τέλος_ανΑλλιώςΕκτύπωσε “Με αυτά τα δεδομένα δεν ορίζεται τρίγωνο”

Τέλος_αν

Ε.3

Page 6: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον αύξοντα αριθμό(1-12) ενός μήνα και θα εκτυπώνει το όνομα του μήνα και το πλήθος των ημερών του.

Ε.4

Αλγόριθμος Μήνας

Τέλος Μήνας

Πρέπει να διερευνήσουμε 12 περιπτώσεις οπότε καλύτερα να χρησιμοποιήσουμε τη δομή επιλογής.

Ο αλγόριθμοςείναιο ακόλουθος:

Διάβασε έτοςΔιάβασε αύξων_αριθμός

Εκτύπωσε “ Ιανουάριος: 31 ημέρες”

Αν (έτος mod4 = 0) τότεκαι (έτος mod100 <> 0) ή (έτος mod400 = 0)

Εκτύπωσε “Φεβρουάριος:29 ημέρες”Αλλιώς

Εκτύπωσε “Φεβρουάριος:28 ημέρες”Τέλος_αν

Εκτύπωσε “ Μάρτιος: 30 ημέρες”…… …… …… ………… …….. ………… …….

Εκτύπωσε “ Δεκέμβριος : 31 ημέρες”

Εκτύπωσε “ Λάθος καταχώρηση”Τέλος_αν

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής

Αν αύξων_αριθμός=1 τότε

Αλλιώς_αν αύξων_αριθμός=2 τότε

Αλλιώς_αν αύξων_αριθμός=3 τότε

Αλλιώς_αν αύξων_αριθμός=12τότε

Αλλιώς

ΕΠΑΝΑΛΗΨΗ

Page 7: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον αύξοντα αριθμό(1-12) ενός μήνα και θα εκτυπώνει το όνομα του μήνα και το πλήθος των ημερών του.

Ε.4

Αλγόριθμος Μήνας

Τέλος Μήνας

Πρέπει να διερευνήσουμε 12 περιπτώσεις οπότε καλύτερα να χρησιμοποιήσουμε τη δομή επιλογής μετη διατύπωση συνθηκών Επίλεξε. Με αυτόν τον τρόπο δεν επαναλαμβάνεται η μεταβλητή που χωρίζειτις περιπτώσεις διότι η μεταβλητή αυτή τοποθετείται μόνο μετά τη δεσμευμένη λέξη Επίλεξε.

Ο αλγόριθμος είναιο ακόλουθος:

Διάβασε έτοςΔιάβασε αύξων_αριθμός

Επίλεξε αύξων_αριθμόςΠερίπτωση =1Εκτύπωσε “ Ιανουάριος: 31 ημέρες”

Περίπτωση =2Αν (έτος mod4 = 0) τότεκαι (έτος mod100 <> 0) ή (έτος mod400 = 0)

Εκτύπωσε “Φεβρουάριος:29 ημέρες”Αλλιώς

Εκτύπωσε “Φεβρουάριος:28 ημέρες”Τέλος_ανΠερίπτωση =3Εκτύπωσε “ Μάρτιος: 30 ημέρες”

…… …… …… ………… …….. ………… …….Περίπτωση =12Εκτύπωσε “ Δεκέμβριος : 31 ημέρες”

Περίπτωση ΑλλιώςΕκτύπωσε “ Λάθος καταχώρηση”

Τέλος_επιλογών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής ΕΠΑΝΑΛΗΨΗ

Page 8: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Η βιοτεχνία ΡοδοΣΑΚ Α.Ε. παρασκευάζει πλαστικές σακούλες σε 2 μεγέθη. Το κόστος είναι 0.01 € για τις μεγάλες και 0.007€ για τις μικρές σακούλες. Για παραγγελίες μεγαλύτερες από 150 € ή 3500 τεμάχια , παρέχεται έκπτωση 10% . Μάλιστα , αν μια παραγγελία ξεπεράσει τα500 €, η έκπτωση φτάνει το 25%. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το πλήθος γιαμεγάλες και για μικρές σακούλες μιας παραγγελίας και θα εκτυπώνει το οφειλόμενο ποσό.

Ε.5

Αλγόριθμος Σακούλες

Τέλος Σακούλες

Ο αλγόριθμος είναι ο ακόλουθος:

Διάβασε μεγάλες,μικρές

Αν (οφειλή > 150) τότεή (μεγάλες+μικρές> 3500)

Αλλιώς_αν

Τέλος_αν

οφειλή ← μεγάλες*0.01 +μικρές*0.007

οφειλή ← οφειλή - οφειλή *0.10

οφειλή ← οφειλή - οφειλή *0.25

οφειλή > 500 τότε

Εκτύπωσε “ Το οφειλόμενο ποσό είναι : ”,οφειλή

ΛΑΘΟΣΔιότι αν κάποιος έχει οφειλή 640 € ,τότε θαλάβει έκπτωση 10% κάτι το οποίο είναι λάθος.

Η οφειλή 640 € εφαρμόζεται και για τις 2 περιπτώσεις της δομής επιλογής.Ισχύει και στις δύο περιπτώσεις.

Επειδή όμως εφαρμόζεται πρώτα στη θέση Αν ….Δεν εφαρμόζεται στην θέση Αλλιώς_αν .

150 500 640

Γι’ αυτό διαχωρίζουμε τις περιπτώσεις.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή Επιλογής ΕΠΑΝΑΛΗΨΗ

Page 9: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Η βιοτεχνία ΡοδοΣΑΚ Α.Ε. παρασκευάζει πλαστικές σακούλες σε 2 μεγέθη. Το κόστος είναι 0.01 € για τις μεγάλες και 0.007€ για τις μικρές σακούλες. Για παραγγελίες μεγαλύτερες από 150 € ή 3500 τεμάχια , παρέχεται έκπτωση 10% . Μάλιστα , αν μια παραγγελία ξεπεράσει τα500 €, η έκπτωση φτάνει το 25%. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το πλήθος γιαμεγάλες και για μικρές σακούλες μιας παραγγελίας και θα εκτυπώνει το οφειλόμενο ποσό.Ο αλγόριθμος είναι ο ακόλουθος:

Αλγόριθμος Σακούλες

Τέλος Σακουλές

Διάβασε μεγάλες,μικρές

Αν οφειλή > 500 τότε

Αλλιώς_αν

Τέλος_αν

οφειλή ← μεγάλες*0.01 +μικρές*0.007

οφειλή ← 0.75* οφειλή

οφειλή ← οφειλή *0.90

(οφειλή > 150) ή (μεγάλες+μικρές)>3500 τότε

Εκτύπωσε “ Το οφειλόμενο ποσό είναι : ”,οφειλή

Δηλαδή πάμε από το μεγαλύτερο προς το μικρότερο.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.5 ΕΠΑΝΑΛΗΨΗ

Page 10: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Το γυμναστήριο «Εν δράση» ανακοίνωσε προσφορές για την προσέλκυση νέων πελατών . Έτσι παρέχεται δωρεάν συνδρομή ενός μήνα και για κάθε επιπλέον μήνα υπάρχει χρέωση 35 € μεπλήρη πρόσβαση σε όλα τα όργανα. Ωστόσο , αν η συνδρομή ξεπεράσει τους 18 μήνες , υπάρχειέκπτωση 12% , ενώ για συνδρομή πάνω από 24 μήνες η έκπτωση γίνεται 15%. Να αναπτυχθείαλγόριθμος που θα διαβάζει τους μήνες της επιθυμητής συνδρομής και θα εμφανίζει τοοφειλόμενο στο γυμναστήριο ποσό.

Αλγόριθμος Εν_δράσει

Τέλος Εν_δράσει

Ο αλγόριθμος είναι ο ακόλουθος:

Διάβασε μήνες

Αν (μήνες > 24) τότε

Αλλιώς_αν

χρέωση ← (μήνες-1)*35

χρέωση ← χρέωση* (1-15/100)

χρέωση ← χρέωση *(1-12/100)

μήνες > 18 τότε

! Από το μεγαλύτερο στο μικρότερο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.6

Τέλος_αν

Εκτύπωσε “ Το οφειλόμενο ποσό είναι : ”,χρέωση

ΕΠΑΝΑΛΗΨΗ

Page 11: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Ένας επιπλοποιός για να προσελκύσει νέους πελάτες πραγματοποιεί εκπτώσεις 10% στις πωλήσεις με τζίρο από 100€ μέχρι 250€. Αν ο τζίρος είναι μεγαλύτερος από 250 € τότε το ποσοστότης έκπτωσης είναι 17%.Να αναπτυχθεί αλγόριθμος που θα διαβάζει την τιμή του επίπλου και τηνποσότητα που παραγγέλθηκε και θα εκτυπώνει το τελικό ποσό της πληρωμής καθώς και το ποσόέκπτωσης.

Τζίρος x Έκπτωση

0≤x≤100 0

100≤x≤250 10

250<x 17

Αλγόριθμος έπιπλο

Τέλος έπιπλο

Ο αλγόριθμος είναι ο ακόλουθος:

Διάβασε τιμή , ποσότητα

Αν τζίρος < 100 ΚΑΙ τζίρος>0 τότε

Αλλιώς_αν

τζίρος ← τιμή*ποσότητα

έκπτωση ← 0

έκπτωση ← 0.10 *τζίροςτζίρος < 250 τότε ! Δεν έβαλα 100 <x≤250

Αλλιώς_αν τζίρος > 250 τότε

έκπτωση ← 0.17 *τζίρος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.7 ΕΠΑΝΑΛΗΨΗ

ΑλλιώςΕκτύπωσε “ Λάθος τιμές εισήχθηκαν ”

Τέλος_αν

Εκτύπωσε “ Η έκπτωση είναι : ”,έκπτωση ,“ και το τελικό ποσό πληρωμής είναι “, τελικό_ποσό

τελικό_ποσό ← τζίρος-έκπτωση

Page 12: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Οι αριθμοί μητρώου των φοιτητών του τμήματος Πληροφορικής ενός Πανεπιστημίου ακολουθούν την εξής λογική: Ο αριθμός μητρώου είναι ένας εξαψήφιος αριθμός. Το πρώτο ψηφίο είναι ο αριθμός 1, τα επόμενα δύο ψηφία αποτελούν το ακαδημαϊκό έτος που εισήχθη στο πανεπιστήμιο και τα υπόλοιπα τρία είναι ο αύξων αριθμός εγγραφής στο πανεπιστημιακό αυτό τμήμα (για παράδειγμα ο φοιτητής με αριθμό μητρώου 102134 εισήχθη το σχολικό έτος 2002-2003 και έχει γραφτεί στη γραμματεία του τμήματος με τη σειρά 134). Για την προφορική εξέταση του μαθήματος «Αλγόριθμοι» ο διδάσκων καθηγητής έχει ανακοινώσει τον επόμενο πίνακα:

Ακαδημαϊκό έτος Αύξων αριθμός εγγραφής Ημερομηνία Εξέτασης

2004-2005 Όλοι 5 Ιουνίου

2005-2006 Όλοι 6 Ιουνίου

έως 60

61-100

101 και άνω

2006-2007

7 Ιουνίου

8 Ιουνίου

10 Ιουνίου

Άλλο Όλοι 15 Ιουνίου

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον αριθμό μητρώου ενός φοιτητή και θα εκτυπώνει την ημερομηνία εξέτασής του.

Ο αλγόριθμος είναι ο ακόλουθος:

Αλγόριθμος εξέταση

Τέλος εξέταση

Διάβασε αριθμός_μητρώου

έτος_εγγραφής ← αριθμός_μητρώου div 1000

! π.χ. 1 0 2 1 3 4! Διαχωρισμός του αριθμού σε δύο τμήματα

έτος_εγγραφής ← έτος_εγγραφής -100! 102! 02 , δηλαδή έτος 2002-2003

αύξων_αριθμός ← αριθμός_μητρώου mod 1000 ! 134Αν έτος_εγγραφής=4 τότε

Εκτύπωσε “ Θα εξεταστείτε στις 5 Ιουνίου ”! έτος 2004-2005

Αλλιώς_αν έτος_εγγραφής=5 τότε ! έτος 2005-2006

Εκτύπωσε “ Θα εξεταστείτε στις 6 Ιουνίου ”Αλλιώς_αν έτος_εγγραφής=6 τότε ! έτος 2006-2007

Εκτύπωσε “ Θα εξεταστείτε στις 7 Ιουνίου ”

Εκτύπωσε “ Θα εξεταστείτε στις 8 Ιουνίου ”

ΑλλιώςΕκτύπωσε “ Θα εξεταστείτε στις 10 Ιουνίου ”

! >100

Τέλος_ανΑλλιώς

Εκτύπωσε “ Θα εξεταστείτε στις 15 Ιουνίου ”Τέλος_αν

! Άλλο έτος.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.8

Αν αύξων_αριθμός<=60 τότε

Αλλιώς_αν αύξων_αριθμός<=100 τότε

ΕΠΑΝΑΛΗΨΗ

Page 13: Δομή Επιλογής-Ασκήσεις για Επανάληψη

Οι αριθμοί μητρώου των φοιτητών του τμήματος Πληροφορικής ενός Πανεπιστημίου ακολουθούν την εξής λογική: Ο αριθμός μητρώου είναι ένας εξαψήφιος αριθμός. Το πρώτο ψηφίο είναι ο αριθμός 1, τα επόμενα δύο ψηφία αποτελούν το ακαδημαϊκό έτος που εισήχθη στο πανεπιστήμιο και τα υπόλοιπα τρία είναι ο αύξων αριθμός εγγραφής στο πανεπιστημιακό αυτό τμήμα (για παράδειγμα ο φοιτητής με αριθμό μητρώου 102134 εισήχθη το σχολικό έτος 2202-2003 και έχει γραφτεί στη γραμματεία του τμήματος με τη σειρά 134). Για την προφορική εξέταση του μαθήματος «Αλγόριθμοι» ο διδάσκων καθηγητής έχει ανακοινώσει τον επόμενο πίνακα:

Ακαδημαϊκό έτος Αύξων αριθμός εγγραφής Ημερομηνία Εξέτασης

2004-2005 Όλοι 5 Ιουνίου

2005-2006 Όλοι 6 Ιουνίου

έως 60

61-100

101 και άνω

2006-2007

7 Ιουνίου

8 Ιουνίου

10 Ιουνίου

Άλλο Όλοι 15 Ιουνίου

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον αριθμό μητρώου ενός φοιτητή και θα εκτυπώνει την ημερομηνία εξέτασής του.

Ο αλγόριθμος είναι ο ακόλουθος:

Αλγόριθμος εξέταση

Τέλος εξέταση

Διάβασε αριθμός_μητρώου

έτος_εγγραφής ← αριθμός_μητρώου div 1000

! π.χ. 1 0 2 1 3 4! Διαχωρισμός του αριθμού σε δύο τμήματα

έτος_εγγραφής ← έτος_εγγραφής -100! 102! 02 , δηλαδή έτος 2002-2003

αύξων_αριθμός ← αριθμός_μητρώου mod 1000 ! 134Αν έτος_εγγραφής=4 τότε

Εκτύπωσε “ Θα εξεταστείτε στις 5 Ιουνίου ”! έτος 2004-2005

Αλλιώς_αν έτος_εγγραφής=5 τότε ! έτος 2005-2006

Εκτύπωσε “ Θα εξεταστείτε στις 6 Ιουνίου ”Αλλιώς_αν έτος_εγγραφής=6 τότε ! έτος 2006-2007

Επίλεξε αύξων_αριθμόςΠερίπτωση <=60

Εκτύπωσε “ Θα εξεταστείτε στις 7 Ιουνίου ”Περίπτωση <=100

Εκτύπωσε “ Θα εξεταστείτε στις 8 Ιουνίου ”Περίπτωση Αλλιώς

Εκτύπωσε “ Θα εξεταστείτε στις 10 Ιουνίου ”! >100

Τέλος_επιλογώνΑλλιώς

Εκτύπωσε “ Θα εξεταστείτε στις 15 Ιουνίου ”Τέλος_αν

! Άλλο έτος.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ∆ομή ΕπιλογήςΕ.8 ΕΠΑΝΑΛΗΨΗ

Page 14: Δομή Επιλογής-Ασκήσεις για Επανάληψη

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ