ΑΕΠΠ Μάθημα 08
-
Upload
giannis-arvanitakis -
Category
Documents
-
view
807 -
download
3
description
Transcript of ΑΕΠΠ Μάθημα 08
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
2.4.1 Δομή ακολουθίαςΔιαχωρισμός ψηφίων με χρήση DIV και MOD
Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Βασισμένο σε έργο στο http://ioarvanit.mysch.gr.Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Ας ξεκινήσουμε με τα απλά... θα διαβάζουμε έναν αριθμό.
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Η μεταβλητή α περιέχει τον τετραψήφιο αριθμό που διαβάσαμε. Πως θα σκεφτούμε για να χωρίσουμε τα ψηφία του; Το κάθε ψηφίο του αριθμού αναπαριστά τις χιλιάδες, τις εκατοντάδες, τις δεκάδες και τις μονάδες αντίστοιχα. Για παράδειγμα ο αριθμός 7056, έχει 7 χιλιάδες, 0 εκατοντάδες, 5 δεκάδες και 6 μονάδες.
Χιλιάδες Εκατοντάδες Δεκάδες Μονάδες
7 0 5 6
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Χιλιάδες ← α div 1000
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Για να βρω τις χιλιάδες του αριθμού αυτού αρκεί να τον διαιρέσω με το 1000 και να κρατήσω το ακέραιο πηλίκο.
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Χιλιάδες ← α div 1000
υπόλοιπο ← α mod 1000
Εκατοντάδες ← υπόλοιπο div 100
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Το επόμενο βήμα είναι να βρω το ψηφίο των εκατοντάδων. Για να μπορέσω να το βρω αυτό χρειάζομαι τον αρχικό αριθμό α, απαλλαγμένο από τις χιλιάδες, ώστε να τον διαιρέσω με το 100. Για τον λόγο αυτό θα χρησιμοποιήσω μια βοηθητική μεταβλητή που θα την ονομάσω υπόλοιπο, και η οποία θα κρατάει το υπόλοιπο της διαίρεσης του α με το 1000
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Χιλιάδες ← α div 1000
υπόλοιπο ← α mod 1000
Εκατοντάδες ← υπόλοιπο div 100
υπόλοιπο ← υπόλοιπο mod 100
Δεκάδες ← υπόλοιπο div 10
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Παρόμοια θα εργαστώ για τις δεκάδες. Θα κρατήσω το νέο υπόλοιπο, το οποίο θα το διαιρέσω με το 10
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Χιλιάδες ← α div 1000
υπόλοιπο ← α mod 1000
Εκατοντάδες ← υπόλοιπο div 100
υπόλοιπο ← υπόλοιπο mod 100
Δεκάδες ← υπόλοιπο div 10
Μονάδες ← υπόλοιπο mod 10
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Τώρα για να βρω τις μονάδες, αρκεί να βρω το υπόλοιπο της τελευταίας διαίρεσης
Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).
Αλγόριθμος Διαχωρισμός_ψηφίων
Διάβασε α
Χιλιάδες ← α div 1000
υπόλοιπο ← α mod 1000
Εκατοντάδες ← υπόλοιπο div 100
υπόλοιπο ← υπόλοιπο mod 100
Δεκάδες ← υπόλοιπο div 10
Μονάδες ← υπόλοιπο mod 10
Άθροισμα ← Χιλιάδες+Εκατοντάδες+Δεκάδες+Μονάδες
Εμφάνισε Άθροισμα
Τέλος Διαχωρισμός_ψηφίων
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Αρκεί τώρα να προσθέσω τις χιλιάδες με τις εκατοντάδες τις δεκάδες και τις μονάδες για να βρω το άθροισμα των ψηφίων του.
Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Στο συγκεκριμένο πρόβλημα δεν θέλουμε να διαχωρίσουμε όλα τα ψηφία του αριθμού που διαβάζουμε, όπως στο προηγούμενο παράδειγμα.
Εδώ χρειάζεται να χωρίζουμε μόνο τα 4 πρώτα ψηφία του δεκαψήφιου αριθμού, τα οποία δηλώνουν την εταιρία.
Έτσι αν για παράδειγμα δοθεί ο αριθμός 6970565409, θα πρέπει να εξάγουμε από αυτόν τα 4 πρώτα ψηφία (6970).
Για να το πετύχουμε αυτό αρκεί απλά να τον διαιρέσουμε με το 1.000.000 και να κρατήσουμε το ακέραιο πηλίκο.
Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.
Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .
Αλγόριθμος Κινητή_τηλεφωνία
Διάβασε αριθμός
Κωδικός ← αριθμός div 1000000
Αν Κωδικός=6970 τότε
Εταιρία ← “CityFon”
Αλλιώς_αν Κωδικός=6350 τότε
Εταιρία ← “TeleMark”
Αλλιώς_αν Κωδικός=6730 τότε
Εταιρία ← “VirtueFon”
Αλλιώς
Εταιρία ← “Ο αριθμός αυτός δεν αντιστοιχεί σε κάποια εταιρία”
Τέλος_αν
Εμφάνισε Εταιρία
Τέλος Κινητή_τηλεφωνία