ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 2ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΜΕΡΟΣ 1ο: ΒΑΣΙΚΟΙ ΟΡΙΣΜΟΙ – ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΒΑΣΙΚΟΙ ΟΡΙΣΜΟΙ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
Καθηγητής: Δρίμτζιας Βασίλης ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ Είσοδος (input) Έξοδος (output) Καθοριστικότητα (definiteness) Περατότητα (finiteness) Αποτελεσματικότητα (effectiveness) 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ ΚΡΙΤΗΡΙΟ 1: ΕΙΣΟΔΟΣ Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών. 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ ΚΡΙΤΗΡΙΟ 2: ΕΞΟΔΟΣ Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν αλλο αλγόριθμο. 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ ΚΡΙΤΗΡΙΟ 3: ΚΑΘΟΡΙΣΤΙΚΟΤΗΤΑ Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. Λόγου χάριν, μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή. 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ ΚΡΙΤΗΡΙΟ 4: ΠΕΡΑΤΟΤΗΤΑ Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΚΡΙΤΗΡΙΑ ΑΛΓΟΡΙΘΜΟΥ ΚΡΙΤΗΡΙΟ 5: ΑΠΟΤΕΛΕΣΜΑΤΙΚΟΤΗΤΑ Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μία εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη. 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΣΠΟΥΔΑΙΟΤΗΤΑ ΑΛΓΟΡΙΘΜΩΝ Η Πληροφορική μελετά τους αλγορίθμους από τις ακόλουθες σκοπιές: Υλικού (hardware) Γλωσσών προγραμματισμού (programming languages) Θεωρητική (theoretical) Αναλυτική (analytical) 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ Ελεύθερο κείμενο (free text), Ανεπεξέργαστος και αδόμητος Εγκυμονεί κινδύνους -αποτελεσματικότητας Διαγραμματικές τεχνικές (diagramming techniques) Γραφικός τρόπος Διάγραμμα ροής (flow chart) Φυσική γλώσσα (natural language) Περιγραφή κατά βήματα Κίνδυνος - καθοριστικότητα Κωδικοποίηση (coding) Ψευδογλώσσα, άλλη γλώσσα προγραμματισμού 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης
ΣΥΜΒΟΛΑ ΔΙΑΓΡΑΜΜΑΤΟΣ ΡΟΗΣ 21/03/2018 Καθηγητής: Δρίμτζιας Βασίλης