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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραµµατισµός. Αλγόριθµοι και Προγράµµατα

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

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

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

Περιεχόµενα του µαθήµατος 1. στον προγραµµατισµό 2. Λογικά διαγράµµατα 3. Τα βασικά της FORTRAN 4. Μεταβλητές & παράµετροι 5. οµές επανάληψης 6. οµές

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

ΕΠΛ Εισαγωγή στον Προγραµµατισµό: Λογισµικό. Το λογισµικό του συστήµατος: 1 Εισαγωγή ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

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

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

ΑΝ.ΕΦ. Γ ΛΥΚΕΙΟΥ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται µεταξύ των λέξεων ΤΟΤΕ και και η εκτέλεση του προγράµµατος συνεχίζετα

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

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

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

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

6. Εισαγωγή στον προγραµµατισµό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

Αλγόριθµοι και Προγράµµατα

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα

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

Χωρική Βάση δεδοµένων Autocad

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

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

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

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

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

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

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

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

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

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

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

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

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

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

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

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

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

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ Τάξη Ηµερήσιου Γενικού Λυκείου

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Transcript:

Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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