Ε – Ακέραιο Πηλίκο & Υπόλοιπο

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ – ΑΕΠΠ

ΚΕΦΑΛΑΙΟ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ

ΕΝΟΤΗΤΑ Ε ΑΚΕΡΑΙΟ ΠΗΛΙΚΟ &  ΥΠΟΛΟΙΠΟ

ΔΙΔΑΚΤΙΚΟΙ ΣΤΟΧΟΙ

Μετά το τέλος της ενότητας ο μαθητής θα πρέπει να είναι σε θέση:

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

Μάθημα 1ο

Μάθημα 1οΟΙ ΤΕΛΕΣΤΕΣ DIV & MOD

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

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

    Το ακέραιο πηλίκο ως αποτέλεσμα της διαίρεσης δύο θετικών ακεραίων αριθμών στην ψευδογλώσσα μπορεί να υπολογιστεί στην ψευδογλώσσα χρησιμοποιώντας τον τελεστή div.

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

    Παράδειγμα

    25 πορτοκάλια θα μοιραστούν 8 παιδιά. Πόσα πορτοκάλια θα πάρει το κάθε παιδί;

    Οι πράξεις που θα δώσουν τα επιθυμητά αποτελέσματα είναι:

    25 div 8 = 3 πορτοκάλια θα πάρει το κάθε παιδί και,

    θα περισσέψει, 25 mod 8 = 1 πορτοκάλι.

  • Ερωτήσεις Κατανόησης

    Ποιο το αποτέλεσμα από την εκτέλεση των παρακάτω πράξεων;

    25 / 4 = _____

    25 div 4 = _____

    25 mod 4 = _____

     

    33 / 6 = _____

    33 div 6 = _____

    33 mod 6 = _____

     

    105 / 3 = _____

    105 div 3 = _____

    105 mod 3 = _____

     

    512 / 10 = _____

    512 div 10 = _____

    512 mod 10 = _____

  • Αλγόριθμος Div_Mod_First_Example

      !2021

      Διάβασε α, β

      υπόλοιπο α mod β

      ακέραιοΠηλίκο  α div β

      Εμφάνισε “Ακέραιο πηλίκο της διαίρεσης του “, α, ” με το “,β ,”=”, ακέραιοΠηλίκο

      Εμφάνισε “και υπόλοιπο = “,υπόλοιπο

    Τέλος Div_Mod_First_Example

    Αλγόριθμος DivModFirstExample

      !Checked OK No Data

      Διάβασε α, β

      ακέραιοΠηλίκο α div β

      υπόλοιπο α mod β

      Εμφάνισε α, “div”, β, ” = “, ακέραιοΠηλίκο

      Εμφάνισε “Υπόλοιπο Διαίρεσης (“, α, “,”, β,”) =”, υπόλοιπο

    Τέλος DivModFirstExample

     

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

    Αριθμητικό Παράδειγμα

    Αποτέλεσμα Δεδομένα
    46 64
    91 19

  • ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΟΝ

    ΟΙ ΤΕΛΕΣΤΕΣ DIV & MOD

    ΑΕΠΠ ΨΕΥΔΟΓΛΩΣΣΑ

    ΚΕΦΑΛΑΙΟ 2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

    2.4.1 ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ – Στοιχεία ψευδογλώσσας

    Τελεστές (operators). Πρόκειται για τα γνωστά σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις. Οι τελεστές διακρίνονται σε αριθμητικούς, λογικούς και συγκριτικούς.

    Στοιχεία Ψευδογλώσσας

    3. Τελεστές

    Αριθμητικοί: + , – , *, /, Λ, div, mod

    ΑΕΠΠ ΓΛΩΣΣΑ

    ΚΕΦΑΛΑΙΟ 7 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

    7.5 ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ

    Οι αριθμητικοί τελεστές που υποστηρίζονται από τη ΓΛΩΣΣΑ καλύπτουν τις βασικές πράξεις: πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση ενώ υποστηρίζεται και η ύψωση σε δύναμη,

    η ακέραια διαίρεση και το υπόλοιπο της ακέραιας διαίρεσης.

    Οι τελεστές και οι αντίστοιχες πράξεις είναι:

    Αριθμητικός Τελεστής

    Πράξη

    +

    Πρόσθεση

    Αφαίρεση

    *

    Πολλαπλασιασμός

    /

    Διαίρεση

    ^

    Ύψωση σε δύναμη

    DIV

    Ακέραια διαίρεση

    MOD

    υπόλοιπο ακέραιας διαίρεσης

    Σχόλιο

    Ο τελεστής div χρησιμοποιείται για τον υπολογισμό του (ακέραιου) πηλίκου μιας διαίρεσης ακεραίων αριθμών, ενώ ο τελεστής mod για το υπόλοιπο.

    Π.χ. 7 div 2 = 3 και 7 mod 2 = 1

ΣΠΑΡΤΑΘΛΟΝLast DigitΕκατοντάδεςΧιλιάδεςΔιψήφιοςΤριψήφιοςΤριψήφιοι ΣυνδιασμοίΑξία ψηφίων αριθμού

  • ΣΠΑΡΤΑΘΛΟΝ 30 Σεπτεμβρίου 2017. Ο Έλληνας αθλητής Τάσιος Γιώργος τερματίζει τον υπερμαραθώνιο των 246 χιλιομέτρων σε χρόνο 598 λεπτών και 53 δευτερολέπτων, καταλαμβάνοντας την 18η θέση μεταξύ 391 αθλητών. Γράψτε αλγόριθμο που θα δέχεται την ώρα που ο Γιώργος τερμάτισε (στην μορφή ΩΩ/ΛΛ/ΔΔ -ώρες, λεπτά, δευτερόλεπτα) και θα υπολογίζει και θα εμφανίζει τα παρακάτω για τον αθλητή και τον αγώνα στοιχεία:

    ΔΙΕΘΝΗΣ ΑΓΩΝΑΣ ΥΠΕΡΑΠΟΣΤΑΣΕΩΝ: ΣΠΑΡΤΑΘΛΟΝ 2017

    Αθλητής: Τάσιος Γιώργος

    Ώρα έναρξης: ____ : ____ : ____

    Ώρα τερματισμού: ____ : ____ : ____

    Χρόνος: ____ ώρες, ____ λεπτά, 53 δευτερόλεπτα


    Χρήσιμα και ενδιαφέροντα ιστορικά στοιχεία.

    Το ΣΠΑΡΤΑΘΛΟΝ είναι ένας ιστορικός υπερμαραθώνιος που λαμβάνει χώρα στο τέλος του Σεπτέμβρη κάθε χρόνο στην Ελλάδα. Είναι ένας από πλέον δύσκολους αγώνες υπεραποστάσεων παγκοσμίως και παράλληλα πολύ μεγάλου ενδιαφέροντος λόγω του ιστορικού του υπόβαθρου. Το Σπάρταθλο αναβιώνει τα βήματα του Φειδιππίδη, ενός αρχαίου Αθηναίου δρομέα μεγάλων αποστάσεων, ο οποίος το 490 π.Χ., πριν από τη μάχη του Μαραθώνα, εστάλη στη Σπάρτη να ζητήσει βοήθεια στον πόλεμο που διεξήγαγαν οι Έλληνες με τους Πέρσες.

    Η ιδέα για τη δημιουργία του οφείλεται σε μια συγκυρία και ανήκει στον βρετανό σμήναρχο της RAF John Foden. Eλληνολάτρης και μελετητής της Αρχαίας Ελληνικής Ιστορίας, ο John Foden διαβάζοντας τον Ηρόδοτο σταμάτησε απορημένος στην εξιστόρηση του κατορθώματος του Φειδιππίδη, και διερωτήθηκε αν ένας σύγχρονος άνθρωπος μπορεί να διανύσει τα σχεδόν 250 χλμ. Αθήνας – Σπάρτης σε δύο μέρες. Σκέφθηκε τότε πως ο μόνος τρόπος να το διαπιστώσει ήταν να επιχειρήσει να τρέξει ο ίδιος την ιστορική διαδρομή αφού ήταν συμπτωματικά και δρομέας μεγάλων αποστάσεων. Έτσι με άλλους τέσσαρες συναδέλφους του της RAF, επίσης δρομείς, έρχεται στην Αθήνα το φθινόπωρο του 1982 όπου τα μέλη της βρετανικής παροικίας και έλληνες φίλοι τους επιφυλάσσουν θερμή υποδοχή και τους παρέχουν κάθε διευκόλυνση και συμπαράσταση. Καταστρώνουν τον σχεδιασμό της πλησιέστερης προς την περιγραφή του Ηρόδοτου διαδρομής και στις 8 Οκτωβρίου ρίχνονται στην περιπέτεια για να δουν αν το όραμα μπορεί να γίνει πράξη. Την επομένη, 9 Οκτωβρίου, μετά από 36 ώρες ο John Foden φτάνει στη Σπάρτη μπροστά στο άγαλμα του Λεωνίδα. Ο συνάδελφος του John Scholten είχε φτάσει μισή ώρα νωρίτερα και τέλος ο John MacArthy τερματίζει σε χρόνο λιγότερο από 40 ώρες.

    Η ομάδα των βρετανών είχε αποδείξει πως ο Ηρόδοτος “είχε δίκιο”! Ένας άνθρωπος είναι πράγματι ικανός να καλύψει 250 χλμ. σε δύο μέρες.

    Μετά την επιτυχία του εγχειρήματος, ο πρωτεργάτης του άρχισε να οραματίζεται την καθιέρωση ενός αγώνα που θα έφερνε στην Ελλάδα δρομείς μακρινών αποστάσεων από όλον τον κόσμο για να τρέξουν στα ίχνη του αρχαίου ημεροδρόμου.
    Το όραμα αυτό του John Foden γίνεται γρήγορα ευρύτατα γνωστό. Αναμφισβήτητα, το ιστορικό πλαίσιο του αγώνα, στενά συνδεδεμένο με την ιδέα του Ολυμπισμού και κατά συνέπεια με την πλήρη ανιδιοτέλεια, γίνονται τα ισχυρά κίνητρα που διεγείρουν τη φαντασία και προκαλούν πρωτόγνωρη συγκίνηση σε πλήθος δρομέων μεγάλων αποστάσεων σε όλο τον κόσμο. Δικαιολογημένα, λοιπόν, η ανταπόκριση τους ήταν άμεση και καταλυτική. Αυτό οδήγησε στη διοργάνωση του Α’ Διεθνούς ΣΠΑΡΤΑΘΛΟΝ το 1983, με την συμμετοχή 45 δρομέων από 11 χώρες και την Ελλάδα.

    Πηγή: http://www.spartathlon.gr


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

  • Αριθμητικό Παράδειγμα

    Έστω ο αριθμός 15. Προφανώς το τελευταίο ψηφίο του είναι το 5.

    Πως αυτό μπορεί να το “αντιληφθεί” ο υπολογιστής ή σε διαφορετική διατύπωση πως το τελευταίο ψηφίο του δοθέντος αριθμού μπορεί να απομονωθεί από τα υπόλοιπα;

    Παρατήρηση

    Το τελευταίο ψηφίο ενός οποιουδήποτε αριθμού είναι πάντα μεταξύ 0 και 9 δηλ. είναι πάντα ένας αριθμός μικρότερος του 10. Η μόνη αριθμητική πράξη που μπορεί να δώσει ως αποτέλεσμα έναν αριθμό τέτοιο αριθμό είναι η πράξη της διαίρεσης με (φυσικά) το 10.
    Κάθε αριθμός που διαιρείται με το 10 δίνει υπόλοιπο μικρότερο του 10.

    Έτσι λοιπόν για το παράδειγμά μας

    15 mod 10 = 5 341 mod 10 = 1 5454 mod 10 = 4

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

  • Αρχικά σκεφθείτε έναν οποιονδήποτε τριψήφιο αριθμό. Ποια αριθμητική έκφραση θα σας δώσει το ψηφίο των εκατοντάδων;

    Συνεχίστε τώρα με έναν τετραψήφιο. Η  ίδια αριθμητική έκφραση είναι αρκετή για να σας δώσει το ζητούμενο αποτέλεσμα;

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

    Υπόδειξη: Να θεωρήσετε ότι τα δεδομένα εισόδου αφορούν θετικούς ακέραιους αριθμούς.

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

  • Ο αλγόριθμος ξεκινά διαβάζοντας μιας μεταβλητή, έστω διψήφιος το όνομά της. Πρόκειται για μια μεταβλητή άρα μία θα είναι και η τιμή που θα δεχθεί όταν εκτελεστεί η εντολή Διάβασε. Το ζητούμενο πλέον είναι το πως θα κατορθώσουμε να “σπάσουμε” την τιμή της μεταβλητής με τρόπο ώστε να “πάρουμε” και τα δύο ψηφία της.

    Ας υποθέσουμε ότι στην μεταβλητή διψήφιος δίνεται ως τιμή το 45. Πως θα κατορθώσω να “σπάσω” το 45 στα δύο ψηφία του, δηλ το 4 και το 5.
    Για να γίνει αυτό ένας τρόπος μόνο υπάρχει (στον κόσμο των αλγορίθμων). Κάθε ένα από τα ψηφία του αριθμού θα δοθεί ως τιμή σε μια μεταβλητή. Στο συγκεκριμμένο παράδειγμα σε μια μεταβλητή, έστω ψηφίο1 θα πρέπει να δοθεί ως τιμή το 4 και σε μια δεύτερη μεταβλητή, έστω ψηφίο2 να δοθεί ως τιμή το 5. Αν γίνει αυτό είναι πολύ εύκολο να λυθεί το πρόβλημα με μια απλή εντολή εκχώρησης της μορφής,

    Άθροισμα ψηφίο1 + ψηφίο2

    Ερώτημα: Ποιες οι εντολές που θα “σπάσουν” τον διψήφιο σε ψηφίο1 και ψηφίο2;

    Απάντηση: Κάθε διψήφιος αριθμός αποτελείται από το ψηφίο των δεκάδων και το ψηφίο των μονάδων. Ο αριθμός 45 του παραδείγματός μας αποτελείται (σχηματίζεται) από 4 δεκάδες και 5 μονάδες. Άρα στην πραγματικότητα η “διάσπαση” που θέλουμε να επιτύχουμε -του αριθμού στα ψηφία του, ανάγεται στην εύρεση του πλήθους των δεκάδων και των μονάδων επίσης, που σχηματίζουν τον αριθμό. Για να υπολογίσω λοιπόν τις δεκάδες ενός αριθμού αρκεί να διαιρέσω τον αριθμό με το 10 και να “κρατήσω” το ακέραιο πηλίκο αυτής της διαίρεσης. Το υπόλοιπο της ίδιας διαίρεσης θα δώσει ως αποτέλεσμα το πλήθος των μονάδων του ίδιου αριθμού. Οι εντολές που υλοποιούν τα προαναφερόμενα,

    ψηφίο1 διψήφιος div 10

    ψηφίο2 διψήφιος mod 10

    και ο αλγόριθμος ολοκληρωμένος …… αφήνεται σε σας.

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

  • Πριν προχωρήσουμε στην διατύπωση του αλγορίθμου που επιλύει το πρόβλημα ας δούμε ένα αριθμητικό παράδειγμα:

    Έστω ο αριθμός 524. Η λύση του προβλήματος απαιτεί να υπολογιστεί το άθροισμα 5+2+4.

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

    Διάβασε Χ

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

    Τι πράξη πρέπει να γίνει ώστε η πρώτη από τις τρεις μεταβλητές που θα χρησιμοποιηθεί να πάρει ως τιμή το 5;

    -Κάθε τριψήφιος αριθμός αποτελείται από έναν αριθμό εκατοντάδων, δεκάδων και μονάδων. Τα ψηφία του αριθμού (από αριστερά προς τα δεξιά) δηλώνουν το μεν πρώτο τον αριθμό των εκατοντάδων, το δεύτερο τον αριθμό των δεκάδων και το τελευταίο τον αριθμό των μονάδων.

    Πολύ απλά λοιπόν αν διαιρέσω οποιονδήποτε τριψήφιο με το 100 και “κρατήσω” το ακέραιο πηλίκο της διαίρεσης αυτό θα “δείχνει” ουσιαστικά το πρώτο ψηφίο που ψάχνω.

    ψ1 Χ div 100

    Το υπόλοιπο της διαίρεσης του Χ με το 100 (Χ mod 100) θα χρησιμοποιηθεί προκειμένου να “αποσπάσουμε” τα άλλα δύο ψηφία. Είναι λοιπόν,

    ψ2 (Χ mod 100) div 10

    ψ3 (Χ mod 100) mod 10

    Οι εντολές που ακολουθούν δεν χρειάζονται ιδιαίτερες συστάσεις. Μία απ’  αυτές θα υπολογιίζει τα γινόμενα και η επόμενη θα εμφανίζει τα αποτελέσματα. Δικές σας!!!

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

  • Έστω ο τριψήφιος 145.

    Κάθε ψηφίου (οπουδήποτε αριθμού) έχει μια αξία που συνδέεται άμεσα με την θέση του ψηφίο. Έτσι για τα ψηφία του δοσμένου αριθμού είναι:

    Εκατοντάδες                 Δεκάδες                     Μονάδες

        1                                     4                                5

    Το πλήθος των δυνατών συνδιασμών όλων των ψηφίων θα δώσει ως αποτέλεσμα τους επίσης τριψήφιους 154, 415, 451, 514 και 541.

  • Να δοθεί αλγόριθμος του οποίου η είσοδος θα είναι ένας φυσικός αριθμός το πολύ 4 ψηφίων και η έξοδος, ολογράφως η αξία των ψηφίων του, ανάλογα με την θέση που κατέχουν.

  • Κάθε φυσικός αριθμός αποτελείται (συντίθεται, δημιουργείται) από συνδιασμούς ψηφίων (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

    Κάθε ψηφίου του αριθμού (ανάλογα με την θέση που κατέχει) έχει και μια αξία.

    Πως υπολογίζεται η αξία του κάθε ψηφίου;

    Από δεξιά προς αριστερά έχουμε:

    Το πρώτο ψηφίο είναι το ψηφίο των μονάδων

    Το δεύτερο ψηφίο είναι το ψηφίο των δεκάδων

    Το τρίτο των εκατοντάδων, το τέταρτο των χιλιάδων κ.ο.κ.

    Ο αριθμός 3.458 ολογράφως θα γραφεί ως: 3 χιλιάδες 4 εκατοντάδες 5 δεκάδες και 8 μονάδες.

ΚάλανταΡέσταΜισθοδοσία Υπαλλήλου

  • Μια παρέα 3 παιδιών που διαμένουν στην ίδια οικοδομή τραγουδά τα κάλαντα παραμονή Χριστουγέννων στις γειτονιές της πόλης. Νωρίς το μεσημέρι και ενώ έχουν τελειώσει, συναντούν τον κ. Χάρη -οδηγό ταξί- ο οποίος και θα τους επιστρέψει σπίτια τους -με το αζημίωτο φυσικά. Ο κ. Χάρης προσφέρεται επίσης, να αντικαταστήσει τα νομίσματά τους με χαρτονομίσματα, προκειμένου ο ίδιος να εκτελεί τις συναλλαγές με τους πελάτες του πολύ πιο εύκολα. Τα παιδιά δέχονται με την προϋπόθεση να τους μοιράσει το συνολικό ποσό δίνοντας στο καθένα τον ακριβή αριθμό χαρτονομισμάτων που του αναλογεί. Ο κ. Χάρης τους ενημερώνει ότι μπορεί να τους μοιράσει μόνο χαρτονομίσματα των 10 ευρώ.
    Τα παιδιά δέχονται, καταμετρούν τα χρήματα που κέρδισαν, αφαιρούν το ποσό που τους ζητήθηκε ως αμοιβή για την μεταφορά στα σπίτια τους και επιπλέον, αποφασίζουν από κοινού να προσφέρουν πέραν της αμοιβής στον οδηγό ένα φιλοδώρημα, ίσο με ένα ποσό χρημάτων τέτοιο ώστε, το ποσό που θα απομείνει για να μοιραστούν μεταξύ τους, να είναι ακέραιος αριθμός. Ότι ποσό χρημάτων δεν μπορεί να μοιραστεί  σε χαρτονόμισμα θα διατεθεί ως δωρεά στο “Παιδικό Χωριό”.

    Να γραφεί αλγόριθμος που θα δίνει ως αποτέλεσμα το ποσό χρημάτων που αναλογεί στο κάθε παιδί. Πόσα χρήματα θα εισπράξει ο οδηγός ταξί και ποιο το ποσό της δωρεάς στο “Παιδικό Χωριό”;

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

  • Έστω ότι το μηχάνημα δέχεται ποσό ίσο με 50 ευρώ. Θα πρέπει να επιστραφούν ρέστα ίσα με 48 ευρώ. Θα μοιραστούν ως εξής:

    2 χαρτονομίσματα των 20 ευρώ, 1 χαρτονόμισμα των 5 ευρώ, 1 νόμισμα των 2 ευρώ, 1 νόμισμα του 1 ευρώ.

  • #include <iostream>
    using namespace std;

    main() {
    int const cost = 2;
    int money, rest, twenty, ten, five, two, one;
    cout<<“Παρακαλώ εισάγετε ποσό πληρωμής : “;
    cin>>money;
    rest = money – cost;
    cout<<“Τα ρέστα σου ” <<rest<<” euros έχουν ως εξής: \n”;
    twenty = rest/20;
    rest = rest % 20;
    ten = rest/10;
    rest = rest % 10;
    five = rest/5;
    rest = rest % 5;
    two = rest/2;
    rest = rest % 2;
    one = rest/1;
    rest = rest % 1;
    cout<<“Εικοσάρικα :”<<twenty<<“\n”;
    cout<<“Δεκάρικα :”<<ten<<“\n”;
    cout<<“Τάλιρα :”<<five<<“\n”;
    cout<<“2ευρα :”<<two<<“\n”;
    cout<<“Μονόευρα :”<<one<<“\n”;
    }

  • Για την πληρωμή των υπαλλήλων της, γνωστή εταιρεία ανάπτυξης εκπαιδευτικού λογισμικού έχει προχωρήσει σε συμφωνία με τράπεζα, προκειμένου σε αυτή να κατατίθεται κάθε μήνα το ποσό των χρημάτων που αντιστοιχεί στον μισθό κάθε υπαλλήλου.
    Ο υπολογισμός του μισθού ενός υπαλλήλου εξαρτάται από τον βασικό του μισθό ο οποίος προσαυξάνεται ανάλογα με τα χρόνια υπηρεσίας του, την οικογενειακή του κατάσταση (έγγαμος ή άγαμος), τον αριθμό των παιδιών του καθώς και το επίπεδο σπουδών ως εξής:
    Για κάθε δύο συμπληρωμένα χρόνια υπηρεσίας προσαύξηση 6% επί του βασικού, 100 ευρώ επιπλέον στην περίπτωση που είναι έγγαμος, για κάθε παιδί συν 220 ευρώ, ποσοστό 20% επί του βασικού αν είναι πτυχιούχος ΑΕΙ, 10% αν είναι πτυχιούχος ΤΕΙ.

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

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

  • ..

Permanent link to this article: https://pervolischool.edu.gr/computer-science/algorithms-aepp/sequence/div-mod/