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



Σχετικά έγγραφα
ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

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

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

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

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

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

Πρόβλημα 37 / σελίδα 207

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

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

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

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

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

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

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

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

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

Η γλώσσα προγραμματισμού C

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

θέμα των Πανελλαδικών Εξετάσεων

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

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

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

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

στο μάθημα προσανατολισμού Γ τάξης ενιαίου Λυκείου: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

Κεφάλαιο 2: Μεταφραστές

Επικοινωνία:

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

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

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

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

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

6. 1 Η έννοια του προγράμματος

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να ελέγξουμε έναν αλγόριθμο: καταγράφουμε εικονικά δεδομένα σύμφωνα με τις απαιτήσεις του προβλήματος εξάγουμε τα αποτελέσματα σύμφωνα με τα βήματα του αλγορίθμου με χειρογραφικό τρόπο κωδικοποιούμε τον αλγόριθμο σε μια γλώσσα προγραμματισμού εκτελούμε το πρόγραμμα στον υπολογιστή και καταγράφουμε τα αποτελέσματα συγκρίνουμε τα χειρογραφικά και τα αποτελέσματα από την εκτέλεση του προγράμματος Εάν διαπιστώσουμε λάθος (λογικό ή υπολογιστικό) βρίσκουμε το τμήμα του αλγόριθμου που εκτελεί τη λανθασμένη λειτουργία διορθώνουμε τον αλγόριθμο και επαναλαμβάνουμε τη διαδικασία ελέγχου, έως ότου τα αποτελέσματα με τη χρήση υπολογιστή να μη διαφέρουν από τα χειρογραφικά αποτελέσματα 2 1

Πίνακας Τιμών Μεταβλητές Βήμα ΩΕ Δεδομένα ΩΑ ΠΑ ΠΦ ΕΟΑ Μ Βοηθητικές Μεταβλητές ΚΡΑ ΚΑ Φ Ζητούμενα ΠΠ 1 2 3 4 5 ΩΕ = Ώρες Εργασίας ΩΑ = Ωριαία Αποζημίωση ΠΑ = Ποσοστό Ασφάλισης ΠΦ = Ποσοστό Φόρου ΕΟΑ = Ελάχιστο Όριο Αποδοχών Μ = Μισθός ΚΡΑ = Κρατήσεις Αποδοχών ΚΑ = Καθαρές Αποδοχές Φ = Φόρος ΠΠ = Πληρωτέο Ποσό 3 Πρόβλημα Σε ένα αρχαιολογικό μουσείο υπάρχουν 10 αίθουσες με εκθέματα της ελληνιστικής περιόδου καθεμία με το δικό της νούμερο 101, 102, 110. Να γραφτεί ένας αλγόριθμος που να διαβάζει τους ημερήσιους επισκέπτες κάθε αίθουσας και να υπολογίζει το μέσο όρο επισκεπτών του μουσείου. Στη συνέχεια να τυπώνει το νούμερο των αιθουσών που ο ημερήσιος αριθμός επισκεπτών τους ήταν μεγαλύτερος από το μέσο όρο. 4 2

Διάγραμμα Ροής ΑΡΧΗ ι! 101 ΜΟ! ΜΟ / 10 Ε ι ο αριθμός των ημερήσιων επισκεπτών κάθε αίθουσας Το ι παίρνει τιμές 101,, 110 ΜΟ ο μέσος όρος επισκεπτών ι! 101 ΝΑΙ ι > 110 ΟΧΙ Διάβασε Ε ι ΟΧΙ ι > 110 ΝΑΙ ΟΧΙ Ε ι > ΜΟ ΝΑΙ Εκτύπωσε ι ΜΟ! ΜΟ + Ε ι ι! ι + 1 ι! ι + 1 ΤΕΛΟΣ 5 Σχεδιασμός Αλγορίθμων Για το σχεδιασμό των αλγορίθμων χρησιμοποιούνται οι βασικές αλγοριθμικές δομές: Ακολουθία, επιλογή και επανάληψη Η πολυπλοκότητα του αλγόριθμου εξαρτάται από: Πολυπλοκότητα προβλήματος Πολυπλοκότητα Λύσης Η ποιότητα του σχεδιασμού επηρεάζει Υλοποίηση του αλγόριθμου Καταμερισμό Εργασίας στα μέλη της ομάδας υλοποίησης του αλγόριθμου Διορθώσεις / Συντήρηση υλοποιημένου αλγόριθμου (προγράμματος) 6 3

Δομημένη Σχεδίαση Αλγορίθμων Ορισμός Μέθοδος Σχεδιασμού Αλγορίθμων με συστηματικό τρόπο, έτσι ώστε να αποτελείται από ανεξάρτητα τμήματα Στόχος Αλλαγή της διαδικασίας καταγραφής αλγορίθμων, από μια επίπονη λειτουργία δοκιμής λάθους σε μια ποιοτική και ελεγχόμενη λειτουργία Πλεονεκτήματα Διευκόλυνση στην ανάπτυξη αλγορίθμων κατά τμήματα Ευκολία και ταχύτητα στην κωδικοποίηση Καλύτερη ποιότητα προγραμμάτων Ευκολία στις διορθώσεις και τη συντήρηση Τεκμηρίωση που προέρχεται σχεδόν εξ ολοκλήρου από το ίδιο το πρόγραμμα 7 Τεχνικές Δομημένης Σχεδίασης Ιεραρχικός Σχεδιασμός Σχεδίαση σε επίπεδα Ξεκινάμε με μια πολύ απλή δήλωση για το τι κάνει ο αλγόριθμος (ανώτερο επίπεδο) και αναλύουμε πως το κάνει προσθέτοντας λεπτομέρειες σε κατώτερα επίπεδα Κάθε επίπεδο υποστηρίζεται από το αμέσως κατώτερο Στο κατώτατο επίπεδο γίνεται η επεξεργασία των δεδομένων και συγχρόνως δημιουργείται η πληροφορία που απαιτείται από το ανώτερο επίπεδο Τμηματικός Σχεδιασμός Χωρισμός του αλγόριθμου σε ανεξάρτητες λογικές ενότητες Τα μεμονωμένα τμήματα πρέπει να είναι όσο το δυνατόν μικρότερα, ώστε να διευκολύνεται ο καταμερισμός της λογικής ενότητας του αλγόριθμου σε μικρότερες που είναι ευκολότερο να διορθωθούν Κάθε ενότητα κάνει χρήση των βασικών αλγοριθμικών δομών (ακολουθία,επιλογή, επανάληψη) 8 4

Αναπαράσταση HIPO* T100 Επίπεδο -0 T100 T200 T300 Επίπεδο - 1 T210 T220 T310 T320 Επίπεδο -2 * Hierarchical Input Output Prcessing Ιεράρχιση Επεξεργασίας - Εξόδου9 Παράδειγμα 1: Μισθοδοσίας Μισθοδοσία T100 T100 T200 T300 Εισαγωγή Δεδομένων Επεξεργασία Δεδομένων Εκτύπωση Πληρωτέου T210 Αποδοχών T220 Κρατήσεων T230 Πληρωτέου T221 Κρατήσεων Ασφάλισης T222 Φόρου 10 5

Παράδειγμα 2: Επισκέπτες Μουσείου Επισκέπτες Μουσείου T100 T100 T200 T300 Εισαγωγή Δεδομένων Επεξεργασία Δεδομένων Εκτύπωση Αποτελεσμάτων T210 Μέσου Όρου Επισκεπτών Μουσείου T220 Έλεγχος Αρ. Επισκεπτών κάθε αίθουσας 11 Υλοποίηση Αλγορίθμων Πρόγραμμα: Η αναπαράσταση του αλγόριθμου στον υπολογιστή Δομημένος προγραμματισμός: ακολουθεί τις τεχνικές της δομημένη σχεδίασης (ανάπτυξη δομημένου προγράμματος που αποτελείται από ανεξάρτητα τμήματα) Γλώσσα προγραμματισμού: Σύνολο κανόνων, συμβόλων και ειδικών λέξεων που χρησιμοποιούνται για τη δημιουργία ενός προγράμματος Κατηγορίες Γλωσσών Προγραμματισμού Γλώσσα Μηχανής Συμβολική Γλώσσα Γλώσσες υψηλού επιπέδου 12 6

Μεταγλώττιση Ο υπολογιστής μπορεί να εκτελέσει ένα πρόγραμμα τότε μόνον, εάν αυτό έχει γραφτεί σε γλώσσα μηχανής Για τη μετατροπή ενός προγράμματος από μια γλώσσα προγραμματισμού σε γλώσσα μηχανής απαιτείται η χρήση κάποιου μεταφραστικού προγράμματος Το πρόγραμμα προς μετάφραση ονομάζεται πηγαίο (surce) πρόγραμμα Το αποτέλεσμα της μετάφρασης ονομάζεται αντικείμενο (bject) πρόγραμμα 13 Cmpiler vs Interpreter Cmpiler: Μεταγλωττιστής γλώσσας υψηλού επιπέδου κάνει συντακτική και γραμματική ανάλυση του πηγαίου προγράμματος με εκτύπωση των λαθών κάνει την κατάληψη του απαραίτητου χώρου στην κύρια μνήμη για να μπορεί να εκτελεστεί το πρόγραμμα φυλάσσει το αντικείμενο πρόγραμμα στο δίσκο Interpreter: Διερμηνέας, δηλ. μεταγλωττιστής με ταυτόχρονη εκτέλεση του προγράμματος δεν ελέγχει τη σύνταξη ολόκληρου του πηγαίου προγράμματος πριν την εκτέλεση επαναλαμβάνει τη διαδικασία μετάφρασης ελέγχου κάθε φορά που εκτελείται το πηγαίο πρόγραμμα κάνει συντακτικό έλεγχο και μετάφραση σε μια εντολή κάθε φορά που συναντάται, κατά την εκτέλεση του προγράμματος ο έλεγχος και η διόρθωση των λαθών γίνεται ευκολότερα η εκτέλεση του προγράμματος είναι πιο αργή σε σχέση με την εκτέλεση του ίδιου προγράμματος, μεταφρασμένου με cmpiler 14 7

Γραφή - Εκτέλεση Προγραμμάτων Για την συγγραφή του πηγαίου προγράμματος αρκεί ένα απλό πρόγραμμα επεξεργασίας κειμένου, τον εκδότη διορθωτή κειμένων (editr) Στη συνέχεια ο μεταγλωττιστής: ελέγχει το πηγαίο πρόγραμμα για ορθογραφικά ή συντακτικά λάθη εφόσον υπάρχουν λάθη, ο μεταγλωττιστής δίνει τα αντίστοιχα μηνύματα και ενεργοποιείται ο editr για τη διόρθωσή τους η διαδικασία διόρθωσης επαναλαμβάνεται όσες φορές χρειαστεί μέχρι να μηδενιστούν τα λάθη όταν δεν υπάρχουν λάθη, ο μεταγλωττιστής παράγει το αντικείμενο πρόγραμμα Το αντικείμενο πρόγραμμα δεν είναι κατ ανάγκη εκτελέσιμο είναι απαραίτητο το αντικείμενο πρόγραμμα να συνδεθεί με υποπρογράμματα της βιβλιοθήκης της γλώσσας ή του προγραμματιστή το πρόγραμμα που εκτελεί τη σύνδεση αυτή ονομάζεται συνδέτης (linker) 15 Διαδικασία Γραφής Εκτέλεσης προγράμματος EDITOR ΔΙΟΡΘΩΣΕΙΣ ΠΗΓΑΙΟ (SOURCE) ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΦΡΑΣΤΗΣ ΝΑΙ ΛΑΘΗ ΟΧΙ ΠΡΟΓΡΑΜΜΑ ΒΙΒΛΙΟΘΗΚΗΣ ΜΗΝΥΜΑΤΑ ΛΑΘΩΝ ΛΙΣΤΑ ΠΗΓΑΙΟΥ ΑΝΤΙΚΕΙΜΕΝΟ (OBJECT) ΠΡΟΓΡΑΜΜΑ LINK/LOAD ΕΚΤΕΛΕΣΙΜΟ ΠΡΟΓΡΑΜΜΑ 16 8