1 / 28

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ)

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ). For I:=1 to 10 Do 2. While posotita<> 0 Do … 3. Repeat … ... Until posotita: = 0. Βασικοί στόχοι. Να γνωρίσουμε τις εντολές επανάληψης στην Turbo – Pascal. Να κατανοήσουμε τις διαφορές μεταξύ των τριών εντολών επανάληψης.

damia
Télécharger la présentation

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ) For I:=1 to 10 Do 2. While posotita<> 0 Do … 3. Repeat … ... Until posotita: = 0

  2. Βασικοί στόχοι • Να γνωρίσουμε τις εντολές επανάληψης στην Turbo – Pascal. • Να κατανοήσουμε τις διαφορές μεταξύ των τριών εντολών επανάληψης. • Να αναλύσουμε προγράμματα που χρησιμοποιούν τις εντολές επανάληψης. • Να επιλύσουμε προβλήματα με τη χρήση των εντολών επανάληψης.

  3. Εντολές Επανάληψης(Βρόχοι) Με τις εντολές επανάληψης είναι δυνατή η εκτέλεση μιας ακολουθίας προτάσεων του προγράμματος πολλές φορές. • Όταν ο αριθμός των επαναλήψεων είναι γνωστός από πριν τότε χρησιμοποιούμε το For… 2. Όταν η εκτέλεση της επανάληψης του βρόχου εξαρτάται από την ικανοποίηση της συνθήκης που προηγείται, τότε χρησιμοποιούμε το While 3. Όταν η επανάληψη του βρόχου εξαρτάται από την ικανοποίηση της συνθήκης που ακολουθεί, τότε χρησιμοποιούμε το, Repeat - Until

  4. Παράδειγμα 1 Program for_1; Uses wincrt; Var metritis,fores:integer; Begin writeln(‘poses fores thelete na emfanistei i protasi’); writeln(‘stin othoni sas; ‘); readln(fores); FOR metritis:=1 TO fores DO writeln(‘Oloi diathetoume ena ekpliktiko egkefalo’); End.

  5. Παράδειγμα 2 Program While_2; Uses wincrt; Var posotita,timi,synolo:real; Begin Wrtiteln(‘Dose <0> stin posotita gia na stamatiseis to programma’); write(‘Dose tin posotita: ’); readln(posotita); WHILE posotita<> 0 DO begin write(‘Dose tin timi: ’); readln(timi); synolo:=posotita*timi; writeln;writeln; writeln(‘To apotelesma se ECU einai..’,synolo:10:2); writeln;write(‘Dose tin posotita: ’); readln(posotita); End End.

  6. Παράδειγμα 3 Program repeat_3; Uses wincrt; Var posotita,timi,synolo:real; apantisi:char; Begin Repeat write(‘Dose tin posotita…’); readln(posotita); write(‘ Dose tin timi…’); readln(timi); synolo:=posotita*timi; writeln;writeln; writeln(‘To apotelesma se ECu einai…’,synolo:10:2); writeln; write(‘Tha kanete kai allo ypologismo(N/O) ‘); readln(apantisi); Until apantisi=‘o’ End.

  7. Δομή επανάληψης Συνθήκη Oμάδαεντολών Η δομή επανάληψης είναι μια ολοκληρωμένη πρόταση η οποία περικλείει μια συνθήκη και μια ομάδα εντολών, οι οποίες εκτελούνται, όσο ικανοποιείται η συνθήκη ΟΣΟσυνθήκη Εντολή 1 Εντολή 2 : : ΕΠΑΝΑΛΑΒΕ Ψευδής Ψευδής Ψευδής Συνθήκη Αληθής Αληθής Αληθής Αληθής

  8. Αληθής Αληθής Αληθής Αληθής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας_Γινόμενο ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 3.14159 π R Γ 2 1 3.14159

  9. Αληθής Αληθής Αληθής Αληθής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας_Γινόμενο ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 2 6.28318 3.14159 π R Γ 2 3 6.28318 3.14159

  10. Αληθής Αληθής Αληθής Αληθής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας_Γινόμενο ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 2 6.28318 3.14159 π R Γ 3 9.42477 3 4 9.42477 6.28318

  11. Αληθής Αληθής Αληθής Αληθής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας_Γινόμενο ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 2 6.28318 3 9.42477 3.14159 π R Γ 4 5 4 12.56636 12.56636 9.42477

  12. Αληθής Αληθής Αληθής Αληθής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας_Γινόμενο ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 2 6.28318 3 9.42477 4 12.56636 3.14159 π R Γ 5 6 5 15.70795 12.56636 15.70795

  13. Ψευδής Ψευδής Ψευδής Ψευδής Οθόνη Μνήμη. Περιοχή μεταβλητών ΠΡΟΓΡΑΜΜΑΠίνακας ‘Εισαγωγή σταθεράς τιμής του π π ← 3.14159 ‘Επεξεργασία δεδομένων ΓΡΑΨΕ”Ακτίνα, Γινόμενο” R ← 1 ΟΣΟR<=5 Γ ← π*R ΓΡΑΨΕR, Γ R ← R+1 ΕΠΑΝΑΛΑΒΕ ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ακτίνα, Γινόμενο 1 3.14159 2 6.28318 3 9.42477 4 12.56636 3.14159 π R Γ 6 5 15.70795 15.70795

  14. Καθιερωμένες συναρτήσεις Στη Turbo Pascal υπάρχουν καθιερωμένες συναρτήσεις τις οποίες μπορούμε να χρησιμοποιήσουμε. • Abs Επιστέφει την απόλυτη τιμή ενός αριθμού. Π.χ. Abs(-2.5) Επιστρέφει την τιμή 2.5

  15. 2. Sqr Επιστρέφει το τετράγωνο ενός αριθμού. • Π.χ. Sqr(5) • Επιστρέφει το 25. • 3. Sqrt Επιστρέφει την τετραγωνική ρίζα ενός αριθμού. • Π.χ. Sqrt(4) • Επιστρέφει τον αριθμό 2. • Round Στρογγυλεύει έναν αριθμό. Το αποτέλεσμα είναι πάντα ακέραιος αριθμός. Αν το δεκαδικό μέρος είναι μικρότερο από 0.5, ο αριθμός παίρνει την τιμή του ακέραιου μέρους. Αλλιώς, στρογγυλεύει στον επόμενο ακέραιο. • Π.χ. Round(4.46) • Επιστρέφει τον αριθμό 4

  16. Παραδείγματα Να γράψετε ένα πρόγραμμα το οποίο να διαβάζει ένα πραγματικό αριθμό. Στη συνέχεια να υπολογίζετε και να τυπώνετε την τετραγωνική ρίζα του αριθμού. Program tertagoniki_riza; Uses wincrt; Var X:real; Begin Write(‘Dose ena arithmo:’); If x>0 then write(‘H riza tou aritmou einai…’,Sqrt(x):8:4) Else write(X:6:2,’Einai arnitikos arithmos kai den exei riza’); End.

  17. Παραδείγματα Nα γραφεί ένα πρόγραμμα το οποίο να υπολογίζει και να τυπώνει τις πραγματικές λύσεις μιας δευτεροβάθμιας εξίσωσης. Διαφορετικά να τυπώνει το μήνυμα “Μιγαδικές ρίζες”. Χ1,2= (-β±√Δ)/(2α)

  18. Program Lysi_Deuterovathmias; Uses wincrt; Var A,b,c,D,x1,x2:Real; Begin Write(‘Dose tous syntelestes tiw deuterovathmias eksisosis..’); Readln(a,b,c); D:=b*b-4*a*c; If D>0 then begin writeln(‘Diakrinousa..’,D:8:2); x1:=(-b+D)/(2*a); x2:=(-b-D)/(2*a); writeln(‘X1=‘x1:6:2); writeln(‘X2=‘x2:6:2); End Else write(‘Diakrinousa…’,D:6:2,’Migadikes rizes’); End.

  19. Aσκήσεις • Να γράψετε ένα πρόγραμμα το οποίο να υπολογίζει και να τυπώνει τον μέσο όρο των πρώτων Ν-ακεραίων αριθμών. • Να γράψετε ένα πρόγραμμα το οποίο θα υπολογίζει και θα τυπώνει το άθροισμα των 25 πρώτων ακεραίων αριθμών. (α) Χρησιμοποιώντας την εντολή Repeat-until (β) Χρησιμοποιώντας την εντολή While-End.

  20. 3. Nα γραφεί ένα πρόγραμμα που να τυπώνει τον πίνακα πολλαπλασιασμού για τους Ν πρώτους ακέραιους αριθμούς, πολλαπλασιασμένους με τους ακέραιους από το 1 μέχρι το Μ. 4. Να γραφεί ένα πρόγραμμα στο οποίο θα πληκτρολογήσετε διάφορους αριθμούς. Στη συνέχεια θα μετράει πόσοι είναι μεγαλύτεροι από το 10. Το πρόγραμμα να τερματίζετε όταν πληκτρολογηθεί το ‘0’.

  21. 5.Να γράψετε ένα πρόγραμμα που θα υπολογίζει το αποτέλεσμα πολλαπλασιάζοντας την ποσότητα των εμπορευμάτων, επί την τιμή. Ο υπολογισμός θα επαναλαμβάνεται μέχρι να δοθεί ποσότητα ‘0’. 6. Να γράψετε ένα πρόγραμμα που θα κάνει αρίθμηση μέχρι ένα αριθμό που θα καθορίζει ο χρήστης. π.χ. Αν ο χρήστης καθορίσει να γίνεται αρίθμηση μέχρι το 8, τότε να τυπώνεται: 1 2 3 4 5 6 7 8

  22. Απαντήσεις Program askisi_1; Uses wincrt; Var Average:Real; I,Sum,max:Integer; Begin Write(‘Dose ton arithmo mexri ton opoio tha vreis ton meso oro: ’); readln(max); sum:=0; For I:= 1 to Max Do Begin sum:=sum+I End; Average:=sum/max; writeln(‘O mesos oros ton proton ‘,max’ arithmwn einai…’,Average); End.

  23. Program Askisi_2_a; Uses wincrt; Var sum,num:Integer; Begin sum:=0; num:=1; Repeat sum:=sum+num; num:=num+1 Until num>25; Writeln(‘To athrisma twn 25 prwtwn akeraion einai…..:’,sum); End.

  24. Program Askisi_2_b; Uses wincrt; Var sum,num:Integer; Begin sum:=0; num:=1; while num<26 Do Begin sum:=sum+num; num:=num+1 End; Writeln(‘To athrisma twn 25 prwtwn akeraion einai..’,sum); End.

  25. Program Askisi_3; Uses wincrt; Var i,j,k,n,m:Integer; Begin write(‘Dose dyo arithmous gia na kathoriseis to megethos tou pinaka pollaplasiasmou…n, m…:’); Readln(m,n); for i:= 1 to m Do begin writeln; for j:= 1 to n Do begin k:=j*I; writeln(j,’x’,I,’=‘,k) End End End.

  26. Program Askisi_4; Uses wincrt; Var Count,num:Integer; begin count:=0; Repeat write(‘Dose ena arithmo’); write(‘gia na stamatiseis to programma dose to ..0’); Readln(num); if num>10 then count:=count+1 Until num=0; writeln(‘ Arithmoi megalyteroi tou 10 einai…:’,count) End.

  27. Program Askisi_5; Uses wincrt; Var posotita,timi,synolo:real; Begin write(‘ Dose tin posotitatwn emporeumatwn…..’); writeln(‘An dosete ¨0¨ stin posotita, to programma termatizetai’); readln(posotita); while posotita<> 0 Do Begin write(‘Dose tin timi’); readln(timi); synolo:=posotita*timi; writeln;writeln; writeln(‘To synolo se ECU einai…’,synolo:10:2); writeln; write(‘Dose tin posotita…’); readln(posotita); End; End.

  28. Program Askisi_6; Uses wincrt; Var i,arithmos:integer; Begin writeln(‘Arithmisi apo to 1 mexri to…..); Writeln; write(‘Mexri pion arithmo thelete na ginei I arithmisi;…’); readln(arithmos); i:=0; while i< arithmos Do Begin i:=i+1; write(i:5); End; End.

More Related