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

7
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Ακολουθιακή ∆ομή Να αναπτυχθεί αλγόριθμος που θα διαβάζει την ημερομηνία γέννησης (ημέρα, μήνας , χρόνος) καθώς και την τρέχουσα ημερομηνία ,και θα υπολογίζει την ηλικία του. ΑΔ.1 Αλγόριθμος Υπολογισμός_ηλικίας Τέλος Υπολογισμός_ηλικίας Για να λύσουμε την άσκηση θα υπολογίσουμε και για τις δύο ημερομηνίες (τρέχουσα και ημερ. γέννησης) τον αριθμό των ημερών που πέρασαν από το έτος 0. Στη συνέχεια θα τις αφαιρέσουμε και θα μετατρέψουμε το αποτέλεσμα σε έτη , μήνες, ημέρες. Χάριν απλότητας θεωρούμε ότι κάθε έτος έχει 365 ημέρες ενώ κάθε μήνας έχει 30 ημέρες. Ο αλγόριθμος είναι ο ακόλουθος: Διάβασε έτος_γέν, μήνας_γεν, ημέρ_γεν Διάβασε έτος_τρε, μήνας_τρε, ημέρ_τρε Ημέρες_τρεχ_έτους 365*έτος_τρε+30*(μήνας_τρε-1)+ημέρα_τρε Ημέρες_έτους_γεν365*έτος_γεν+30*(μήνας_γεν-1)+ημέρα_γεν διαφοράΗμέρες_τρεχ_έτους-Ημέρες_έτους_γεν έτη_ηλικίαςδιαφορά div 365 βοηθητικήδιαφορά mod 365 μήνες_ηλικίαςβοηθητική div 30 ημέρες_ηλικίαςβοηθητική mod 30 Εμφάνισε Η ηλικία σας είναι”,έτη_ηλικίας,“έτη ”,μήνες_ηλικίας, “μήνες και”,ημέρες_ηλικίας, “ημέρες.” Μετράω όλες τις ημέρες από το έτος 0 Μέχρι τη ημέρα γέννησης και Μέχρι την τρέχουσα ημέρα Προφανώς οι ημέρες μέχρι την τρέχουσα ημερομηνία θα είναι περισσότερες.

description

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή

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

ΑΔ.1

Αλγόριθμος Υπολογισμός_ηλικίας

Τέλος Υπολογισμός_ηλικίας

Για να λύσουμε την άσκηση θα υπολογίσουμε και για τις δύο ημερομηνίες (τρέχουσα και ημερ. γέννησης) τον αριθμό των ημερών που πέρασαν από το έτος 0. Στη συνέχεια θα τις αφαιρέσουμε και θα μετατρέψουμε το αποτέλεσμασε έτη , μήνες, ημέρες. Χάριν απλότητας θεωρούμε ότι κάθε έτος έχει 365 ημέρες ενώ κάθε μήνας έχει 30 ημέρες.Ο αλγόριθμος είναι ο ακόλουθος:

Διάβασε έτος_γέν, μήνας_γεν, ημέρ_γεν

Διάβασε έτος_τρε, μήνας_τρε, ημέρ_τρε

Ημέρες_τρεχ_έτους ← 365*έτος_τρε+30*(μήνας_τρε-1)+ημέρα_τρε

Ημέρες_έτους_γεν← 365*έτος_γεν+30*(μήνας_γεν-1)+ημέρα_γεν

διαφορά← Ημέρες_τρεχ_έτους-Ημέρες_έτους_γεν

έτη_ηλικίας← διαφορά div 365

βοηθητική← διαφορά mod 365

μήνες_ηλικίας← βοηθητική div 30

ημέρες_ηλικίας← βοηθητική mod 30

Εμφάνισε “Η ηλικία σας είναι”,έτη_ηλικίας, “έτη ”,μήνες_ηλικίας, “μήνες και”,ημέρες_ηλικίας, “ημέρες.”

Μετράω όλες τις ημέρες από το έτος 0 •Μέχρι τη ημέρα γέννησης και •Μέχρι την τρέχουσα ημέραΠροφανώς οι ημέρες μέχρι την τρέχουσα ημερομηνία θα είναι περισσότερες.

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

Η μισθοδοσία της εταιρείας RhodesTel πραγματοποιείται με τα χαρτονομίσματα των 50€,20€,5 € και με κέρματα του 1 €.

ΑΔ.2

Ο διευθυντής σας αναθέτει να γράψετε αλγόριθμο που θα διαβάζει το ποσό μισθοδοσίας ενός εργαζομένου και θα εκτυπώνει πόσα χαρτονομίσματα από κάθε κατηγορία απαιτούνται.Για παράδειγμα , αν το ποσό της μισθοδοσίας είναι 1788 €.

Όπως φαίνεται από τις συνεχείς διαιρέσεις του διπλανούσχήματος , θα χρειαστούμε 35 χαρτονομίσματα των 50 € (τοπηλίκο της διαίρεσης 1788 /50 )

1788 50

3538 divmod

38 20118

18 533

Θα χρειαστούμε 1 χαρτονόμισμα των 20 €.

Θα χρειαστούμε 3 χαρτονομίσματα των 5 €.και 3 κέρματα του 1 € .

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή

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

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

Αλγόριθμος μισθοδοσία

Τέλος μισθοδοσία

Διάβασε μισθοδοσία! Για παράδειγμα 1788 €….

χαρτονόμισματα_50 ← μισθοδοσία div 50

βοηθητική1 ← μισθοδοσία mod 50

χαρτονόμισματα_20 ← βοηθητική1 div 20

βοηθητική2 ← βοηθητική1 mod 20

χαρτονόμισματα_5 ← βοηθητική2 div 5

κέρματα_1 ← βοηθητική2 mod 5

Εκτύπωσε “Τα χαρτονομίσματα των 50 € είναι”,χαρτονομίσματα_50

Εκτύπωσε “Τα χαρτονομίσματα των 20 € είναι”,χαρτονομίσματα_20

Εκτύπωσε “Τα χαρτονομίσματα των 5 € είναι”,χαρτονομίσματα_5

Εκτύπωσε “Τα κέρματα των 1 € είναι”,κέρματα_1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή ΑΔ.2

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

Από την εταιρεία ΑΘΗΝΑ ΤΡΑΜ ζητείται να αναπτυχθεί αλγόριθμος για το μηχάνημα αυτόματης πώλησης. Ο αλγόριθμος θα δέχεται τον αριθμό των εισιτηρίων (κόστους 0.50 € το καθένα ) και το ποσό πληρωμής , και θα εκτυπώνει τον αριθμό των κερμάτων που δίνονται ως ρέστα. Σημειώνεται ότι για ρέστα δίνονται μόνο κέρματα 50 λεπτών.

ΑΔ.3

Αλγόριθμος ΑΘΗΝΑ_ΤΡΑΜ

Τέλος ΑΘΗΝΑ_ΤΡΑΜ

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

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

Διάβασε εισιτήρια,ποσό_πληρωμής !Αλλιώς Δεδομένα//εισιτήρια,ποσό_πληρωμής

τιμή_εισιτηριου ← 50κόστος← εισητήρια*τιμή_εισιτηρίουΕκτύπωσε “Το κόστος των εισιτηρίων είναι ” ,κόστοςρέστα← ποσό_πληρωμής-κόστος

!Τα ρέστα είναι είναι πολλαπλάσια του 0.5 άρα το αποτέλεσμα είναι ακέραιος.

κέρματα← ρέστα/50

Εκτύπωσε “Τα ρέστα είναι”,κέρματα, “κέρματα των 50 λεπτών.”

1.Ερώτηση:Σε ποιο σημείο πρέπει να βάλω τη Δομή επιλογής Αν….τότε

2.Ερώτηση:Κάνε τη άσκηση δίνοντας ρέστα 1,2,5,10,20,50 λεπτών, με τιμή εισιτηρίου 80 λεπτά, φοιτητικό 60 λεπτά και πολύτεκνο 50 λεπτά.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή

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

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

ΑΔ.4

Για παράδειγμα ο αριθμός 523.523 100

523 εκατοντάδες

23 10

23 δεκάδεςμονάδες

Αλγόριθμος Τριψήφιος

Τέλος Τριψήφιος

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

Διάβασε αριθμός

εκατοντάδες ← αριθμός div 100βοηθητική← αριθμός mod 100δεκάδες ← βοηθητική div 10μονάδες← βοηθητική mod 10άθροισμα← εκατοντάδες+δεκάδες+μονάδες

Εκτύπωσε “Το άθροισμα των ψηφίων είναι”,άθροισμα.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή

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

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

ΑΔ.5

Για παράδειγμα ο αριθμός 5134.Να μετατρέπεται σε 51234Για την επίλυση θα διασπάσουμε τον αριθμό σε δύο μέρη

3451Το 51 θα πολλαπλασιαστεί με το 1000, θα προστεθεί το 200 και το 34.Οπότε θα δημιουργηθεί το 51234

2

Αλγόριθμος Τροποποίηση_Αριθμού

Τέλος Τροποποίηση_Αριθμού

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

Διάβασε αριθμός

Πρώτο_μέρος ← αριθμός div 100Δεύτερο_μέρος← αριθμός mod 100νέος_αριθμός ← 1000*πρώτο_μέρος +2*100+δεύτερο_μέρος

Εκτύπωσε “Ο νέος αριθμός είναι”,νέος_αριθμός.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΑκολουθιακή ∆ομή

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

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