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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

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

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

Chapter 6. Problem Solving and Algorithm Design. Στόχοι Ενότητας. Επίλυση προβληµάτων. Εισαγωγή. Nell Dale John Lewis

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

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

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

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

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

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

Μεθοδολογία. Aνάλυσης Προβλήµατος. Τι είναι αλγόριθµος? Σχεδιάσµος Αλγορίθµου

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

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

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

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

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

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

Transcript:

Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραμματισμό (Διάλεξη 2)

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

Πότε χρησιμοποιούμε υπολογιστή? Χρήσηυπολογιστήαν: Έχουμε πολλά στοιχεία να επεξεργαστούμε. Παράγονται πολλά αποτελέσματα. Μέθοδος επίλυσης εξαιρετικά πολύπλοκη για ένα άνθρωπο. Χρησιμοποιούμε την ίδια μέθοδο πολλές φορές. Να θυμάστε: ΟΗ/Υ εκτελεί«πράξεις» γρηγορότερα από τον άνθρωπο. ΟΗ/Υ μπορείνα«θυμάται» περισσότερα πράγματα από τον άνθρωπο. ΟΗ/Υ μπορεί να εκτελέσει με «ακρίβεια» μια λογική σειρά εντολών.

Εισαγωγή - Ορισμοί Αλγόριθμος: ονομάζουμε μια ταξινομημένη ακολουθία μη διφορούμενων βημάτων που οδηγούν στη λύση ενός προβλήματος. Πρόγραμμα: ονομάζουμε την αναπαράσταση ενός η πολλών αλγορίθμων σε μορφή κατανοητή από τον υπολογιστή Προγραμματισμός: Η διαδικασία της ανάπτυξης ενός αλγορίθμου σε συνδυασμό με την συγγραφή του προγράμματος. Γλώσσα Προγραμματισμού: Το σύνολο των γραμματικών και συντακτικών κανόνων που μας επιτρέπει να δίνουμε εντολές στον Η/Υ μέσω ενός προγράμματος. Κύκλος Ανάπτυξης Προγράμματος: Η διαδικασία που ακολουθούμε για την ανάπτυξη ενός προγράμματος

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

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

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

2. Ανάλυση του προβλήματος & προσδιορισμός της λύσης Ως μέρος της ανάλυσης απαντούμε στις πιο κάτω ερωτήσεις: ποια είναι τα δεδομένα εισόδου (inputs) ποια είναι τα εξαγώμενα/αποτελέσματα (outputs) ποια είναι η λύση (σχετικές αριθμητικές πράξεις)

2. Ανάλυση του προβλήματος & προσδιορισμός της λύσης Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος. Ελέγχουμε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυμητά δεδομένα εξόδου. Διερευνούμε την πιθανότητα ύπαρξης περισσότέρων λύσεων. Επιλέγουμετηνβέλτιστηλύσημεβάσητιςπροδιαγραφές που έχουν τεθεί. ΠΡΟΣΟΧΗ: ΛΑΘΟΣ ΑΝΑΛΥΣΗ => ΛΑΘΟΣ ΛΥΣΗ

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

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

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

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

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

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

Αφαιρετικότητα Πολύ σηµαντική έννοια στον Προγραµµατισµό και γενικά στην Επιστήµη της Πληροφορικής. Διακρίβωση του τι γίνεται χωρίς την γνώση του πως γίνεται Η διαδικασία προγραμματισμού αποτελείται απο σχεδιασμό λύσεων σε διάφορα επίπεδα αφαιρετικότητας Θυμηθείτε ότι και η ίδια η λειτουργία ενός Η/Υ στηρίζεται σε αυτή την έννοια. Επικοινωνία Εφαρμογή Λειτουργικό Σύστημα Προγραμματισμός Υλικό Πληροφορίες

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

3. Σχεδίαση της λύσης του προβλήματος Διαγράμματα Ροής Σχεδιασμός διαγράμματος ροής Σχηματικός τρόπος αναπαράστασης της ροής των οδηγιών που συνθέτουν έναν αλγόριθμο. Note: Βοηθητικές Ασκήσεις Επανάληψης στην Ιστοσελίδα!

3. Σχεδίαση της λύσης του προβλήματος Ψευδοκώδικας Πρόβλημα: Έχουμε μια λίστα με ονόματα. Θέλουμε να βρούμε τους φοιτητές του 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

3. Σχεδίαση της λύσης του προβλήματος Ψευδοκώδικας Είναι ένα μίγμα αγγλικών και κοινών σε διάφορες γλώσσες προγραμματισμού όρων (εντολών), που χρησιμοποιούνται για να εκφράσουμε τη λύση. 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. Κωδικοποίηση Αξιοποιείται η διαδικασία του σχεδιασμού Πραγματοποιείται η συγγραφή του προγράμματος σε μια γλώσσα προγραμματισμού. Μέσω μεταγλωττιστή (compiler) ή μεταφραστή (interpreter) το πρόγραμμα μετατρέπεται σε γλώσσα μηχανής η οποία είναι αναγνωρίσιμη από τον υπολογιστή. Στοστάδιοαυτόγίνεταιοέλεγχοςσυντακτικών λαθών

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

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

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

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

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

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

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

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

Βήμα 3. Σχεδιασμός Λύσης 2η Εκλέπτυνση Διάγραμμα Ροής start 1. Διάβασε τα Μίλια και αποθήκευσε τα στη μεταβλητή miles 2. Κάνε τον υπολογισμό: Kms.=Miles * 1.609 3. Δείξε το αποτέλεσμα στην οθόνη Kms_per_mile = 1.609 Read Distance miles KMS= Kms_per_mile * miles Print KMS end

Βήμα 4. Υλοποίηση 6. Σχόλια / Τεκμηρίωση 5. Έλεγχος

C Language Elements in Miles-to-Kilometers Conversion Program