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

Σχετικά έγγραφα
Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

ΕΠΛ 032 Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Γενική Περιγραφή

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

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

ΕΠΛ 032.3: Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Θέματα Προγραμματισμού Η/Υ

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

ΠαράδειγµαΠρογραµµατισµού

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

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

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

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Μαλούτα Θεανώ Σελίδα 1

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

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

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Δομημένος Προγραμματισμός

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Πληροφορική ΙΙ Ενότητα 1

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

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

Θεωρία Προγραμματισμού

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

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

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

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

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

Προγραμματισμός Ι (ΗΥ120)

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Α Διαγώνισμα 1 ου Τριμήνου στο μάθημα της Πληροφορικής Γ Γυμνασίου Ονοματεπώνυμο:...

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

Εισαγωγή στην Πληροφορική

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

Προγραµµατισµός Η/Υ. Μέρος2

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

Α. Ερωτήσεις Ανάπτυξης

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Προγραμματισμός Ι (HY120)

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Transcript:

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 2. Εισαγωγή στον Προγραμματισμό Ιωάννης Κατάκης

Σήμερα o Εισαγωγικές έννοιες - ορισμοί o Ο κύκλος ανάπτυξης προγράμματος o Παραδείγματα

Πότε χρησιμοποιούμε υπολογιστή; o Χρήση υπολογιστή αν Έχουμε πολλά στοιχεία να επεξεργαστούμε Παράγονται πολλά αποτελέσματα Μέθοδος επίλυσης εξαιρετικά πολύπλοκη για άνθρωπο Χρησιμοποιούμε την ίδια μέθοδο πολλές φορές o Να θυμάστε, ο Η/Υ Εκτελεί πράξεις γρηγορότερα από τον άνθρωπο Μπορεί να θυμάται περισσότερα πράγματα Μπορεί να εκτελέσει με ακρίβεια μια λογική σειρά εντολών

Εισαγωγή -Ορισμοί o Αλγόριθμος Μια ταξινομημένη ακολουθία μη διφορούμενων βημάτων που οδηγούν στη λύση ενός προβλήματος o Πρόγραμμα Αναπαράσταση ενός η πολλών αλγορίθμων σε μορφή κατανοητή από τον υπολογιστή o Προγραμματισμός Η διαδικασία της ανάπτυξης ενός αλγορίθμου σε συνδυασμό με την συγγραφή του προγράμματος

Ορισμοί o Γλώσσα Προγραμματισμού Το σύνολο των γραμματικών και συντακτικών κανόνων που μας επιτρέπει να δίνουμε εντολές στον Η/Υ μέσω ενός προγράμματος o Κύκλος Ανάπτυξης Προγράμματος Η διαδικασία που ακολουθούμε για την ανάπτυξη ενός προγράμματος

Κύκλος ανάπτυξης προγράμματος 1. Περιγραφή του προβλήματος, καθορισμός απαιτήσεων 2. Ανάλυση προβλήματος, προσδιορισμός της λύσης 3. Σχεδίαση της λύσης του προβλήματος Ανάπτυξη αλγορίθμου Σχεδιασμός διαγράμματος ροής Δημιουργία ψευδοκώδικα 4. Κωδικοποίηση σε γλώσσα προγραμματισμού 5. Έλεγχος, διόρθωση λαθών 6. Συντήρηση προγράμματος, τεκμηρίωση

1. Περιγραφή Καθορισμός Απαιτήσεων o Ξεκάθαρη διατύπωση του προβλήματος Απομονώνουμε και καταγράφουμε με απλά βήματα τις πραγματικές συνιστώσες ενός προβλήματος τοποθετώντας τις σε λογική σειρά μεταξύ τους Εξαλείφουμε άσχετες πληροφορίες Αποσαφηνίζουμε διφορούμενες πληροφορίες Ζητούμε, εάν χρειάζεται, επιπλέον πληροφορίες από το άτομο που διατυπώνει το πρόβλημα o Αποσαφηνίζουμε τους στόχους που επιδιώκουμε να υλοποιήσουμε με αναλυτικό τρόπο προκειμένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας

Παράδειγμα o Πρόβλημα: To μάθημα ΕΠΛ001 προσφέρεται από το Τμήμα Πληροφορικής. Το μάθημα παρακολούθησαν το χειμερινό εξάμηνο του 2006,30 άτομα. Ταξινομείστε τα άτομα αυτά ανάλογα με τη βαθμολογία της τελικής εξέτασης o Επιπλέον Πληροφορίες Ποια δεδομέναθα δοθούν(ονόματα, βαθμοί, τηλέφωνο, ) και πώς(από αρχείο, από το χρήστη). Τα αποτελέσματα πως θα παρουσιάζονται; Θα τυπώνονται, θα φυλάσσονται σε αρχείο;

Παράδειγμα o Άσχετες Πληροφορίες To μάθημα ΕΠΛ001 προσφέρεται από το Τμήμα Πληροφορικής. Το μάθημα παρακολούθησαν το χειμερινό εξάμηνο του 2006,30 άτομα o Διφορούμενες Πληροφορίες Ταξινομείστε (αύξουσα ή φθίνουσα σειρά);

2. Ανάλυση -Προσδιορισμός Λύσης Απαντούμε στα ερωτήματα o Ποια είναι τα δεδομένα εισόδου(inputs) o Ποια είναι τα επιθυμητά αποτελέσματα (outputs) o Ποια είναι η λύση (σχετικές αριθμητικές πράξεις)

2. Ανάλυση -Προσδιορισμός Λύσης 1. Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος 2. Ελέγχουμε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυμητά δεδομένα εξόδου 3. Διερευνούμε την πιθανότητα ύπαρξης περισσότερων λύσεων 4. Επιλέγουμε την βέλτιστη λύση με βάση τις προδιαγραφές που έχουν τεθεί. Προσοχή: Λάθος Ανάλυση Λάθος Λύση

Παράδειγμα Πρόβλημα: Δεδομένης της ακτίναςυπολογίστε και τυπώστε την περίμετρο του κύκλου o Λύση: P=2πR Πρόβλημα: Ταξινομείστε σε αύξουσα σειρά τους αριθμούς {3, 6, 1, 4, 9} o Λύσεις: Insertion sort, merge sort,

3. Σχεδίαση της λύσης o Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος o Αναπτύσσουμε τον αλγόριθμο επίλυσης του προβλήματος Ακολουθία αυστηρά δομημένων βημάτων προκειμένου να επιλύσουμε το πρόβλημα o Για την περιγραφή της λύσης ενός προγράμματος χρησιμοποιούμε Tον ψευδοκώδικα ή/και Tο λογικό διάγραμμα

3. Σχεδίαση της λύσης o Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος o Διάσπαση (εκλέπτυνση) του κυρίως προβλήματος σε υποπροβλήματα(top-down approach, δομημένος προγραμματισμός) o Αφαιρετικότητα. Μας ενδιαφέρει τι γίνεται και όχι το πώς γίνεται o Αρχίζοντας από τα χαμηλά επίπεδα αναπτύσσουμε αλγόριθμο για κάθε υποσύστημα

Παράδειγμα o Τακτοποίηση Δωματίου Στρώσε κρεβάτι Μάζεψε παιχνίδια Τακτοποίησε γραφείο Σκούπισε χαλί o Μπορεί να παίζει ρόλο η σειρά, μπορεί και όχι!

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

Γιατί να καταγράψω τον αλγόριθμο; o Για ιδίαν χρήση δε χρειάζεται να ξανασκεφτείτε το πρόβλημα o Ώστε άλλοι να μπορούν να το επιλύσουν, χωρίς να ξέρουν πολλά γύρω από αυτό Δε χρειάζεται να καταλαβαίνουν τις αρχές πίσω από αυτό το πρόβλημα Απλώς ακολουθούν τις εντολές Η νοημοσύνη είναι «κωδικοποιημένη στον αλγόριθμο» o Για να σας βοηθήσει να καταλάβετε αν επιλύει ορθά το πρόβλημα, ώστε να βρείτε αν είναι αποδοτικός

Αλγόριθμοι o Παραδείγματα αλγορίθμων Οδηγίες πλυντηρίου Οδηγίες για συναρμολόγηση επίπλου o Στην πληροφορική Ταξινόμηση λίστας αριθμών Εύρεση μέσου όρου μίας λίστας αριθμών

Αφαιρετικότητα o Πολύ σημαντική έννοια στον Προγραμματισμό και γενικά στην Επιστήμη της Πληροφορικής o Καθορισμός τουτι γίνεται χωρίς τη γνώση του πωςγίνεται o Η διαδικασία προγραμματισμού αποτελείται από σχεδιασμό λύσεων σε διάφορα επίπεδα αφαιρετικότητας

Αλγόριθμοι o Ένας αλγόριθμος εκφράζεται σε διάφορα επίπεδα αφαιρετικότητας o Αρχικά προδιαγράφεται τιείναι τοδεδομένο και τί το επιδιωκόμενο αποτέλεσμα o Αυτό σταδιακά εκλεπτύνεται o Η σταδιακή διάσπαση (εκλέπτυνση) συνεχίζεται μέχρις ότου φτάσουμε σε ατομικά υπό-προβλήματα, δηλαδή προβλήματα που δεν είναι λογικό/δυνατό να διασπαστούν περαιτέρω. o Στο χαμηλότερο επίπεδοο αλγόριθμος διατυπώνειµε σαφήνεια την ακριβή διαδικασία παραγωγής της λύσης του προβλήματος

Διάγραμμα Ροής Σχηματικός τόπος αναπαράστασης της ροής των οδηγιών που συνθέτουν έναν αλγόριθμο

Παράδειγμα o Πρόβλημα: Έχουμε μία λίστα με ονόματα. Θέλουμε να βρούμε τους φοιτητές του 1 ου έτους. STUDENTS.DAT Davis Albert none 1 668-78-9226 Crane Amory none 2 689-48-8430 Schakowsky Anibal none 3 652-58-7355 Kirk Anne rep.kirk@volcano.com 4 623-87-0203 Weller Anthony none 1 780-52-0498 Costello Barbara none 1 599-98-7962 Biggert Barney none 1 058-86-1065 Hastert Baron speaker@volcano.com 1 075-45-4923

Ψευδοκώδικας Είναι ένα μίγμα αγγλικών και κοινών σε διάφορες γλώσσες προγραμματισμού όρων (εντολών), που χρησιμοποιούνται για να εκφράσουμε τη λύση open STUDENT.DAT /* Open the file that contains the student list */ read student_name /* Read the first student name */ while not EOF do /* Begin the main loop */ read student_info /* Read the remaining student info */ if YEAR=1 then print student_name /* conditional structure */ read student_name /* Read the next student name */ end while close STUDENT.DAT /* Close the input file */ end /* End of program */

4. Κωδικοποίηση o Αξιοποιείται η διαδικασία της σχεδίασης λύσης o Πραγματοποιείται η συγγραφή του προγράμματος σε μια γλώσσα προγραμματισμού. o Μέσω μεταγλωττιστή (compiler) ή μεταφραστή (interpreter)το πρόγραμμα μετατρέπεται σε γλώσσα μηχανής η οποία είναι αναγνωρίσιμη από τον υπολογιστή. o Στο στάδιο αυτό γίνεται ο έλεγχος συντακτικών λαθών

5. Έλεγχος λαθών o Διορθώνονται πιθανά λογικά σφάλματα(σφάλματα που σχετίζονται με τον σχεδιασμό της λύσης) Λύσε με το χέρι το πρόβλημα με ένα σύνολο δεδομένων και σύγκρινε το με τις εξόδους του προγράμματος o Σφάλματα σύνταξης Σχετίζονται με το αν χρησιμοποιήσαμε σωστά τη γλώσσα προγραμματισμού στη διάρκεια της υλοποίησης o Σφάλματα run-time Σφάλματα κατά τη διάρκεια εκτέλεσης του προγράμματος

6. Συντήρηση προγράμματος o Συγγραφή τεκμηρίωσης o Το λογισμικό εγκαθίσταται και ξεκινά η λειτουργία του. o Το περιβάλλον αλλάζει αλλάζει και το πρόγραμμα o Οι χρήστες επιθυμούν (ή χρειάζονται) περισσότερα από το πρόγραμμα

Τεκμηρίωση o Συνοπτική περιγραφή των απαιτήσεων o Περιγραφή εισόδων, εξόδων, περιορισμών και τύπων o Ψευδοκώδικας ή διάγραμμα ροής του αλγορίθμου o Ο ίδιος ο πηγαίος κώδικας (source code) o Οδηγός για τη χρήση του προγράμματος

Αξιολόγηση λύσεων o Ορθότητα λύσεων Αναλυτικές Μέθοδοι Αποδείξεις Εμπειρικές Μέθοδοι - Δοκιµές o Τεκμηρίωση Λύσεων Σχόλια στο κώδικα Ευκολία κατανοήσεως o Εκτίμηση Απόδοσης Ταχύτητα, ανάγκη σε μνήμη Αναλυτικές / Εµπειρικές Μέθοδοι o Επεκτασιμότητα

Παράδειγμα Γράψτε ένα πρόγραμμα το οποίο μετατρέπει μίλια σε χιλιόμετρα

1. Κατανόηση o Τι μας ζητά; Μίλια; Αγγλικά μίλια; Ναυτικά μίλια; Από πού παίρνουμε τις πληροφορίες Από τον χρήστη; Από το αρχείο;

2. Ανάλυση o Δεδομένα (εισόδου): μίλια o Δεδομένα (εξόδου): χιλιόμετρα o Άλλα δεδομένα: σχέση 1mile: 1.609km o Υπολογισμός Χιλιόμετρα = μίλια * 1.609 o Παράδειγμα: Πόσα km είναι 10 μίλια; 1.609*10=16.09 χιλιόμετρα

3. Σχεδιασμός λύσης Αλγόριθμος 1. Πάρε τα δεδομένα εισόδου 2. Κάνε τη μετατροπή 3. Παρουσίασε το αποτέλεσμα 1 η Εκλέπτυνση 1. Διάβασε τα μίλια 2. Κάνε τον υπολογισμό: Χλμ= μίλια * 1.609 3. Δείξε το αποτέλεσμα στην οθόνη

Εκλέπτυνση Διάγραμμα Ροής 2 η Εκλέπτυνση 1. Διάβασε τα μίλια και αποθήκευσε τα στη μεταβλητή miles 2. Κάνε τον υπολογισμό: kms =miles* 1.609 3. Δείξε το αποτέλεσμα στην οθόνη Διάγραμμα ροής start KMS_PER_MILE = 1.609 Read Distance miles kms=kms_per_mile * miles Print kms end

4. Υλοποίηση

Αναλυτικότερα

Τέλος διάλεξης