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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

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

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

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

Φρ. Κουτελιέρης. Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων ΠΛΗΡΟΦΟΡΙΚΗ Ι

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

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι

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

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

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

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

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

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

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

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

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

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

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

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

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

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

ΚΕΦΑΛΑΙΟ 4ο. Α. Το περιβάλλον της Microsoft Fortran Powerstation

1. Ουρά α. Απώθηση 2. Στοίβα β. Εξαγωγή γ. Ώθηση δ. Εισαγωγή

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

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

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

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

Transcript:

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy

Κεφάλαιο 2 ΕισαγωγήΣτον Προγραµµατισµό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Σχεδίαση της λύσης του προβλήµατος (συν.) -Ψευδοκώδικας Πρόβληµα: Έχουµεµιαλίσταµεονόµατα. Θέλουµε να βρούµε τους φοιτητές του 1ου έτους Επίθετο Davis Crane Schakowsky Kirk Weller Costello Biggert Hastert STUDENTS.DAT Όνοµα Ηλεκτρονικό Ταχυδροµείο Έτος Albert none 1 Amory none 2 Anibal none 3 Anne rep.kirk@volcano.com 4 Anthony none 1 Barbara none 1 Barney none 1 Baron speaker@volcano.com 1 Τηλέφωνο 668-78-9226 689-48-8430 652-58-7355 623-87-0203 780-52-0498 599-98-7962 058-86-1065 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 student info */ if YEAR=1 then print student_name structure */ /* Read the remaining /* conditional read student_name /* Read the next student name */ end while close STUDENT.DAT /* Close the input file */ end /* End of program */

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

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

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

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

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

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

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

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

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

Βήµα 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. Υλοποίηση 6. Σχόλια / Τεκµηρίωση 5. Έλεγχος

Τέλος 2 ου Κεφαλαίου