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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Advertisements

Προγραμματισμός Ι (αποφύγετέ τον!) 3) Διακοπτόμενος βρόχος: (αποφύγετέ τον!) float energy;......while(TRUE){drink_water(); if(energy
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη
Εισαγωγή στους Η/Υ Πίνακες.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 4: Δείκτες, συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ.
Διαφάνειες παρουσίασης #5
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Παράδειγμα 5: Θερμοκρασίες
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 5: Επαναληπτικές και εξωτερικές συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009.
Γενική μορφή προγράμματος Pascal
Αριθμητική Ανάλυση ΙΙ Ακαδημαϊκό Έτος η Εβδομάδα
Ενότητα Η Δομή Επανάληψης
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΒΡΟΧΟΙ ΜΑΘΗΜΑ 5. ΒΡΟΧΟΙΒΡΟΧΟΙ Ο Βρόχος (loop) αποτελείται από προτάσεις επανάληψης. Οι προτάσεις επανάληψης είναι οι προτάσεις που επαναλαμβάνουν ένα.
Διαφάνειες παρουσίασης #3
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΓΛΩΣΣΑΣ PASCAL ΠΑΡΟΥΣΙΑΣΗ ΠΑΡΑΔΕΙΓΜΑΤΟΣ: ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕ ΤΙΣ ΤΡΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Εντολές Επιλογής και Αποφάσεων
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
2η άσκηση Να γραφεί πρόγραμμα που θα ζητάει τους a,b συντελεστές και τους δύο πρώτους όρους x 1, x 2 της αναγωγικής ακολουθίας x n = ax n-1 +bx n-2 και.
Πολυδιάστατοι πίνακες α) Στατικοί πίνακες Πως δηλώνονται: π.χ. INTEGER A(3,5) REAL B(1991:2000,1:12) REAL C(4,8,12:20) ή INTEGER, DIMENSION(3,5)::A REAL,
Ο τελεστής ανάθεσης Ο τελεστής ανάθεσης (=) χρησιμοποιείται για να τοποθετήσουμε το αποτέλεσμα μιας έκφρασης (σταθερά, μεταβλητή ή παράσταση) σε μια μεταβλητή.
Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7.
2) Aν δανειστούμε ένα ποσό Α με επιτόκιο Τ=Ε% και υποχρεωθούμε να το ξεχρεώσουμε σε Ν χρόνια, τότε το ποσό της μηνιαίας δόσης Μ θα δίνεται από τον τύπο.
Αναδρομικές Συναρτήσεις Σύνταξη: RECURSIVE type FUNCTION name1 (variables) RESULT (name2) IMPLICIT NONE Τμήμα δηλώσεων Εκτελέσιμες εντολές END FUNCTION.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ ΕΝΤΟΛΕΣ ΕΝΤΟΛΕΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 4: Επαναληπτικές δομές. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών.
Ε ΙΣΑΓΩΓΉ Σ ΤΟΥΣ Μ ΟΝΟΔΙΑΣΤΑΤΟΥΣ Π ΊΝΑΚΕΣ Αστρινάκη Μαρία.
ΑΣΤΡΙΝΆΚΗ ΜΑΡΊΑ Δυσδιάστατοι πίνακες. Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα.
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
Δομή Επιλογής Χρησιμοποιείται σε προβλήματα όπου χρειάζεται να ληφθούν κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια. Περιλαμβάνει τον έλεγχο κάποιας.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Εφαρμογές Υπολογιστών
Ενισχυτική διδασκαλία
for (παράσταση_1; παράσταση_2; παράσταση_3)
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ενότητα 5 : Δομές Ελέγχου της γλώσσας PHP Ιωάννης Τσούλος
Η Γλώσσα Pascal Υποπρογράμματα
Επανάληψη.
Δομημένος Προγραμματισμός - Κεφάλαιο 4 - Ανάπτυξη αλγορίθμων
Δομή Επιλογής , 8.1.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Κεφάλαιο 7 10/11/2018 Ξένιος Αντωνιάδης.
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Από τη Δομή Ακολουθίας στις Δομές Επανάληψης
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Οι εντολές επανάληψης Σε πολλά προβλήματα απαιτείται η επανάληψη ενός συνόλου ενεργειών προκειμένου να λυθεί το πρόβλημα. Θα αναφέρουμε δύο χαρακτηριστικά παραδείγματα : Παράδειγμα 1: Έστω ότι μας ζητείται να βρούμε το άθροισμα 10 αριθμών. Τότε θα πρέπει να εκτελέσουμε 10 φορές τις εξής ενέργειες : α) Δώσε έναν αριθμό, β) Πρόσθεσε τον αριθμό αυτόν σε μια μεταβλητή έστω S, την οποία θα χρησιμοποιούμε για να αποθηκεύουμε το συνολικό άθροισμα των αριθμών.

Παράδειγμα2: Έστω ότι θέλουμε να βρούμε το μέγιστο κοινό διαιρέτη (ΜΚΔ) δύο ακεραίων αριθμών α,β βάσει του τύπου Η παραπάνω διαδικασία θα πρέπει να επαναληφθεί ένα πλήθος φορών που δε γνωρίζουμε, έως ότου οι α,β να γίνουν ίσοι.

Ανακύκλωση και χρήση μετρητών σε προγράμματα Παράδειγμα: Να γραφεί πρόγραμμα που θα υπολογίζει το μέσο όρο N αριθμών: PROGRAM MESOSOROS IMPLICIT NONE INTEGER N,I REAL S,X READ*, N I=1 S=0 10 READ*,Χ S=S+X I=I+1 IF (I<=N) GOTO 10 PRINT*,’MO=’, S/N END PROGRAM MESOSOROS

Παράδειγμα Δίνονται Ν ακέραιοι αριθμοί. Να υπολογιστεί α) το άθροισμα των αριθμών που είναι μέσα στο κλειστό διάστημα [-30,30], β) το γινόμενο των αριθμών που είναι εκτός του διαστήματος [-3,3], γ) το πλήθος των αριθμών που είναι άρτιοι.

PROGRAM EXERCISE IMPLICIT NONE INTEGER I,N,X,S,P,PL PRINT*,’ΔΩΣΕ ΠΛΗΘΟΣ ΑΡΙΘΜΩΝ=’ READ*,N I=1 S=0 P=1 PL=0 10 PRINT*,’ΔΩΣΕ ΑΡΙΘΜΟ =’ READ*,X

IF ((X>=-30).AND.(X<=30)) THEN S=S+X IF ((X>3).OR.(X<-3)) THEN P=P*X IF (MOD(X,2)==0) THEN PL=PL+1 Ι=1+1 IF (I<=N) THEN GOTO 10 PRINT*,’ΑΘΡΟΙΣΜΑ ΑΡΙΘΜΩΝ ΣΤΟ & & [-30,30] =’,S PRINT*,’ΓΙΝΟΜΕΝΟ ΑΡΙΘΜΩΝ & & ΕΚΤΟΣ ΤΟΥ [-3,3] =’,Ρ PRINT*,’ΠΛΗΘΟΣ ΑΡΤΙΩΝ & & ΑΡΙΘΜΩΝ =’,ΡL ΕΝD PROGRAM EXERCISE

Η εντολή DO Η πρώτη μορφή της DO-END DO Σκοπός: Η ατέρμονη εκτέλεση ενός συνόλου εντολών. Σύνταξη: DO Σύνολο εντολών END DO Το σύνολο των εντολών που βρίσκονται μεταξύ της DO και της END DO θα εκτελούνται συνέχεια. Η έξοδος από τη συνεχή ανακύκλωση μπορεί να γίνει μόνο με την εντολή EXIT. Παράδειγμα DO PRINT*, ‘FORTRAN’ END DO

Η δεύτερη μορφή της DO-END DO Σκοπός: Η επανάληψη ενός συνόλου εντολών έως ότου μια συνθήκη ικανοποιηθεί. Σύνταξη: DO WHILE (συνθήκη) Σύνολο εντολών END DO Αν η συνθήκη είναι αληθής, τότε το σύνολο των εντολών θα εκτελείται και θα επαναλαμβάνεται ο έλεγχος, διαφορετικά ο έλεγχος του προγράμματος θα μεταφέρεται μετά από την εντολή END DO.

Παράδειγμα Να γραφεί πρόγραμμα που θα υπολογίζει το παραγοντικό ενός φυσικού αριθμού Ν N!=1*2*3*…*N (N>1) 0!=1

PROGRAM FACTORIAL IMPLICIT NONE INTEGER N, I, P 10READ*, N P=1 I=1 IF (N<0) THEN GOTO 10 ELSE IF(N==0) PRINT*, ‘0!=1’ ELSE DO WHILE(I<=N) P=P*I I=I+1 END DO END IF PRINT*, ‘N!=‘,P END PROGRAM FACTORIAL

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

PROGRAM MKD IMPLICIT NONE 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 END DO PRINT*,’MKD=’,A END PROGRAM MKD

Άσκηση Η εκθετική συνάρτηση EXP(X) ορίζεται ως το άθροισμα των άπειρων όρων της παρακάτω σειράς : Να χρησιμοποιήσετε την παραπάνω σειρά για τον υπολογισμό του EXP(X) έως ότου η απόλυτη τιμή του όρου γίνει μικρότερη ή ίση από μια επιθυμητή ακρίβεια Ε.

Η τρίτη μορφή της DO-END DO Σκοπός: Η επανάληψη ενός συνόλου εντολών για ένα συγκεκριμένο πλήθος φορών. Σύνταξη : DO μεταβλητή=ατ, ττ, [,βήμα(Β)] Σύνολο εντολών END DO Παράδειγμα Να γραφεί πρόγραμμα που θα υπολογίζει το παραγοντικό ενός φυσικού αριθμού Ν.

PROGRAM FACTORIAL IMPLICIT NONE INTEGER N, I, P 10READ*, N P=1 IF (N<0) THEN GOTO 10 ELSE IF(N==0) PRINT*, ‘0!=1’ ELSE DO I=1,N P=P*I END DO END IF PRINT*, ‘N!=‘,P END PROGRAM FACTORIAL

Παρατηρήσεις - Αν θέλουμε να σταματήσουμε την εκτέλεση μιας επανάληψης, χρησιμοποιούμε την εντολή CYCLE π.χ.IF (X>5) CYCLE Σύμφωνα με την εντολή αυτή, δε θα εκτελεστούν οι μετέπειτα εντολές μέχρι την END DO, θα αυξηθεί η “μεταβλητή” κατά το “βήμα” και θα ακολουθήσει η επόμενη επανάληψη, στην περίπτωση που ο έλεγχος της ανακύκλωσης επαληθευτεί. -Σε αντίθεση με την εντολή CYCLE, η εντολή EXIT οδηγεί το πρόγραμμα εκτός της ανακύκλωσης, π.χ. IF (X>5) ΕΧΙΤ Η ροή του προγράμματος μεταφέρεται εκτός του loop, δηλαδή μετά την END DO.

Παράδειγμα Να βρεθούν οι 20 πρώτοι όροι της ακολουθίας Fibonacci : F n = F n-1 + F n-2 με F 1 =0, F 2 =1. PROGRAM FIBONACCI IMPLICIT NONE INTEGER F1,F2,F3 F1=0 F2=1 DO N=3,20 F3=F1+F2 PRINT*, F3 F1=F2 F2=F3 END DO END PROGRAM FIBONACCI

Άσκηση Να βρεθούν οι ακέραιοι αριθμοί A,B,C (Πυθαγόρειοι αριθμοί) που ανήκουν στο διάστημα [1,1000] και ικανοποιούν την ιδιότητα :

PROGRAM PYTHAGORIOI IMPLICIT NONE INTEGERA,B,C DO A=1,1000 DO B=1,1000 DO C=1,1000 IF (A**2+B**2==C**2) THEN PRINT*,A,B,C END IF END DO END PROGRAM PYTHAGORIOI