Βασικές Έννοιες Αλγορίθμων. Τι είναι αλγόριθμος. Για να είναι αλγόριθμος. Καθοριστικότητα 20/5/2014. Σκοπός μαθήματος. Αλγόριθμος

Σχετικά έγγραφα
2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Πρόβλημα 29 / σελίδα 28

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

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

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Ενδεικτικές Ερωτήσεις Θεωρίας

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.


Ψευδοκώδικας. November 7, 2011

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΑΕΠΠ Ερωτήσεις θεωρίας

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

18/ 07/ Σελίδα 1 6

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

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

Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης

Εισαγωγικά στοιχεία αλγορίθμων -Δομή Ακολουθίας Δομή Επιλογής ΗΜΕΡΟΜΗΝΙΑ 10/ 07/ 2017 ΟΝΟΜΑΤ/ΜΟ ΒΑΘΜΟΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΚΕΦΑΛΑΙΟ 1-2β)

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

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

Μάριος Αγγελίδης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές

ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Οι διάφορες εκδοχές της

Επιµέλεια Θοδωρής Πιερράτος

7. Βασικά στοιχεία προγραµµατισµού.

ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ»

Εισαγωγή στην Επιστήμη των Η/Υ Β ΓΕΛ Σημειώσεις στην Ψευδογλώσσα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Επαναληπτικές Διαδικασίες

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

Πρόβλημα 37 / σελίδα 207

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

Εισαγωγή στις Αρχές της Επιστήμης των Υπολογιστών

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

α=5, β=7, γ=20, δ=αληθής

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

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

ΚΕΦΑΛΑΙΟ 2 ο. αποτέλεσµα προς το χρήστη ή προς έναν άλλο αλγόριθµο. 7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π.

Διάγραμμα Ροής. Σελίδα 1 από 10

θέμα των Πανελλαδικών Εξετάσεων

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

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

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

Ονοματεπώνυμο: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Δομή Ακολουθίας και Επιλογής Κεφ: 2.1, 2.3, , 6.3, , 8.1, 8.1.

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

Αριθμητικές Λογικές - Σύνθετες εκφράσεις, εντολή εκχώρησης, εντολές εισόδου εξόδου, Δομές ακολουθίας/ επιλογής/ επανάληψης

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

Πληροφορική 2. Αλγόριθμοι

του προγράμματος diagrama_rohs.zip )

ΦΡΟΝΤΙΣΤΗΡΙΟ ΦΑΣΜΑ 12/10/2014

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον. τελική επανάληψη /4/2015 1

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Transcript:

Σκοπός μαθήματος Το μάθημα έχει ως σκοπό να αναπτύξει την σκέψη των φοιτητών, ώστε να κατανοούν και να επιλύουν «προβλήματα» με τη βοήθεια του Η/Υ. Η επίλυση γίνεται με τη δημιουργία λογικών διαγραμμάτων, αλγορίθμων στο χαρτί και στη συνέχεια προγραμμάτων, σε μια υποθετική γλώσσα προγραμματισμού με όνομα «ΓΛΩΣΣΑ». Η «ΓΛΩΣΣΑ», ακολουθεί τις γενικές αρχές των πραγματικών γλωσσών προγραμματισμού, αλλά δεν παράγει αληθινές εφαρμογές (ψευδογλώσσα). Χρησιμοποιείται ώστε να μας εισάγει με ένα γενικό τρόπο στον συναρπαστικό κόσμο του προγραμματισμού Η/Υ. Η μετατροπή ενός προγράμματος από «ΓΛΩΣΣΑ» σε πραγματική γλώσσα προγραμματισμού (π.χ. Pascal, C, Fortran, Java, Visual Basic κ.λπ.) είναι απλή υπόθεση. Κάθε γλώσσα προγραμματισμού, σχεδιάζεται για συγκεκριμένο σκοπό, αλλά όλες έχουν κοινά χαρακτηριστικά και επεξεργάζονται τους ίδιους τύπους δεδομένων, με παρόμοιο λεξιλόγιο. Αλγόριθμος Πεπερασμένη ακολουθία ενεργειών που, αν εκτελεσθούν πεπερασμένο το πλήθος φορές, επιτυγχάνουν το επιθυμητό αποτέλεσμα. Παραδείγματα - Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση - Εύρεση Μέγιστου Κοινού Διαιρέτη, Ελάχιστου, Κοινού Πολλαπλασίου Αλγοριθμικότητα στην καθημερινή πρακτική; Τι είναι αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών (βημάτων), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος Για να είναι αλγόριθμος Είσοδος Καμία, μία ή περισσότερες τιμές δεδομένων για είσοδο Έξοδος Τουλάχιστον ένα αποτέλεσμα Καθοριστικότητα Σαφώς καθορισμένες Περατότητα Να τελειώνει μετά από πεπερασμένο αριθμό βημάτων Αποτελεσματικότητα Απλές και εκτελέσιμες Καθοριστικότητα Κάθε βήμα να είναι διατυπωμένο με σαφήνεια Δεν υπάρχουν αμφιβολίες για το τι πρέπει να κάνουμε. Διαίρεση: Πρέπει ο αλγόριθμος της διαίρεσης να προβλέπει και την περίπτωση διαίρεσης με το 0 Σε μια συνταγή, η έκφραση «Βάλε λίγο αλάτι» δεν είναι σαφώς καθορισμένη. Πόσο είναι το «λίγο»; 1

Αποτελεσματικότητα Κάθε εντολή είναι αρκετά απλή, έτσι ώστε να μπορεί να εκτελεστεί από τον υπολογιστή. Για κάθε βήμα του αλγορίθμου θα πρέπει να υπάρχει αντίστοιχη εντολή στη γλώσσα προγραμματισμού, έτσι ώστε να μπορεί ο αλγόριθμος να μετατραπεί σε εκτελέσιμο πρόγραμμα. Η εντολή «Βρες το μεγαλύτερο από 100 αριθμούς» δεν υπάρχει. Πρέπει να αναλυθεί σε πολλές απλούστερες Σχετικά με Καθοριστικότητα & Αποτελεσματικότητα Η παραβίαση οποιουδήποτε από τα δύο κριτήρια οδηγεί σε μη εκτελέσιμους αλγορίθμους Παραβίαση της καθοριστικότητας σημαίνει έλλειψη σαφήνειας Παραβίαση της αποτελεσματικότητας σημαίνει πολύπλοκες, που δεν υπάρχουν στη γλώσσα προγραμματισμού Κριτήρια αλγορίθμων Είσοδος (δεδομένα) Έξοδος (αποτελέσματα) Καθοριστικότητα (όχι ασάφεια, όχι αμφιβολία) Περατότητα (δεν εκτελείται επ άπειρον) Αποτελεσματικότητα (απλές & εφικτές ) Περιγραφή και αναπαράσταση αλγορίθμων Ελεύθερο κείμενο Ανεπεξέργαστος και αδόμητος τρόπος. Ενδέχεται να παραβιάζει το κριτήριο της αποτελεσματικότητας. Διαγραμματικές τεχνικές Γραφικός τρόπος (π.χ. διάγραμμα ροής). Φυσική γλώσσα Περιγραφή με φυσική γλώσσα κατά βήματα. Ενδέχεται να παραβιάζει το κριτήριο της καθοριστικότητας Κωδικοποίηση Πρόγραμμα γραμμένο σε ψευδογλώσσα ή σε κάποια γλώσσα προγραμματισμού. Το πρόγραμμα δίνει τα ίδια αποτελέσματα με τον αλγόριθμο. Διάγραμμα ροής (λογικό διάγραμμα) Συμβολική γλώσσα Χρησιμοποιούνται γεωμετρικά σχήματα Τα γεωμετρικά σχήματα είναι σύμβολα Κάθε σύμβολο δηλώνει μια ενέργεια ή μια λειτουργία Τα σύμβολα έχουν περιεχόμενο όταν αυτό απαιτείται για να αποκτήσουν νόημα Α 5 Διάγραμμα ροής Αρχή Τέλος 2

Διάγραμμα ροής Αρχή Διάγραμμα ροής Αρχή Είσοδος Διάβασε.. ΔιάβασεΧ Χ<0 Συνθήκη Πράξεις Χ=Χ+1 Χ>=1 Συνθήκη Έξοδος Γράψε. Γράψε. Γράψε Χ Γράψε Χ Τέλος Τέλος Στοιχεία αλγορίθμου 1. Μεταβλητές (variables) Θέσεις μνήμης με όνομα, στις οποίες εκχωρούμε κάποια τιμή η οποία μπορεί αργότερα να αλλάξει. 2. Σταθερές (constants) Θέσεις μνήμης με όνομα, αλλά με προκαθορισμένη τιμή, σταθερή πάντα (π.χ. Π : 3,14 ή ΦΠΑ : 21%) 3. Τελεστές (operators) Είναι τα σύμβολα που χρησιμοποιούνται στην τέλεση των πράξεων (+, -, *, /, <, >,, ΚΑΙ, Ή,, ^, MOD, DIV, κ.λπ.) 4. Εντολές (commands) και Συναρτήσεις Είναι ειδικές δεσμευμένες λέξεις και δομές, τις οποίες χρησιμοποιούμε με συγκεκριμένο συντακτικό κατά την εκτέλεση των βημάτων και άλλων υπολογισμών του αλγορίθμου 5. Εκφράσεις/παραστάσεις (expressions) Αποτελούνται από μεταβλητές ή σταθερές και παράγουν ένα αποτέλεσμα που εκχωρείται ( ) σε μεταβλητή. Π.χ. Στη μεταβλητή Α εκχωρείται το αποτέλεσμα της έκφρασης Χ + 15 / Υ Α Χ + 15 / Υ 6. Σχόλια προγραμματιστή Είναι ελεύθερο κείμενο που συμπληρώνει ο προγραμματιστής σε σημεία του αλγορίθμου που τον ενδιαφέρουν, ώστε να κάνει τον αλγόριθμο πιο κατανοητό. Πρέπει να ξεκινούν με το χαρακτήρα του θαυμαστικού (!) Αλγόριθμος Παράδειγμα _1 Α 3+5 Β -5 Γ Α+Β Εμφάνισε Γ Τέλος Παράδειγμα _1 Αλγόριθμος Παράδειγμα _1 Διάβασε Α Β -5 Γ Α+Β Εμφάνισε Γ Τέλος Παράδειγμα _1 Αλγόριθμος Παράδειγμα _1 Διάβασε Α Διάβασε Β Γ Α+Β Εμφάνισε Γ Τέλος Παράδειγμα _1 A B C Μεταβλητές Γλωσσικό αντικείμενο που χρησιμοποιείται να παραστήσει ένα στοιχείο δεδομένου Μπορεί να μεταβάλλεται κατά τη διάρκεια εκτέλεσης του αλγορίθμου Είδη Μεταβλητών Ακέραιες, π.χ. 5 Πραγματικές, π.χ. 5,1 Αλφαριθμητικές, π.χ. delta Λογικές, π.χ. πλήρωσε, δεν πλήρωσε 1. Μεταβλητές (παραδείγματα) Η εκχώρηση τιμής σε μεταβλητή γίνεται με τον τελεστή δηλ. από τα δεξιά προς τα αριστερά 1. Εκχώρηση της τιμής «ΑΙΘΡΙΟΣ ΚΑΙΡΟΣ», στη μεταβλητή με όνομα Status Status ΑΙΘΡΙΟΣ ΚΑΙΡΟΣ Status ΑΙΘΡΙΟΣ ΚΑΙΡΟΣ 2. Εκχώρηση της τιμής 200, στη μεταβλητή με όνομα Y3 Y3 200 3. Εκχώρηση του αποτελέσματος της έκφρασης Υ3 + 100, στη μεταβλητή Χ, δηλαδή ότι περιέχει η μεταβλητή Υ3 συν 100 Χ Υ3 + 100 4. Αύξηση της τιμής Υ3 κατά 1. Υπολογίζεται πρώτα η έκφραση Υ3 + 1 με την τρέχουσα τιμή της Υ3 και εκχωρείται το αποτέλεσμα πάλι στην Υ3 Υ3 Υ3 + 1 Y3 Χ Y3 200 300 201 3

Σταθερές Προκαθορισμένες τιμές που μένουν σταθερές σε όλη τη διάρκεια εκτέλεσης του αλγορίθμου Είδη Σταθερών Αριθμητικές - 123, 3,14, -1,2 Αλφαριθμητικές - «Ονομα», «Επώνυμο» «2014» Λογικές - Αληθής, Ψευδής 2. Σταθερές Οι σταθερές, μοιάζουν με τις μεταβλητές, στο ότι είναι κι αυτές θέσεις μνήμης με όνομα Π.χ. ΦΠΑ και περιεχόμενο. Ο τύπος υπονοείται βάσει της αρχικής τιμής. Η τιμή αυτή όμως είναι πάντα σταθερή σε όλο τον αλγόριθμο και είναι προκαθορισμένη στην αρχή (πριν τις δηλώσεις μεταβλητών). Η εκχώρηση τιμής σε σταθερές γίνεται με το σύμβολο (=), π.χ. π=3.14 Αντί λοιπόν της ίδιας της τιμής της σταθεράς, μπορούμε να χρησιμοποιήσουμε το όνομα της (πολύ βολικό, αν την αναφέρουμε σε διάφορα σημεία στον αλγόριθμο) Αν τυχόν αργότερα αποφασίσουμε ότι, η αρχική τιμή της σταθεράς πρέπει να είναι άλλη, θα κάνουμε τη ρύθμιση αυτή μόνο μια φορά στην αρχή και όχι σε κάθε σημείο που θα χρησιμοποιούσαμε την τιμή της. Το παρακάτω παράδειγμα είναι απολύτως αντιπροσωπευτικό. 21% 2. Σταθερές (παράδειγμα) Έστω ότι πρέπει να υπολογίσουμε το ποσό που αντιστοιχεί στο ποσοστό ΦΠΑ (21%) τριών προϊόντων. Αυτό προκύπτει αν πολλαπλασσιάσουμε την αρχική αξία του κάθε προϊόντος, με το αντίστοιχο ποσοστό ΦΠΑ (Αρχική_αξία x ποσοστό_φπα) ΦΠΑ_παπουτσιών 50.00 x 0.21 ΦΠΑ_παντελονιών 60.00 x 0.21 ΦΠΑ_παλτό 150.00 x 0.21 Παρατηρείτε ότι το 0.21 χρησιμοποιείται 3 φορές στον παραπάνω αλγόριθμο. Αν αλλάξει η νομοθεσία και το ποσοστό γίνει 0.23, τότε πρέπει να κάνουμε την αλλαγή και στα 3 σημεία. Αυτό δεν είναι ευέλικτο και σε μεγάλες εφαρμογές οδηγεί σε πολλά σφάλματα. Μπορούμε να αλλάξουμε τον αλγόριθμο εισάγοντας μια σταθερά για τον ΦΠΑ: Ποσοστό_ΦΠΑ = 0.21 ΦΠΑ_παπουτσιών 50.00 x Ποσοστό_ΦΠΑ ΦΠΑ_παντελονιών 60.00 x Ποσοστό_ΦΠΑ ΦΠΑ_παλτό 150.00 x Ποσοστό_ΦΠΑ Σταθερά με αρχική τιμή Χρήση ονόματος της σταθεράς Αν το ποσοστό ΦΠΑ αλλάξει σε 0.23, αρκεί να κάνουμε την αλλαγή μόνο μία φορά στην αρχή του αλγορίθμου, αφού χρησιμοποιούμε μόνο το όνομα της σταθεράς Τελεστές Σύμβολα που χρησιμοποιούνται για να δηλώνουν πράξεις Αριθμητικοί +, -, *, / ^ Div Mod Συγκριτικοί <=, >=, =, <>, >, < Λογικοί και, ή, όχι Ιεραρχία πράξεων ^ *, /, div, mod +, - Οι πράξεις ίδιας προτεραιότητας εκτελούνται από αριστερά προς δεξιά DIV & MOD & Χρήσιμα.για Ασκήσεις Αdiv B : Αmod B: To πηλίκο της ακεραίας διαίρεσης του Α δια Β To υπόλοιπο της ακεραίας διαίρεσης του Α δια Β ΑmodΒ = 0 Tο Α είναι πολλαπλάσιο του Β Αmod2 = 1 To A είναι περιττός Amod2 = 0 To A είναι άρτιος 4

Τελεστές Οι τελεστές είναι τα σύμβολα τα οποία χρησιμοποιούμε σε διάφορες εκφράσεις για να εκτελέσουμε κάποιον υπολογισμό. ΤΕΛΕΣΤΗΣ ΕΠΕΞΗΓΗΣΗ ΠΑΡΑΔΕΙΓΜΑ ΕΚΧΩΡΗΣΗ ΤΙΜΗΣ ΣΕ ΜΕΤΑΒΛΗΤΗ Χ1 10 (Χ1: 10) + ΠΡΟΣΘΕΣΗ Χ1 10 + 20 (Χ1: 30) - ΑΦΑΙΡΕΣΗ Χ1 10 20 (Χ1: -10) * ΠΟΛΛΑΠΛΑΣΣΙΑΣΜΟΣ Χ1 10 * 20 (Χ1: 200) / ΔΙΑΙΡΕΣΗ Χ1 10 / 2 (Χ1: 5) ^ ΥΨΩΣΗ ΣΕ ΔΥΝΑΜΗ Χ1 10 ^ 2 (Χ1: 100) DIV ΠΗΛΙΚΟ ΑΚΕΡΑΙΑΣ ΔΙΑΙΡΕΣΗ Χ1 10 DIV 3 (Χ1: 3) MOD ΥΠΟΛΟΙΠΟ ΑΚΕΡΑΙΑΣ ΔΙΑΙΡΕΣΗΣ Χ1 10 MOD 3 (Χ1: 1) <, <= ΜΙΚΡΟΤΕΡΟ, ΜΙΚΡΟΤΕΡΟ Η ΙΣΟ Χ1 (5 < 7) (Χ1: ΑΛΗΘΕΣ) >, >= ΜΕΓΑΛΥΤΕΡΟ, ΜΕΓΑΛΥΤΕΡΟ Η ΙΣΟ Χ1 (5 >= 7) (Χ1: ΨΕΥΔΕΣ) =, <> ΙΣΟ ΜΕ, ΔΙΑΦΟΡΟ ΤΟΥ Χ1 (5 <> 7) (Χ1: ΑΛΗΘΕΣ) και ΣΥΖΕΥΞΗ ΛΟΓΙΚΩΝ ΤΙΜΩΝ (Α / Ψ) Χ1 (4 > 3) ΚΑΙ (6 < 2) (Χ1: ΨΕΥΔΕΣ) ή ΔΙΑΖΕΥΞΗ ΛΟΓΙΚΩΝ ΤΙΜΩΝ (Α / Ψ) Χ1 (4 > 3) Ή (6 < 2) (Χ1: ΑΛΗΘΕΣ) όχι ΑΡΝΗΣΗ ΛΟΓΙΚΗΣ ΤΙΜΗΣ (Α / Ψ) Χ1 ΌΧΙ (4 < 3) (Χ1: ΑΛΗΘΕΣ) Εκφράσεις Διαμορφώνονται από Σταθερές, μεταβλητές Τελεστές Συναρτήσεις Παρενθέσεις (), ΌΧΙ αγκύλες Δίνω τιμές σε μεταβλητές Εκτελούνται πράξεις Πχ Α Β (οι Α και Β ίδιου τύπου δεδομένων) Α 3 Α 3+5 Α Β ή Γ Α Β>3 Άσκηση 1 Άσκηση 2 Φτιάξε έναν απλό αλγόριθμο που να εμφανίζει τη φράση «Απλός Αλγόριθμος» Φτιάξε έναν απλό αλγόριθμο που να διαβάζει δύο αριθμούς α και β και να εμφανίζει το άθροισμά τους Αλγόριθμος Παράδειγμα _1 Εμφάνισε Απλός Αλγόριθμος Τέλος Παράδειγμα _1 Αλγόριθμος Παράδειγμα _2 Διαβασε α Διαβασε β γ α+β Εμφάνισε γ Τέλος Παράδειγμα _2 Άσκηση 3 Τι εμφανίζει ο Αλγόριθμος που ακολουθεί Αλγόριθμος Παράδειγμα _3 α 2 β 1 γ α+β Εμφάνισε γ Τέλος Παράδειγμα _3 Άσκηση 4 Τι εμφανίζεται όταν εκτελεστούν οι παρακάτω Αλγόριθμος Παράδειγμα _4 α 2 Εμφάνισε α β 1 Εμφάνισε β γ α+β Εμφάνισε γ Τέλος Παράδειγμα _4 Λύση: 3 5

Άσκηση 5 Τι εμφανίζεται όταν εκτελεστούν οι παρακάτω Λύση: 0 0 1 0 1 α 2 Εμφάνισε α, γ β 1 Εμφάνισε β, γ γ α+β Εμφάνισε γ Πως γραφούμε αλγόριθμο με ψευδοκώδικα (Γενική θεώρηση) 1. Ξεκινάμε πάντα με τη δήλωση: Αλγόριθμος όνομα_αλγορίθμου 2. Αρχικοποιούμε τυχόν σταθερές. 3. Δίνουμε τιμή στις απαραίτητες μεταβλητές, είτε με την εντολή Διάβασε, είτε με απ ευθείας εκχώρηση ( ). 4. Χρησιμοποιούμε όπου χρειάζεται δομές διακλάδωσης (Αν ), και δομές επανάληψης Για, Όσο, Μέχρις_ότου) 5. Κάνουμε τους υπολογισμούς μας εκχωρώντας τα αποτελέσματα πάλι σε μεταβλητές ( ) 6. Εμφανίζουμε (σε οθόνη ή εκτυπωτή) τα αποτελέσματα με τις : Εμφάνισε ή εκτύπωσε μεταβλητή1,2...ν 7. Τα βήματα 2 ως 6 μπορεί να εμφανίζονται αρκετές φορές και με οποιαδήποτε σειρά, ανάλογα με το πρόβλημα 8. Τελειώνουμε πάντα με τη δήλωση Τέλος όνομα_αλγορίθμου (ίδιο όνομα με το βήμα 1) Αλγόριθμος εμβαδό_κύκλου π = 3.14 Διάβασε ρ Παράδειγμα Εμβ π * ρ ^ 2 Εμφάνισε Eμβαδό=,Εμβ Τέλος εμβαδό_κύκλου Εντολές( Συνοπτικός πίνακας σύνταξης τους ) ΤΡΟΠΟΣ ΣΥΝΤΑΞΗΣ ΕΝΤΟΛΗΣ ΤΙ ΚΑΝΕΙ Η ΕΝΤΟΛΗ ΠΑΡΑΔΕΙΓΜΑ Αλγόριθμος όνομα_αλγορίθμου Δήλωση αρχής αλγορίθμου Αλγόριθμος ΜΟ Τέλος όνομα_αλγορίθμου Δήλωση τέλους αλγορίθμου Τέλος ΜΟ Διάβασε μεταβλητή1, μεταβλητή2 Εμφάνισε/εκτύπωσε μεταβλητή1, μεταβλητή2 Αν μια_συνθήκη_ισχύει τότε εκτέλεση ομάδας εντολών εκτέλεση άλλης ομάδας εντολών τέλος_αν Όσο μια_συνθήκη_ισχύει επανάλαβε εκτέλεση διάφορων εντολών εκτέλεση διάφορων εντολών Μέχρις_ότου μια_συνθήκη_ισχύσει Για μεταβλητή1 από Χ μέχρι Υ εκτέλεση διάφορων εντολών Είσοδος δεδομένων από το χρήστη σε μεταβλητές Εμφάνιση τιμής μεταβλητής σε οθόνη/εκτυπωτή Διάβασε Χ1, Χ2 Εμφάνισε Χ1, Χ2 Εκτύπωσε Χ2 Διακλάδωση της εκτέλεσης Αν χ = 5 τότε του αλγορίθμου προς τη μια ή y 10 την άλλη ομάδα εντολών, ανάλογα με τη συνθήκη y 20 τέλος_αν Επαναληπτική εκτέλεση των εντολών ΟΣΟ ισχύει η συνθήκη Επαναληπτική εκτέλεση των εντολών ΜΕΧΡΙ να ισχύσει η συνθήκη Όσο χ < 5 επανάλαβε χ χ + 1 χ χ +1 μέχρις_ότου χ = 5 Επαναληπτική εκτέλεση των Για i από 1 μέχρι 10 εντολών για ΣΥΓΚΕΚΡΙΜΕΝΟ χ χ + 5 πλήθος επαναλήψεων Βασικές συνιστώσες/ αλγορίθμου Δομή Ακολουθίας Δομές ελέγχου Δομή Επιλογής Δομή Επανάληψης Συνιστώσες αλγορίθμου 1. Δομή ακολουθίας Εκτέλεση των βημάτων του αλγορίθμου βάσει της σειράς εμφάνισης τους. Στο εξής τα βήματα θα τα ονομάζουμε 2. Δομή επιλογής Η εκτέλεση των εντολών διακλαδώνεται με βάση την επαλήθευση ή όχι, κάποιας συνθήκης. 3. Δομή επανάληψης Η εκτέλεση των εντολών μπορεί να γίνεται επαναληπτικά. ΔΟΜΕΣ ΕΛΕΓΧΟΥ Δομή ακολουθίας Δομή επιλογής Απλή Σύνθετη Πολλαπλή Φωλιασμένη Δομή επανάληψης Όσο Μέχρις ότου Για Δομή ακολουθίας Ακολουθιακή δομή εντολών (σειριακή εκτέλεση εντολών) Δεδομένη η σειρά εκτέλεσης Συνήθως απλά προβλήματα 6

Πράξεις: μεταξύ ποιών αντικειμένων Μαθηματικά: Α= 3+5 Β=-5 Γ=Α+Β Αλγόριθμος: Παράδειγμα _1 Α 3+5 Β -5 Γ Α+Β Εμφάνισε Γ Τέλος Παράδειγμα _1 Διάγραμμα ροής Αρχή Α 3+5 Β -5 Γ Α+Β Εμφάνισε Γ Δήλωση έναρξης αλγορίθμου Δομή ακολουθίας Παράδειγμα #2 Σημαίνει ότι η εκτέλεση των εντολών, γίνεται με τη σειρά που εμφανίζονται (ακολουθιακά) Εισαγωγή τιμών στις χ1,χ2,χ3 από το χρήστη Εκχώρηση τιμής στη μεταβλητή Πλήθος Υπολογισμός και εκχώρηση τιμής στη MO Εμφάνιση αποτελέσματος ΜΟ Αλγόριθμος μέσος_όρος Διάβασε χ1, χ2, χ3 ΜΟ (χ1+χ2+χ3) / Πλήθος Εμφάνισε ΜΟ Τέλος Δήλωση τέλους αλγορίθμου Τέλος μέσος_όρος Με διάγραμμα ροής Διάβασε χ1, χ2, χ3 ΜΟ (χ1 + χ2 + χ3) / Πλήθος Εμφάνισε ΜΟ Δομή ακολουθίας Παράδειγμα #2(συνέχεια) Με ψευδοκώδικα Αλγόριθμος μέσος_όρος Διάβασε χ1, χ2, χ3 ΜΟ (χ1+χ2+χ3) / Πλήθος Εμφάνισε ΜΟ Τέλος μέσος_όρος Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ μέσος_όρος ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: χ1,χ2,χ3,πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΔΙΑΒΑΣΕ χ1, χ2, χ3 ΜΟ (χ1+χ2+χ3) / Πλήθος ΓΡΑΨΕ ΜΟ _ΠΡΟΓΡΑΜΜΑΤΟΣ 85 Δομή ακολουθίας Παράδειγμα #3 Ο κλασσικός τρόπος αντιμετάθεσης (Swap) τιμών δύο μεταβλητών ΤΟ ΛΑΘΟΣ ΠΟΥ ΓΙΝΕΤΑΙ Χ 8 Υ 1. Χ Υ Χάνουμε την τιμή της Χ και κάνουμε και τις δύο ίσες 5 Ζ ΒΟΗΘΗΤΙΚΗ ΜΕΤΑΒΛΗΤΗ ΤΟ ΣΩΣΤΟ 5 8 Χ 1. Ζ Χ 2. Χ Υ 3. Υ Ζ Υ Με διάγραμμα ροής Διάβασε x, y z x x y y z Εμφάνισε χ, y Δομή ακολουθίας Παράδειγμα #3 (Αντιμετάθεσης συνέχεια) Με ψευδοκώδικα Αλγόριθμος Swap Διάβασε x, y z x x y y z Εμφάνισε x, y Τέλος Swap ΠΡΟΓΡΑΜΜΑ Swap ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, y, z ΔΙΑΒΑΣΕ x, y z x x y y z Με πρόγραμμα ΓΡΑΨΕ x, y _ΠΡΟΓΡΑΜΜΑΤΟΣ Άσκηση 6 Να γράψετε τους αριθμούς της Στήλης Α και δίπλα το γράμμα της Στήλης Β που αντιστοιχεί σωστά. Στη Στήλη Β υπάρχει ένα επιπλέον στοιχείο. Στήλη Α Στήλη Β 1. ΑΛΗΘΗΣ α. λογικός τελεστής 2. ΚΑΙ β. μεταβλητή 3. α > 12 γ. αλφαριθμητική σταθερά 4. αριθμός_παιδιών δ. λογική σταθερά 5. ε. συγκριτικός τελεστής στ. συνθήκη 1γ, 2 α, 3 στ, 4 β, 5 ε 7

Λογικές εκφράσεις A ή Β Αληθές αν Ένα από τα δύο είναι Αληθές Α και Β Αληθές όταν ΚΑΙ τα δύο είναι Αληθή Όχι Α Είναι το λογικό αντίστροφο του Α Α Β Α ή Β Α ΚΑΙ Β Όχι Α Όχι Β Αληθής Αληθής T T F F Αληθής Ψευδής T F F T Ψευδής Αληθής T F. T F Ψευδής Ψευδής F F T T Άσκηση 7 Έστω Χ ψευδής και Υ Αληθής. Προσδιορίστε τις τιμές των εκφράσεων: Χ και Όχι Υ Ψ Όχι Χ και Υ Α Χ ή Υ Α Όχι (Χ και Υ) Α Όχι (Χ και Όχι Υ) Α Άσκηση 8 και λύση Έστω Χ ψευδής και Υ Αληθής και το Ζ έχει τιμή αλλά δεν την γνωρίζω. Προσδιορίστε τις τιμές των εκφράσεων: Χ και Υ και Ζ Ψ Χ ή Υ ή Ζ Α Όχι Ζ απρ Όχι Ζ ή Ζ Α Όχι Χ ή (Υ και Ζ) Α Αντιστοιχήστε τη στήλη Α που περιέχει τιμές μεταβλητών με τη στήλη Β που περιέχει τύπους μεταβλητών : Στήλη Α Στήλη Β 1 15 Α Ακέραιος 2 15 Β Αλφαριθμητική 3 15+15 C Πραγματικός 4-15 D Λογική 1 Α, 2 Β, 3 Β, 4Α Άσκηση 9 Βασικές συνιστώσες/ αλγορίθμου Δομές ελέγχου Η εντολή αν, Απλή α αληθής 1. Αν <συνθήκη> τότε 2. <ομάδα _εντολών_1 > 3. Τέλος_αν Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης 8

Η εντολή αν Απλή β αληθής 1. Αν <συνθήκη> τότε 2. <ομάδα _εντολών_1 > 3. 4. <ομάδα _εντολών_2> 5. Τέλος_αν Η εντολή αν Εμφωλευμένη Αν <συνθήκη1> τότε Τέλος_αν αληθής αληθής <ομάδα _εντολών_1 > Αν <συνθήκη2> τότε <ομάδα _εντολών_3 Τέλος_αν <ομάδα _εντολών_4> <ομάδα _εντολών_2> Η εντολή αν Πολλαπλή Αν <συνθήκη1> τότε <ομάδα _εντολών_1 > _αν <συνθήκη2> τότε <ομάδα _εντολών_2. _αν <συνθήκην> τότε <ομάδα _εντολών_ν <ομάδα _εντολών_ν+1> Τέλος_αν Η εντολή αν 1. Αλγόριθμος απλη_επιλογη 2. διάβασε α,β 3. Αν α>β τότε 4. μέγιστο α 5. 6. μέγιστο β 7. Τέλος_αν 8. Εκτύπωσε μέγιστο 9. Τέλος απλη_επιλογη Οι αλγόριθμοι έχουν το ίδιο αποτέλεσμα; 1. Αλγόριθμος απλη_επιλογη 2. διάβασε α,β 3. Αν α>β τότε 4. μέγιστο α 5. 6. μέγιστο β 7. Τέλος_αν 8. Εκτύπωσε μέγιστο 9. Τέλος απλη_επιλογη 1. Αλγόριθμος επιλογή 2. διάβασε α,β 3. Αν α>β τότε 4. μέγιστο α 5. _αν α<β τότε 6. μέγιστο β 7. Τέλος_αν 8. Εκτύπωσε μέγιστο 9. Τέλος επιλογή 4. Δομή επιλογής (Απλή) Η εντολή Αν/τότε Η ροή εκτέλεσης των εντολών του αλγορίθμου εξαρτάται από την επαλήθευση ή όχι, μιας συνθήκης Αν συνθήκη_ισχύει τότε... Τέλος_Αν Αλγόριθμος αποτελέσματα Διάβασε μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος Αν ΜΟ >= 10 τότε Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ τέλος_αν Τέλος αποτελέσματα 9

Με διάγραμμα ροής Διάβασε χ1, χ2, χ3 ΜΟ (χ1 + χ2 + χ3) / Πλήθος ΜΟ >= 10 4. Δομή επιλογής (Απλή) (συνέχεια) Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3,πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος ΑΝ ΜΟ >= 10 ΤΟΤΕ ΓΡΑΨΕ «ΠΕΡΑΣΕΣ» ΓΡΑΨΕ ΜΟ _ΑΝ _ΠΡΟΓΡΑΜΜΑΤΟΣ 4. Δομή επιλογής (Σύνθετη) Μια άλλη συνήθης μορφή Αν συνθήκη_ισχύει τότε...... Τέλος_Αν Αλγόριθμος αποτελέσματα Διάβασε μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος Αν ΜΟ >= 10 τότε Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ Εμφάνισε «ΚΟΠΗΚΕΣ» τέλος_αν Τέλος αποτελέσματα Με διάγραμμα ροής Διάβασε χ1, χ2, χ3 ΜΟ (χ1 + χ2 + χ3) / Πλήθος Εμφάνισε «ΚΟΠΗΚΕΣ» ΜΟ >= 10 4. Δομή επιλογής (Σύνθετη) (συνέχεια) Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3,πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος ΑΝ ΜΟ >= 10 ΤΟΤΕ ΓΡΑΨΕ «ΠΕΡΑΣΕΣ» ΓΡΑΨΕ ΜΟ ΑΛΛΙΩΣ ΓΡΑΨΕ «ΚΟΠΗΚΕΣ» _ΑΝ _ΠΡΟΓΡΑΜΜΑΤΟΣ Η πλήρης μορφή της Αν 4. Δομή επιλογής (Πολλαπλή) Αν συνθήκη_1_ισχύει τότε... _αν συνθήκη_2_ισχύει τότε... _αν συνθήκη_ν_ισχύει τότε...... Τέλος_Αν Αλγόριθμος αποτελέσματα Διάβασε μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος Αν ΜΟ < 10 τότε Εμφάνισε «ΚΟΠΗΚΕΣ» _αν ΜΟ <= 15 τότε Εμφάνισε «ΜΕΤΡΙΑ» _αν ΜΟ <= 18 τότε Εμφάνισε «ΠΟΛΥ ΚΑΛΑ» Εμφάνισε «ΑΡΙΣΤΑ» τέλος_αν Τέλος αποτελέσματα Εμφάνισε «ΑΡΙΣΤΑ» Με διάγραμμα ροής ΜΟ <= 18 ΜΟ <= 15 Εμφάνισε «ΠΟΛΥ ΚΑΛΑ» 4. Δομή επιλογής (Πολλαπλή) (συνέχεια) ΜΟ < 10 Εμφάνισε «ΜΕΤΡΙΑ» Εμφάνισε «ΚΟΠΗΚΕΣ» Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3,πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / Πλήθος ΑΝ ΜΟ < 10 ΤΟΤΕ ΓΡΑΨΕ «ΚΟΠΗΚΕΣ» ΑΛΛΙΩΣ_ΑΝ ΜΟ <= 15 ΤΟΤΕ ΓΡΑΨΕ «ΜΕΤΡΙΑ» ΑΛΛΙΩΣ_ΑΝ ΜΟ <= 18 ΤΟΤΕ ΓΡΑΨΕ «ΠΟΛΥ ΚΑΛΑ» ΑΛΛΙΩΣ ΓΡΑΨΕ «ΑΡΙΣΤΑ» _ΑΝ _ΠΡΟΓΡΑΜΜΑΤΟΣ Άσκηση Διαβάστε τρεις αριθμούς και υπολογίστε και εκτυπώστε Α)το μέσο όρο Β) το μέγιστο Και Γ) εκτυπώστε μήνυμα αν δυο από αυτούς είναι ίσοι 10

4. Δομές επανάληψης (ή Βρόχοι) (Τί είναι ;) Οι δομές επανάληψης χρησιμοποιούνται στις περιπτώσεις όπου μια ακολουθία εντολών πρέπει να εκτελεστεί πολλές φορές Προσοχή! Εννοούμε την ίδια ακολουθία εντολών, δηλαδή τις ίδιες ενέργειες συνεχώς. Π.χ. : Εμφάνιση ενός μηνύματος πολλές φορές Εισαγωγή πολλών στοιχείων Εισαγωγή στοιχείου μέχρι να δοθεί κάποιο συγκεκριμένο (έλεγχος εισόδου) Επαναλαμβανόμενες πράξεις σε μια αριθμητική ακολουθία Οι δομές επανάληψης πρέπει να ολοκληρώνονται! Αλγοριθμικό κριτήριο περατότητας 4. Δομές επανάληψης (ή Βρόχοι) (Τι κερδίσαμε;) Πολύ χρόνο Φανταστείτε στην προηγούμενη διαφάνεια, να είχαμε 1000 βαθμούς Απλότητα, καθαρότητα στον αλγόριθμο Εύκολα κάποιος αντιλαμβάνεται ότι θέλεις να τυπώσεις 15 αριθμούς ή να προσθέσεις 6 βαθμούς Εκφραστικότητα Εκφράζουμε πιο σωστά τη μέθοδο επίλυσης του προβλήματος Εμφάνισε 1 Εμφάνισε 2 Εμφάνισε 3 Εμφάνισε 4............ Εμφάνισε 15 Χ 1 Όσο Χ <= 15 Εμφάνισε Χ Χ Χ + 1 4. Δομές επανάληψης (ή Βρόχοι) (Τι θα κάναμε χωρίς αυτές ;) Άθροισμα 0 Διάβασε Βαθμός1 Άθροισμα Άθροισμα + Βαθμός1 Διάβασε Βαθμός2 Άθροισμα Άθροισμα + Βαθμός2...... Διάβασε Βαθμός6 Άθροισμα Άθροισμα + Βαθμός6 ΜΟ Άθροισμα / 6 Άθροισμα 0 Χ 1 Διάβασε Βαθμός Άθροισμα Άθροισμα + Βαθμός Χ Χ + 1 Μέχρις_ότου X > 6 ΜΟ Άθροισμα / 6 Θετικοί 0 Διάβασε Αριθμός1 Αν Αριθμός1 > 0 Τότε Θετικοί Θετικοί + 1 Τέλος_Αν...... Διάβασε Αριθμός7 Αν Αριθμός7 > 0 Τότε Θετικοί Θετικοί + 1 Τέλος_Αν Εμφάνισε Θετικοί Θετικοί 0 Για Χ από 1 μέχρι 3 Διάβασε Αριθμός Αν Αριθμός2 > 0 Τότε Θετικοί Θετικοί + 1 Τέλος_Αν Εμφάνισε Θετικοί 4. Δομές επανάληψης (ή Βρόχοι) Όλες οι δομές επανάληψης περιλαμβάνουν : 1. Μια ακολουθία εντολών που εκτελείται. Ενδέχεται να περιλαμβάνονται άλλοι βρόχοι σ αυτή την ακολουθία (Επανάληψη μέσα σε άλλη επανάληψη) 2. Μια συνθήκη που ελέγχει (ή στην αρχή ή στο τέλος) εάν η επανάληψη πρέπει να ολοκληρωθεί ή να τερματιστεί Προσοχή Πρέπει μέσα στο βρόγχο να υπάρχουν που αλλάζουν την συνθήκη, η επανάληψη θα εκτελείται επ άπειρον. Π.χ. αν θέλω να εμφανίσω ένα μήνυμα 10 φορές, στο βρόγχο, εκτός από την εντολή «Εμφάνισε» πρέπει να υπάρχει και μια μεταβλητή που θα μετράει πόσες φορές έγινε εμφάνιση του μηνύματος και θα αυξάνεται κάθε φορά, ώστε κάποια στιγμή να σταματήσει. 4. Δομές επανάληψης (Βρόχοι) (Τα είδη) Υπάρχουν 3 είδη δομών επανάληψης : 1. Όσο ισχύει μια συνθήκη (κριτήριο). Π.χ. Όσο η μεταβλητή Χ είναι μεγαλύτερη του 0 συνέχισε τη μείωσή της κατά 5 Συνεχής εισαγωγή ακεραίων όσο δεν πληκτρολογούμε το 0 2. Μέχρις ότου ισχύσει μια συνθήκη. Π.χ. Αύξησε την τιμή της Κ κατά 10, μέχρις ότου η τρέχουσα ώρα γίνει 14:00μμ. Διάβασμα αρχείων μέχρι να τελειώσει το περιεχόμενό τους 3. Για γνωστό πλήθος επαναλήψεων. Π.χ. 1+2+3+... +Ν ή 5+10+15+...+ Ν-5 + Ν ή Ν! (Ν παραγοντικό) Ταξινόμηση συγκεκριμένης λίστας στοιχείων Δημιουργία όλων των τιμών μιας συνάρτησης F(x) όπου x 1-100 Λογικό Διάγραμμα ή Διάγραμμα Ροής Β1 sum = 0 Β2 k = 0 Β3 Διάβασε x Εντολές σε μια Γλώσσα Προγραμματισμού Β4 Β5 Β6 Β7 k = k + 1 sum = sum + x k < 4 NAI Τύπωσε sum 1 sum = 0 k = 0 read x k = k + 1 sum = sum + x if k < 4 go to 3 write sum 11

4. Δομή επανάληψης «ΟΣΟ» Χρησιμοποιείται σε ΟΛΕΣ τις περιπτώσεις και σίγουρα όταν ΔΕΝ είναι γνωστός ο αριθμός επαναλήψεων Όσο μια_συνθήκη_ισχύει επανάλαβε... περιοχή εντολών Όπου: μια_συνθήκη_ισχύει : x 20 Όσο x >= 10 επανάλαβε y y + 2 * x + 5 x x 1 είναι μια έκφραση, της οποίας το αποτέλεσμα είναι η λογική τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ (π.χ. ΜΟ >= 10) 4. Δομή επανάληψης «ΟΣΟ» (διαγραμματικά) Αρχικοποίηση συνθήκης Η συνθήκη της δομής «ΟΣΟ» αποτιμάται στην αρχή, γι αυτό πρέπει να είναι ήδη ΑΛΗΘΗΣ, δεν θα εκτελεστούν ποτέ οι. Καθώς εκτελούνται οι, πρέπει κάποια στιγμή να αλλάξουν τη συνθήκη, γιατί... Μετά από κάθε επανάληψη των εντολών, η τιμή της συνθήκης αποτιμάται και πάλι, ώστε να αποφασιστεί η έξοδος ή όχι, από τη δομή. Αν λοιπόν σε κάθε επανάληψη, η συνθήκη παραμένει πάντα ΑΛΗΘΗΣ, τότε θα εκτελείται επ άπειρον (ατέρμων βρόχος) και θα παρατηρήσουμε ότι η εφαρμογή μας έχει κολλήσει. ΌΧΙ Συνθήκη ισχύει ακόμη; Εντολές. (Περιλαμβάνουν και την αλλαγή της συνθήκης) 4. Δομή επανάληψης «ΟΣΟ» Παράδειγμα #1 Να γραφεί αλγόριθμος ο οποίος να εμφανίζει όλους τους ακεραίους αριθμούς μεταξύ 1 και 100 Εδώ, παρόλο που γνωρίζουμε το πλήθος των επαναλήψεων, μπορούμε να χρησιμοποιήσουμε τη δομή «ΟΣΟ» Πριν ακόμη εκτελεστεί η «ΟΣΟ», η συνθήκη της είναι ΑΛΗΘΗΣ (το i είναι 1 δηλ. 100), οπότε η εκτέλεση των εντολών αρχίζει Σε κάθε εκτέλεση, το (i) που συμμετέχει στη συνθήκη, αλλάζει Μετά από κάθε εκτέλεση, η ροή πηγαίνει ξανά στην αρχή όπου αποτιμάται και πάλι η συνθήκη. Αν είναι και πάλι ΑΛΗΘΗΣ, οι ξαναεκτελούνται Μόλις η i γίνει 101, η συνθήκη παύει να ισχύει, και η ροή συνεχίζει μετά το Αλγόριθμος ακέραιοι_1_100 i 1 Όσο i <= 100 επανάλαβε Εμφάνισε i i i + 1 Εμφάνισε Τέλος ακέραιοι_1_100 4. Δομή επανάληψης «ΟΣΟ» Παράδειγμα #2 Να γραφεί αλγόριθμος που να διαβάζει ένα άγνωστο πλήθος αριθμών και να εμφανίζει τελικά το άθροισμα τους Εδώ πρέπει να καθορίσουμε πότε πρέπει να σταματήσει να εκτελείται ο αλγόριθμος (περατότητα) Αν εκτελούνταν από εμάς, κάθε φορά που θα προσθέταμε έναν αριθμό στο τρέχον άθροισμα, θα μπορούσαμε να σταματήσουμε. Στον Η/Υ όμως, παρουσιάζεται η ιδιομορφία ότι πρέπει να λάβει εντολή για να σταματήσει (δεν έχει νόηση όπως έχουμε πει) Κάνουμε λοιπόν τη σύμβαση ότι πρέπει να συνεχίζει όσο λαμβάνει τιμή 0 (το μηδέν δεν προσφέρει έτσι κι τίποτε στο άθροισμα ουδέτερο στοιχείο πρόσθεσης) Η γραμμή (στο σχόλιο SOS) χρειάζεται οπωσδήποτε, για να δώσουμε την ευκαιρία να ξανααποτιμηθεί η συνθήκη, θα εγκλωβιστούμε σε ατέρμονα βρόχο. Αλγόριθμος Αθροίσματος S 0 Διάβασε α Όσο α 0 επανάλαβε S S + α Διάβασε α!!! SOS!!! Εμφάνισε S Τέλος Αθροίσματος 4. Δομή επανάληψης «ΟΣΟ» Παράδειγμα #3 Να γραφεί αλγόριθμος ο οποίος να εμφανίζει τον μέγιστο και τον ελάχιστο, ενός μη δεδομένου πλήθους θετικών αριθμών μεταξύ 1 και 100, καθώς επίσης και το ίδιο το πλήθος Εδώ δεν γνωρίζουμε το πλήθος των αριθμών από την αρχή. Πρέπει όμως, να το βρούμε στη συνέχεια. Επίσης, πρέπει να καθορίσουμε πότε θα τελειώσει η διαδικασία υπολογισμού (περατότητα). Ας θεωρήσουμε ότι τελειώνει όταν δοθεί αριθμός <1 ή >100 Θα αποθηκεύουμε τα αποτελέσματα στις αντίστοιχες μεταβλητές Το πλήθος θα αυξάνεται κατά 1, για κάθε αριθμό που δίνουμε Η γραμμή (στο σχόλιο SOS) χρειάζεται οπωσδήποτε, για να δώσουμε την ευκαιρία να ξανααποτιμηθεί η συνθήκη, θα εγκλωβιστούμε σε ατέρμονα βρόχο. Αλγόριθμος MinMax Μέγ 0!!! Σίγουρα θα βρεθεί μεγαλύτερος Ελάχ 101!!! Σίγουρα θα βρεθεί μικρότερος Πλήθος 0 Διάβασε α Όσο α >= 1 ΚΑΙ α <= 100 επανάλαβε Αν α > Μέγ τότε Μέγ α Αν α < Ελάχ τότε Ελάχ α Πλήθος Πλήθος + 1 Διάβασε α!!!! SOS!!!! Εμφάνισε Ελάχ, Μέγ, Πλήθος Τέλος MinMax 4. Δομή επανάληψης «ΜΕΧΡΙΣ ΟΤΟΥ» Χρησιμοποιείται επίσης όταν ΔΕΝ είναι γνωστός ο αριθμός επαναλήψεων... περιοχή εντολών Μέχρις_ότου μια_συνθήκη_ισχύσει Όπου: μια_συνθήκη_ισχύσει : x 50 y y + 2 * x + 5 x x 1 Μέχρις_ότου x = 0 είναι μια έκφραση, της οποίας το αποτέλεσμα είναι η λογική τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ. π.χ. ΜΕΣΟΣ_ΟΡΟΣ >= 10 ή ΤΑΞΗ = Γ κ.λπ. Οι θα εκτελεστούν τουλάχιστον μία φορά, αφού η συνθήκη αποτιμάται στο τέλος. Καθώς εκτελούνται οι, πρέπει κάποια στιγμή να αλλάξουν τη συνθήκη, ώστε να αποφασιστεί η έξοδος ή όχι, από τη δομή. Αν λοιπόν σε κάθε επανάληψη, η συνθήκη παραμένει πάντα ΨΕΥΔΗΣ, τότε θα εκτελείται επ άπειρον (ατέρμων βρόχος) και θα παρατηρήσουμε ότι η εφαρμογή μας έχει κολλήσει. Διαφέρει από τη δομή «ΟΣΟ», στο ότι (α) η συνθήκη εξετάζεται στο τέλος και (β) η συνθήκη είναι η αντίθετη (έχουμε επανάληψη όσο είναι ΨΕΥΔΗΣ) 12

4. Δομή επανάληψης «ΜΕΧΡΙΣ ΟΤΟΥ» (διαγραμματικά) 4. Δομή επανάληψης «ΜΕΧΡΙΣ_ΟΤΟΥ» Παράδειγμα #1 Να γραφεί αλγόριθμος ο οποίος να εμφανίζει όλους τους ακεραίους αριθμούς μεταξύ 1 και 100 Εντολές (Περιλαμβάνουν Και την αλλαγή της συνθήκης) Συνθήκη ισχύει ακόμη; Εδώ, παρόλο που γνωρίζουμε το πλήθος των επαναλήψεων, μπορούμε να χρησιμοποιήσουμε τη δομή «ΜΕΧΡΙΣ_ΟΤΟΥ» Η εκτέλεση των εντολών αρχίζει έτσι κι, αφού δεν υπάρχει κάποια συνθήκη να τη σταματήσει Σε κάθε εκτέλεση, το (i) που συμμετέχει στη συνθήκη, αλλάζει Μετά από κάθε εκτέλεση, αποτιμάται η συνθήκη. Αν είναι και πάλι ΨΕΥΔΗΣ, οι ξαναεκτελούνται Μόλις η i γίνει 101, η συνθήκη ισχύει, και η ροή συνεχίζει μετά την εντολή μέχρις_ότου Αλγόριθμος ακέραιοι_1_100 i 1 Εμφάνισε I i i + 1 μέχρις_ότου i > 100 Εμφάνισε Τέλος ακέραιοι_1_100 4. Δομή επανάληψης «ΜΕΧΡΙΣ_ΟΤΟΥ» Παράδειγμα #2 Να γραφεί αλγόριθμος που να διαβάζει ένα άγνωστο πλήθος αριθμών και να εμφανίζει τελικά το άθροισμα τους Εδώ πρέπει να καθορίσουμε πότε πρέπει να σταματήσει να εκτελείται ο αλγόριθμος (περατότητα) Αν εκτελούνταν από εμάς, κάθε φορά που θα προσθέταμε έναν αριθμό στο τρέχον άθροισμα, θα μπορούσαμε να σταματήσουμε. Στον Η/Υ όμως, παρουσιάζεται η ιδιομορφία ότι πρέπει να λάβει εντολή για να σταματήσει (δεν έχει νόηση όπως έχουμε πει) Κάνουμε λοιπόν τη σύμβαση ότι πρέπει να σταματήσει όταν λάβει την τιμή 0 (το μηδέν δεν προσφέρει έτσι κι τίποτε στο άθροισμα ουδέτερο στοιχείο πρόσθεσης) Αλγόριθμος Αθροίσματος S 0 Διάβασε α S S + α Μέχρις_ότου α = 0 Εμφάνισε S Τέλος Αθροίσματος Λογικό Διάγραμμα αλλά όχι αλγόριθμος!!! Β1 Β2 Β3 Β4 Β5 Β6 Β7 sum = 0 k = 0 Διάβασε x k = k + 1 sum = sum + x NAI k > -1 Τύπωσε sum 76 4. Δομή επανάληψης «ΜΕΧΡΙΣ_ΟΤΟΥ» Παράδειγμα #3 Να γραφεί αλγόριθμος ο οποίος να εμφανίζει τον μέγιστο και τον ελάχιστο, ενός μη δεδομένου πλήθους θετικών αριθμών μεταξύ 1 και 100, καθώς επίσης και το ίδιο το πλήθος Εδώ δεν γνωρίζουμε το πλήθος των αριθμών από την αρχή. Πρέπει όμως, να το βρούμε στη συνέχεια. Επίσης, πρέπει να καθορίσουμε πότε θα τελειώσει η διαδικασία υπολογισμού (περατότητα). Ας θεωρήσουμε ότι τελειώνει όταν δοθεί αριθμός εκτός του ορίου 1-100 Θα αποθηκεύουμε τα αποτελέσματα στις αντίστοιχες μεταβλητές Το πλήθος θα αυξάνεται κατά 1, για κάθε αριθμό που δίνουμε Όταν η έκφραση (α < 1 Η α > 100) γίνει ΑΛΗΘΗΣ, τότε η επανάληψη σταματά Αλγόριθμος MinMax Μέγ 0!!! Σίγουρα θα βρεθεί μεγαλύτ. Ελάχ 101!!! Σίγουρα θα βρεθεί μικρότ. Πλήθος 0 Διάβασε α Αν α > Μέγ τότε Μέγ α Αν α < Ελάχ τότε Ελάχ α Πλήθος Πλήθος + 1 Μέχρις_ότου α < 1 Η > 100 Εμφάνισε Ελάχ, Μέγ, Πλήθος Τέλος MinMax 4. Δομή επανάληψης «ΓΙΑ» Χρησιμοποιείται όταν ΕΙ γνωστός ο αριθμός επαναλήψεων Για μεταβλητή1 από Χ μέχρι Υ με βήμα Ζ... περιοχή εντολών Όπου : μεταβλητή1 Χ Υ Ζ : η μεταβλητή της οποίας η τιμή θα περάσει από το κάτω όριο στο άνω όριο : κάτω όριο : άνω όριο, μεγαλύτερο ή ίσο του Χ : βήμα μεταβολής (Αν είναι 1, τότε η φράση με βήμα Ζ, παραλείπεται. Αν είναι αρνητικό, πρέπει Χ >= Υ) Για x από 1 μέχρι 10 y y + 2 * x + 5 z x 1 Εμφάνισε y, z Η δομή «ΓΙΑ» αναλαμβάνει αυτόματα την μεταβολή της μεταβλητής1 σε κάθε επανάληψη και συνεπώς την αποτίμηση της συνθήκης, η οποία σε αντίθεση με τις ΟΣΟ/ΜΕΧΡΙΣ_ΟΤΟΥ, λειτουργεί στο παρασκήνιο. Είναι σίγουρο λοιπόν, ότι η επανάληψη θα τελειώσει. Οι, μπορούν να κάνουν χρήση της μεταβλητής1. Δεν επιτρέπεται όμως, να αλλάζουν την τιμή της, γιατί θα αλλοιώσουν το πλήθος επαναλήψεων. 13

4. Δομή επανάληψης «ΓΙΑ» (διαγραμματικά) 4. Δομή επανάληψης «ΓΙΑ» Πόσες φορές θα εκτελεστούν οι παρακάτω επαναλήψεις; Διαγραμματικά είναι ίδια με την δομή επανάληψης «ΟΣΟ» Αρχικοποίηση συνθήκης Συνθήκη ισχύει ακόμη; Εντολές (Περιλαμβάνουν και την αλλαγή της συνθήκης) 1. Για Α από 10 μέχρι 20 11 φορές 2. Για Β από 10 μέχρι 10 1 φορά 3. Για Ε από 30 μέχρι 20 Καμία φορά 4. A1 10 A2 21 Για ΜΕΤΡΗΤΗ από Α1 μέχρι Α2 12 φορές 5. Για Γ από -10 μέχρι 10 21 φορές 6. Για Δ από -10 μέχρι -20 Καμία φορά ΌΧΙ Με διάγραμμα ροής i 1 Sum 0 i <= 100 Εμφάνισε Sum 4. Δομή επανάληψης «ΓΙΑ» παράδειγμα #1 Υπολογισμός του αθροίσματος 1+2+3+...+100 i i + 1 Sum Sum + i Διαγραμματικά είναι ίδια με τη δομή επανάληψης ΟΣΟ Με ψευδοκώδικα Αλγόριθμος άθροισμα_100 Sum 0 Για i από 1 μέχρι 100 Sum Sum + i Εμφάνισε Sum Τέλος άθροισμα_100 B1 B2 B3 B4 B5 Λογικό Διάγραμμα ή Διάγραμμα Ροής sum = 0 k = 1 4 (Βήμα 1) Διάβασε x sum = sum + x Τύπωσε sum Εντολές σε μια Γλώσσα Προγραμματισμού 1. sum = 0 2a. for k = 1 to 4 step 1 3. read x 4. sum = sum + x 2b. next k 5. write sum 82 Λογικό Διάγραμμα (Συμπλήρωμα) Επαναληπτική Εντολή μετρητής = τιμή1 τιμή2 (Βήμα β) 4. Δομή επανάληψης «ΓΙΑ» παράδειγμα #2 Να γραφεί αλγόριθμος που θα υπολογίζει το άθροισμα όλων των περιττών αριθμών από το 1 ως το 10 1 ος Τρόπος 2 ος Τρόπος Αλγόριθμος ΔΠ3 Άθροισμα 0 Για i από 1 μέχρι 10 με_βήμα 2 Άθροισμα Άθροισμα + i Εμφάνισε Άθροισμα Τέλος ΔΠ3 Αλγόριθμος ΔΠ3 Άθροισμα 0 Για i από 1 μέχρι 10 Αν i MOD 2 = 1 Τότε Άθροισμα Άθροισμα + i Τέλος_Αν Εμφάνισε Άθροισμα Τέλος ΔΠ3 83 Γιατί εκτελείται πιο αργά; 14

4. Δομή επανάληψης «ΓΙΑ» παράδειγμα #3 Διάστημα βολής για t από 1 ως 100sec κάθε 5sec και γ=3m/sec 2 Με διάγραμμα ροής s = ½. γ. t 2 Με ψευδοκώδικα Δομές επανάληψης ΑΝΤΙΣΤΟΙΧΙΑ Στις περισσότερες περιπτώσεις, μπορούν να χρησιμοποιηθούν και οι τρεις δομές επανάληψης. Π.χ.: Να γραφεί αλγόριθμος που να εμφανίζει τους αριθμούς 1-100 γ 3 t 1 t <= 100 S 1 / 2 * γ * t^2 Εμφάνισε t, S t t + 5 Διαγραμματικά είναι ίδια με τη δομή επανάληψης ΟΣΟ Αλγόριθμος Διάστημα γ 3 Για t από 1 μέχρι 100 με_βήμα 5 s 1 / 2 * γ * t^2 Εμφάνισε t, s Τέλος Διάστημα_100 Αλγόριθμος Χρήση_Όσο i 1 Όσο i <= 100 επανάλαβε Εμφάνισε i i i + 1 Τέλος Χρήση_Όσο ΓΕΝΙΚΑ Χρησιμοποιείται σε όλες τις περιπτώσεις συνθηκών (αριθμητικών και μη), είτε απλών είτε σύνθετων Αλγόριθμος Χρήση_Μέχρις_ότου i 1 Εμφάνισε i i i + 1 Μέχρις_ότου i > 100 Τέλος Χρήση_Μέχρις_ότου ΓΕΝΙΚΑ Ισχύουν τα ίδια με την ΟΣΟ, με τη διαφορά ότι οι επανάληψης εκτελούνται σίγουρα μια φορά. Αλγόριθμος Χρήση_Για Για i από 1 μέχρι 100 Εμφάνισε i Τέλος Χρήση_Για ΓΕΝΙΚΑ Χρησιμοποιείται μόνο σε γνωστό πλήθος επαναλήψεων. 15