Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄ 4.3.1 Δομή Επανάληψης
2
Στην πράξη πολύ λίγοι αλγόριθμοι χρησιμοποιούν μόνο τις δομές ακολουθίας και επιλογής Συνήθως στα ρεαλιστικά προβλήματα χρειάζεται μία σειρά ενεργειών να επαναληφθεί πολλές φορές
3
Δομή Επανάληψης Χρήση: μία ακολουθία εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι κοινό. Παράδειγμα: τόκοι καταθέσεων ταμιευτηρίου Ο υπολογισμός των τόκων πρέπει να γίνει για όλους τους λογαριασμούς της τράπεζας, άρα η πράξη τόκος = ποσό * επιτόκιο πρέπει να εκτελεσθεί για όλους τους τραπεζικούς λογαριασμούς
4
Δύο τύποι επαναλήψεων Προκαθορισμένοι: το πλήθος των επαναλήψεων είναι δεδομένο πριν αρχίσουν οι επαναλήψεις (for) Μη προκαθορισμένοι ή απροσδιόριστοι: το πλήθος των επαναλήψεων καθορίζεται κατά τη διάρκεια της εκτέλεσης των εντολών του σώματος της επανάληψης (while)
5
Βρόχος (loop) Είναι μια ακολουθία εντολών οι οποίες δηλώνονται μία φορά, αλλά μπορούν να εκτελεστούν πολλές φορές για έναν καθορισμένο αριθμό επαναλήψεων (for) ή για όσο ισχύει μία συνθήκη (while βρόχος)
6
Οι βρόχοι for εκτελούνται για συγκεκριμένο πλήθος φορών
Για τη δημιουργία της χρησιμοποιείται η συνάρτηση range() for onoma_metavlitis in range (αρχή, μέχρι, βήμα): Εντολή 1 Εντολή 2 ….. Εντολή ν
7
Εμφάνιση της λέξης ΚΑΛΗΜΕΡΑ 5 φορές
for i in range (5): print ‘ ΚΑΛΗΜΕΡΑ ’ Εμφάνιση της λέξης ΚΑΛΗΜΕΡΑ 5 φορές
8
H ακολουθία range Ενσωματωμένη συνάρτηση της Python
Δομή μορφής: (αρχή, μέχρι, βήμα), όπου: Αρχή , μέχρι , βήμα ακέραιοι αριθμοί Οι ενδείξεις της «αρχής» και του «βήματος» δεν είναι υποχρεωτικές H ένδειξη «μέχρι» πρέπει πάντα να αναφέρεται range(4) (0,1,2,3) range(1,10) (1,2,3,4,5,6,7,8,9) range(5,50,10) (5,15,25,35,45)
9
for i in range (5): print i
0 , 1 , 2 , 3 , 4 for i in range (2,5): print i 2 , 3 , 4 for i in range (2,10,2): print i 2 , 4 , 6 , 8 10 , 8 , 6 , 4, for i in range (10,2,-2): print i
10
for variable in sequence:
Εντολές Η εντολή for κάνει επανάληψη διατρέχοντας τα στοιχεία μιας ακολουθίας, για παράδειγμα μιας συμβολοσειράς ή μιας λίστας με τη σειρά με την οποία αυτά εμφανίζονται στην ακολουθία for c in “hello”: print(c)
11
Να γραφεί αλγόριθμος ο οποίος θα διαβάζει την ακτίνα ενός κύκλου και θα υπολογίζει και θα εμφανίζει το εμβαδόν του Αλγόριθμος παράδειγμα Εμφάνισε “Δώσε ακτίνα κύκλου” Διάβασε R E 3.14 * R ^ 2 Εμφάνισε “Εμβαδόν = ”, Ε Τέλος παράδειγμα
12
Να γραφεί αλγόριθμος ο οποίος για 50 κύκλους θα διαβάζει την ακτίνα του κύκλου και θα υπολογίζει και θα εμφανίζει το εμβαδόν τους Αλγόριθμος παράδειγμα Για i από 1 μέχρι 50 Εμφάνισε “Δώσε ακτίνα ”, i , “ου κύκλου” Διάβασε R E 3.14 * R ^ 2 Εμφάνισε “Εμβαδόν = ”, Ε Τέλος_επανάληψης Τέλος παράδειγμα
13
R = input ( “ Δώσε ακτίνα κύκλου ” )
Να γραφεί πρόγραμμα σε Python το οποίο για 5 κύκλους θα διαβάζει την ακτίνα του κύκλου και θα υπολογίζει και θα εμφανίζει το εμβαδόν τους for i in range (5): R = input ( “ Δώσε ακτίνα κύκλου ” ) E = 3.14 * R ** 2 print “ Εμβαδόν = ” , Ε
14
print ' Δώσε ακτίνα ‘ , i , ' κύκλου ' R = input() E = 3.14 * R ** 2
Να γραφεί πρόγραμμα σε Python το οποίο για 5 κύκλους θα διαβάζει την ακτίνα του κύκλου και θα υπολογίζει και θα εμφανίζει το εμβαδόν τους for i in range (1,6): print ' Δώσε ακτίνα ‘ , i , ' κύκλου ' R = input() E = 3.14 * R ** 2 print ‘Εμβαδόν = ’, Ε
15
print ' Δώσε ακτίνα ‘ , i+1 , ' κύκλου ' R = input() E = 3.14 * R ** 2
Να γραφεί πρόγραμμα σε Python το οποίο για 5 κύκλους θα διαβάζει την ακτίνα του κύκλου και θα υπολογίζει και θα εμφανίζει το εμβαδόν τους for i in range (5): print ' Δώσε ακτίνα ‘ , i+1 , ' κύκλου ' R = input() E = 3.14 * R ** 2 print ‘Εμβαδόν = ’, Ε
16
Να γραφεί αλγόριθμος ο οποίος θα διαβάζει 100 αριθμούς και θα υπολογίζει και θα εμφανίζει το άθροισμά τους Αλγόριθμος Άθροισμα_Αριθμών Σ0 Για i από 1 μέχρι 100 Εμφάνισε “Δώσε αριθμό” Διάβασε Α Σ Σ + Α Τέλος_επανάληψης Εμφάνισε “Άθροισμα αριθμών = ”, Σ Τέλος Άθροισμα_Αριθμών
17
Να γραφεί πρόγραμμα σε Python το οποίο θα διαβάζει 7 αριθμούς και θα υπολογίζει και θα εμφανίζει το άθροισμά τους athroisma = 0 for i in range(7) : x = input ( “ Δώσε έναν αριθμό: " ) athroisma = athroisma + x print ‘ To αποτέλεσμα είναι ’ , athroisma
18
print ‘ Άθροισμα = ’ , athroisma
Να γραφεί πρόγραμμα σε Python το οποίο θα διαβάζει 7 αριθμούς και θα υπολογίζει και θα εμφανίζει το άθροισμά τους athroisma = 0 for i in range(5) : x = input ( “ Δώσε έναν αριθμό: " ) athroisma = athroisma + x print ‘ Άθροισμα = ’ , athroisma print ‘ Τελικό άθροισμα = ’ , athroisma
19
Να γραφεί πρόγραμμα σε Python το οποίο θα εμφανίζει τους άρτιους αριθμούς στο διάστημα [1,100] for i in range (2,101,2): print i 2 , 4 , 6 , 8 , 10 , 12 , … , 98 , 100
21
Δομή Επανάληψης με while βρόχο
μη προκαθορισμένος αριθμός επαναλήψεων υπάρχει περίπτωση να μην εκτελεστούν οι εντολές του βρόχου ο έλεγχος της συνθήκης πραγματοποιείται πριν από την εκτέλεση των εντολών του βρόχου Εκτελούνται οι εντολές όσο η συνθήκη είναι αληθής
22
πριν το βρόχο while θα πρέπει αρχικά να δώσουμε μία τιμή στη μεταβλητή που ελέγχει τη συνθήκη του βρόχου, ώστε ανάλογα να εκτελεστεί ή όχι ο βρόχος Αρχική τιμή μεταβλητής While ονομα_μεταβλητής <συνθήκη>: Εντολή 1 Εντολή 2 …. Εντολή ν θα πρέπει μέσα στο μπλοκ εντολών να υπάρχει κατάλληλη εντολή, ώστε να εξασφαλίζεται ότι κάποια στιγμή η συνθήκη θα γίνει ψευδής και θα διακοπεί ο βρόχος. Διαφορετικά ο βρόχος δε θα τερματίζει (ΑΤΕΡΜΩΝ ΒΡΟΧΟΣ)
23
Να γραφεί αλγόριθμος ο οποίος διαβάζει το όνομα ενός μαθητή, τους βαθμούς του σε τρία μαθήματα και υπολογίζει και τυπώνει το μέσο όρο του. Ο αλγόριθμος να σταματάει, όταν για όνομα μαθητή δοθεί το κενό εμφανίζοντας το πλήθος των μαθητών για τους οποίους υπολογίστηκε ο μέσος όρος.
24
Αλγόριθμος Μέσος_όρος πλήθος 0 Εμφάνισε “Δώσε όνομα μαθητή” Διάβασε όνομα Όσο όνομα ≠ '' '' επανάλαβε Διάβασε β1, β2 , β3 ΜΟ (β1 + β2 + β3) / 3 Εμφάνισε “ Ο μέσος όρος είναι: ” , ΜΟ πλήθος πλήθος + 1 Εμφάνισε “Δώσε όνομα επόμενου μαθητή” Τέλος_επανάληψης Εμφάνισε πλήθος Τέλος Μέσος_όρος
25
plithos=0 name = raw_input ( “ Δώσε όνομα μαθητή ” ) while name
plithos=0 name = raw_input ( “ Δώσε όνομα μαθητή ” ) while name != '' '' : print ‘ Δώσε τους τρεις βαθμούς… ’ b1 = float ( input() ) b2 = float ( input() ) b3 = float ( input() ) mo = float ( ( b1 + b2 + b3 ) / 3 ) print “ Ο μέσος όρος είναι: ” , mo plithos = plithos + 1 name = raw_input ( “ Δώσε όνομα επόμενου μαθητή ” ) print ‘ Αριθμός μαθητών που δόθηκαν = ’ , plithos
26
plithos=0 name = raw_input ( “ Δώσε όνομα μαθητή ” ) while name
plithos=0 name = raw_input ( “ Δώσε όνομα μαθητή ” ) while name != '' '' : athroisma = 0 for i in range ( 3 ) : b = float ( input ( ‘ Δώσε βαθμό… ’ ) ) athroisma = athroisma + b mo = float ( athroisma / 3 ) print “ Ο μέσος όρος είναι: ” , mo plithos = plithos + 1 name = raw_input ( “ Δώσε όνομα επόμενου μαθητή ” ) print ‘ Αριθμός μαθητών που δόθηκαν = ’ , plithos
27
Τιμή φρουρός Η τιμή η οποία τερματίζει μία επανάληψη
Στο προηγούμενο παράδειγμα ήταν το κενό
28
Σε ένα σουπερμάρκετ κάθε πελάτης δικαιούται μια δωροεπιταγή 6 € αν συμπληρώσει 200 πόντους. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει τους πόντους που κερδίζει ένας συγκεκριμένος πελάτης σε κάθε επίσκεψη στο σουπερμάρκετ και θα εμφανίζει μετά από πόσες επισκέψεις παίρνει τη δωροεπιταγή και ποιος είναι ο μέσος όρος πόντων σε κάθε επίσκεψη.
29
Αλγόριθμος Παράδειγμα άθροισμα 0 πλήθος 0 Όσο άθροισμα < 200 επανάλαβε Διάβασε πόντοι άθροισμα άθροισμα + πόντοι πλήθος πλήθος + 1 Τέλος_επανάληψης ΜΟ άθροισμα / πλήθος Εμφάνισε “Πλήθος επισκέψεων : ” , πλήθος Εμφάνισε “Μέσος όρος πόντων : ”, ΜΟ Τέλος Παράδειγμα
30
athroisma = 0 plithos = 0 while athroisma < 200 : points = input ( ‘ Δώσε πόντους επίσκεψης… ’ ) athroisma = athroisma + points plithos = plithos + 1 print ‘ Άθροισμα πόντων μέχρι τώρα…’ , athroisma print ‘ Αριθμός επισκέψεων μέχρι τώρα…’ , plithos mo = float ( athroisma / plithos ) print ‘ Τελικό άθροισμα πόντων : ’ , athroisma print ‘ Τελικό πλήθος επισκέψεων : ’ , plithos print ‘ Μέσος όρος πόντων : ’ , mo
31
Παράδειγμα 2. Να γραφεί αλγόριθμος που να διαβάζει άγνωστο πλήθος αριθμών και να υπολογίζει και να εμφανίζει το μέσο όρο τους. Η διαδικασία εισαγωγής των αριθμών να σταματά όταν για αριθμός δοθεί το μηδέν.
32
Αλγόριθμος Βασικό_Παράδειγμα άθροισμα 0 πλήθος 0 Εμφάνισε “ Δώστε ένα αριθμό ” Διάβασε Α Όσο Α ≠ 0 επανάλαβε άθροισμα άθροισμα + Α πλήθος πλήθος + 1 Εμφάνισε “ Δώστε επόμενο αριθμό ή μηδέν για έξοδο ” Τέλος_επανάληψης Αν πλήθος ≠ 0 τότε ΜΟ άθροισμα / πλήθος Εμφάνισε “ Μέσος όρος αριθμών : ” , ΜΟ αλλιώς Εμφάνισε “ Δεν δόθηκαν αριθμοί ” Τέλος_αν Τέλος Βασικό_Παράδειγμα
33
Δοκιμάστε να τρέξετε το πρόγραμμα δίνοντας ως πρώτη τιμή
athroisma = 0 plithos = 0 a = input ( ‘ Δώσε έναν αριθμό… ’ ) while a != 0 : athroisma = athroisma + a plithos = plithos + 1 a = input ( ‘ Δώσε έναν αριθμό μηδέν για τερματισμό…’ ) mo = float ( athroisma / plithos ) print ‘ Μέσος όρος αριθμών: ’ , mo Τι παρατηρείτε;;; Διορθώστε το λάθος… Δοκιμάστε να τρέξετε το πρόγραμμα δίνοντας ως πρώτη τιμή στο a το μηδέν
34
athroisma = 0 plithos = 0 a = input ( ‘ Δώσε έναν αριθμό… ’ ) while a
athroisma = 0 plithos = 0 a = input ( ‘ Δώσε έναν αριθμό… ’ ) while a != 0 : athroisma = athroisma + a plithos = plithos + 1 a = input ( ‘ Δώσε έναν αριθμό μηδέν για τερματισμό…’ ) if plithos != 0 : mo = float ( athroisma / plithos ) print ‘ Μέσος όρος αριθμών: ’ , mo else: print ‘Δεν δόθηκαν αριθμοί ’
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.