Εντολές Επανάληψης. Επικ. Καθ. Ν. Καραµπετάκης, Τµήµα. Τµήµα Μαθηµατικών, Α.Π.Θ.

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Κεφάλαιο 5ο: Εντολές Επανάληψης

Μονοδιάστατοι πίνακες

IMPLICIT NONE INTEGER :: a, b, c

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Εισαγωγή στην πληροφορική

4. Επιλογή και Επανάληψη

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Μορφοποίηση της εξόδου

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

for for for for( . */

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

Μονοδιάστατοι πίνακες

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Εισαγωγή στην πληροφορική

Προγραµµατισµός στην Basic

Υπολογισμός - Εντολές Επανάληψης

Υπολογισμός αθροισμάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ιαφάνειες παρουσίασης #4

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Δομή προγράμματος στη Fortran

Δομή προγράμματος στη Fortran

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Προγραμματισμός Ι (ΗΥ120)

ΦΥΣ Διαλ.03. Ø Εντολές ελέγχου και λογικής. Ø Εντολές µεταφοράς. Ø Βρόγχοι επανάληψης εντολών. Ø Βρόγχοι επανάληψης µε λογικές σχέσεις

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Κεφάλαιο : Επαναλήψεις (for, do-while)

Προγραμματισμός Ι (HY120)

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Δομημένος Προγραμματισμός

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ιαφάνειες παρουσίασης #3

Η γλώσσα προγραμματισμού C

ιαφάνειες παρουσίασης #4

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Η γλώσσα προγραμματισμού C

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΒΑΣΙΚΕΣ ΟΜΕΣ ΑΛΓΟΡΙΘΜΙΚΗΣ ΣΧΕ ΙΑΣΗΣ

1. Ακολουθία 2. Επιλογή 2.1. Απλή επιλογή

Κεφάλαιο 4ο: Εντολές επιλογής

Εισαγωγή στον Προγραμματισμό

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

Συνάρτηση Διαδικασία

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 3 : Εντολές Επανάληψης. Αλέξανδρος Τζάλλας

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

8 FORTRAN 77/90/95/2003

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Εντολές ελέγχου ροής if, for, while, do-while

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008. Τµήµα ΓΤ2 Όνοµα:...


Δομές Επανάληψης. Εισαγωγή στη C++

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

ιαφάνειες παρουσίασης #2

Διαδικασιακός Προγραμματισμός

Fortran και Αντικειμενοστραφής προγραμματισμός.

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

Transcript:

Εντολές Επανάληψης Επικ. Καθ. Ν. Καραµπετάκης Τµήµα Μαθηµατικών, Α.Π.Θ. Οι εντολές επανάληψης Παράδειγµα 1. Έστω ότι µας ζητείται να βρούµε το άθροισµα 10 αριθµών. Τότε θα πρέπει να εκτελέσουµε 10 φορές τις εξής ενέργειες : α) ώσε έναν αριθµό, β) Πρόσθεσε τον αριθµό αυτόνσε µια µεταβλητή έστω S, την οποία θα χρησιµοποιούµε για να αποθηκεύουµε το συνολικό άθροισµα των αριθµών. Παράδειγµα 2. Έστω ότι θέλουµε ναβρούµε το µέγιστο κοινό διαιρέτη (ΜΚ ) δύο ακεραίων αριθµών α,β βάσει του τύπου ΜΚ ( α β, β) αν α > β ΜΚ ( α, β) = ΜΚ ( α, β α) αν α < β Η παραπάνω διαδικασία θα πρέπει να επαναληφθεί ένα πλήθος φορών που δε γνωρίζουµε, έως ότου οι α,βναγίνουνίσοι. Μαθηµατικών, Α.Π.Θ. 1

Ανακύκλωση και χρήση µετρητών σε προγράµµατα Παράδειγµα Να γραφεί πρόγραµµα που θα υπολογίζει το µέσο όρο N αριθµών. 10 READ*,Χ S=S+X GOTO 10 Εκτελείται άπειρες φορές! Χρειάζεται κάποιος να µετράει τον αριθµό φορών επανάληψης. Ο µετρητής. Μεταβλητή που αυξάνει κατά ένα κάθε φορά που εκτελείται µια επανάληψη. Ανακύκλωση και χρήση µετρητών σε προγράµµατα Παράδειγµα Να γραφεί πρόγραµµα που θα υπολογίζει το µέσο όρο N αριθµών. I=1 10 READ*,Χ S=S+X I=I+1 IF I<=N GOTO 10 PRINT*, MO=,S/N Μαθηµατικών, Α.Π.Θ. 2

Ανακύκλωση και χρήση µετρητών σε προγράµµατα Βήµα 1. Ζητώ πλήθος επαναλήψεων (Ν). Βήµα 2. Αρχικοποίηση παραµέτρων Ι=1 (Μετρητής επαναλήψεων) S=0 (Αθροιστής) P=1 (Πολλαπλασιαστής) PL=0 (Μετρητής πλήθους) Βήµα 3. ιάβασε δεδοµένο (Χ). Βήµα 4. Επεξεργασία δεδοµένων Χωρίς συνθήκη S=S+X (Άθροισµα) P=P*X (Γινόµενο) Ανακύκλωση και χρήση µετρητών σε προγράµµατα Βήµα 4. Επεξεργασία δεδοµένων Με συνθήκη IF (συνθήκη) ΤΗΕΝ S=S+X (Άθροισµα) IF (συνθήκη) ΤΗΕΝ P=P*X (Γινόµενο) IF (συνθήκη) ΤΗΕΝ PL=PL+1 (Πλήθος) Βήµα 5. Αύξηση του µετρητή πλήθους κατά 1 (I=I+1) Βήµα 6. Έλεγχος αν τελείωσε η διαδικασία IF (I<=N) THEN GOTO Βήµα 3 Βήµα 7. Εµφάνιση αποτελέσµατος. ΠΡΟΣΟΧΗ. Μέσος όρος = Άθροισµα / Πλήθος Μαθηµατικών, Α.Π.Θ. 3

Παράδειγµα (Χωρίς συνθήκη) ίνονται Ν αριθµοί. Να υπολογιστεί : Α) το άθροισµάτους, Β) το γινόµενό τους. Αρχή ώσε N I=1 S=0 P=1 ώσε X S=S+X P=P*X Αληθής I<=N Ψευδής Εµφάνισε S,P Τέλος Μαθηµατικών, Α.Π.Θ. 4

Παράδειγµα (Χωρίς συνθήκη) PROGRAM TEST INTEGER :: I,N REAL :: S,P,X PRINT*, ΩΣΕ ΠΛΗΘΟΣ ΑΡΙΘΜΩΝ =! BHMA 1 READ*,N I=1; S=0; P=1! ΒΗΜΑ 2 10 PRINT*, ΩΣΕ ΑΡΙΘΜΟ =! ΒΗΜΑ 3 READ*,X S=S+X! BHMA 4 P=P*X Ι=1+1! ΒΗΜΑ 5 IF I<=N THEN GOTO 10! ΒΗΜΑ 6 PRINT*, ΑΘΡΟΙΣΜΑ ΑΡΙΘΜΩΝ =,S! ΒΗΜΑ 7 PRINT*, ΓΙΝΟΜΕΝΟ ΑΡΙΘΜΩΝ=,Ρ ΕΝD PROGRAM TEST Παράδειγµα (Με συνθήκη) ίνονται Ν ακέραιοι αριθµοί. Να υπολογιστεί α) το άθροισµα τωναριθµών που είναι µέσα στο κλειστό διάστηµα [ 10,10], β) το γινόµενο των αριθµών που είναι εκτός του διαστήµατος [ 1,1], γ) το πλήθος των αριθµών που είναι άρτιοι. Μαθηµατικών, Α.Π.Θ. 5

Αρχή ώσε N I=1 S=0 P=1 ώσε X X>=-10 & X<=10 Αληθής S=S+X Αληθής Ψευδής X<-1 & X>1 Αληθής P=P*X Ψευδής X άρτιος Αληθής PL=PL+1 Ψευδής I<=N Ψευδής Εµφάνισε S,P,PL Τέλος Παράδειγµα (Με συνθήκη) PROGRAM TEST INTEGER :: I,N REAL :: S,P,X PRINT*, ΩΣΕ ΠΛΗΘΟΣ ΑΡΙΘΜΩΝ =! BHMA 1 READ*,N I=1 ; S=0 ; P=1 ; PL=0! ΒΗΜΑ 2 10 PRINT*, ΩΣΕ ΑΡΙΘΜΟ =! ΒΗΜΑ 3 READ*,X IF ((X>= 10).AND.(X<=10)) THEN S=S+X! BHMA 4 IF ((X>1).OR.(X< 1)) THEN P=P*X IF (MOD(X,2)==0) THEN PL=PL+1 Ι=1+1! ΒΗΜΑ 5 IF I<=N THEN GOTO 10! ΒΗΜΑ 6 PRINT*, ΑΘΡΟΙΣΜΑ ΑΡΙΘΜΩΝ ΣΤΟ [ 10,10] =,S! ΒΗΜΑ 7 PRINT*, ΓΙΝΟΜΕΝΟ ΑΡΙΘΜΩΝ ΕΚΤΟΣ ΤΟΥ [ 1,1] =,Ρ PRINT*, ΠΛΗΘΟΣ ΑΡΤΙΩΝ ΑΡΙΘΜΩΝ =,ΡL ΕΝD PROGRAM TEST Μαθηµατικών, Α.Π.Θ. 6

Η εντολή DO Σύνταξη : [όνοµα :] DO [label] δήλωση Σύνολο εντολών ήλωση του τέλους της DO δήλωση : Κενό ή µεταβλητή=αρχική τιµή, τελική τιµή [, βήµα] ή WHILE (λογική έκφραση) δήλωση τέλους : [όνοµα] ή Label εντολή (εκτός από GOTO, RETURN, STOP, EXIT, CYCLE, IF, END). Ηπρώτηµορφή της DO- Σύνταξη : DO Σύνολο εντολών Σκοπός : Ηατέρµονη εκτέλεση ενός συνόλου εντολών. Παράδειγµα Κ=0 DO K=K+1 PRINT*,K IF K>5 THEN EXIT Μαθηµατικών, Α.Π.Θ. 7

Παραδείγµατα της DO- CHARACTER (10) :: USERNAME,PASSWORD DO PRINT*, USERNAME= READ*,USERNAME PRINT*, PASSWORD= READ*,PASSWORD IF ((USERNAME== NIKOS ).AND.(PASSWORD== 12345 ) EXIT DO IF (I>5) EXIT PRINT*,I! ΑΤΕΡΜΟΝΗ ΑΝΑΚΥΚΛΩΣΗ Άσκηση Να γραφεί πρόγραµµα το οποίο θα διαβάζει ένα σύνολο ακεραίων αριθµών µεταξύ ένα και δέκα και θα υπολογίζει τον µέσο όρο αυτών έως ότου εµφανιστεί ένας αριθµός έξω από τα όρια αυτά. Μαθηµατικών, Α.Π.Θ. 8

Ηδεύτερηµορφή της DO- Σύνταξη : DO WHILE (συνθήκη) Σύνολο εντολών Σκοπός : Η επανάληψη ενός συνόλου εντολών έως ότου µια συνθήκη ικανοποιηθεί. Ψευδής Συνθήκη Αληθής Σύνολο εντολών Παρατηρήσεις : 1. Οι µεταβλητές που εµπλέκονται µέσα στη συνθήκη της WHILE θα πρέπει : α) να πάρουν τιµήπριντηχρήσητηςwhile και β) να αλλάξουν τιµή κατά τη διάρκεια της ανακύκλωσης (µεταξύ DO WHILE και ). 2. Η εντολή DO-WHILE χρησιµοποιείται όταν δε γνωρίζουµε εκ των προτέρων το πλήθος των επαναλήψεων. Παραδείγµατα της DO WHILE - Να γραφεί πρόγραµµα το οποίο θα υπολογίζει το µέγιστο κοινό διαιρέτη δύο αριθµών α,β βάσειτουαναδροµικού τύπου ( ) ( ) ΜΚ α β, β αν α > β ΜΚ ( α, β) = ΜΚ α, β α αν α < β α αν α = β Μαθηµατικών, Α.Π.Θ. 9

Παραδείγµατα της DO WHILE - Αρχή ώσε α,β α<>β Ψευδής Εµφάνισε τον α Αληθής Αληθής α>β Ψευδής α=α-β β=β-α Τέλος Παραδείγµατα της DO WHILE - PROGRAM MKD INTEGER :: A,B,MKD PRINT*, DOSE DYO AKERAIOYS ARITHMOYS= READ*,A,B DO WHILE (A/=B) IF (A>B) THEN A=A B ELSE B=B A END IF PRINT*, MKD=,A END PROGRAM MKD Μαθηµατικών, Α.Π.Θ. 10

Παραδείγµατα της DO WHILE - Να γραφεί πρόγραµµα το οποίο θα υπολογίζει το µέγιστο κοινό διαιρέτη δύο αριθµών α,βσύµφωνα µε το παρακάτω παράδειγµα π.χ. ΜΚ (12,15) Βήµα 1. Τοποθετώ στην πρώτη θέση τον µεγαλύτερο ΜΚ (15,12) Βήµα 2. 15=1*12+3 (A=Q 1 B+Y 1 ) - (Y 1 <>0 -> A<-B, B<-Y 1 12=4*3+0 (B=Q 2 Y 1 +Y 2 ) - (Y 2 =0 -> Y 1 =MKD(A,B)) Παραδείγµατα της DO WHILE - Ο υπολογισµός της τετραγωνικής ρίζας του α γίνεται από τον παρακάτω αναδροµικό τύπο : 1 a x = x+ 2 x Να υπολογιστεί η τετραγωνική ρίζα του α µε ακρίβεια ανπάρουµε ωςαρχική τιµήτηςπροσέγγισηςχ=α/3. Μαθηµατικών, Α.Π.Θ. 11

Παραδείγµατα της DO WHILE - a = 1 a 1 x = = 3 3 1 a 1 1 1 10 xnew = x+ = + 2 x 2 3 1 = 6 3 1 10 8 6 x xnew = = > 10 3 6 6 10 1 a 17 16 x = xnew =, xnew = x+ =, x xnew = > 10 6 2 x 15 30 6 Αρχή ώσε α Αληθής α=0 Ψευδής xnew=0 x=α/3 xnew=(1/2)*(x+a/x) x-xnew >ε x=xnew xnew=(1/2)*(x+a/x) Εµφάνισε τον x Τέλος Μαθηµατικών, Α.Π.Θ. 12

Παραδείγµατα της DO WHILE - PROGRAM SQUAREROOT REAL :: A,X,XNEW REAL, PARAMETER :: E=1E 06 PRINT*, A= ; READ*,A IF (A==0) THEN XNEW=0 ELSE X=A/3 XNEW=(1/2.0)*(X+A/X) DO WHILE ABS(X XNEW)>E X=XNEW XNEW=(1/2.0)*(X+A/X) END IF PRINT*, SQUARE ROOT OF,A, IS,XNEW END PROGRAM SQUAREROOT Παραδείγµατα της DO WHILE - ΗεκθετικήσυνάρτησηEXP(X) ορίζεται ως το άθροισµατωνάπει-ρων όρων της παρακάτω σειράς : 2 3 i X X X EXP( X ) = 1+ X + + + + + 2! 3! I! Να χρησιµοποιήσετε την παραπάνω σειρά για τον υπολογισµό τουexp(x) εως ότου η απόλυτη τιµή του όρου Χ^Ι/Ι! γίνει µικρότερηήίσηαπόµια επιθυµητή ακρίβεια Ε. Μαθηµατικών, Α.Π.Θ. 13

Αρχή ώσε X,E I=1 S=1 TERM=Χ TERM >=E Παραδείγµατα της DO WHILE - PROGRAM EXPONENTIAL REAL :: S,TERM,X,E INTEGER :: I PRINT*, X= ; READ*,X! ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ PRINT*, E= ; READ*,E I=1! ΑΡΧΙΚΟΠΟΙΗΣΗ ΟΡΩΝ S=1 TERM=X DO WHILE (ABS(TERM)>=E)! ΠΡΟΣΘΕΣΗ ΟΡΩΝ S=S+TERM I=I+1 TERM=TERM*(X/I)! ΕΜΦΑΝΙΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ PRINT*, EXP(,X, )=,S END PROGRAM EXPONENTIAL Μαθηµατικών, Α.Π.Θ. 14

Ητρίτηµορφή της DO- Σύνταξη : DO µεταβλητή(μ)=αρχική τιµή(α), τελική τιµή(τ) [,βήµα(β)] Σύνολο εντολών DO label µεταβλητή(μ)=αρχική τιµή(α), τελική τιµή(τ) [,βήµα(β)] Σύνολο εντολών Label CONTINUE Μ=Α(Β)Τ Σύνολο εντολών Παραδείγµατα της τρίτης µορφή της DO- DO I=1,5,1 PRINT*,I DO 10 I=1,5,1 PRINT*,I 10 CONTINUE 1 2 3 4 5 Άσκηση. Να γραφεί πρόγραµµα που θα εκτυπώνει τους αριθµούς από το 1 ως το 5 ανάποδα, δηλ. 5,4,3,2,1. Μαθηµατικών, Α.Π.Θ. 15

Παρατηρήσεις 1. Το βήµα θα πρέπει να είναι πάντα διαφορετικό από το µηδέν. 2. εν αλλάζουν οι τιµές του βήµατος, αρχικής και τελικής τιµής µέσα στο loop. 3. Να µην παραλείπουµε το βήµα όταν είναι αρνητικό. 4. Η µεταβλητή θα πρέπει να είναι ακέραια όπως και οι αρχική τιµή, τελική τιµή και βήµα. 5. Είναι λάθος να χρησιµοποιείς µια GO TO για να σε µεταφέρει µέσα σε µια DO. 6. Αριθµός επαναλήψεων σε µια do-end do ( αρχική ) - ( τελική ) + 1 βήµα Παρατηρήσεις 7. Σταµάτηµα της εκτέλεσης ΜΙΑΣ επανάληψης (CYCLE) IF (X>5) CYCLE 8. Έξοδος από µια DO- (EXIT) IF (X>5) ΕΧΙΤ 9. Προσοχή πρέπει να δίνεται στις µεταβολές της «µεταβλητής». Μαθηµατικών, Α.Π.Θ. 16

Παράδειγµα Να υπολογιστούν οι τιµές του πολυωνύµου για Χ=0,0.5,1,,10. 2 P X X = 5 + 6 Χ=0(0.5)10 S=X**2-5*X+6 Εµφάνισε το X,S Παράδειγµα PROGRAM POLYONYMO REAL :: X,S DO X=0,10,0.5 S=X**2 5*X+6 WRITE(6,10) S,X 10 FORMAT(1X,F5.1,5X,F8.2) END PROGRAM POLYONYMO Μαθηµατικών, Α.Π.Θ. 17

Παράδειγµα PROGRAM POLYONYMO INTEGER :: I REAL :: X,S DO I=0,100,5 X=0.1*I S=X**2 5*X+6 WRITE(6,10) S,X 10 FORMAT(1X,F5.1,5X,F8.2) END PROGRAM POLYONYMO Να υπολογιστούν οι τιµές του πολυωνύµου για Χ=0, 0.05, 0,10,,10. Παράδειγµα Να υπολογισθεί το άθροισµα S = 1+ 2 + 3+ + 100 S=0 I=1(1)100 S=S+I Εµφάνισε το S Μαθηµατικών, Α.Π.Θ. 18

Παράδειγµα PROGRAM SUM INTEGER :: S,I DO I=1,100 S=S+I PRINT*, S=,S END PROGRAM SUM b Όµοια για f (), i step i= a = c Άσκηση Να γραφεί πρόγραµµα που θα υπολογίζει το παρακάτω άθροισµα 1 1 1 1 1 1 1 S = 1 + + + = N = 1,5,9,13,...,41 3 5 7 41 43 N N + 2 Η παραπάνω σειρά συγκλίνει πολύ αργά προς το π=3.14. Μαθηµατικών, Α.Π.Θ. 19

A ιάβασε το Ν Παράδειγµα Να υπολογιστεί το Ν! πρδ. Ν! = 1*2*3*..*Ν. N<0 N=0 P=1 Τύπωσε λάθος Εµφάνισε '0!=1' I=1(1)N P=P*I Εµφάνισε το P T Παράδειγµα PROGRAM FACTORIAL INTEGER*4 :: I,N,P PRINT*, N= ; READ*,N IF (N<0) THEN PRINT*, ERROR, N MUST BE POSITIVE ELSE IF (N==0) THEN PRINT*, 0!=1 ELSE Όµοια για P=1 b DO I=1,N f (), i step= c a P=P*I 2 20 ( n + 1) P = PRINT*,N,!=,P n= 1 n( n+ 2) END IF END PROGRAM FACTORIAL Μαθηµατικών, Α.Π.Θ. 20

Παράδειγµα Να βρεθούν οι 20 πρώτοι όροι της ακολουθίας Fibonacci : F = F + F N> 2 µε F = 0, F = 1 N N 1 N 2 1 2 A F1=0 F2=1 I=3(1)20 F3=F1+F2 Εµφάνισε το F3 F1=F2 F2=F3 T Παράδειγµα PROGRAM FIBONACCI INTEGER :: F1,F2,F3,N F1=0 ; F2=1 DO N=3,20 F3=F1+F2 PRINT*,N,F3 F1=F2 ; F2=F3 END PROGRAM FIBONACCI Μαθηµατικών, Α.Π.Θ. 21

Παράδειγµα Να διαβασθούν Ν>2 αριθµοί και, αφού υπολογισθούν, να εµφανιστούν τα εξής : α) ο µεγαλύτερος αριθµός, β) ο µικρότερος αριθµός, γ) ο µέσος όρος N Xi i= 1 µ = N A Παράδειγµα ιάβασε το Ν (>2) ιάβασε το Χ S=Χ ΜΙΝ=Χ ΜΑΧ=Χ I=2(1)Ν ιάβασε το Χ S=S+X X>MAX MAX=X X<MIN MIN=X Εµφάνισε τα ΜΑΧ,ΜΙΝ,S/N T Μαθηµατικών, Α.Π.Θ. 22

Παράδειγµα PROGRAM MINMAXSUM REAL :: S,X,MIN,MAX INTEGER :: I,N PRINT*, N (N>2) = ; READ*,N PRINT*, X= ; READ*,X S=X MIN=X MAX=X DO I=2,N PRINT*, X= ; READ*,X IF (X>MAX) MAX=X IF (X<MIN) MIN=X S=S+X PRINT*, MINIMUM=,MIN PRINT*, MAXIMUM=,MAX PRINT*, MEAN=,S/N END PROGRAM MINMAXSUM Φωλιασµένες εντολές επανάληψης [όνοµα1 :] [όνοµα2 :] DO [label] δήλωση1 Σύνολο εντολών 1 DO [label2] δήλωση2 Σύνολο εντολών 2 ήλωση του τέλους της DO Σύνολο εντολών 3 ήλωση του τέλους της DO Μαθηµατικών, Α.Π.Θ. 23

Παράδειγµα 1. (Φωλιασµένες εντολές επανάληψης) 1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 2*1= 2 1*6= 6 2*2= 4 1*7= 7 2*3= 6 1*8= 8 2*4= 8 1*9= 9 2*5= 10 1*10= 10 2*6= 12 Press any key to continue 2*7= 14 I=1 DO J=1,10 PRINT*,I, *,J, =,I*J I=2 DO J=1,10 PRINT*,I, *,J, =,I*J 2*8= 16 2*9= 18 2*10= 20 Press any key to continue Παράδειγµα 1. (Φωλιασµένες εντολές επανάληψης) A I=1(1)10 J=1(1)10 Εµφάνισε το I*J T Μαθηµατικών, Α.Π.Θ. 24

Παράδειγµα 1. (Φωλιασµένες εντολές επανάληψης) PROGRAM PROPAIDEIA INTEGER ::I,J DO I=1,10 DO J=1,10 PRINT*,I, *,J, =,I*J PRINT*, --------------------- END PROGRAM PROPAIDEIA Παράδειγµα 2. (Φωλιασµένες εντολές επανάληψης) Να βρεθούν οι ακέραιοι αριθµοί A,B,C (Πυθαγόρειοι αριθµοί) που ανήκουν στο διάστηµα [1,10] και ικανοποιούν την ιδιότητα : 2 2 2 A + B = C 2 2 2 πχ.. 3 + 4 = 5 Μαθηµατικών, Α.Π.Θ. 25

Παράδειγµα 2. (Φωλιασµένες εντολές επανάληψης) A A=1(1)10 B=1(1)10 C=1(1)10 2 2 A + B = Ψευδής C 2 Aληθής Εµφάνισε το (Α,Β,C) T Παράδειγµα 2. (Φωλιασµένες εντολές επανάληψης) PROGRAM PYTHAGORIOI INTEGER :: A,B,C META: DO A=1,10 METB: DO B=1,10 METC: METB META END PROGRAM PYTHAGORIOI DO C=1,10 IF (A**2+B**2==C**2) THEN PRINT*,A,B,C END IF METC 3 4 5 4 3 5 6 8 10 8 6 10 Press any key to continue Μαθηµατικών, Α.Π.Θ. 26

Παράδειγµα 2. (Φωλιασµένες εντολές επανάληψης) PROGRAM PYTHAGORIOI INTEGER :: A,B,C META: DO A=1,10 METB: DO B=A+1,10 METC: DO C=B+1,10 IF (A**2+B**2==C**2) THEN PRINT*,A,B,C END IF METC METB META END PROGRAM PYTHAGORIOI 3 4 5 6 8 10 Press any key to continue Άσκηση Η ετήσια δόση Χ για την εξόφληση δανείου ποσού D, το οποίο πρέπει να εξοφληθεί σε N χρόνια µεεπιτόκιοε(0<ε<1) δίνεται από τον τύπο : ( 1+ ) N ( E) N D E E X = 1+ 1 Αν το ποσό είναι D = 1.000.000, να υπολογιστεί η ετήσια δόση για επιτόκιο Ε = 0.05, 0.055, 0.06, 0.065, 0.07, 0.075 και σε χρόνια Ν = 10, 15, 20, 25, 30. Μαθηµατικών, Α.Π.Θ. 27