Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Σχετικά έγγραφα
Προγραμματισμός PASCAL

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

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

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

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

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

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

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων

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

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

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

Μονάδες 4. β. x=20 και y=10

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

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

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

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

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

ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ερώτηση βαθμολογείται με έξι μονάδες.

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

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

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

Δομές Διακλάδωσης. Κεφάλαιο 6 Trimos Mike

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

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

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

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

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

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

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

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

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

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

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

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

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

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

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

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

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

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

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

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

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

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

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

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

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

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

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

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

Στο παραπάνω τμήμα υπάρχουν περιττοί έλεγχοι. Να γράψετε ξανά το παραπάνω τμήμα χωρίς τους περιττούς ελέγχους.

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

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

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

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

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

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

Διάγραμμα Ροής (Flow Chart )

ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑΤΑ. 10. Τα επιλύσιμα προβλήματα κατηγοριοποιούνται περεταίρω με βάση το βαθμό δόμησης και το είδος επίλυσής τους.

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


ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Διαγώνισμα Δομή Επιλογής και Λογικές εκφράσεις

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

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

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

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

Προγραμματισμός I (Θ)

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

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

Transcript:

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Παραδείγματα αλγορίθμων: Η παρασκευή ενός κέικ Η εύρεση του μέγιστου κοινού διαιρέτη δύο αριθμών Η εκκίνηση ενός αυτοκινήτου Η πρωινή προετοιμασία για το σχολείο / νυχτερινή έξοδο Είναι μια μέθοδος που εφαρμόζεται για να λύσει ένα πρόβλημα. Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!! 1

Βασικές Έννοιες Αλγορίθμων Κριτήρια ενός αλγορίθμου Είσοδος (input): καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο Έξοδος (output): ο αλγόριθμος «παράγει» τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα Καθοριστικότητα (defineteness): να εξασφαλίζεται ο «ορισμός» κάθε εντολής Περατότητα (finiteness): ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης. (Διαφορετικά, λέγεται υπολογιστική διαδικασία) Αποτελεσματικότητα (effectiveness): ο αλγόριθμος αποτελείται από μεμονωμένες απλές-εκτελέσιμες εντολές 2

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Ελεύθερο κείμενο: περιγραφή σε φυσική γλώσσα Ο πιο αδόμητος τρόπος αναπαράστασης. Ελλοχεύει ο κίνδυνος να παραβιαστεί το κριτήριο της αποτελεσματικότητας!!! 3

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Φυσική γλώσσα κατά βήματα: περιγραφή κατά βήματα Σαφώς καλύτερος τρόπος αναπαράστασης από το ελεύθερο κείμενο. 4

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Διαγραμματικές τεχνικές: συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου (η πιο γνωστή είναι το διάγραμμα ροής (flow chart)) Δεν χρησιμοποιείται πλέον συχνά. 5

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Κωδικοποίηση (coding): πρόγραμμα γραμμένο είτε με μία ψευδογλώσσα είτε σε κάποιο προγραμματιστικό περιβάλλον που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο. Εκτελείται από τον υπολογιστή! 6

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Αναπαράσταση αλγορίθμου με ελεύθερο κείμενο Αρχικά διαβάζουμε τους συντελεστές α, β, γ του τριωνύμου. Στη συνέχεια, υπολογίζουμε τη διακρίνουσα με τον τύπο β 2-4αγ και ανάλογα με την τιμή της, υπολογίζουμε τις ρίζες του τριωνύμου. Δηλαδή, αν η διακρίνουσα είναι αρνητική, το τριώνυμο δεν επιλύεται στο σύνολο των πραγματικών αριθμών. Ενώ, αν η διακρίνουσα ισούται με μηδέν, η λύση είναι β/2α. Τέλος, αν η διακρίνουσα είναι θετική, τότε το τριώνυμο έχει τις εξής δύο λύσεις: 7

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Αναπαράσταση αλγορίθμου σε φυσική γλώσσα κατά βήματα 1. Διαβάζουμε τους συντελεστές α, β, γ 2. Υπολογίζουμε τη διακρίνουσα (Δ=β 2-4αγ) 3. Αν Δ<0 τότε το τριώνυμο δεν επιλύεται 4. Αν Δ=0 τότε χ= β/2α 5. Αν Δ>0 τότε χ1=(-β+τρ(δ))/2α και χ2=(-β-τρ(δ))/2α 8

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Αναπαράσταση αλγορίθμου με διάγραμμα ροής ΑΡΧΗ Διάβασε α, β, γ Δ β 2-4αγ ΝΑΙ ΟΧΙ Εκτύπωσε Δε λύνεται Δ < 0 Δ > 0 ΝΑΙ ΟΧΙ Εκτύπωσε Εκτύπωσε... ΤΕΛΟΣ 9

Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων αναπαράσταση αλγορίθμου με κωδικοποίηση σε πρόγραμμα Πρόγραμμα Τριώνυμο. Διάβασε α, β, γ Δ β 2 4αγ Αν Δ<0 τότε Γράψε Δεν υπάρχει λύση Αλλιώς_αν Δ=0 τότε χ -β/(2α) Γράψε χ Αλλιώς χ 1 -β+τρ(δ)/(2α) χ 2 -β+τρ(δ)/(2α) Γράψε χ 1, χ 2 Τέλος_αν Τέλος_προγράμματος 10

Βασικές Έννοιες Αλγορίθμων Βασικές συνιστώσες/εντολές Οι εντολές είναι τα δομικά στοιχεία ενός αλγορίθμου Δομή ακολουθίας Δομή επιλογής Διαδικασίες πολλαπλών επιλογών Εμφωλευμένες Διαδικασίες Δομή επανάληψης 11

Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας/σειριακή δομή Η ακολουθιακή δομή εντολών χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. Παράδειγμα : Να διαβασθούν δύο αριθμοί, να υπολογισθεί και να εμφανιστεί το γινόμενο τους. Πρόγραμμα Γινόμενο Μεταβλητές Αρχή Διάβασε a, b c a * b Γράψε c Τέλος_προγράμματος 12

Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας/σειριακή δομή Δηλωτικές εντολές Πρόγραμμα Γινόμενο Μεταβλητές Αρχή Διάβασε a, b c a * b Γράψε c Τέλος_προγράμματος Εκτελεστέες εντολές Εντολή ανάγνωσης/εισόδου Εντολή εκχώρησης Εντολή εξόδου α,b,c: Μεταβλητές Εντολή είναι μία λέξη που προσδιορίζει μια σαφή ενέργεια 13

Προγραμματισμός PASCAL 14

Εντολές Διακλάδωσης Δομή Επιλογής Εντολή IF/THEN Eντολή IF/THEN/ELSE Ένθετη Διακλάδωση Πολλαπλή Διακλάδωση 15

Εντολή IF-THEN (2) READLN (X,Y); IF X>Y THEN WRITELN( Η MΕΤΑΒΛΗΤΗ Χ ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΗ ΤΗΣ ΜΕΤΑΒΛΗΤΗΣ Υ ); WRITELN( ΤΕΛΟΣ ); 17

Εντολή IF-THEN (3) READLN(X,Y); IF X>=Y THEN BEGIN X:=X+Y; Y:=Y-5; END; WRITELN(X,Y); 18

Εντολή IF-THEN-ELSE IF <συνθήκη> THEN <διαδικασία 1> ELSE <διαδικασία 2>; ψευδής Διαδικασία2 συνθήκη αληθής Διαδικασία1 Επόμενη εντολή 19

Εντολή IF-THEN-ELSE (2) IF K>15 THEN K:=K+5 ELSE K:=K-5; WRITELN(K); IF Q>=100 THEN BEGIN WRITE( ΕΚΠΤΩΣΗ ); COST:=Q*6.5 END ELSE BEGIN WRITE( ΧΩΡΙΣ ΕΚΠΤΩΣΗ); COST:=Q*7 END; WRITELN( ΤΕΛΟΣ ); 20

Ένθετες Διακλαδώσεις IF <συνθήκη> THEN IF <συνθήκη> THEN.. IF <συνθήκη> THEN <Διαδικασία> 21

Ένθετες Διακλαδώσεις (2) συνθήκη1 όχι ναι συνθήκη2 όχι ναι συνθήκην όχι ναι διαδικασία Έπόμενη εντολή 22

Ένθετες Διακλαδώσεις (3) IF a<0 THEN IF b>0 THEN IF c=0 THEN BEGIN WRITELN( negative ); WRITELN( positive ); WRITELN( zero ); END; WRITELN( ΤΕΛΟΣ ); 23

Πολλαπλή Διακλάδωση CASE <έκφραση επιλογής> OF <τιμή επιλογής >:<διαδικασία>; <τιμή επιλογής >:<διαδικασία>;. <τιμή επιλογής >:<διαδικασία>; ELSE <εναλλακτική διαδικασία> END; 24

Πολλαπλή Διακλάδωση (2) διαδικασία1 διαδικασία3 διαδικασία2 διαδικασίαν Εναλλακτική διαδικασία 25

Πολλαπλή Διακλάδωση (3) READLN(GRAMMA); CASE GRAMMA OF A : WRITELN( ΑΡΙΣΤΟΣ ); B : WRITELN( ΠΟΛΥ ΚΑΛΟΣ ); C : WRITELN( ΚΑΛΟΣ ); D : WRITELN( ΜΕΤΡΙΟΣ ); E : WRITELN( ΚΑΚΟΣ ) ELSE WRITELN( ΛΑΘΟΣ ΧΑΡΑΚΤΗΡΑΣ ) END; WRITELN( ΤEΛΟΣ ); 26

Πολλαπλή Διακλάδωση (3) CASE MONTH OF END; 1,3,5,7, 8,10,12 : DAYS:=31; 4,6,9,11 : DAYS:=30; 2 : IF (YEAR MOD 4=0) THEN DAYS:=29 ELSE DAYS:=28 27

Επαναληπτικές Δομές FOR /DO WHILE/DO REPEAT/UNTIL Ένθετες Επαναληπτικές Δομές 28

Επαναληπτκή Δομή FOR-DO FOR <μεταβλητή ελέγχου>:= <αρχική τιμή> ΤΟ <τελική τιμή> DO <σώμα της Δομής>; 29

Επαναληπτκή Δομή FOR-DO (2) m -μετρητής m:=1 * όχι * m<=5 ναι A:=a*b * FOR M:=1 TO 5 DO m:=m+1 * A:=A*B; 30

Επαναληπτκή Δομή FOR-DO (3) m -μετρητής m:=5 * όχι * M>=0 ναι A:=a*b * FOR M:=5 DOWNTO 0 DO m:=m-1 * A:=A*B; 31

Εντολή WHILE-DO WHILE <συνθήκη> DO <συνθήκη> 32

Εντολή WHILE-DO (2) m -μετρητής M:=1; while m<=5 do begin a:=a*b; m:=m+1 όχι m:=1 m<=5 ναι A:=a*b m:=m+1 end; 33

Εντολή WHILE-DO (3) m -μετρητής M:=1; repeat a:=a*b; όχι m:=1 m<=5 ναι A:=a*b m:=m+1 until m>5; m:=m+1 34

Διαφορές Επαναληπτικών Δομών Στην εντολή WHILE/DO πρώτα ελέγχεται η συνθήκη και μετά ανάλογα, εκτελείται ή όχι το σώμα της δομής. Στην εντολή REPEAT/UNTIL πρώτα εκτελείται μιά φορά το σώμα της δομής και μετά ελέγχεται η συνθήκη. 35

Διαφορές Επαναληπτικών Δομών (2) Στην εντολή WHILE/DO το σώμα δομής μπορεί να μην εκτελεστεί ούτε μιά φορά. Στην εντολή REPEAT/UNTIL εκτελείται πάντοτε τουλάχιστον μιά φορά. Η εντολή WHILE/DO σταματά τη λειτουργία της όταν η συνθήκη γίνει ψευδής. Η εντολή REPEAT/UNTIL σταματά τη λειτουργία της όταν η συνθήκη γίνει αληθής. 36

Διαφορές Επαναληπτικών Δομών (3) Στην εντολή WHILE/DO το σώμα της δομής, όταν αποτελείται από 2 ή περισσότερες εντολήες, πρέπει να τοποθετείται μεταξύ των εντολών BEGIN και END. Στην εντολή REPEAT/UNTIL δε χρειάζονται τα BEGIN και END. Όταν το σώμα της δομής αποτελείται από μία εντολή τότε, στη δομή WHILE/DO πρέπει να συνοδεύεται από το σύμβολο ; Στην εντολή REPETA/UNTIL το σύμβολο ; δεν είναι απαραίτητο. 37

Τύποι Δεδομένων Integer real char string boolean 38

Δεδομένα Βαθμωτού Τύπου TYPE όνομα = σύνολο τιμών; π.χ. TYPE day=(mon,tues,wed); number=integer; color=(blue,red,green); DayNum=1..31; 39

Δεδομένα Βαθμωτού Τύπου (2) TYPE DAYS=(Deytera,Triti,Tetarti,Pempti, Paraskevi,Sabbato,Kiriaki); VAR Argia=Sabbato..Kiriaki; meres:days; weekend:argia; ergasimes:deytera..paraskevi; 40

Δεδομένα Βαθμωτού Τύπου (3) Οι τιμές βαθμωτού τύπου είναι διατεταγμένες, σύμφωνα με τη σειρά που εμφανίζονται στον ορισμό του τύπου. Π.χ. Η τιμή Triti είναι μεγαλύτερη από την τιμή Deytera διότι τοποθετήθηκε μετά. Οι τιμές βαθμωτού τύπου δε μπορούν να χρησιμοποιηθούν σε συνδυασμό με τις εντολές READ/READLN και WRITE/WRITELN. Γι αυτό χρησιμοποιείται η εντολή CASE. 41

FOR ergasimes:=deytera TO Paraskevi DO CASE ergasimes OF END; Deytera Triti Tetarti Pempti :writeln(δευτερα); :writeln(τριτη); :writeln(τεταρτη); :writeln(πεμπτη); Paraskevi :writeln(παρασκευη); 42

Αριθμητικές Συναρτήσεις ABS(num) FRAC(num) INT(num) SQR(num) SQRT(num) abs(-2.54)=2.54 frac(3.78)=0.78 int(3.78)=3.0 sqr(2)=4 sqrt(9)=3 43

Βαθμωτές Συναρτήσεις PRED(num) π.χ. Pred(10)=9 ODD(num) -περιττός π.χ. Odd(7)=true SUCC(num) π.χ. Succ(10)=11 44

ORD(num) π.χ. (A,B,C,D,E,F) Ord(C)=2 ROUND(num) π.χ. Round(3.78)=4 TRUNC(num) π.χ. Trunc(3.78)=3 Συναρτήσεις Μετατροπής 45