ΑΕΠΠ Μάθημα 08

12
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2.4.1 Δομή ακολουθίας Διαχωρισμός ψηφίων με χρήση DIV και MOD Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα . Βασισμένο σε έργο στο http://ioarvanit.mysch.gr. Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

description

2.4.1 Δομή ακολουθίας Διαχωρισμός ψηφίων με την χρήση DIV και MOD

Transcript of ΑΕΠΠ Μάθημα 08

Page 1: ΑΕΠΠ Μάθημα 08

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

2.4.1 Δομή ακολουθίαςΔιαχωρισμός ψηφίων με χρήση DIV και MOD

Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Βασισμένο σε έργο στο http://ioarvanit.mysch.gr.Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

Page 2: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 3: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Ας ξεκινήσουμε με τα απλά... θα διαβάζουμε έναν αριθμό.

Page 4: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η μεταβλητή α περιέχει τον τετραψήφιο αριθμό που διαβάσαμε. Πως θα σκεφτούμε για να χωρίσουμε τα ψηφία του; Το κάθε ψηφίο του αριθμού αναπαριστά τις χιλιάδες, τις εκατοντάδες, τις δεκάδες και τις μονάδες αντίστοιχα. Για παράδειγμα ο αριθμός 7056, έχει 7 χιλιάδες, 0 εκατοντάδες, 5 δεκάδες και 6 μονάδες.

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

7 0 5 6

Page 5: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Χιλιάδες ← α div 1000

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Για να βρω τις χιλιάδες του αριθμού αυτού αρκεί να τον διαιρέσω με το 1000 και να κρατήσω το ακέραιο πηλίκο.

Page 6: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Χιλιάδες ← α div 1000

υπόλοιπο ← α mod 1000

Εκατοντάδες ← υπόλοιπο div 100

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

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

Page 7: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Χιλιάδες ← α div 1000

υπόλοιπο ← α mod 1000

Εκατοντάδες ← υπόλοιπο div 100

υπόλοιπο ← υπόλοιπο mod 100

Δεκάδες ← υπόλοιπο div 10

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Παρόμοια θα εργαστώ για τις δεκάδες. Θα κρατήσω το νέο υπόλοιπο, το οποίο θα το διαιρέσω με το 10

Page 8: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Χιλιάδες ← α div 1000

υπόλοιπο ← α mod 1000

Εκατοντάδες ← υπόλοιπο div 100

υπόλοιπο ← υπόλοιπο mod 100

Δεκάδες ← υπόλοιπο div 10

Μονάδες ← υπόλοιπο mod 10

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Τώρα για να βρω τις μονάδες, αρκεί να βρω το υπόλοιπο της τελευταίας διαίρεσης

Page 9: ΑΕΠΠ Μάθημα 08

Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν τετραψήφιο αριθμό και θα εμφανίζει το άθροισμα των ψηφίων του (πχ αν διαβαστεί το 6703 να εμφανίζει το 16 (6+7+0+3=16).

Αλγόριθμος Διαχωρισμός_ψηφίων

Διάβασε α

Χιλιάδες ← α div 1000

υπόλοιπο ← α mod 1000

Εκατοντάδες ← υπόλοιπο div 100

υπόλοιπο ← υπόλοιπο mod 100

Δεκάδες ← υπόλοιπο div 10

Μονάδες ← υπόλοιπο mod 10

Άθροισμα ← Χιλιάδες+Εκατοντάδες+Δεκάδες+Μονάδες

Εμφάνισε Άθροισμα

Τέλος Διαχωρισμός_ψηφίων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

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

Page 10: ΑΕΠΠ Μάθημα 08

Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 11: ΑΕΠΠ Μάθημα 08

Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

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

Εδώ χρειάζεται να χωρίζουμε μόνο τα 4 πρώτα ψηφία του δεκαψήφιου αριθμού, τα οποία δηλώνουν την εταιρία.

Έτσι αν για παράδειγμα δοθεί ο αριθμός 6970565409, θα πρέπει να εξάγουμε από αυτόν τα 4 πρώτα ψηφία (6970).

Για να το πετύχουμε αυτό αρκεί απλά να τον διαιρέσουμε με το 1.000.000 και να κρατήσουμε το ακέραιο πηλίκο.

Page 12: ΑΕΠΠ Μάθημα 08

Ας υποθέσουμε ότι υπάρχουν τρεις εταιρίες κινητής τηλεφωνίας των οποίων οι αριθμοί που παρέχουν αρχίζουν από τα εξής ψηφία:CityFon: 6970TeleMark: 6350VirtueFon: 6730Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν 10ψήφιο αριθμό κινητού τηλεφώνου, και να εμφανίζει το όνομα της εταιρίας στην οποία ανήκει.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Αλγόριθμος Κινητή_τηλεφωνία

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

Κωδικός ← αριθμός div 1000000

Αν Κωδικός=6970 τότε

Εταιρία ← “CityFon”

Αλλιώς_αν Κωδικός=6350 τότε

Εταιρία ← “TeleMark”

Αλλιώς_αν Κωδικός=6730 τότε

Εταιρία ← “VirtueFon”

Αλλιώς

Εταιρία ← “Ο αριθμός αυτός δεν αντιστοιχεί σε κάποια εταιρία”

Τέλος_αν

Εμφάνισε Εταιρία

Τέλος Κινητή_τηλεφωνία