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



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

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

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

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

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

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

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

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

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

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


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

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 5 ΙΟΥΛΙΟΥ ΑΕΠΠ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

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

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

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.

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

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

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

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

Β. ίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ, Ζ[15] ΠΡΑΓΜΑΤΙΚΕΣ: Ω

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. i. Η συνθήκη α > β ή α <= β α) είναι πάντα Αληθής β) είναι πάντα Ψευδής γ) δεν υπολογίζεται δ) τίποτα από τα προηγούμενα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

3. Αλγόριθμοι + ομές εδομένων = Προγράμματα.

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΕΠΠ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ / Γ3 Γ4 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΝΟΕΜΒΡΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : ΕΞΙ (6)

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

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

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

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

Β. ίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ, Ζ[15] ΠΡΑΓΜΑΤΙΚΕΣ: Ω

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

Παρατηρήσεις για την δομή Όσο..επανάλαβε( ΣΟΣ)

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

ΚΕΦΑΛΑΙΑ & 8.2 (ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ) ΘΕΩΡΙΑ

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

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

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

Δομές Επανάληψης. Όσο μέχρις ότου για. 22/11/08 Ανάπτυξη εφαρμογών 1

2. Να αντιστοιχίσετε κάθε εδομένο της Στήλης Α με το σωστό Τύπο εδομένου της Στήλης Β.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

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

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

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

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

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

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

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

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

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

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

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

Τ και τιµή του Β θετική µετατρέπεται ισοδύναµα στην εντολή Όσο ως εξής:

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Ημερομηνία: Τρίτη 27 Δεκεμβρίου 2016 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2o Επαναληπτικό Διαγώνισμα Κεφ: 2 ο 7 ο 8 ο ΗΜΕΡΟΜΗΝΙΑ 21/ 10/ 2017

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

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

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

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

ΘΕΜΑΤΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 1/12/2013

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

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

στο μάθημα προσανατολισμού Γ τάξης ενιαίου Λυκείου: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

ΘΕΜΑ 1ο Α. 1-6 Σωστό Λάθος Μονάδες 12 Β. Στήλης Στήλης Β Στήλης Α Στήλης Β).

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

ΘΕΜΑ Α. Α1. Να γράψετε στο. 2. Τα του. τις. αριθμητικές. πρώτες. β. Να. Σελίδα 1 από 5. 2) χ 2. χ Τ_Ρ(α) ΓΡΑΨΕ. ΓΡΑΨΕ χ χ χ+2

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

καθώς και το παρακάτω τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»:

Α. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές (Σ) η λανθασμένες (Λ).

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Transcript:

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

Βασικές Αλγοριθμικές Δομές 2

Εισαγωγή Οι αλγοριθμικές δομές εκφράζουν διαφορετικούς τρόπους γραφής ενός αλγορίθμου. Οι αλγοριθμικές δομές είναι τρεις: Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης 3

Στοιχεία Ψευδογλώσσας Σταθερές Μεταβλητές Εκφράσεις Τελεστές Σχήματα Λογικών Υποθέσεων Επαναληπτικές Διαδικασίες Εντολές Εκχώρησης Ρήματα σε Προστακτική Ουσιαστικά Σχόλια Πρώτη & Τελευταία Γραμμή Δεδομένα & Αποτελέσματα 4

Σταθερές (Constants) Αναφερόμαστε σε προκαθορισμένες τιμές που παραμένουν αμετάβλητες σε όλη τη διάρκεια εκτέλεσης ενός αλγορίθμου: Αριθμητικές: αριθμητικοί χαρακτήρες, συν, πλην, κόμμα Αλφαριθμητικές: Οποιοσδήποτε χαρακτήρας εντός εισαγωγικών Λογικές: Αληθής ή Ψευδής 5

Μεταβλητές (Variables) Είναι ένα γλωσσικό στοιχείο που χρησιμοποιείται για να παραστήσει ένα στοιχείο δεδομένου. Στη μεταβλητή γίνεται εκχώρηση μίας τιμής, η οποία μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης του αλγορίθμου: Αριθμητικές Αλφαριθμητικές Λογικές Για τη σύνθεση του ονόματος μίας μεταβλητής χρησιμοποιούνται αριθμητικοί χαρακτήρες, αλφαριθμητικοί χαρακτήρες (πεζοί και κεφαλαίοι) και ο χαρακτήρας της κάτω παύλας. 6

Εκφράσεις (Expressions) Οι εκφράσεις διαμορφώνονται από τους τελεστέους (operands), σταθερές & μεταβλητές, και από τους τελεστές. Η διεργασία αποτίμησης μιας έκφρασης συνιστάται στην απόδοση τιμών στις μεταβλητές και στην εκτέλεση των πράξεων. Η τελική τιμή μιας έκφρασης εξαρτάται από την ιεραρχία των πράξεων και τη χρήση παρενθέσεων. Μια έκφραση μπορεί να αποτελείται από μία μόνο μεταβλητή ή σταθερά έως και πολύπλοκες μαθηματικές εκφράσεις. 7

Τελεστές (Operators) Πρόκειται για τα γνωστά σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις Αριθμητικοί: +, -, *, /, ^ Συγκριτικοί: <=, <, =, <>, >, >= Λογικοί: και (σύζευξη), ή (διάζευξη), όχι (άρνηση) 8

Σχήματα Λογικών Υποθέσεων (1/3) αν συνθήκη τότε εντολή1 (εντολές1) αλλιώς εντολή2 (εντολές2) τέλος_αν 9

Σχήματα Λογικών Υποθέσεων (2/3) αν συνθήκη1 τότε εντολή1 (εντολές1) αλλιώς_αν συνθήκη2 τότε εντολή2 (εντολές2) αλλιώς_αν συνθήκη3 τότε εντολή3 (εντολές3) αλλιώς τέλος_αν 10

Σχήματα Λογικών Υποθέσεων (3/3) επίλεξε μεταβλητή περίπτωση λίστα_τιμών1 εντολή1 (εντολές1) περίπτωση λίστα_τιμών2 εντολή2 (εντολές2) περίπτωση αλλιώς εντολήν (εντολέςν) τέλος_επιλογών 11

Επαναληπτικές Διαδικασίες (1/3) όσο συνθήκη επανέλαβε εντολή (εντολές) τέλος_επανάληψης 12

Επαναληπτικές Διαδικασίες (2/3) αρχή_επανάληψης εντολή (εντολές) μέχρις_ότου συνθήκη 13

Επαναληπτικές Διαδικασίες (3/3) για μεταβλητή από αρχική_τιμή μέχρι τελική_τιμή με βήμα βήμα εντολή (εντολές) τέλος_επανάληψης 14

Εντολές Εκχώρησης Σταθερά τιμή Μεταβλητή τιμή Μεταβλητή σταθερά Μεταβλητή μεταβλητή Μεταβλητή έκφραση 15

Ρήματα σε Προστακτική Γράψε Διάβασε Τύπωσε 16

Ουσιαστικά Σε ορισμένες περιπτώσεις όταν οι ζητούμενες ενέργειες είναι πολλές ή προφανείς, καθορίζονται με τη χρήση ουσιαστικών αντί ρημάτων: Εισαγωγή δεδομένων Εκτύπωση αποτελεσμάτων 17

Σχόλια Προκειμένου να διαχωρίζονται οι επεξηγηματικές φράσεις από τις βασικές λέξεις ή φράσεις του αλγορίθμου, προτάσσεται στις πρώτες το σύμβολο του θαυμαστικού (!) 18

Πρώτη & Τελευταία Γραμμή πρόγραμμα όνομα_προγράμματος τέλος_προγράμματος όνομα_προγράμματος 19

Δομή Ακολουθίας 20

Ακολουθιακή Δομή Η ακολουθιακή δομή είναι η πιο απλή αλγοριθμική δομή στην οποία όλες οι εντολές του αλγορίθμου εκτελούνται: η μία μετά την άλλη (ακολουθιακά) μόνο μία φορά η κάθε μία υποχρεωτικά (δηλαδή δεν αγνοείται κάποια εντολή όπως συμβαίνει σε άλλες αλγοριθμικές δομές) Η ακολουθιακή δομή υλοποιείται με τις εντολές: διάβασε γράψε καταχώρισε ( ) 21

Δομή Ακολουθίας (1/4) Η ακολουθιακή δομή εντολών (σειριακών βημάτων) χρησιμοποιείται πρακτικά για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. Ένας αλγόριθμος διατυπωμένος σε ψευδογλώσσα αρχίζει πάντα με τη λέξη πρόγραμμα συνοδευόμενη με το όνομα του αλγορίθμου και τελειώνει με τη λέξη τέλος_προγράμματος συνοδευόμενη επίσης με το όνομα. 22

Δομή Ακολουθίας (2/4) Η πρώτη ενέργεια που γίνεται είναι η εισαγωγή δεδομένων με τη χρήση του ρήματος διάβασε Η λέξη διάβασε συνοδεύεται με το όνομα μίας ή περισσοτέρων μεταβλητών, και εννοείται ότι μετά την ολοκλήρωση της ενέργειας αυτής, η μεταβλητή θα έχει λάβει κάποια αριθμητική τιμή ως περιεχόμενο. Κάθε μία λέξη της χρησιμοποιούμενης ψευδογλώσσας, που προσδιορίζει μια σαφή ενέργεια θα αποκαλείται στο εξής εντολή. Όλες οι εντολές σε ένα αλγόριθμο αποτυπώνονται με διαφορετικό χρώμα από το όνομα του αλγορίθμου και τις διάφορες σταθερές και μεταβλητές. 23

Δομή Ακολουθίας (3/4) Στη συνέχεια ακολουθεί η εντολή εκχώρησης τιμής. Η γενική μορφή της είναι: Μεταβλητή Έκφραση Η λειτουργία της είναι να γίνονται οι πράξεις στην έκφραση και το αποτέλεσμα να αποδίδεται, μεταβιβάζεται, εκχωρείται στη μεταβλητή. Στην εντολή αυτή χρησιμοποιείται το αριστερό βέλος, προκειμένου να δείχνει τη φορά της εκχώρησης. 24

Δομή Ακολουθίας (4/4) Ο αλγόριθμος ολοκληρώνεται με την εντολή εκτύπωσε που αποτυπώνει το τελικό αποτέλεσμα στον εκτυπωτή. Η σύνταξη της είναι ανάλογη με αυτή της εντολής διάβασε. Εναλλακτικά μπορεί να χρησιμοποιηθεί και η εντολή γράψε που αποτυπώνει ένα αποτέλεσμα στην οθόνη. 25

Παράδειγμα(1) Να δοθεί αλγόριθμος για τον υπολογισμό εμβαδού τριγώνου. Ε=(β*υ)/2 26

Λύση(1) Α τρόπος: ΑΛΓΟΡΙΘΜΟΣ ΕΜΒΑΔΟΝ_ΤΡΙΓΩΝΟΥ ΑΡΧΗ ΔΙΑΒΑΣΕ ΒΑΣΗ, ΥΨΟΣ ΕΜΒΑΔΟΝ ΒΑΣΗ * ΥΨΟΣ/2 ΕΜΦΑΝΙΣΕ ΤΟ ΕΜΒΑΔΟΝ ΕΙΝΑΙ:, ΕΜΒΑΔΟΝ ΤΕΛΟΣ ΕΜΒΑΔΟΝ_ΤΡΙΓΩΝΟΥ 27

Λύση(2) Β τρόπος: ΠΡΟΓΡΑΜΜΑ ΕΜΒΑΔΟΝ_ΤΡΙΓΩΝΟΥ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ:ΒΑΣΗ, ΥΨΟΣ, ΕΜΒΑΔΟΝ ΑΡΧΗ ΔΙΑΒΑΣΕ ΒΑΣΗ, ΥΨΟΣ ΕΜΒΑΔΟΝ ΒΑΣΗ * ΥΨΟΣ/2 ΓΡΑΨΕ ΤΟ ΕΜΒΑΔΟΝ ΕΙΝΑΙ:,ΕΜΒΑΔΟΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΜΒΑΔΟΝ_ΤΡΙΓΩΝΟΥ 28

Άσκηση 1 Να δοθεί αλγόριθμος για τον υπολογισμό της περιμέτρου ενός κύκλου. περ=2πρ π=3,14 29

Λύση Άσκησης 1 ΠΡΟΓΡΑΜΜΑ ΠΕΡΙΜΕΤΡΟΣ_ΚΥΚΛΟΥ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: ΑΚΤΙΝΑ, ΠΕΡΙΜΕΤΡΟΣ, Π ΑΡΧΗ ΔΙΑΒΑΣΕ ΑΚΤΙΝΑ Π 3.14 ΠΕΡΙΜΕΤΡΟΣ 2*ΑΚΤΙΝΑ*Π ΓΡΑΨΕ Η ΠΕΡΙΜΕΤΡΟΣ ΕΙΝΑΙ, ΠΕΡΙΜΕΤΡΟΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΕΡΙΜΕΤΡΟΣ_ΚΥΚΛΟΥ 30

Άσκηση 2 Να δοθεί αλγόριθμος ο οποίος θα μετατρέπει μια θερμοκρασία από βαθμούς Φαρενάιτ σε βαθμούς Κελσίου. Ο παρακάτω τύπος εκφράζει τη σχέση που υπάρχει μεταξύ βαθμών Φαρενάιτ και Κελσίου: (F-32)/9=C/5 Οπότε C=5/9*(F-32) 31

Λύση Άσκησης 2 ΠΡΟΓΡΑΜΜΑ ΦΑΡΕΝΑΪΤ_ΚΕΛΣΙΟΥ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ:F, C ΑΡΧΗ ΔΙΑΒΑΣΕ F C 5/9*(F-32) ΓΡΑΨΕ ΟΙ ΒΑΘΜΟΙ ΚΕΛΣΙΟΥ ΕΙΝΑΙ:,C ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΦΑΡΕΝΑΪΤ_ ΚΕΛΣΙΟΥ 32

Άσκηση 3 Αν έχετε τις παρακάτω πληροφορίες: ΝΟΜΙΣΜΑ ΤΙΜΗ ΠΩΛΗΣΗΣ Λίρα Αγγλίας 1,25 Δολάριο Αμερικής 0,85 Γιεν Ιαπωνίας 0,0075 Να δώσετε αλγόριθμο που να υπολογίζει σε το σύνολο από 1025 λίρες Αγγλίας, 2234 δολάρια Αμερικής και 345900 Γιεν Ιαπωνίας. 33

Λύση Άσκησης 3 ΠΡΟΓΡΑΜΜΑ ΣΥΝΑΛΛΑΓΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:ΛΙΡΑ, ΔΟΛΑΡΙΟ, ΓΙΕΝ, ΕΥΡΩ ΑΡΧΗ ΛΙΡΑ 1,25 ΔΟΛΑΡΙΟ 0,85 ΓΙΕΝ 0,0075 ΕΥΡΩ 1025*ΛΙΡΑ+2234*ΔΟΛΑΡΙΟ+345900* ΓΙΕΝ ΓΡΑΨΕ Το σύνολο σε ΕΥΡΩ είναι, ΕΥΡΩ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΛΛΑΓΜΑ 34

Δομή Επιλογής 35

Δομή Επιλογής- Γενικά Δομή Επιλογής Η δομή επιλογής χρησιμοποιείται όταν θέλουμε να ελέγξουμε μια συνθήκη και να εκτελέσουμε κάποιες ενέργειες ανάλογα με την τιμή αυτής της συνθήκης. Συγκεκριμένα αν η συνθήκη είναι αληθής, τότε θέλουμε να εκτελούνται κάποιες εντολές ενώ αν είναι ψευδής θέλουμε να εκτελούνται κάποιες άλλες εντολές (διαφορετικές) ή να μην εκτελείται καμία εντολή. Η δομή της επιλογής υλοποιείται με τις εντολές: αν επίλεξε 36

Δομή Επιλογής (1/3) Στην πραγματικότητα πολύ λίγα προβλήματα μπορούν να επιλυθούν με τον προηγούμενο τρόπο της σειριακής/ακολουθιακής δομής ενεργειών. Συνήθως τα προβλήματα έχουν κάποιες ιδιαιτερότητες και δεν ισχύουν τα ίδια βήματα για κάθε περίπτωση. Η πλέον συνηθισμένη περίπτωση είναι να λαμβάνονται κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια, που μπορεί να είναι διαφορετικά για κάθε διαφορετικό στιγμιότυπο ενός προβλήματος. 37

Δομή Επιλογής (2/3) Η διαδικασία της επιλογής περιλαμβάνει τον έλεγχο κάποιας συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής) και ακολουθεί η απόφαση εκτέλεσης κάποιας ενέργειας με βάση την τιμή της λογικής αυτής συνθήκης. Στην παράσταση αλγορίθμων με ψευδογλώσσα η επιλογή υλοποιείται με την εντολή αν...τότε 38

Δομή Επιλογής (3/3) Σύνταξη αν συνθήκη τότε εντολή Λειτουργία Αν ισχύει η συνθήκη (δηλαδή αν είναι αληθής), τότε μόνο εκτελείται η εντολή που ακολουθεί 39

Εντολή Αν 40

Περιορισμένη Επιλογή ΣΥΝΤΑΞΗ αν συνθήκη τότε εντολή (εντολές) τέλος_αν ΛΕΙΤΟΥΡΓΙΑ Αν η συνθήκη είναι αληθής τότε εκτελείται η εντολή (ή οι εντολές) ανάμεσα στο αν και στο τέλος_αν και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_αν. Αν η συνθήκη είναι ψευδής τότε η εντολή (ή οι εντολές) ανάμεσα στο αν και στο τέλος_αν δεν εκτελείται (δεν εκτελούνται) και ο αλγόριθμος συνεχίζει κατευθείαν στην επόμενη εντολή μετά το τέλος_αν. ΝΑΙ συνθήκη ΟΧΙ εντολή (εντολές) 41

Απλή Επιλογή ΣΥΝΤΑΞΗ αν συνθήκη τότε εντολή1 (εντολές1) αλλιώς εντολή2 (εντολές2) τέλος_αν ΛΕΙΤΟΥΡΓΙΑ Αν η συνθήκη είναι αληθής τότε εκτελείται μόνο η εντολή1 (ή οι εντολές1) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_αν. Αν η συνθήκη είναι ψευδής τότε εκτελείται μόνο η εντολή2 (ή οι εντολές2) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_αν. ΝΑΙ συνθήκη ΟΧΙ εντολή1 (εντολές1) εντολή2 (εντολές2) 42

Εμφωλευμένη Επιλογή (Α τρόπος) ΣΥΝΤΑΞΗ αν συνθήκη1 τότε εντολή1 (εντολές1) αλλιώς αν συνθήκη2 τότε εντολή2 (εντολές2) αλλιώς αν συνθήκη3 τότε (εντολές3) εντολή3 αλλιώς τέλος_αν τέλος_αν τέλος_αν ΛΕΙΤΟΥΡΓΙΑ Αν η συνθήκη1 είναι αληθής τότε εκτελείται μόνο η εντολή1 (ή οι εντολές1) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά την τελευταία εντολή τέλος_αν. Αν η συνθήκη1 είναι ψευδής τότε ελέγχεται η συνθήκη2. Αν η συνθήκη2 είναι αληθής τότε εκτελείται μόνο η εντολή2 (ή οι εντολές2) και ο αλγόριθμος συνεχίζει στην εντολή μετά την τελευταία εντολή τέλος_αν. Αν η συνθήκη2 είναι ψευδής τότε ελέγχεται η συνθήκη3 κ.ο.κ. Παρατηρούμε ότι για την κάθε εντολή αν υπάρχει μια αντίστοιχη εντολή τέλος_αν που την τερματίζει. Στο τέλος μπορούμε προαιρετικά να προσθέσουμε και μια ακόμα εντολή αλλιώς ώστε να εκτελείται μία ή περισσότερες εντολές όταν όλες οι προηγούμενες συνθήκες είναι ψευδείς. 43

Εμφωλευμένη Επιλογή (Β τρόπος) ΣΥΝΤΑΞΗ αν συνθήκη1 τότε εντολή1 (εντολές1) αλλιώς_αν συνθήκη2 τότε εντολή2 (εντολές2) αλλιώς_αν συνθήκη3 τότε εντολή3 (εντολές3) αλλιώς τέλος_αν ΛΕΙΤΟΥΡΓΙΑ Λειτουργεί ακριβώς όπως και η προηγούμενη εντολή. Το μόνο που αλλάζει είναι ο τρόπος γραφής της καθώς χρησιμοποιούμε μόνο μια τέλος_αν για τον τερματισμό όλων των ελέγχων. Επίσης και εδώ μπορούμε προαιρετικά να προσθέσουμε στο τέλος και μια ακόμα εντολή αλλιώς ώστε να εκτελείται μία ή περισσότερες εντολές όταν όλες οι προηγούμενες συνθήκες είναι ψευδείς. 44

Εντολή Επίλεξε 45

Η εντολή επίλεξε είναι μια ειδική περίπτωση της εντολής αν η οποία χρησιμοποιείται όταν θέλουμε να κάνουμε πολλαπλούς ελέγχους εξετάζοντας την τιμή μιας μεταβλητής και όχι μιας συνθήκης. ΣΥΝΤΑΞΗ Εντολή πολλαπλής επιλογής επίλεξε μεταβλητή περίπτωση λίστα_τιμών1 εντολή1 (εντολές1) περίπτωση λίστα_τιμών2 εντολή2 (εντολές2) περίπτωση αλλιώς εντολήν (εντολέςν) τέλος_επιλογών επίλεξε 46

ΛΕΙΤΟΥΡΓΙΑ ΕΝΤΟΛΗΣ ΕΠΙΛΕΞΕ ΛΕΙΤΟΥΡΓΙΑ Ελέγχεται η τιμή της μεταβλητής. Αν η τιμή της μεταβλητής ανήκει στη λίστα_τιμών1 (δηλαδή αν είναι ίση με κάποια από τις τιμές της λίστας_τιμών1) τότε εκτελείται μόνο η εντολή1 (ή οι εντολές1) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επιλογών. Αν η τιμή της μεταβλητής ανήκει στη λίστα_τιμών2 (δηλαδή αν είναι ίση με κάποια από τις τιμές της λίστας_τιμών2) τότε εκτελείται μόνο η εντολή2 (ή οι εντολές2) και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επιλογών κ.ο.κ. Αν η μεταβλητή δεν ανήκει σε κανένα από τα προηγούμενα σύνολα τιμών τότε εκτελείται η εντολήν (ή οι εντολέςν). Η εντολή επίλεξε ελέγχει συνεπώς μόνο ισότητες όσον αφορά την τιμή της μεταβλητής. 47

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΕΝΤΟΛΗΣ ΕΠΙΛΕΞΕ μεταβλητή λίστα_τιμών1 λίστα_τιμών2 περίπτωση αλλιώς εντολή1 (εντολές1) εντολή2 (εντολές2) εντολήν (εντολέςν) 48

Ασκήσεις Αλγόριθμοι Περιορισμένης Επιλογής 49

Αλγόριθμος 1 Το πρόγραμμα να συγκρίνει δύο αριθμούς και να εμφανίζει τον μεγαλύτερο και τον μικρότερο αριθμό ή το μήνυμα ότι οι αριθμοί είναι ίσοι. 50

Λύση Αλγόριθμου 1 πρόγραμμα σύγκριση μεταβλητές πραγματικές: α1, α2 αρχή γράψε Δώσε 2 αριθμούς: διάβασε α1, α2 αν α1 > α2 τότε γράψε Μεγαλύτερος =, α1 γράψε Μικρότερος =, α2 τέλος_αν αν α1 < α2 τότε γράψε Μεγαλύτερος =, α2 γράψε Μικρότερος =, α1 τέλος_αν αν α1 = α2 τότε γράψε Οι αριθμοί είναι ίσοι. τέλος_αν τέλος_προγράμματος σύγκριση 51

Αλγόριθμος 2 Να δοθεί ο αλγόριθμος που θα χαρακτηρίζει έναν αριθμό ως θετικό, αρνητικό ή μηδέν. 52

Λύση Αλγόριθμου 2 πρόγραμμα χαρακτηρισμός μεταβλητές πραγματικές: χ αρχή γράψε Δώσε έναν αριθμό: διάβασε χ αν χ > 0 τότε γράψε θετικός τέλος_αν αν χ < 0 τότε γράψε αρνητικός τέλος_αν αν χ=0 τότε γράψε μηδέν τέλος_αν τέλος_προγράμματος χαρακτηρισμός 53

Αλγόριθμος 3 Να δοθεί ο αλγόριθμος που θα συγκρίνει δύο αριθμούς α και β και θα υπολογίζει ένα από τα ακόλουθα αποτελέσματα: αν α > β α + β αν α < β α β αν α = β α / β 54

Λύση Αλγόριθμου 3 πρόγραμμα σύγκριση μεταβλητές πραγματικές: α, β, π αρχή γράψε Δώσε 2 αριθμούς διάβασε α, β αν α > β τότε π α + β γράψε Άθροισμα =, π τέλος_αν αν α < β τότε π α - β γράψε Διαφορά =, π τέλος_αν αν α = β τότε αν β <> 0 τότε π α / β γράψε Πηλίκο =, π τέλος_αν αν β = 0 τότε γράψε Δεν υπολογίζεται το πηλίκο τέλος_αν τέλος_αν τέλος_προγράμματος σύγκριση 55

Αλγόριθμος 4 Να δοθεί ο αλγόριθμος που λύνει την εξίσωση y = 1 / x. 56

Λύση Αλγόριθμου 4 πρόγραμμα εξίσωση μεταβλητές πραγματικές: x, y αρχή γράψε Δώσε την τιμή του x: διάβασε x αν x = 0 τότε γράψε Αδύνατη Εξίσωση τέλος_αν αν x<>0 τότε y 1 / x γράψε Η λύση είναι:, y τέλος_αν τέλος_προγράμματος εξίσωση 57

Δομή Επανάληψης 58

Δομή Επανάληψης Η δομή επανάληψης χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μία ή περισσότερες εντολές πολλές φορές. Η επανάληψη αυτή μπορεί να γίνει: είτε για όσο χρόνο αληθεύει μια συνθήκη (όσο) είτε μέχρι να γίνει αληθής μια συνθήκη (αρχή_επανάληψης) είτε για ένα συγκεκριμένο αριθμό φορών (για) 59

Εντολή όσο ΣΥΝΤΑΞΗ όσο συνθήκη επανέλαβε εντολή (εντολές) τέλος_επανάληψης ΛΕΙΤΟΥΡΓΙΑ Όσο η συνθήκη είναι αληθής επαναλαμβάνεται η εκτέλεση της εντολής (ή της ομάδας εντολών) που περικλείεται (περικλείονται) ανάμεσα στην εντολή όσο και στην εντολή τέλος_επανάληψης. Όταν η συνθήκη γίνει ψευδής η επανάληψη τερματίζεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επανάληψης. Επίσης πρέπει να τονίσουμε ότι αν υ συνθήκη είναι από την αρχή ψευδής τότε η εντολή όσο δεν θα εκτελεστεί καμία φορά. 60

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ Εντολής όσο 61

Εφαρμογή Εντολής όσο Η εντολή όσο μπορεί να χρησιμοποιηθεί τόσο σε προβλήματα με γνωστό αριθμό επαναλήψεων όσο και σε προβλήματα με άγνωστο αριθμό επαναλήψεων. Στην 1 η περίπτωση χρησιμοποιείται συνήθως ένας μετρητής επαναλήψεων, ενώ στη 2 η περίπτωση ελέγχεται μια συνθήκη σε σχέση με την τιμή που τερματίζει την επανάληψη. 62

Εντολή αρχή_επανάληψης ΣΥΝΤΑΞΗ αρχή_επανάληψης εντολή (εντολές) μέχρις_ότου συνθήκη ΛΕΙΤΟΥΡΓΙΑ Όσο η συνθήκη που ελέγχεται είναι ψευδής επαναλαμβάνεται η εκτέλεση της εντολής (ή της ομάδας εντολών) που περικλείεται (περικλείονται) ανάμεσα στη αρχή_επανάληψης και στο μέχρις_ότου. Όταν η συνθήκη γίνει αληθής η επανάληψη τερματίζεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά την εντολή μέχρις_ότου. Επίσης πρέπει να τονίσουμε ότι ακόμα και αν η συνθήκη είναι από την αρχή αληθής τότε η εντολή αρχή_επανάληψης θα εκτελεστεί τουλάχιστον μία φορά. Ουσιαστικά η εντολή αυτή έχει ακριβώς την αντίθετη λογική από την εντολή όσο. 63

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ Εντολής αρχή_επανάληψης 64

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

Εντολή για ΣΥΝΤΑΞΗ (βήμα > 0) για μεταβλητή από αρχική_τιμή μέχρι τελική_τιμή με βήμα βήμα εντολή (εντολές) τέλος_επανάληψης ΣΥΝΤΑΞΗ (βήμα < 0) για μεταβλητή από τελική_τιμή μέχρι αρχική_τιμή με βήμα αρνητικό εντολή (εντολές) τέλος_επανάληψης 66

ΛΕΙΤΟΥΡΓΙΑ Εντολής για Η μεταβλητή λειτουργεί σαν μετρητής επαναλήψεων. Αρχικά ξεκινάει από την τιμή που καθορίζουμε, ελέγχει αν η τιμή της είναι μικρότερη ή ίση από την τελική τιμή που πρέπει να φτάσει και εφόσον αυτό ισχύει εκτελούνται όλες οι εντολές που περιλαμβάνονται ανάμεσα στην εντολή για και στην εντολή τέλος_επανάληψης. Στη συνέχεια η μεταβλητή αυτή αυξάνεται σύμφωνα με την τιμή του βήματος που έχουμε καθορίσει. Όταν η μεταβλητή ξεπεράσει την τελική της τιμή τότε η επανάληψη ολοκληρώνεται και ο αλγόριθμος συνεχίζει στην επόμενη εντολή μετά το τέλος_επανάληψης. 67

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ Εντολής για 68

Κριτήριο Επιλογής Εντολής Επανάληψης Αριθμός Επαναλήψεων Εντολή Επανάληψης γνωστός εντολή για εντολή όσο εντολή αρχή_επανάληψης άγνωστος εντολή όσο εντολή αρχή_επανάληψης 69

Γενικές Παρατηρήσεις για τις Εντολές Επανάληψης Περίπτωση Λύση Όταν το πρόγραμμα ζητάει υπολογισμό αθροίσματος τότε χρησιμοποιούμε πάντα αθροιστή δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά μια συγκεκριμένη ή τυχαία τιμή και αρχικοποιείται με το 0. Όταν το πρόγραμμα ζητάει υπολογισμό πλήθους τότε χρησιμοποιούμε πάντα μετρητή δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά 1 και αρχικοποιείται με 0. Όταν το πρόγραμμα ζητάει υπολογισμό γινομένου Όταν ο αριθμός των επαναλήψεων είναι γνωστός τότε χρησιμοποιούμε πάντα πολλαπλασιαστή δηλαδή μια μεταβλητή που πολλαπλασιάζεται σε κάθε επανάληψη με μια συγκεκριμένη ή τυχαία τιμή και αρχικοποιείται με το 1. τότε χρησιμοποιούμε μετρητή επαναλήψεων δηλαδή μια μεταβλητή που αυξάνεται σε κάθε επανάληψη κατά μια συγκεκριμένη τιμή (συνήθως κατά 1) και αρχικοποιείται με μια συγκεκριμένη τιμή (συνήθως με το 1). Όταν ο αριθμός των επαναλήψεων είναι άγνωστος τότε δεν μπορούμε να χρησιμοποιήσουμε μετρητή επαναλήψεων. Η συνθήκη που ελέγχουμε στην περίπτωση αυτή έχει να κάνει με μια τιμή που τερματίζει την επανάληψη. 70

Διαφορές της εντολής όσο από την εντολή αρχή_επανάληψης Στην εντολή όσο η συνθήκη ελέγχεται στην αρχή της επανάληψης ενώ στην εντολή αρχή_επανάληψης η συνθήκη ελέγχεται στο τέλος της επανάληψης. Στην εντολή όσο η ομάδα εντολών μπορεί να μην εκτελεστεί καμία φορά όταν η συνθήκη είναι εξ αρχής ψευδής, ενώ στην εντολή αρχή_επανάληψης η ομάδα εντολών εκτελείται τουλάχιστον μια φορά ανεξάρτητα από την συνθήκη. Στην εντολή όσο η επανάληψη εκτελείται όσο η συνθήκη είναι αληθής, ενώ στην εντολή αρχή_επανάληψης η επανάληψη εκτελείται όσο η συνθήκη είναι ψευδής και τερματίζει μόλις η συνθήκη γίνει αληθής. 71

Πλεονεκτήματα της εντολής για σε σχέση με τις εντολές όσο και αρχή_επανάληψης στην εντολή για δεν απαιτείται να υπάρχουν (μέσα στο σώμα των εντολών της) ξεχωριστές εντολές τροποποίησης της τιμής του μετρητή των επαναλήψεων γιατί αυτός μεταβάλλεται αυτόματα από την ίδια την εντολή για σε κάθε επανάληψη κατά βήμα (αυξάνεται ή μειώνεται). Αντίθετα στις εντολές όσο και αρχή_επανάληψης όταν ο αριθμός των επαναλήψεων είναι γνωστός είναι υποχρεωτική η ύπαρξη εντολής αλλαγής της τιμής του μετρητή των επαναλήψεων. στην εντολή για δεν απαιτείται να υπάρχει ξεχωριστή εντολή αρχικοποίησης της τιμής του μετρητή των επαναλήψεων γιατί αυτή γίνεται αυτομάτως από την ίδια την εντολή για. Αντίθετα στις εντολές όσο και αρχή_επανάληψης όταν ο αριθμός των επαναλήψεων είναι γνωστός είναι υποχρεωτική η αρχικοποίηση του μετρητή των επαναλήψεων σε ξεχωριστή εντολή. 72

Μειονεκτήματα της εντολής για σε σχέση με τις εντολές όσο και αρχή_επανάληψης Η εντολή για εφαρμόζεται μόνο όταν ο αριθμός των επαναλήψεων είναι γνωστός. Αντίθετα οι εντολές όσο και αρχή_επανάληψης μπορούν να χρησιμοποιηθούν σε κάθε περίπτωση δηλαδή και για γνωστό και για άγνωστο αριθμό επαναλήψεων. 73

Παραδείγματα 74

Παράδειγμα 1 Να γραφεί ο αλγόριθμος υπολογισμού του αθροίσματος των αριθμών από το 1 μέχρι το 100 (1+2+3+..+100) χρησιμοποιώντας και τις τρεις δομές επανάληψης. 75

Λύση Παραδείγματος 1-α τρόπος ΠΡΟΓΡΑΜΜΑ ΑΘΡΟΙΣΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, SUM ΑΡΧΗ I 1 SUM 0 ΟΣΟ I<=100 ΕΠΑΝΑΛΑΒΕ SUM SUM+I I I+1 ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ SUM ΤΕΛΟΣ_ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΘΡΟΙΣΜΑ 76

Λύση Παραδείγματος 1-β τρόπος ΠΡΟΓΡΑΜΜΑ ΑΘΡΟΙΣΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, SUM ΑΡΧΗ I 1 SUM 0 ΑΡΧΗ_ ΕΠΑΝΑΛΗΨΗΣ SUM SUM+I I I+1 ΜΕΧΡΙΣ_ ΟΤΟΥ I>100 ΓΡΑΨΕ SUM ΤΕΛΟΣ_ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΘΡΟΙΣΜΑ 77

Λύση Παραδείγματος 1-γ τρόπος ΠΡΟΓΡΑΜΜΑ ΑΘΡΟΙΣΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, SUM ΑΡΧΗ SUM 0 ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 100 SUM SUM+I ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ SUM ΤΕΛΟΣ_ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΘΡΟΙΣΜΑ 78

Παράδειγμα 2 Να γραφεί αλγόριθμος που να εμφανίζει την πρόταση «ΙΕΚ ΛΑΓΚΑΔΑ» 100 φορές. ΛΥΣΗ: ΠΡΟΓΡΑΜΜΑ ΙΕΚ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΓΡΑΨΕ ΙΕΚ ΛΑΓΚΑΔΑ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΙΕΚ 79

Παράδειγμα 3 Να γραφεί αλγόριθμος που να εμφανίζει τη λέξη «ΘΕΣΣΑΛΟΝΙΚΗ» στην οθόνη του υπολογιστή κάθε φορά που ο χρήστης πατάει το πλήκτρο «Θ». Η διαδικασία να επαναλαμβάνεται έως ότου ο χρήστης πατήσει το πλήκτρο «Q». Τότε ο αλγόριθμος να εμφανίζει πόσες φορές πατήθηκε το πλήκτρο «Θ». 80

Λύση Παραδείγματος 3 ΠΡΟΓΡΑΜΜΑ ΘΕΣΣΑΛΟΝΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:ΠΛΗΘΟΣ ΑΛΦΑΡΙΘΜΗΤΙΚΕΣ(ΧΑΡΑΚΤΗΡΕΣ):Χ ΑΡΧΗ ΠΛΗΘΟΣ 0 ΑΡΧΗ ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Χ ΑΝ Χ= Θ ΤΟΤΕ ΓΡΑΨΕ ΘΕΣΣΑΛΟΝΙΚΗ ΠΛΗΘΟΣ ΠΛΗΘΟΣ+1 ΤΕΛΟΣ_ΑΝ ΜΕΧΡΙΣ_ΟΤΟΥ Χ= Q ΓΡΑΨΕ ΠΛΗΘΟΣ ΤΕΛΟΣ_ ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΣΣΑΛΟΝΙΚΗ 81

Παράδειγμα 4 Ένας καταναλωτής διαθέτει 150 για αγορά ρυζιού, προκειμένου να το δωρίσει σε ένα φιλανθρωπικό ίδρυμα. Σε ένα πολυκατάστημα διατίθενται πακέτα ρυζιού σε τέσσερις διαφορετικές συσκευασίες από διαφορετικές εταιρείες. Να γράψετε αλγόριθμο ο οποίος: α. Διαβάζει το όνομα της εταιρείας, την αξία και την ποσότητα σε γραμμάρια για κάθε μία από τις τέσσερις συσκευασίες ρυζιού. β. Υπολογίζει και εμφανίζει το όνομα της εταιρείας που προσφέρει το ρύζι στην πλέον συμφέρουσα για τον καταναλωτή συσκευασία (να θεωρήσετε ότι υπάρχει μόνο μία τέτοια εταιρεία). γ. Υπολογίζει και εμφανίζει τον αριθμό των πακέτων που μπορεί να αγοράσει από την πλέον συμφέρουσα για τον καταναλωτή συσκευασία (σύμφωνα με το ερώτημα β). Παρατήρηση: η κάθε εταιρεία διαθέτει το ρύζι σε μία και μόνη συσκευασία, π.χ. η Α εταιρεία διαθέτει ρύζι μόνο σε συσκευασία των 200gr, η Β σε συσκευασία των 250, η Γ σε συσκευασία των 300 gr, η Δ σε συσκευασία των 350 gr. 82

Λύση Παραδείγματος 4 ΑΛΓΟΡΙΘΜΟΣ ΑΓΟΡΑ_ΡΥΖΙΟΥ ΔΙΑΒΑΣΕ ΟΝΟΜΑ, ΑΞΙΑ, ΠΟΣΟΤΗΤΑ ΚΟΣΤΟΣ ΑΞΙΑ/ΠΟΣΟΤΗΤΑ ΜΙΝ ΚΟΣΤΟΣ ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 4 ΔΙΑΒΑΣΕ ΟΝΟΜΑ, ΑΞΙΑ, ΠΟΣΟΤΗΤΑ ΚΟΣΤΟΣ ΑΞΙΑ/ΠΟΣΟΤΗΤΑ ΑΝ ΚΟΣΤΟΣ<ΜΙΝ ΤΟΤΕ ΜΙΝ ΚΟΣΤΟΣ ΕΤΑΙΡΕΙΑ ΟΝΟΜΑ ΚΑΛΥΤΕΡΗ_ΤΙΜΗ ΑΞΙΑ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΕΜΦΑΝΙΣΕ ΕΤΑΙΡΕΙΑ ΠΛΗΘΟΣ_ΠΑΚΕΤΩΝ 150 DIV ΚΑΛΥΤΕΡΗ ΤΙΜΗ ΕΜΦΑΝΙΣΕ ΠΛΗΘΟΣ_ΠΑΚΕΤΩΝ ΤΕΛΟΣ ΑΓΟΡΑ_ΡΥΖΙΟΥ 83

Παράδειγμα 5 Σε κάποια εξεταστική δοκιμασία ένα γραπτό αξιολογείται από δυο βαθμολογητές στη βαθμολογική κλίμακα[0,100]. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μικρότερη ή ίση των 20 μονάδων της παραπάνω κλίμακας, ο τελικός βαθμός είναι ο μέσος όρος των δυο βαθμολογιών. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μεγαλύτερη από 20 μονάδες, το γραπτό δίνεται για αναβαθμολόγηση σε τρίτο βαθμολογητή. Ο τελικός βαθμός του γραπτού προκύπτει τότε από το μέσο όρο των τριών βαθμολογιών. Να αναπτύξετε αλγόριθμο ο οποίος, αφού ελέγξει την εγκυρότητα των βαθμών στη βαθμολογική κλίμακα [0,100], να υλοποιεί την παραπάνω διαδικασία εξαγωγής τελικού βαθμού και να εμφανίζει τον τελικό βαθμό του γραπτού στην εικοσαβάθμια κλίμακα. Παρατήρηση: Να θεωρήσετε ότι όλες οι ποσότητες εκφράζονται ως πραγματικοί αριθμοί. 84

Λύση Παραδείγματος 5 ΠΡΟΓΡΑΜΜΑ ΒΑΘΜΟΛΟΓΙΑ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ:Β1,Β2,Β3,ΤΒ ΑΡΧΗ ΔΙΑΒΑΣΕ Β1 ΟΣΟ (Β1>100) Η (Β1<0) ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ ΛΑΘΟΣ ΒΑΘΜΟΣ ΞΑΝΑΔΩΣΕ ΔΙΑΒΑΣΕ Β1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Β2 ΟΣΟ (Β2>100) Η (Β2<0) ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ ΛΑΘΟΣ ΒΑΘΜΟΣ ΞΑΝΑΔΩΣΕ ΔΙΑΒΑΣΕ Β2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ Α_Τ(Β1-Β2)<=20 ΤΟΤΕ ΤΒ (Β1+Β2)/2 ΑΛΛΙΩΣ ΔΙΑΒΑΣΕ Β3 ΟΣΟ (Β3>100) Η (Β3<0) ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ ΛΑΘΟΣ ΒΑΘΜΟΣ ΞΑΝΑΔΩΣΕ ΔΙΑΒΑΣΕ Β3 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΒ (Β1+Β2+Β3)/3 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Ο ΤΕΛΙΚΟΣ ΒΑΘΜΟΣ ΣΤΗΝ ΕΙΚΟΣ/ΙΑ ΚΛΙΜ ΕΙΝΑΙ,ΤΒ/5 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΒΑΘΜΟΛΟΓΙΑ 85

Παράδειγμα 6 (1) Το κλασικό παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί» παίζεται με δύο παίκτες. Σε κάθε γύρο του παιχνιδιού, ο κάθε παίκτης επιλέγει ένα από τα ΠΕΤΡΑ, ΨΑΛΙΔΙ, ΧΑΡΤΙ, και παρουσιάζει την επιλογή του ταυτόχρονα με τον αντίπαλό του. Η ΠΕΤΡΑ κερδίζει το ΨΑΛΙΔΙ, το ΨΑΛΙΔΙ το ΧΑΡΤΙ και το ΧΑΡΤΙ την ΠΕΤΡΑ. Σε περίπτωση που οι δύο παίκτες έχουν την ίδια επιλογή, ο γύρος λήγει ισόπαλος. Τα ο παιχνίδι προχωράει με συνεχόμενους γύρους μέχρι ένας τουλάχιστον από τους παίκτες να αποχωρήσει. Νικητής αναδεικνύεται ο παίκτης με τις περισσότερες νίκες. Αν οι δύο παίκτες έχουν τον ίδιο αριθμό νικών, το παιχνίδι λήγει ισόπαλο. 86

Παράδειγμα 6 (2) Να αναπτύξετε αλγόριθμο ο οποίος διαβάζει τα ονόματα των δύο παικτών και υλοποιεί το παραπάνω παιχνίδι ως εξής: Α. Για κάθε γύρο του παιχνιδιού: διαβάζει την επιλογή κάθε παίκτη, η οποία μπορεί να είναι μία από τις εξής: ΠΕΤΡΑ, ΨΑΛΙΔΙ, ΧΑΡΤΙ, ΤΕΛΟΣ. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών.) συγκρίνει τις επιλογές των παικτών και διαπιστώνει το νικητή του γύρου ή την ισοπαλία. Β. Τερματίζει το παιχνίδι όταν ένας τουλάχιστον από τους δύο παίκτες επιλέξει ΤΕΛΟΣ. Γ. Εμφανίζει το όνομα του νικητή ή, αν δεν υπάρχει νικητής, το μήνυμα «ΤΟ ΠΑΙΧΝΙΔΙ ΕΛΗΞΕ ΙΣΟΠΑΛΟ». 87

Λύση Παραδείγματος 6 ΠΡΟΓΡΑΜΜΑ ΠΑΙΧΝΙΔΙ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ν1,Ν2 ΧΑΡΑΚΤΗΡΕΣ: ΟΝ1,ΟΝ2,ΕΠ1,ΕΠ2 ΑΡΧΗ ΔΙΑΒΑΣΕ ΟΝ1,ΟΝ2 Ν1 0 Ν2 0 ΔΙΑΒΑΣΕ ΕΠ1,ΕΠ2 ΟΣΟ ΕΠ1<>'ΤΕΛΟΣ' ΚΑΙ ΕΠ2<>'ΤΕΛΟΣ' ΕΠΑΝΑΛΑΒΕ ΑΝ ΕΠ1=ΕΠ2 ΤΟΤΕ ΓΡΑΨΕ ΙΣΟΠΑΛΙΑ ΑΛΛΙΩΣ ΑΝ ΕΠ1='ΠΕΤΡΑ' ΤΟΤΕ ΑΝ ΕΠ2='ΨΑΛΙΔΙ' ΤΟΤΕ ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ1 Ν1 Ν1+1 ΑΛΛΙΩΣ _ΑΝ ΕΠ2='ΧΑΡΤΙ' ΤΟΤΕ ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ2 Ν2 Ν2+1 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ_ΑΝ ΕΠ1='ΨΑΛΙΔΙ' ΤΟΤΕ ΑΝ ΕΠ2='ΠΕΤΡΑ' ΤΟΤΕ ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ2 Ν2 Ν2+1 ΑΛΛΙΩΣ_ΑΝ ΕΠ2='ΧΑΡΤΙ' ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ1 Ν1 Ν1+1 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ!δηλαδή ΕΠ1='ΧΑΡΤΙ' ΑΝ ΕΠ2='ΠΕΤΡΑ' ΤΟΤΕ ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ1 Ν1 Ν1+1 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ_ΑΝ ΕΠ2='ΨΑΛΙΔΙ' ΤΟΤΕ ΓΡΑΨΕ 'ΚΕΡΔΙΖΕΙ Ο',ΟΝ2 Ν2 Ν2+1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΑΙΧΝΙΔΙ ΔΙΑΒΑΣΕ ΕΠ1,ΕΠ2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ Ν1>Ν2 ΤΟΤΕ ΓΡΑΨΕ 'ΝΙΚΗΤΗΣ Ο',ΟΝ1 ΑΛΛΙΩΣ_ΑΝ Ν2>Ν1 ΤΟΤΕ ΓΡΑΨΕ 'ΝΙΚΗΤΗΣ Ο',ΟΝ2 ΑΛΛΙΩΣ ΓΡΑΨΕ 'ΤΟ ΠΑΙΧΝΙΔΙ ΕΛΗΞΕ ΙΣΟΠΑΛΟ' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΑΙΧΝΙΔΙ 88

Τέλος Κεφαλαίου