Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών...

49
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Γιααπό….μέχρι Η μορφή της δομής επανάληψης Γιααπό….μέχρι είναι: Για Ομάδα εντολών Τέλος_επανάληψης Η μεταβλητή είναι το όνομα μιας μεταβλητής Που παίρνει τιμές στο [τ1,τ2] αν τ1≤τ2 ή στο [τ2,τ1] αν τ1≥τ2 Όσο η μεταβλητή βρίσκεται στο διάστημα μεταξύ τ1 και τ2 ή τ2 και τ1 Τότε εκτελείται η ομάδα εντολών της επανάληψης. Τα βήματα της δομής επανάληψης Για….από….μέχρι είναι: 1 ο Βήμα: Αρχίζει η επανάληψη και η μεταβλητή παίρνει την τιμή τ1. 2 ο Βήμα: Ελέγχουμε αν η μεταβλητή ≤τ2 αν τ1≤τ2 και μεταβλητή≥τ2 αν τ1≥τ2. Αν η συνθήκη ισχύει τότε οδηγούμαστε στο 3 ο Βήμα. Αν δεν ισχύει τότε η επανάληψη τερματίζει και εκτελείται η πρώτη εντολή μετά το Τέλος_επανάληψης. 3 ο Βήμα :Εκτελείται η ομάδα εντολών της επανάληψης και η τιμή της μεταβλητής μεταβάλλεται κατά τ3 ( τ3 μπορεί να είναι και αρνητική) και επανερχόμαστε στο 2 ο Βήμα. 2.100 μεταβλητή από τ1 μέχρι τ2 με βήμα τ3

description

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον,Δομή Επανάληψης Για...από....μέχριΣημειώσεις για το μάθημα των πανελληνίωνΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον,Προσφορά από το videolearner.com

Transcript of Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών...

Page 1: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να περιγραφεί η δομή επανάληψης Για…από….μέχριΗ μορφή της δομής επανάληψης Για…από….μέχρι είναι:

ΓιαΟμάδα εντολών

Τέλος_επανάληψης

Η μεταβλητή είναι το όνομα μιας μεταβλητής Που παίρνει τιμές στο [τ1,τ2] αν τ1≤τ2 ή στο [τ2,τ1] αν τ1≥τ2Όσο η μεταβλητή βρίσκεται στο διάστημα μεταξύ τ1 και τ2 ή τ2 και τ1 Τότε εκτελείται η ομάδα εντολών της επανάληψης.

Τα βήματα της δομής επανάληψης Για….από….μέχρι είναι:1ο Βήμα: Αρχίζει η επανάληψη και η μεταβλητή παίρνει την τιμή τ1.2ο Βήμα: Ελέγχουμε αν η μεταβλητή ≤ τ2 αν τ1≤τ2 και μεταβλητή≥τ2 αν τ1≥τ2.

• Αν η συνθήκη ισχύει τότε οδηγούμαστε στο 3ο Βήμα.• Αν δεν ισχύει τότε η επανάληψη τερματίζει• και εκτελείται η πρώτη εντολή μετά το Τέλος_επανάληψης.

3ο Βήμα :Εκτελείται η ομάδα εντολών της επανάληψης και η τιμή της μεταβλητήςμεταβάλλεται κατά τ3 ( τ3 μπορεί να είναι και αρνητική) και επανερχόμαστε στο 2οΒήμα.

2.100

μεταβλητή από τ1 μέχρι τ2 με βήμα τ3

Page 2: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να περιγραφεί η δομή επανάληψης Για…από….μέχρι είναιΗ μορφή της δομής επανάληψης Για…από….μέχρι είναι:

ΓιαΟμάδα εντολών

Τέλος_επανάληψης

Προσοχή:1. Στο Για…από….μέχρι το με_βήμα δεν είναι απαραίτητο. Όταν δεν υπάρχει το βήμα είναι

αύξησης είναι 1.2. Η συνθήκη τερματισμού (μεταβλητή≤τ1 ή μεταβλητή≤τ2) της επανάληψης υπονοείται

στη δομή επανάληψης Για…από…μέχρι.3. Ποτέ δεν αλλάζουμε την τιμή της μεταβλητής μέσα στο σώμα της επανάληψης.

• Δηλ. δεν μπορούμε να διαβάσουμε ή• να εκχωρήσουμε τιμή στη μεταβλητή της επανάληψης, διότι τότε αλλοιώνονται τα βήματα της επανάληψης.

4. Ο αριθμός εκτέλεσης των επαναλήψεων είναι γνωστός εκ των προτέρωνκαι ισούται με τον αριθμό των διαφορετικών αποδεκτών τιμών που θα πάρει ή

μεταβλητή για να οδηγηθούμε από το 2ο βήμα στο 3ο βήμα.

μεταβλητή από τ1 μέχρι τ2 με βήμα τ3

2.100

Page 3: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

2.101

Αλγόριθμος Παράδειγμα_Για

Τέλος Παράδειγμα_Για

Αρχικά η μεταβλητή i παίρνει την τιμή 1.Η τιμή 1 είναι μικρότερη από 4 ,οπότε θα εκτελεστεί η επανάληψη.

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

1η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 1.Κατόπιν η τιμή της i θα αυξηθεί κατά 1, γιατί το με_βήμα δεν υπάρχει.Η τιμή 2 της i είναι μικρότερη ή ίση του 4

1

Άρα θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα 1

2

Page 4: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

Αλγόριθμος Παράδειγμα_12

Τέλος Παράδειγμα_12

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

2η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 2.Κατόπιν η τιμή της i θα αυξηθεί κατά 1, γιατί το με_βήμα δεν υπάρχει.Η τιμή 3 της i είναι μικρότερη ή ίση του 4

1

Άρα θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα 1

2

2

23

2.101

Page 5: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

Αλγόριθμος Παράδειγμα_12

Τέλος Παράδειγμα_12

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

3η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 3.Κατόπιν η τιμή της i θα αυξηθεί κατά 1, γιατί το με_βήμα δεν υπάρχει.Η τιμή 4 της i είναι μικρότερη ή ίση του 4

1

Άρα θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα 1

2

2

23 34

3

2.101

Page 6: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

Αλγόριθμος Παράδειγμα_12

Τέλος Παράδειγμα_12

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

4η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 4.Κατόπιν η τιμή της i θα αυξηθεί κατά 1, γιατί το με_βήμα δεν υπάρχει.

Η τιμή 5 της i δεν είναι μικρότερη ή ίση του 4

1

Άρα δεν θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα 1

2

2

23 34

34

45

Οπότε ο αλγόριθμος θα εκτελεστεί 4 φορές.

2.101

Page 7: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

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

Τέλος Πόσες_εκτελέσεις

Αρχικά η μεταβλητή i παίρνει την τιμή 1.Η τιμή 1 είναι μικρότερη από 4 ,οπότε θα εκτελεστεί η επανάληψη.

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

1η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 1.Κατόπιν η τιμή της i θα αυξηθεί κατά 3, γιατί το με_βήμα υπάρχει και είναι 3.Η τιμή 4 της i είναι μικρότερη ή ίση του 4

1

Άρα θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα 3

4

2.101β

Page 8: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πόσες φορές θα εκτελεστούν οι ακόλουθοι αλγόριθμοι και τι θα εμφανίσουν;

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

Τέλος Ποσες_εκτελέσεις

i ΕμφανίζεταιΕμφάνισε i

Για i από

Τέλος_επανάληψης1

2η Επανάληψη:Η εντολή Εμφάνισε i θα εμφανίσει την τιμή της μεταβλητής i δηλ. 4.Κατόπιν η τιμή της i θα αυξηθεί κατά 3.

Η τιμή 7 της i δεν είναι μικρότερη ή ίση του 4

1

Άρα δεν θα επανεκτελεστεί η επανάληψη.

1

1 μέχρι 4 με βήμα

4

4

47

Οπότε ο αλγόριθμος θα εκτελεστεί 2 φορές.

2.101β

3

Page 9: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης Για…από….μέχρι.

2.102

Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψηςΓια….από….μέχριΠρέπει να κάνουμε τα εξής βήματα:

1ο Βήμα: Χρησιμοποιούμε ένα ορθογώνιοΓια την εκχώρηση της τιμής τ1 στη μεταβλητή της

επανάληψης

μεταβλητή ← τ1

2ο Βήμα: Φτιάχνουμε ένα ρόμβο όπου βάζουμε τη συνθήκη μεταβλητή≤τ2 αν τ1≤τ2

ή μεταβλητή≥τ2 αν τ1≥τ2 .

μεταβλητή≤τ2

3ο Βήμα: Από τον ρόμβο ξεκινούν δύο βέλη.

Ναι

Όχι

Το βέλος Ναι Οδηγεί στην στις εντολές της επανάληψης.Το βέλος ΌχιΟδηγεί στην επόμενη εντολή μετά το Τέλος_επανάληψης

ΕπόμενηΕντολή

Εντολή 1

….

Εντολή N

μεταβλητή← μεταβλητή+τ3

4ο Βήμα: Στο τέλος των εντολών επανάληψης χρησιμοποιούμε ένα ορθογώνιο για την εντολή αύξησης ή μείωσης της τιμή της μεταβλητής επανάληψης. Από το σύμβολο της τελευταίας εντολής επανάληψης ένα βέλος οδηγεί στη συνθήκη επανάληψης.

Page 10: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γίνει το διάγραμμα ροής του παρακάτω αλγορίθμου.

2.103

Αλγόριθμος Παράδειγμα_Α

Τέλος Παράδειγμα_Α

Διάβασε α

Για i από 1 μέχρι 10

Τέλος_επανάληψης

με_βήμα 2

Εμφάνισε α+i

Αρχή

Διάβασε α

Άρα i≤10

i ≤10Ναι

Εμφάνισε α+iΌχι

Τέλος

i←1

i←i+2

Page 11: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πότε χρησιμοποιούμε την Για…από…μέχρι και πότε τις άλλες μορφές επανάληψης.

2.104

Χρησιμοποιούμε την Για…από…μέχρι όταν γνωρίζουμε τον αριθμό των επαναλήψεων

Χρησιμοποιούμε το Όσο…επανέλαβε όταν δεν γνωρίζουμε των αριθμών των επαναλήψεων.

Χρησιμοποιούμε το Αρχή_επανάληψης…Μέχρις_ότου όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων και η επανάληψη πρέπει να εκτελεστεί τουλάχιστον μία φορά.

Page 12: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να μετατραπεί η γενική μορφή της δομής επανάληψης Για…από...μέχρι σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο….επανέλαβε1η Περίπτωση τ1≤τ2 (+Αυξάνω)

Για….από…μέχρι

Για μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3

Ομάδα εντολών

Τέλος_επανάληψης

Οσο…επανέλαβε

Όσο μεταβλητή≤τ2 επανέλαβεμεταβλητή←τ1

Ομάδα εντολών

μεταβλητή← μεταβλητή + τ3Τελος_επανάληψης

Για….από…μέχρι

Για μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3

Ομάδα εντολών

Τέλος_επανάληψης

Οσο…επανέλαβε

Όσο μεταβλητή≥τ2 επανέλαβεμεταβλητή←τ1

Ομάδα εντολών

μεταβλητή← μεταβλητή + τ3Τελος_επανάληψης

2η Περίπτωση τ1≥τ2 (- Μειώνω)

Υπάρχει μείον -

2.105

Page 13: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να μετατραπεί η γενική μορφή της δομής επανάληψης Για…από...μέχρι σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο….επανέλαβε1η Περίπτωση τ1≤τ2 (+Αυξάνω)

Για….από…μέχρι

Για μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3

Ομάδα εντολών

Τέλος_επανάληψης

Οσο…επανέλαβε

Όσο μεταβλητή≤τ2 επανέλαβεμεταβλητή←τ1

Ομάδα εντολών

μεταβλητή← μεταβλητή + τ3Τελος_επανάληψης

Προσέχουμε τα εξής σημεία:1. Πριν την επανάληψη Όσο…επανέλαβε πρέπει να αρχικοποιήσουμε τη μεταβλητή της

επανάληψης Για…από..μέχρι στην τιμή τ1.2. Η συνθήκη της επανάληψης Όσο…επανέλαβε

θα γίνει μεταβλητή≤τ2 (ανάλογα αν ισχύει τ1≤τ2)Αλλιώς θα γίνει μεταβλητή≥τ2 (αν ισχύει τ1≥τ2)

3. Θα μεταφέρουμε τις εντολές επανάληψης Για…από..μέχριόπως είναι στην επανάληψη Όσο…επανέλαβε

4. Πριν το Τέλος_επανάληψης στην Όσο…επανέλαβε θα προσθέτουμε τη μεταβλητή τη τιμήτου βήματος αν το με_βήμα λείπει θα την αυξήσουμε κατά 1

2.105

Page 14: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Παράδειγμα

1η Περίπτωση τ1≤τ2 (+Αυξάνω)Για….από…μέχρι

Για i από 1 μέχρι 4με_βήμα 1

Εμφάνισε i

Τέλος_επανάληψης

Οσο…επανέλαβε

Όσο i≤4 επανέλαβεi←1

Εμφάνισε i

i← i + 1Τελος_επανάληψης

Για….από…μέχρι

Για i από 10 μέχρι 2 με_βήμα -2

Εμφάνισε i

Τέλος_επανάληψης

Οσο…επανέλαβε

Όσο i≥2 επανέλαβεi←10

Εμφάνισε i

i← i - 2Τελος_επανάληψης

2η Περίπτωση τ1≥τ2 (- Μειώνω)

2.105

Page 15: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους αριθμούς 1,2,3….,100 με χρήση της δομής Για…από…μέχρι:

2.106

Πρέπει να προσέξουμε τα εξής:1. Τον πρώτο αριθμό της ακολουθίας.2. Τον τελευταίο αριθμό της ακολουθίας.3. Αν είναι αύξουσα ή φθίνουσα η ακολουθία4. Την διαφορά μεταξύ των αριθμών. Σε κάθε επανάληψη θα αυξάνουμε την τιμή της μεταβλητής κατά 1Άρα ο αλγόριθμος είναι:

Αλγόριθμος Αριθμοί

Τέλος Αριθμοί

i από 1Εμφάνισε i

Για με_βήμα 1 μέχρι 100

Τέλος_επανάληψης

Εννοείται +1

Page 16: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους περιττούς αριθμούς μεταξύ του 0 και του 1000 με χρήση της δομής Για…από…μέχρι:

2.107

Για να το επιλύσω με εύκολο τρόπο θα πρέπει να σκεφτώΟ πρώτος αριθμός που θέλω να εμφανίσω είναι το1 και όχι το 0Επίσης ο τελευταίος αριθμός είναι 999 και όχι το 1000. Πρέπει να προσέξουμε τα εξής:1. Τον πρώτο αριθμό της ακολουθίας.2. Τον τελευταίο αριθμό της ακολουθίας.3. Αν είναι αύξουσα ή φθίνουσα η ακολουθία4. Την διαφορά μεταξύ των αριθμών.

Δηλ πρέπει να εμφανίσω τους αριθμούς 1,3,5,7,…..997,999Άρα ο αλγόριθμος είναι:

Αλγόριθμος Αριθμοί

Τέλος Αριθμοί

i από 1Εμφάνισε i

Για με_βήμα 2 μέχρι 999

Τέλος_επανάληψης

Page 17: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους περιττούς αριθμούς μεταξύ του 0 και του 1000 με χρήση της δομής Για…από…μέχρι:

2.107

Θα μπορούσα να το επιλύσω με την απλή προγραμματιστική τεχνικήτης πράξης του υπολοίπου ακέραιας διαίρεσης mod.i mod 2 ≠ 0 Η οποία αν ισχύει τότε το i θα είναι περιττός αριθμόςΠρέπει πάλι να προσέξουμε τα εξής:1. Τον πρώτο αριθμό της ακολουθίας.2. Τον τελευταίο αριθμό της ακολουθίας.3. Αν είναι αύξουσα ή φθίνουσα η ακολουθία4. Την διαφορά μεταξύ των αριθμών.

Δηλ πρέπει να εμφανίσω τους αριθμούς 1,3,5,7,…..997,999Άρα ο αλγόριθμος είναι:

Αλγόριθμος Αριθμοί

i από 0Για με_βήμα 1μέχρι 1000

Αν i mod2≠0τότεi

Τέλος_ανΕμφάνισε

Τέλος Αριθμοί

Τέλος_επανάληψης

Page 18: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα υπολογίζει και θα εμφανίζει το άθροισμα και το γινόμενο των αριθμών 3,6,9,12,…..99 , με χρήση της δομής Για…από…μέχρι:

2.108

Για να το επιλύσω με εύκολο τρόπο θα πρέπει να σκεφτώΟ πρώτος αριθμός που θέλω παίρνει η μεταβλητή είναι το3. Επίσης ο τελευταίος αριθμός είναι 99. Για τον υπολογισμό του αθροίσματος και του γινομένου θα χρησιμοποιήσω δύο μεταβλητές• άθροισμα την οποία θα τη αρχικοποιήσω σε 0 και• γινόμενο την οποία θα τη αρχικοποιήσω σε 1 Πρέπει να προσέξουμε τα εξής:1. Τον πρώτο αριθμό της ακολουθίας.2. Τον τελευταίο αριθμό της ακολουθίας.3. Αν είναι αύξουσα ή φθίνουσα η ακολουθία4. Την διαφορά μεταξύ των αριθμών.

Άρα ο αλγόριθμος είναι:

Αλγόριθμος Άθροισμα_Γινόμενο

Τέλος Άθροισμα_Γινόμενο

i από 3άθροισμα←άθροισμα+i

Για με_βήμα 3 μέχρι 99

Τέλος_επανάληψης

άθροισμα←0γινόμενο←1

γινόμενο←γινόμενο*i

Εμφάνισε “Το άθροισμα των αριθμών είναι”,άθροισμαΕμφάνισε “Το γινόμενο των αριθμών είναι”,γινόμενο

Page 19: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.109

Για να το επιλύσω με εύκολο τρόπο θα πρέπει να σκεφτώΟ πρώτος αριθμός που θέλω παίρνει η μεταβλητή είναι το1. Επίσης ο τελευταίος αριθμός είναι 10. Για τον υπολογισμό του μέσου όρου θα χρησιμοποιήσω τη μεταβλητήάθροισμα την οποία θα τη αρχικοποιήσω σε 0.

Πρέπει να προσέξουμε τα εξής:1. Τον πρώτο αριθμό της ακολουθίας.2. Τον τελευταίο αριθμό της ακολουθίας.3. Αν είναι αύξουσα ή φθίνουσα η ακολουθία4. Την διαφορά μεταξύ των αριθμών.

Άρα ο αλγόριθμος είναι:

Αλγόριθμος Μέσος_όρος

Τέλος Μέσος_όρος

i από 1

άθροισμα←άθροισμα+ βαθμός

Για με_βήμα 1μέχρι 10

Τέλος_επανάληψης

άθροισμα←0

ΜΟ←άθροισμα/10

Εμφάνισε “Ο μέσος όρος των μαθημάτων είναι”,ΜΟ

Εμφάνισε “΄Δώσε έναν βαθμό ενός μαθητή”Διάβασε βαθμός

Page 20: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.110

Μέχρι τώρα(στη δομή επιλογής) έχω κάνει ασκήσεις όπου διαβάζω 3 αριθμούς και βρίσκω τον μέγιστο. (2.47 & 2.48)Για να το επιλύσω με εύκολο τρόπο θα πρέπει να σκεφτώΟ πρώτος αριθμός που θέλω παίρνει η μεταβλητή καταμέτρησης είναι το 2, διότι το 1 θα το βάλω πριν το βρόχο επανάληψης. Την πρώτη μεταβλητή εκτός δομής επανάληψης θα τη θέσω με max.Ο τελευταίος αριθμός είναι 100. Για τον υπολογισμό του μεγαλύτερου αριθμού κάνω τα εξής:

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

Άρα ο αλγόριθμος είναι:

Αλγόριθμος Μέγιστος

Τέλος Μέγιστος

i από 2Διάβασε α

Για με_βήμα 1μέχρι 100

Τέλος_επανάληψης

Διάβασε α

Εμφάνισε “Ο μέγιστος αριθμός είναι”, max

Εμφάνισε “Δώσε τον πρώτο αριθμό”

max← α

Αν α > max τότεmax← α

Τέλος_αν

Page 21: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

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

Σε 10 σχολεία της περιφέρειας έχουν εγκατασταθεί πειραματικά 10 Η/Υ(servers) που περιέχουν πληροφοριακές σελίδες του Internet και μπορεί κανείς να προσπελάσει την πληροφορία τους μέσα απόοποιοδήποτε Η/Υ στο κόσμο. Να γραφεί αλγόριθμος που διαβάζει τον συνολικό αριθμό των προσπελάσεων που πραγματοποιήθηκε σε κάθε έναν από τους servers αυτούς για διάστημα μιας ημέρας. Να βρεθεί ο server με το μικρότερο αριθμό προσπελάσεων καθώς και ο server με το μεγαλύτερο αριθμό προσπελάσεων.

2.111

Ο αλγόριθμος θα διαβάζει 10 αριθμούς (Ξερω προσπελάσεις άρα Για…από…μέχρι)που αντιστοιχούν στον αριθμό προσπελάσεων που πραγματοποιήθηκαν μια ημέρα.Και θα υπολογίζει το μέγιστο και τον ελάχιστο.Επιπλέον πρέπει να γνωρίζουμε ποιος από αυτούς τους αριθμούς ήταν ο μικρότερος και ποιος ο μεγαλύτερος.Δηλ αν ήταν ο 1ος ο 2ος κ.ο.κ.Για τον υπολογισμό αυτής της τιμής θα χρησιμοποιήσω 2 μεταβλητές:

• Τη θέση_min και• Τη θέση_max.

Κάθε φορά που αλλάζει η θέση η τιμή του min ή του max θα εκχωρούμε στην αντίστοιχη μεταβλητή την σειρά του αριθμού που εξετάζουμε.

Κεφάλαιο 2ο

Page 22: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Σε 10 σχολεία της περιφέρειας έχουν εγκατασταθεί πειραματικά 10 Η/Υ(servers) που περιέχουν πληροφοριακές σελίδες του Internet και μπορεί κανείς να προσπελάσει την πληροφορία τους μέσα απόοποιοδήποτε Η/Υ στο κόσμο. Να γραφεί αλγόριθμος που διαβάζει τον συνολικό αριθμό των προσπελάσεων που πραγματοποιήθηκε σε κάθε έναν από τους servers αυτούς για διάστημα μιας ημέρας. Να βρεθεί ο server με το μικρότερο αριθμό προσπελάσεων καθώς και ο server με το μεγαλύτερο αριθμό προσπελάσεων.

Άρα ο αλγόριθμος είναι:

Αλγόριθμος servers

Τέλος servers

i από 2Εμφανισε “Δώσε αριθμό προσπελάσεων του επομένου server ”

Για με_βήμα 1μέχρι 10

Τέλος_επανάληψης

Διάβασε α

Εμφάνισε “O server με τις λιγότερες προσπελάσεις είναι”, θέση_min

Εμφάνισε “Δώσε αριθμό προσπελάσεων 1ου server”

max← α

Αν α > max τότεmax← α

Τέλος_αν

θέση_max← 1min← αθέση_min← 1

Διάβασε α

Αν α < min τότεmin← α

Τέλος_αν

Εμφάνισε “O server με τις περισσότερες προσπελάσεις είναι”, θέση_max

θέση_max← i

θέση_min← i

ΚΟΛΠΟγια..από…ΘΑ ΜΕΤΡΉΣΩΑΠΌ 2 ΩΣ 10

2.111

Page 23: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.112

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

χρησιμοποιήσω τη δομή επανάληψης Για…από…μέχρι:

Άρα ο αλγόριθμος είναι:

Αλγόριθμος Εκδήλωση

Τέλος Εκδήλωση

i από 1Εμφάνισε “Δώσε τα χρήματα που διαθέτει ο χορηγός”

Για με_βήμα 1μέχρι 5

Τέλος_επανάληψης

Διάβασε χα,χβ,χγ

Εμφάνισε “Οι χορηγοί που μπορούν να καλύψουν την εκδήλωση είναι”, πλήθος

Εμφάνισε “Δώσε τη χωρητικότητα των τριών αιθουσών.”

max←χα

Αν χρήματα ≥ κόστος_max τότεπλήθος← πλήθος+1

Τέλος_αν

Διάβασε χωρητικότητα

Διάβασε κόστος

Συγκρίνω τιμές …max

Για…από…μέχρι…

Διάβασε κα,κβ,κγΕμφάνισε “Δώσε το κόστος των τριών αιθουσών.”

κόστος_max←καΑν χβ > max τότε

max← χβ

Τέλος_ανΑν χγ > max τότε

max← χγ

Τέλος_ανκόστος_max← κγ

κόστος_max← κβ

Διάβασε χρήματαΠόσοι χορηγοί καλύπτουν το κόστος από μόνοι τουςΌχι συνολικά μαζί.

Μεγαλύτερηχωρητικότητα ,μεγαλύτερο κόστος

πλήθος←0

Page 24: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

ΑΛΛΙΩΣΑλγόριθμος Εκδήλωση

Τέλος Εκδήλωση

i από 1Εμφάνισε “Δώσε τα χρήματα που διαθέτει ο χορηγός”

Για με_βήμα 1μέχρι 5

Τέλος_επανάληψης

Διάβασε χα,χβ,χγ

Εμφάνισε “Οι χορηγοί που μπορούν να καλύψουν την εκδήλωση είναι”, πλήθος

Εμφάνισε “Δώσε τη χωρητικότητα των τριών αιθουσών.”

max←χα

Αν χρήματα ≥ κόστος_max τότε

πλήθος← πλήθος+1

Τέλος_αν

Διάβασε κα,κβ,κγΕμφάνισε “Δώσε το κόστος των τριών αιθουσών.”

κόστος_max←καΑν χβ > max τότε

max← χβ

Τέλος_ανΑν χγ > max τότε

max← χγ

Τέλος_ανκόστος_max← κγ

κόστος_max← κβ

Διάβασε χρήματα

Πόσοι χορηγοί καλύπτουν το κόστος από μόνοι τουςΌχι συνολικά μαζί.

Αλγόριθμος Εκδήλωση

Τέλος Εκδήλωση

i από 1Εμφάνισε “Δώσε τα χρήματα που διαθέτει ο χορηγός”

Για με_βήμα 1μέχρι 5

Τέλος_επανάληψης

Διάβασε x

Εμφάνισε “Οι χορηγοί που μπορούν να καλύψουν την εκδήλωση είναι”,πλήθος

Εμφάνισε “Δώσε τη χωρητικότητα της αίθουσας.”

max←x

Αν χρήματα ≥ κόστος_max τότεπλήθος← πλήθος+1

Τέλος_αν

Διάβασε κΕμφάνισε “Δώσε το κόστος της πρώτης αίθουσας.”

κόστος_max←κθέση ← 1

Για j από 2 μέχρι 3

Διάβασε x,κΑν x > max τότε

max← x

θέση_max←jκόστος_max← κ

Εμφάνισε “Δώσε χωρητικότητα, κόστος επόμενης αίθουσας ”

Διάβασε χρήματα

Τέλος_επανάληψηςΤέλος_αν

2.112

Page 25: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.113

Τελικό_Ποσό = Αρχικό_Ποσό * 1 +

επιτόκιο

100

2

2*χρόνια

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

Θα χρησιμοποιήσουμε μια δομή επανάληψηςΓια…από…μέχρι η οποία θα εκτελεστεί 5 φορές. Σε κάθε επανάληψη θα διαβάζεται το αρχικό ποσό, τοεπιτόκιο και τα χρόνια αποταμίευσης. Με τη βοήθεια της μεταβλητής άθροισμα θαυπολογίσουμε το συνολικό ποσό που έχει ο καταθέτηςαπό όλους τους λογαριασμούς( 5 στο σύνολο).

Αλγόριθμος Ποσό_Αποταμίευσης

Τέλος Ποσό_Αποταμίευσης

i από 1

Διάβασε Αρχικό_ποσό,Επιτόκιο,Χρόνια

Για μέχρι 5

Τέλος_επανάληψης

Εμφάνισε “Το συνολικό ποσό είναι”, άθροισμα

Εμφάνισε “Δώσε αρχικό ποσό, επιτόκιο , χρόνια ”

άθροισμα← 0

Τελικό_Ποσό← Αρχικό_Ποσό*(1+(Επιτόκιο/100)/2)^(2*Χρόνια)

Εμφάνισε “ Τελικό ποσό”,Τελικό_Ποσόάθροισμα← άθροισμα+Τελικό_Ποσό

Page 26: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Το ποσοστό απαξίωσης για ένα είδος υπολογίζεται από τον παρακάτω τύπο.

2.114

Ποσοστό_Απαξίωσης = 1-Τιμή_Προσφοράς

Αριθμός_Ετών

Αρχική_τιμή

1

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

Η άσκηση δεν αναφέρει τον αριθμό από διαφορετικά είδη.Σύμφωνα με όσα γνωρίζουμε η πρώτη σκέψη μας είναιη χρήση της δομής επανάληψης• Όσο…επανέλαβε ή• Αρχή_επανάληψης…Μέχρις_ότουΓια να χρησιμοιήσω αυτές τις δομές έπρεπενα μας έδινε μια συνθήκη τερματισμούκάτι το οποίο δεν συμβαίνει.Συνεπώς πρέπει να ζητήσουμε από το χρήστητον αριθμό των ειδών για τα οποία πρέπει να υπολογίσουμε τοποσοστό απαξίωσης.Κατόπιν με ένα βρόχο επανάληψης Για…από…μέχριθα διαβάζουμε• την Τιμή_προσφοράς ,• την Αρχική_τιμή, και• την Αριθμός_Ετώνγια κάθε είδος και θα υπολογίζουμε το ποσοστό απαξίωσης.

Αλγόριθμος Ποσοστό_Απαξίωσης

Τέλος Ποσοστό_Απαξίωσης

i από 1

Διάβασε Τιμή_Προσφοράς,Αρχική_Τιμή,Αριθμός_Ετών

Για μέχρι Ν

Τέλος_επανάληψης

Εμφάνισε “Δώσε Τιμή προσφοράς,Αρχική τιμή,Αριθμός ετών”

Ποσοστό_Απαξίωσης← 1-(Τιμή_Προσφοράς/Αρχική_Τιμή)^(1/Αριθμός_Ετών)

Εμφάνισε “ Το ποσοστό απαξίωσης είναι ”,Ποσοστό_Απαξίωσης

Διάβασε Ν !Πλήθος από διαφορετικά είδη

Εμφάνισε “Δώσε αριθμό ειδών ”

Page 27: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Για να ανακαλύψουμε αν πρέπεινα χρησιμοποιήσουμε τη δομή επανάληψης και ποια ακριβώς δομή επανάληψης , θα κάνουμε τα εξής ερωτήματα:

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

Ερώτηση: Γνωρίζουμε τον αριθμό των αντικειμένων από την αρχή;Με άλλα λόγια είναι γνωστός ο αριθμός των επαναλήψεων;

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

Ερώτηση: Η εκφώνηση της άσκησης μου δίνει συνθήκη τερματισμού του αλγορίθμου;Αν ναι ,τότε θα χρησιμοποιήσουμε μια από τις δομές επανάληψης:

•Όσο….επανέλαβε ή•Αρχή_επανάληψης…Μέχρις_ότου.

Την Αρχή_επανάληψης…Μέχρις_ότου την χρησιμοποιώ αν ο αλγόριθμος πρέπει να εκτελεστεί μια φορά.

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

Μεθοδολογία

Page 28: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Έστω ότι ένας Πανελλήνιος Διαγωνισμός στα Μαθηματικά δίνει το δικαίωμα συμμετοχής στο 1% των μαθητών μιας τάξης με την προϋπόθεση ότι ο μέσος όρος της βαθμολογίας στα Μαθηματικά των μαθητών να είναι μεγαλύτερος από 18. Να γραφεί αλγόριθμος που θα ελέγχει τη δυνατότητα συμμετοχής σε έναν τέτοιο διαγωνισμό.

2.115

Αρχικά πρέπει να υπολογιστεί ο μέσος όροςτης βαθμολογίας στα Μαθηματικά.Επειδή η άσκηση δεν μας δίνει τον αριθμότων μαθητών ,αλλά ούτε και συνθήκητερματισμού του αλγορίθμου, πρέπει ναζητήσουμε το πλήθος των μαθητών μιας τάξης.Μετά τον υπολογισμό του μέσου όρου τηςβαθμολογίας , θα γίνει έλεγχος αν ο μέσοςόρος είναι μεγαλύτερος από 18 και θαεμφανιστεί μήνυμα αν μπορεί να συμμετέχει το1% των μαθητών στο διαγωνισμό.Άρα ο αλγόριθμος είναι:

Αλγόριθμος Διαγωνισμός_Μαθηματικών

Τέλος Διαγωνισμός_Μαθηματικών

i από 1

Εμφάνισε “Δώσε βαθμό μαθητή”

Για με_βήμα 1μέχρι Ν

Τέλος_επανάληψης

Διάβασε Ν !Αριθμός μαθητών

Εμφάνισε “Δώσε αριθμό των μαθητών:”

άθροισμα←0

άθροισμα← άθροισμα+βαθμός

ΜΟ←άθροισμα/Ν

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

Αν ΜΟ > 18 τότεΕμφάνισεΑλλιώςΕμφάνισε

Τέλος_αν

“Δεν μπορούν να συμμετάσχουν στο διαγωνισμό ”

“Μπορεί να συμμετάσχει το 1% της τάξης,δηλ οι ”, Ν/100

Page 29: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Για μια τάξη 30 μαθητών , θέλουμε να υπολογίσουμε το ποσοστό των μαθητών που πήραν βαθμό στις Πανελλαδικές εξετάσεις κάτω από 100 μόρια στο μάθημα της Πληροφορικής. Να γραφεί αλγόριθμος που θα διαβάζει τους βαθμούς των μαθητών και θα υπολογίζει το ζητούμενο ποσοστό.

2.116

Για να μπορέσουμε να υπολογίσουμε τοζητούμενο ποσοστό , πρέπει να γνωρίζουμε τοπλήθος των μαθητών που πήραν στιςΠανελλαδικές εξετάσεις κάτω από 100 μόριαστο μάθημα της Πληροφορικής

Άρα ο αλγόριθμος είναι :

Αλγόριθμος Ποσοστό_Αποτυχίας

Τέλος Ποσοστό_Αποτυχίας

i από 1

Εμφάνισε “Δώσε βαθμό μαθητή”

Για με_βήμα 1μέχρι 30

Τέλος_επανάληψης

πλήθος← 0

πλήθος←πλήθος+1

ποσοστό←πλήθος*100/30

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

Αν βαθμός < 100 τότε

Εμφάνισε

Τέλος_αν

“Το ποσοστό αποτυχίας είναι: ”,ποσοστό

Page 30: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Σε ένα Λύκειο της Αιτ/νίας η Γ΄ΤΆΞΗ αποφάσισε να κάνει έρανο για το γηροκομείο. Σε κάθε μαθητή που θα συμμετέχει η Δ/νση αποφάσισε να δώσει ένα γραπτό έπαινο, στην περίπτωση που ο μαθητής δώσει περισσότερα από 5 Ευρώ. Να γραφεί αλγόριθμος που θα υπολογίζει πόσα χρήματα μαζεύτηκαν συνολικά και πόσα παιδιά θα πρέπει να πάρουν τον γραπτό έπαινο.

2.117

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

Άρα ο αλγόριθμος είναι :

Αλγόριθμος Έπαινοι

Τέλος Έπαινοι

i από 1

Εμφάνισε “Δώσε χρημάτα”

Για με_βήμα 1μέχρι Ν

Τέλος_επανάληψης

άθροισμα← 0

πλήθος←πλήθος+1

άθροισμα←άθροισμα+χρήματα

Διάβασε χρήματα

Αν χρήματα > 5 τότε

Εμφάνισε

Τέλος_αν

“Τα χρήματα που μαζεύτηκαν είναι: ”, άθροισμα

πλήθος← 0

Εμφάνισε “Δώσε αριθμό των μαθητών”Διάβασε Ν

Εμφάνισε “Οι μαθητές που πρέπει να παίρνουν έπαινο είναι: ”,πλήθος

Page 31: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Μια τάξη ενός σχολείου αποφάσισε να κάνει δύο εράνους. Έτσι έγινε παράκληση στους μαθητές να ρίξουν σε δύο διαφορετικά κουτιά κάποια χρήματα. Στο τέλος αφότου έγινε η καταμέτρηση των χρημάτων των δύο κουτιών , η επιτροπή αποφάσισε να δώσει τα περισσότερα χρήματα στον ΟΚΑΝΑ και τα λιγότερα στο γηροκομείο. Να γραφεί αλγόριθμος που Α)θα υπολογίζει πόσα χρήματα θα μαζευτούν σε καθένα από τα δύο κουτιά Β)θα εμφανίζει ποιο ποσό θα πάει στο γηροκομείο και ποιο στο ΟΚΑΝΑ ,εμφανίζοντας επεξηγηματικά μηνύματα.

2.118

Για κάθε μαθητή θα διαβάζουμε δύο ποσάΚαι θα αυξάνουμε τα δύο αθροίσματα , μετά τηνεπανάληψη θα ελέγχουμε ποιο είναι τομεγαλύτερο ποσό και θα εμφανίζουμε ποιοπρέπει να πάει στον ΟΚΑΝΑ και ποιο στογηροκομείο.

Άρα ο αλγόριθμος είναι :

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

Τέλος Έρανοι

i από 1Εμφάνισε “Δώσε χρήματα για το πρώτο κουτί”

Για με_βήμα 1μέχρι Ν

Τέλος_επανάληψης

άθροισμα1← 0

άθροισμα1←άθροισμα1+χρήματα1Διάβασε χρήματα1

Αν άθροισμα1 > άθροισμα2 τότε

Εμφάνισε

Τέλος_αν

“Στον ΟΚΑΝΑ θα δοθούν: ”,άθροισμα1

άθροισμα2← 0Εμφάνισε “Δώσε αριθμό των μαθητών”Διάβασε Ν

Εμφάνισε “Δώσε χρήματα για το δεύτερο κουτί”

άθροισμα2←άθροισμα2+χρήματα2Διάβασε χρήματα2

Εμφάνισε “Στο γηροκομείο θα δοθούν: ”,άθροισμα2ΑλλιώςΕμφάνισε “Στον ΟΚΑΝΑ θα δοθούν: ”,άθροισμα2Εμφάνισε “Στο γηροκομείο θα δοθούν: ”,άθροισμα1

Page 32: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.119

Στη συνέχεια ο αλγόριθμος να ρωτάει έναν-έναν τους μαθητές αν θέλουν να συμμετάσχουν στην εκδρομή. Στο τέλος , θα εμφανίσει το πλήθος των μαθητών που απάντησαν ΝΑΙ, το πλήθος των μαθητών που απάντησαν ΊΣΩΣ , και το πλήθος των μαθητών που απάντησαν ΌΧΙ καθώς και τα ποσοστά τους.

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

Αλγόριθμος Εκδρομή

Τέλος Εκδρομή

i από 1Εμφάνισε “Θα έρθεις εκδρομή ;”

Για με_βήμα 1μέχρι Ν

Τέλος_επανάληψης

πλήθοςΝ← 0

πλήθοςΝ← πλήθοςΝ +1

Διάβασε απάντησηΑν απάντηση=“NAI” τότε

Εμφάνισε

Τέλος_αν

“Πλήθος μαθητών που απάντησαν ΝΑΙ: ”πλήθοςΝ

ΠλήθοςI←0

Εμφάνισε “Δώσε αριθμό των μαθητών”Διάβασε Ν

ποσοστόΝ←πλήθοςΝ*100/Ν

Εμφάνισε “Πλήθος μαθητών που απάντησαν ΙΣΩΣ : ”,πλήθοςΙ

Αλλιώς_αν απάντηση=“ΙΣΩΣ” τότε

Εμφάνισε “Πλήθος μαθητών που απάντησαν ΌΧΙ: ”,πλήθοςΟΕμφάνισε “Ποσοστό μαθητών που απάντησαν ΝΑΙ : ”,ποσοστόΝ

ΠλήθοςΟ←0Αρχή_επανάληψης

Μέχρις_ότου Ν>0

πλήθοςΙ← πλήθοςΙ +1ΑλλιώςπλήθοςΟ← πλήθοςΟ +1

ποσοστόΙ←πλήθοςΙ*100/ΝποσοστόΟ←πλήθοςΟ*100/Ν

Εμφάνισε “Ποσοστό μαθητών που απάντησαν ΊΣΩΣ : ”,ποσοστόΙΕμφάνισε “Ποσοστό μαθητών που απάντησαν ΌΧΙ : ”,ποσοστόΟ

Άλλο Ν άλλο ποσοστόΝ

Page 33: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

2.120

Αλγόριθμος Επανάληψη_εμφώλευση

Τέλος Επανάληψη_εμφώλευση

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

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

Η λογική είναι απλή:Το 1ο Για…από…μέχρι σχετίζεται με το τελευταίο

Τέλος_επανάληψηςΤο 2ο Για…από…μέχρι σχετίζεται με το πρότελευταιο

Τέλος_επανάληψης

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

Αρχή 1ου Βρόχου

Και θα εκτελεστούν οι εντολές του εκ νέου.Δηλ. θα εκτελεστεί εκ νέου ο εσωτερικός βρόχος.

Page 34: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα 24

Τέλος Παράδειγμα 24

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

Αρχή 1ου Βρόχου Η διαδικασία εκτέλεσης τωνεμφωλευμένων δομών επανάληψηςπεριγράφεται με τα εξής βήματα:

1ο Βήμα: Πηγαίνουμε στην αρχή του εξωτερικού βρόχου.Ελέγχουμε αν μπορεί να εκτελεστεί.Αν ναι , τότε πάμε στο 2ο Βήμα.Και θα εκτελεστούν οι εντολές στο εσωτερικό του.Διαφορετικά θα οδηγηθούμε στην πρώτη εντολήμετά το τελικό Τέλος_επανάληψης.

2ο Βήμα: Ο εσωτερικός βρόχος επανάληψης θα αρχίσειτην εκτέλεση του και θα εκτελεστεί κανονικά, όσες φορές χρειάζεται μέχρι να τερματίσει.Όταν τερματίσει ο εσωτερικός βρόχος επανάληψηςτότε θα πάμε στο 1ο Βήμα.

2.120

Page 35: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα 24

Τέλος Παράδειγμα 24

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

Άρα ο αλγόριθμος λειτουργεί ως εξής:1η Επανάληψη εξωτερικού βρόχου:

i j Εμφανίζεται1 1 1-1

Η μεταβλητή i παίρνει την τιμή 1, η οποία είναι μικρότερη από την τιμή 3,οπότε θα εκτελεστεί η επανάληψη.

1η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 1, η οποία είναι μικρότερη ή ίση από την τιμή 2,οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 1-1

2η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 2, οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 1-2

2 1-2 Ο εσωτερικός βρόχος τερματίζει οπότε πάμε στηνεξωτερική επανάληψη.

1-11-2

2.120

Page 36: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα 24

Τέλος Παράδειγμα 24

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

Άρα ο αλγόριθμος λειτουργεί ως εξής:2η Επανάληψη εξωτερικού βρόχου:

i j Εμφανίζεται1 1 1-1

Η μεταβλητή i παίρνει την τιμή 2, η οποία είναι μικρότερη από την τιμή 3,οπότε θα εκτελεστεί η επανάληψη.

1η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 1, η οποία είναι μικρότερη ή ίση από την τιμή 2,οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 2-1

2η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 2, οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 2-2

2 1-2 Ο εσωτερικός βρόχος τερματίζει οπότε πάμε στηνεξωτερική επανάληψη.

1-11-22-1

2 2-112 2-2

2-2

2.120

Page 37: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

1-11-2

3-12-1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα 24

Τέλος Παράδειγμα 24

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

Άρα ο αλγόριθμος λειτουργεί ως εξής:3η Επανάληψη εξωτερικού βρόχου:

i j Εμφανίζεται1 1 1-1

Η μεταβλητή i παίρνει την τιμή 3, η οποία είναι μικρότερη ή ίση από την τιμή 3,οπότε θα εκτελεστεί η επανάληψη.

1η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 1, η οποία είναι μικρότερη ή ίση από την τιμή 2,οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 3-1

2η Επανάληψη εσωτερικού βρόχου:Η μεταβλητή j παίρνει την τιμή 2, οπότε θα εκτελεστεί η επανάληψη,και θα εμφανιστεί 3-2

2 1-2 Ο εσωτερικός βρόχος τερματίζει οπότε πάμε στηνεξωτερική επανάληψη.

22-12-2

12

3 3-113-22

3-2

2.120

Page 38: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

1-11-2

3-12-1

3-2

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα 24

Τέλος Παράδειγμα 24

i από 1

Εμφάνισε i“-”j

Για μέχρι 3

Τέλος_επανάληψης

j από 1Για μέχρι 2

Τέλος_επανάληψης

Άρα ο αλγόριθμος λειτουργεί ως εξής:4η Επανάληψη εξωτερικού βρόχου:

i j Εμφανίζεται1 1 1-1

Η μεταβλητή i παίρνει την τιμή 4, η οποία δεν είναι μικρότερη ή ίση από την τιμή 3,οπότε δεν θα εκτελεστεί η εξωτερική επανάληψη.Συνεπώς ούτε και η εσωτερική επανάληψη.

2 1-222-12-2

12

3 3-113-22

4

2.120

Page 39: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Για μια τάξη 30 μαθητών , θέλουμε να υπολογίσουμε το ποσοστό των μαθητών που πήραν βαθμό στις Πανελλαδικές εξετάσεις κάτω από 100 μόρια στο μάθημα της Πληροφορικής. Να γραφεί αλγόριθμος που θα διαβάζει τους βαθμούς των μαθητών και θα υπολογίζει το ζητούμενο ποσοστό, για 5 σχολεία.

2.116--2.121

Για να μπορέσουμε για ένα σχολείονα υπολογίσουμε το ζητούμενο ποσοστό , πρέπει να γνωρίζουμε το πλήθος των μαθητώνπου συμμετείχαν στις Πανελλαδικές εξετάσειςκαι πήραν κάτω από 100 μόριαστο μάθημα της Πληροφορικής

Για ένα σχολείοο αλγόριθμος είναι :

Αλγόριθμος Ποσοστό_Αποτυχίας

Τέλος Ποσοστό_Αποτυχίας

i από 1

Εμφάνισε “Δώσε βαθμό μαθητή”

Για με_βήμα 1μέχρι 30

Τέλος_επανάληψης

πλήθος← 0

πλήθος←πλήθος+1

ποσοστό←πλήθος*100/30

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

Αν βαθμός < 100 τότε

Εμφάνισε

Τέλος_αν

“Το ποσοστό αποτυχίας είναι: ”,ποσοστό

Άρα πρέπει να εκτελέσουμε τον αλγόριθμο αυτό5 φορές για κάθε σχολείο.Αρκεί λοιπόν να χρησιμοποιήσουμε μια δομήεπανάληψης Για...από…μέχριΤην οποία θα εκτελέσουμε 5 φορές.

Άρα ο αλγόριθμος είναι :

Page 40: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

Αλγόριθμος Ποσοστό_Αποτυχίας

Τέλος Ποσοστό_Αποτυχίας

j από 1Εμφάνισε “Δώσε βαθμό μαθητή”

Για με_βήμα 1μέχρι 30

Τέλος_επανάληψης

πλήθος← 0

πλήθος←πλήθος+1

ποσοστό←πλήθος*100/30

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

Αν βαθμός < 100 τότε

Εμφάνισε

Τέλος_αν

“Το ποσοστό αποτυχίας του ”, i ,“ σχολείου είναι: ”,ποσοστό

i από 1Για με_βήμα 1μέχρι 5

Τέλος_επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

2.116--2.121

Page 41: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.122

Θέλουμε 10 μέσους όρους.Θα χρησιμοποιήσουμε μια δομή επανάληψηςΓια…από….μέχρι η οποία θα εκτελεστεί 10 φορές.Εσωτερικά της επανάληψης θα υπάρχει

διαδικασία υπολογισμού του μέσου όρου.

Θέλουμε το μέσο όρο.Γνωρίζω ότι σε κάθε σκηνή υπάρχουν 20 άτομα.Άρα απαιτείται διάβασμα 20 ηλικιών και ο

υπολογισμός του αθροίσματος τους.Άρα πάλι απαιτείται χρήση της δομής

επανάληψης Για..από…μέχρι η οποία θαεκτελεστεί 20 φορές.

Άρα ο αλγόριθμος είναι:

Αλγόριθμος ΜΟ_Ηλικιών

Τέλος ΜΟ_Ηλικιών

j από 1Εμφάνισε “Δώσε ηλικία”

Για με_βήμα 1μέχρι 20

Τέλος_επανάληψης

άθροισμα←0

άθροισμα← άθροισμα+ηλικία

Τέλος_επανάληψης

Διάβασε ηλικία

ΜΟ ← άθροισμα/20

Εμφάνισε “Ο Μ.Ο. ηλικίας της ”, i , “σκηνής είναι ”, ΜΟ

i από 1Για με_βήμα 1μέχρι 10

Page 42: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι ονομάζουμε ολίσθηση ;

4.123

Ο Η/Υ αποθηκεύει τα δεδομένα με δυαδική μορφή.Δηλαδή συνδυασμούς από 0 και 1.Παράδειγμα :Που αντιστοιχεί στον αριθμό 2 του δεκαδικού συστήματος.Αν ολισθήσουμε (μετακινήσουμε) τα ψηφία του αριθμού00000010 κατά μία θέση προς τα αριστερά,Δηλ. προσθέτω ένα 0 στο τέλοςΚαι αφαιρώ το αρχικό 0. Προκύπτει ο αριθμός 00000100Που αντιστοιχεί στον αριθμό 4 του δεκαδικού συστήματος.Άρα η ολίσθηση προς τα αριστερά ισοδυναμεί μεπολλαπλασιασμό επί δύο.Αν ολισθήσουμε (μετακινήσουμε) τα ψηφία του αριθμού00000010 κατά μία θέση προς τα δεξιά,Δηλ. προσθέτω ένα 0 στο στην αρχήΚαι αφαιρώ το 0 στο τέλος .

Προκύπτει ο αριθμός 00000001

Άρα η ολίσθηση προς τα δεξιά ισοδυναμεί μεδιαίρεση δια δύο.

* 2

/ 2

0 0 0 0 0 0 1 00 0

00 0 0 0 0 10

0

Page 43: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι ονομάζουμε ολίσθηση ;

4.123

Ο Η/Υ αποθηκεύει τα δεδομένα με δυαδική μορφή.Δηλαδή συνδυασμούς από 0 και 1.Παράδειγμα :Που αντιστοιχεί στον αριθμό 2 του δεκαδικού συστήματος.Αν ολισθήσουμε (μετακινήσουμε) τα ψηφία του αριθμού00000010 κατά μία θέση προς τα αριστερά,Δηλ. προσθέτω ένα 0 στο τέλοςΚαι αφαιρώ το αρχικό 0. Προκύπτει ο αριθμός 00000100Που αντιστοιχεί στον αριθμό 4 του δεκαδικού συστήματος.Άρα η ολίσθηση προς τα αριστερά ισοδυναμεί μεπολλαπλασιασμό επί δύο.Αν ολισθήσουμε (μετακινήσουμε) τα ψηφία του αριθμού00000010 κατά μία θέση προς τα δεξιά,Δηλ. προσθέτω ένα 0 στο στην αρχήΚαι αφαιρώ το 0 στο τέλος .

Προκύπτει ο αριθμός 00000001

Άρα η ολίσθηση προς τα δεξιά ισοδυναμεί μεδιαίρεση δια δύο.

* 2

/ 2

0 0 0 0 0 00

0 0 0 0 00 0

1 0

10

Page 44: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

4.124

Ο πολλαπλασιασμός αλά Ρωσικά υπολογίζει το γινόμενο δύο αριθμώνκαι χρησιμοποιείται στους υπολογιστές , γιατί υλοποιείται

• πιο απλά και• πιο γρήγορα,

από τον κλασσικό τρόπο υπολογισμού.Βασίζεται στην ολίσθηση και περιλαμβάνει:

• Πολλαπλασιασμό επί δύο και• Διαίρεση δια δύο.

1ο Βήμα:Κατασκευάζουμε έναν πίνακα με τρεις στήλεςκαι γράφουμε στις δύο πρώτες στήλεςτον 1ο και 2ο αριθμό.

12 1024 5

2ο Βήμα:Διπλασιάζουμε τον 1ο αριθμόΥποδιπλασιάζουμε τον 2ο αριθμόκρατώντας το πηλίκο της ακέραιας διαίρεσης

3ο Βήμα:Ελέγχουμε αν στη δεύτερη στήλη το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο Βήμα.Αλλιώς επαναλαμβάνουμε το 2ο και 3ο βήμα. Επαναλαμβάνω το 2ο και 3ο βήμα.

4ο Βήμα: Στην τρίτη στήληγράφουμε τον αντίστοιχο αριθμό της πρώτηςμε την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός.

24

5ο Βήμα:Προσθέτουμε τα νούμερα της τρίτης στήλης .Το αποτέλεσμα της πρόσθεσης , είναι το γινόμενο των δύο αριθμών

12 10a*b

Page 45: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

4.124

Ο πολλαπλασιασμός αλά Ρωσικά υπολογίζει το γινόμενο δύο αριθμώνκαι χρησιμοποιείται στους υπολογιστές , γιατί υλοποιείται

• πιο απλά και• πιο γρήγορα,

από τον κλασσικό τρόπο υπολογισμού.Βασίζεται στην ολίσθηση και περιλαμβάνει:

• Πολλαπλασιασμό επί δύο και• Διαίρεση δια δύο.

1ο Βήμα:Κατασκευάζουμε έναν πίνακα με τρεις στήλεςκαι γράφουμε στις δύο πρώτες στήλεςτον 1ο και 2ο αριθμό.

12 1024 5

2

2ο Βήμα:Διπλασιάζουμε τον 1ο αριθμόΥποδιπλασιάζουμε τον 2ο αριθμόκρατώντας το πηλίκο της ακέραιας διαίρεσης

3ο Βήμα:Ελέγχουμε αν στη δεύτερη στήλη το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο Βήμα.Αλλιώς επαναλαμβάνουμε το 2ο και 3ο βήμα. Επαναλαμβάνω το 2ο και 3ο βήμα.

48

4ο Βήμα: Στην τρίτη στήληγράφουμε τον αντίστοιχο αριθμό της πρώτηςμε την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός.

24

5ο Βήμα:Προσθέτουμε τα νούμερα της τρίτης στήλης .Το αποτέλεσμα της πρόσθεσης , είναι το γινόμενο των δύο αριθμών

12 10a*b

Page 46: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

4.124

Ο πολλαπλασιασμός αλά Ρωσικά υπολογίζει το γινόμενο δύο αριθμώνκαι χρησιμοποιείται στους υπολογιστές , γιατί υλοποιείται

• πιο απλά και• πιο γρήγορα,

από τον κλασσικό τρόπο υπολογισμού.Βασίζεται στην ολίσθηση και περιλαμβάνει:

• Πολλαπλασιασμό επί δύο και• Διαίρεση δια δύο.

1ο Βήμα:Κατασκευάζουμε έναν πίνακα με τρεις στήλεςκαι γράφουμε στις δύο πρώτες στήλεςτον 1ο και 2ο αριθμό.

12 1024 5

2

2ο Βήμα:Διπλασιάζουμε τον 1ο αριθμόΥποδιπλασιάζουμε τον 2ο αριθμόκρατώντας το πηλίκο της ακέραιας διαίρεσης

3ο Βήμα:Ελέγχουμε αν στη δεύτερη στήλη το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο Βήμα.Αλλιώς επαναλαμβάνουμε το 2ο και 3ο βήμα. Επαναλαμβάνω το 2ο και 3ο βήμα.

48196

4ο Βήμα: Στην τρίτη στήληγράφουμε τον αντίστοιχο αριθμό της πρώτηςμε την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός.

24

96

5ο Βήμα:Προσθέτουμε τα νούμερα της τρίτης στήλης .Το αποτέλεσμα της πρόσθεσης , είναι το γινόμενο των δύο αριθμών

12 10a*b

120

Page 47: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

4.124

Ο πολλαπλασιασμός αλά Ρωσικά υπολογίζει το γινόμενο δύο αριθμώνκαι χρησιμοποιείται στους υπολογιστές , γιατί υλοποιείται

• πιο απλά και• πιο γρήγορα,

από τον κλασσικό τρόπο υπολογισμού.Βασίζεται στην ολίσθηση και περιλαμβάνει:

• Πολλαπλασιασμό επί δύο και• Διαίρεση δια δύο.

1ο Βήμα:Κατασκευάζουμε έναν πίνακα με τρεις στήλεςκαι γράφουμε στις δύο πρώτες στήλεςτον 1ο και 2ο αριθμό.

12 1024 5

2

2ο Βήμα:Διπλασιάζουμε τον 1ο αριθμόΥποδιπλασιάζουμε τον 2ο αριθμόκρατώντας το πηλίκο της ακέραιας διαίρεσης

3ο Βήμα:Ελέγχουμε αν στη δεύτερη στήλη το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο Βήμα.Αλλιώς επαναλαμβάνουμε το 2ο και 3ο βήμα. Επαναλαμβάνω το 2ο και 3ο βήμα.

48196

4ο Βήμα: Στην τρίτη στήληγράφουμε τον αντίστοιχο αριθμό της πρώτηςμε την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός.

24

96

5ο Βήμα:Προσθέτουμε τα νούμερα της τρίτης στήλης .

120

Το αποτέλεσμα της πρόσθεσης , είναι το γινόμενο των δύο αριθμών

12 10

x120

a*b

0

1210

Page 48: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

4.124

Στην ουσία ψάχνουμε το άθροισμα της τρίτης στήλης.Άρα ο αλγόριθμος είναι :

Αλγόριθμος Πολλαπλασιασμός_Αλά_Ρώσικα

Τέλος Πολλαπλασιασμός_Αλά_Ρώσικα

b > 0

Εμφάνισε “Δώσε 2 αριθμούς”

Όσο επανέλαβε

άθροισμα ←0

άθροισμα←άθροισμα + a

a←a*2

Διάβασε a,b

Αν b mod 2=1 τότε

Εμφάνισε

Τέλος_αν

άθροισμα

Τέλος_επανάληψης

b←b div 2

Αν b είναι περιττός

πρόσθεσε τον aστο άθροισμα.

Διπλασίασε τον a.

Υποδιπλασίασε τον b &κράτα το πηλίκο ακέραιας διαίρεσης.Σταματάμε όταν το ακέραιο μέρος πάρει την τιμή 0.b=0

Page 49: Δομή Επανάληψης 3 - Για...από...μέχρι,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Επικοινωνία:[email protected]