Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος."— Μεταγράφημα παρουσίασης:

1 HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος Νικολάου

2 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 2 / 42 Διεξαγωγή του μαθήματος (1/3) 2 διαλέξεις την εβδομάδα 2 διαλέξεις την εβδομάδα Τρίτη 5-7, Αμφ. Β Τρίτη 5-7, Αμφ. Β και Πέμπτη 1-3 Αμφ. Β, διαθέσιμες οι ώρες φροντιστηρίων για αναπλήρωση και Πέμπτη 1-3 Αμφ. Β, διαθέσιμες οι ώρες φροντιστηρίων για αναπλήρωση 2 φροντιστήρια την εβδομάδα – χρησιμοποιούνται κατά τις ανάγκες του μαθήματος 2 φροντιστήρια την εβδομάδα – χρησιμοποιούνται κατά τις ανάγκες του μαθήματος Τετάρτη 5-7 Αμφ. Γ Τετάρτη 5-7 Αμφ. Γ Παρασκευή 5-7 Αμφ. Β Παρασκευή 5-7 Αμφ. Β Σελίδα του μαθήματος, με το περιεχόμενο των διαλέξεων on-line την επομένη του μαθήματος Σελίδα του μαθήματος, με το περιεχόμενο των διαλέξεων on-line την επομένη του μαθήματος http://elearn.uoc.gr/moodle/ και ακολουθείστε τις οδηγίες – πρέπει να γραφτείτε! http://elearn.uoc.gr/moodle/ και ακολουθείστε τις οδηγίες – πρέπει να γραφτείτε! http://elearn.uoc.gr/moodle/ Περί εκτύπωσης… Περί εκτύπωσης… Στο παλιό site του μαθήματος - http://www.csd.uoc/~hy100 - διατηρείται και το περσινό περιεχόμενο για τις διαλέξεις που έπονται ώστε να μπορείτε να διαβάζετε (εάν θέλετε) – το ίδιο και οι ασκήσεις με τις λύσεις τους Στο παλιό site του μαθήματος - http://www.csd.uoc/~hy100 - διατηρείται και το περσινό περιεχόμενο για τις διαλέξεις που έπονται ώστε να μπορείτε να διαβάζετε (εάν θέλετε) – το ίδιο και οι ασκήσεις με τις λύσεις τουςhttp://www.csd.uoc/~hy100

3 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 3 / 42 Διεξαγωγή του μαθήματος (2/3) Θα δοθούν διάφορες εργαστηριακές ασκήσεις, κυρίως προγραμματισμού Θα δοθούν διάφορες εργαστηριακές ασκήσεις, κυρίως προγραμματισμού Ο τελικός βαθμός θα διαμορφωθεί ως εξής: Ο τελικός βαθμός θα διαμορφωθεί ως εξής:  Μέσος όρος ασκήσεων Α  Βαθμός προόδου Π  Βαθμός Τελικού Τ  Τελικός Βαθμός: Max(0,25A+0,35Π+0,40Τ, 0,25Α+0,75Τ)  Η άσκηση στο UNIX θα συνυπολογισθεί στο Α  Ο έλεγχος αντιγραφής στα προγράμματα σας γίνεται αυτόματα με πρόγραμμα, με ακρίβεια 100% στην περίπτωση αντιγραφής Αντιγραφή = μηδενισμός στη βαθμολογία όλων των ασκήσεωνΑντιγραφή = μηδενισμός στη βαθμολογία όλων των ασκήσεων Θα λάβετε λογαριασμούς στο δίκτυο. Οι ασκήσεις θα μπορούν να γίνονται είτε σε PCs (Windows ή Linux) ή στους σταθμούς εργασίας του τμήματος (Unix). Θα λάβετε λογαριασμούς στο δίκτυο. Οι ασκήσεις θα μπορούν να γίνονται είτε σε PCs (Windows ή Linux) ή στους σταθμούς εργασίας του τμήματος (Unix).

4 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 4 / 42 Διεξαγωγή του μαθήματος (3/3) Το μάθημα είναι «εισαγωγή στον προγραμματισμό» με μία νέα μέθοδο διδασκαλίας που είναι δημοσιευμένη στο κατεξοχήν σχετικό περιοδικό της ACM (inroads, Computer Science Education). Το μάθημα είναι «εισαγωγή στον προγραμματισμό» με μία νέα μέθοδο διδασκαλίας που είναι δημοσιευμένη στο κατεξοχήν σχετικό περιοδικό της ACM (inroads, Computer Science Education). Θα ασχοληθούμε κυρίως με τρεις γλώσσες προγραμματισμού, με την εξής σειρά: (α) γλώσσα FLIP, (β) συμβολική γλώσσα μηχανής, (γ) γλώσσα C. Θα ασχοληθούμε κυρίως με τρεις γλώσσες προγραμματισμού, με την εξής σειρά: (α) γλώσσα FLIP, (β) συμβολική γλώσσα μηχανής, (γ) γλώσσα C. Η συμμετοχή στο μάθημα είναι ενεργή, με ερωτήσεις και απορίες. Η συμμετοχή στο μάθημα είναι ενεργή, με ερωτήσεις και απορίες. Να αναμένετε αρκετές ερωτήσεις σχετικές με το μάθημα από τον διδάσκοντα, ανά πάσα στιγμή! Να αναμένετε αρκετές ερωτήσεις σχετικές με το μάθημα από τον διδάσκοντα, ανά πάσα στιγμή!

5 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 5 / 42 Θεματικές περιοχές του ΗΥ100 Εισαγωγή στον προγραμματισμό Εισαγωγή στον προγραμματισμό 6 κεφάλαια, ~10 διαλέξεις 6 κεφάλαια, ~10 διαλέξεις Σχεδίαση προγράμματος Σχεδίαση προγράμματος 2 κεφάλαια, ~3 διαλέξεις 2 κεφάλαια, ~3 διαλέξεις Χαρακτηριστικά γλωσσών προγραμματισμού Χαρακτηριστικά γλωσσών προγραμματισμού 1 κεφάλαιο, 1 διάλεξη 1 κεφάλαιο, 1 διάλεξη Μετάβαση στη C Μετάβαση στη C 1 κεφάλαιο, 1 διάλεξη 1 κεφάλαιο, 1 διάλεξη Περιβάλλον ανάπτυξης και εκτέλεσης Περιβάλλον ανάπτυξης και εκτέλεσης 1 κεφάλαιο, ~1 διάλεξη 1 κεφάλαιο, ~1 διάλεξη Γλώσσα μηχανής και συμβολικές γλώσσες μηχανής Γλώσσα μηχανής και συμβολικές γλώσσες μηχανής 1 κεφάλαιο, ~2 διαλέξεις 1 κεφάλαιο, ~2 διαλέξεις

6 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 6 / 42 ΛειτουργικόσύστημαΠρογράμματαεφαρμογώνΒάσειςδεδομένων Γλώσσες και μεταφραστές Επεξεργαστής Περιφερειακά Γραφικόπεριβάλλον Δίκτυο Αντικείμενα της επιστήμης υπολογιστών Υπάρχουν μαθήματα του οδηγού σπουδών για κάθε αντικείμενο

7 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 7 / 42 Τι είναι επιστήμη υπολογιστών Η μελέτη της πληροφορίας, και των τρόπων αναπαράστασής, οργάνωσης, διαχείρισης, και μετασχηματισμού για την επίτευξη κάποιου συγκεκριμένου στόχου. Η μελέτη της πληροφορίας, και των τρόπων αναπαράστασής, οργάνωσης, διαχείρισης, και μετασχηματισμού για την επίτευξη κάποιου συγκεκριμένου στόχου. Η διαχείριση και ο μετασχηματισμός γίνονται μέσω βημάτων της διαδικασίας υπολογισμού (computation), η οποία και περιγράφεται με αλγορίθμους (algorithms). Η διαχείριση και ο μετασχηματισμός γίνονται μέσω βημάτων της διαδικασίας υπολογισμού (computation), η οποία και περιγράφεται με αλγορίθμους (algorithms). Αρχική πληροφορία / δεδομένα Τελικό αποτέλεσμα / παράγωγο υπολογισμός Αλγόριθμος

8 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 8 / 42 ΕΝΟΤΗΤΑ Ι ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διάλεξη 1η

9 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 9 / 42 Περιεχόμενα Περί αλγορίθμων Περί αλγορίθμων Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού προβλήματος Η έννοια του υπολογιστικού προβλήματος

10 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 10 / 42 Περί αλγορίθμων (1/5) Ο όρος μπορούμε να πούμε ότι δεν είναι και ιδιαίτερα οικείος. Ο όρος μπορούμε να πούμε ότι δεν είναι και ιδιαίτερα οικείος. Όμως ο ορισμός του ως περιγραφή διαδικασίας που εκτελείται με πεπερασμένα διαδοχικά βήματα για την επίτευξη κάποιου στόχου μάλλον θυμίζει κάτι. Όμως ο ορισμός του ως περιγραφή διαδικασίας που εκτελείται με πεπερασμένα διαδοχικά βήματα για την επίτευξη κάποιου στόχου μάλλον θυμίζει κάτι. Όλοι έχουμε εμπειρία σχετικά με: Όλοι έχουμε εμπειρία σχετικά με: οδηγίες χρήσης / επιδιόρθωσης / σύνθεσης κάποιου προϊόντος. οδηγίες χρήσης / επιδιόρθωσης / σύνθεσης κάποιου προϊόντος. συνταγές μαγειρικής, π.χ. «Στην κουζίνα ολοταχώς™», «Συνταγές της Βέφας™», κλπ, κλπ. συνταγές μαγειρικής, π.χ. «Στην κουζίνα ολοταχώς™», «Συνταγές της Βέφας™», κλπ, κλπ.

11 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 11 / 42 Περί αλγορίθμων (2/5) Απόσπασμα οδηγιών – εγκατάσταση ψυγείου Απόσπασμα οδηγιών – εγκατάσταση ψυγείου … 1. Μην τοποθετήσετε τίποτε στη συσκευή. 2. Κλείστε όλες τις πόρτες της συσκευής. 3. Βάλετε το καλώδιο στην πρίζα. 4. Ανοίξτε το διακόπτη της συντήρησης. 5. Ανοίξτε το διακόπτη της ψύξης. 6. Μόνο όταν η θερμοκρασία ψύξης δείξει –18 βαθμούς μπορείτε να τοποθετήσετε τρόφιμα. 7. Μόνο όταν η θερμοκρασία συντήρησης δείξει 4 βαθμούς μπορείτε να τοποθετήσετε τρόφιμα. … Φαίνονται ξεκάθαρα τα συγκεκριμένα ακολουθιακά βήματα, το ένα μετά το άλλο, όπως υποδεικνύονται από τις οδηγίες.Φαίνονται ξεκάθαρα τα συγκεκριμένα ακολουθιακά βήματα, το ένα μετά το άλλο, όπως υποδεικνύονται από τις οδηγίες. Ορίζονται και δύο συνθήκες για ορθή εγκατάσταση της συσκευής, που ουσιαστικά ορίζουν πότε μπορεί να χρησιμοποιηθεί. Οι συνθήκες αυτές είναι: Θερμοκρασία συντήρησης  4 και Θερμοκρασία ψύξης  -18Ορίζονται και δύο συνθήκες για ορθή εγκατάσταση της συσκευής, που ουσιαστικά ορίζουν πότε μπορεί να χρησιμοποιηθεί. Οι συνθήκες αυτές είναι: Θερμοκρασία συντήρησης  4 και Θερμοκρασία ψύξης  -18

12 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 12 / 42 Περί αλγορίθμων (3/5) Απόσπασμα οδηγιών – εκκίνηση αυτοκινήτου Απόσπασμα οδηγιών – εκκίνηση αυτοκινήτου … 1. Βάζετε την σχέση του κιβωτίου στην ένδειξη «νεκρά». 2. Ελέγχετε το χειρόφρενο το οποίο πρέπει να είναι ενεργοποιημένο. 3. Βάζετε το κλειδί στη θέση του διακόπτη της μηχανής. 4. Πατάτε το συμπλέκτη. περιμένετε μέχρι 5. Γυρίζετε το διακόπτη στη θέση ON και περιμένετε μέχρι να σβήσει η ένδειξη IMMO. έως ότου έως το πολύ 8 δευτερόλεπτα 6. Γυρίζετε το κλειδί στη θέση START και τον κρατάτε εκεί έως ότου ξεκινήσει η μηχανή ή έως το πολύ 8 δευτερόλεπτα. Έπειτα αφήνετε απλώς το κλειδί. 7. Εάν δεν Εάν μετά από 5 επαναλήψεις δεν 7. Εάν δεν εκκινήσει η μηχανή, επαναλάβετε. Εάν μετά από 5 επαναλήψεις δεν εκκινήσει η μηχανή, απευθυνθείτε σε επίσημο συνεργείο. … Και πάλι έχουμε πολλά βήματα, αλλά τώρα εμφανίζονται αρκετές συνθήκες που απαιτούν έλεγχο και ανάλογη ενέργεια.Και πάλι έχουμε πολλά βήματα, αλλά τώρα εμφανίζονται αρκετές συνθήκες που απαιτούν έλεγχο και ανάλογη ενέργεια. Για πρώτη φορά εμφανίζεται επανάληψη ενέργειας, και μάλιστα με συνθήκη τερματισμού: επαναλήψεις  5 ή η μηχανή εκκίνησε κανονικάΓια πρώτη φορά εμφανίζεται επανάληψη ενέργειας, και μάλιστα με συνθήκη τερματισμού: επαναλήψεις  5 ή η μηχανή εκκίνησε κανονικά

13 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 13 / 42 Περί αλγορίθμων (4/5) Παρατηρούμε ότι σε αυτές τις περιγραφές εμφανίζονται συχνά οδηγίες για ενέργειες που πρέπει να γίνονται: Παρατηρούμε ότι σε αυτές τις περιγραφές εμφανίζονται συχνά οδηγίες για ενέργειες που πρέπει να γίνονται: Ακολουθιακά Ακολουθιακά  Βήματα της διαδικασίας ακολουθούν σε διάταξη το ένα μετά το άλλο Υπό συνθήκη Υπό συνθήκη  Βήματα και υπο-διαδικασίες ακολουθούνται μόνο εάν ισχύει μία συνθήκη που πρέπει να ελέγχεται εάν αληθεύει Επαναληπτικά Επαναληπτικά  Βήματα και υπο-διαδικασίες επαναλαμβάνονται μέχρι κάποια συνθήκης λήξης της επανάληψης

14 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 14 / 42 Περί αλγορίθμων (5/5) Δίνουμε έναν πιο λεπτομερή ορισμό για το τι είναι αλγόριθμος: Δίνουμε έναν πιο λεπτομερή ορισμό για το τι είναι αλγόριθμος:  Ο αλγόριθμος είναι μία πεπερασμένη αλληλουχία  από σαφείς και μη διφορούμενες εντολές  που όλες δύναται να εκτελεστούν και να περατωθούν  ο οποίος όταν εκτελείται παράγει το επιθυμητό αποτέλεσμα  και οδηγεί σε τερματισμό της όλης διαδικασίας σε πεπερασμένο χρόνο – λάθος.

15 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 15 / 42 Περιεχόμενα Περί αλγορίθμων Περί αλγορίθμων Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού προβλήματος Η έννοια του υπολογιστικού προβλήματος

16 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 16 / 42 Υπολογιστικός υπηρέτης (1/7) Υποθέστε έναν υπηρέτη ο οποίος δουλεύει κάτω από τις δικές μας οδηγίες, με τα παρακάτω χαρακτηριστικά: Υποθέστε έναν υπηρέτη ο οποίος δουλεύει κάτω από τις δικές μας οδηγίες, με τα παρακάτω χαρακτηριστικά: Έχει το δικό του γραφείο, το οποίο περιλαμβάνει: Έχει το δικό του γραφείο, το οποίο περιλαμβάνει:  Πρόχειρο τετράδιο με συνεχόμενες αριθμημένες σελίδες και αριθμημένες σειρές ανά σελίδα.  Μία θυρίδα εισερχομένων. Ο υπηρέτης παραλαμβάνει μόνο ότι του δίνεται στη θυρίδα αυτή.  Μία θυρίδα εξερχόμενων. Από τον υπηρέτη παραλαμβάνουμε μόνο ότι έχει τοποθετήσει στην θυρίδα εξερχόμενων.  Μεγάλο ντουλάπι αρχείου. Έχει μεγάλα αριθμημένα τετράδια.

17 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 17 / 42 Υπολογιστικός υπηρέτης (2/7) 60 σειρές ανά σελίδα, 300 σελίδες60 σειρές ανά σελίδα, 300 σελίδες Η αρίθμηση αρχίζει από το μηδέν, δηλ. η πρώτη σειρά αριθμείται ως σειρά 0, και η τελευταία ως σειρά 59. Το ίδιο και για τις σελίδες.Η αρίθμηση αρχίζει από το μηδέν, δηλ. η πρώτη σειρά αριθμείται ως σειρά 0, και η τελευταία ως σειρά 59. Το ίδιο και για τις σελίδες. Αναφερόμαστε σε μία σειρά του τετραδίου με αναφορά και της σελίδας, ως διατεταγμένο ζεύγοςΑναφερόμαστε σε μία σειρά του τετραδίου με αναφορά και της σελίδας, ως διατεταγμένο ζεύγος (σελίδα, σειρά), π.χ. (0, 3) (σελίδα, σειρά), π.χ. (0, 3) ΤΕΤΡΑΔΙΟΣΗΜΕΙΩΣΕΩΝΥΠΗΡΕΤΗ 1 2 3 4 5 0 Θυρίδα εξόδου, είναι ένα ρολό χαρτιού με γραμμές (εάν εξαντληθεί, το αλλάζουμε αυτόματα).Θυρίδα εξόδου, είναι ένα ρολό χαρτιού με γραμμές (εάν εξαντληθεί, το αλλάζουμε αυτόματα). Γράφεται πάντα κάτι από τον υπηρέτη στη σειρά που περικλείεται από το ξύλινο πλαίσιο.Γράφεται πάντα κάτι από τον υπηρέτη στη σειρά που περικλείεται από το ξύλινο πλαίσιο. Αφού γραφεί μία σειρά από τον υπηρέτη, «κατεβαίνει» το ρολό ώστε να έρθει μία νέα κενή σειρά μέσα στο πλαίσιο. Αφού γραφεί μία σειρά από τον υπηρέτη, «κατεβαίνει» το ρολό ώστε να έρθει μία νέα κενή σειρά μέσα στο πλαίσιο. Η διάταξη προφανώς μπορεί να είναι πιο «πρακτική» / «εργονομική» από το σχέδιο!!Η διάταξη προφανώς μπορεί να είναι πιο «πρακτική» / «εργονομική» από το σχέδιο!! ΘΥΡΙΔΑΕΞΕΡΧΟΜΕΝΩΝ

18 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 18 / 42 Υπολογιστικός υπηρέτης (3/7) 1 2 34ΘΥΡΙΔΑΕΙΣΕΡΧΟΜΕΝΩΝ Η διάταξη της θυρίδας εισόδου είναι απλή.Η διάταξη της θυρίδας εισόδου είναι απλή. Η ανάγνωση στοιχείων από την είσοδο γίνεται σε τέσσερα απλά βήματα:Η ανάγνωση στοιχείων από την είσοδο γίνεται σε τέσσερα απλά βήματα: (1) σύρσιμο της θυρίδας στην αριστερή πλευρά. (2) εισαγωγή των στοιχείων (γραμμένων σε χαρτί). (3) Σύρσιμο της θυρίδας δεξιά (από αυτόν που τοποθέτησε τα στοιχεία). (4) Αφαίρεση και ανάγνωση των στοιχείων. ΚΑΝΟΝΕΣΚΑΝΟΝΕΣ Εάν δεν βρίσκεται η θυρίδα στην αριστερή πλευρά δεν μπορεί να δοθεί εισερχόμενο στοιχείο στον υπηρέτη.Εάν δεν βρίσκεται η θυρίδα στην αριστερή πλευρά δεν μπορεί να δοθεί εισερχόμενο στοιχείο στον υπηρέτη. Όποτε ο υπηρέτης θέλει εισερχόμενα τοποθετεί την θυρίδα στην αριστερή πλευρά.Όποτε ο υπηρέτης θέλει εισερχόμενα τοποθετεί την θυρίδα στην αριστερή πλευρά. Εάν δεν επιστραφεί η θυρίδα στη θέση δεξιά δεν περατώνεται η ανάγνωση.Εάν δεν επιστραφεί η θυρίδα στη θέση δεξιά δεν περατώνεται η ανάγνωση.

19 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 19 / 42 Υπολογιστικός υπηρέτης (4/7) Μπορεί να εκτελεί γρήγορα πολύ συγκεκριμένες απλές εργασίες όπως (1/2): Μπορεί να εκτελεί γρήγορα πολύ συγκεκριμένες απλές εργασίες όπως (1/2): Να γράψει κάτι στο πρόχειρο, αλλά πάντα σε συγκεκριμένη σελίδα και σειρά που του επιδεικνύεται. Να γράψει κάτι στο πρόχειρο, αλλά πάντα σε συγκεκριμένη σελίδα και σειρά που του επιδεικνύεται. Να διαβάσει κάτι από το πρόχειρο, πάλι από συγκεκριμένη σελίδα και σειρά. Να διαβάσει κάτι από το πρόχειρο, πάλι από συγκεκριμένη σελίδα και σειρά. Να γράψει κάτι από το πρόχειρο  θυρίδα εξερχόμενων. Να γράψει κάτι από το πρόχειρο  θυρίδα εξερχόμενων. Να γράψει κάτι από τη θυρίδα εισερχόμενων  πρόχειρο. Να γράψει κάτι από τη θυρίδα εισερχόμενων  πρόχειρο. Να γράψει κάτι από το πρόχειρο  ντουλάπι αρχείου, σε συγκεκριμένο τετράδιο το οποίο έχει ένα μοναδικό όνομα. Να γράψει κάτι από το πρόχειρο  ντουλάπι αρχείου, σε συγκεκριμένο τετράδιο το οποίο έχει ένα μοναδικό όνομα. Να γράψει κάτι από το ντουλάπι αρχείου  πρόχειρο. Να γράψει κάτι από το ντουλάπι αρχείου  πρόχειρο.

20 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 20 / 42 Υπολογιστικός υπηρέτης (5/7) Μπορεί να εκτελεί γρήγορα πολύ συγκεκριμένες απλές εργασίες όπως (2/2): Μπορεί να εκτελεί γρήγορα πολύ συγκεκριμένες απλές εργασίες όπως (2/2): απλές αριθμητικές πράξεις : πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση, υπόλοιπο. απλές αριθμητικές πράξεις : πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση, υπόλοιπο. συγκρίσεις όπως: ίσο, διαφορετικό, μεγαλύτερο, μικρότερο, κλπ. συγκρίσεις όπως: ίσο, διαφορετικό, μεγαλύτερο, μικρότερο, κλπ. λογικές εκφράσεις όπως: ή (λογική διάζευξη), και (λογική σύζευξη), όχι (λογική άρνηση). λογικές εκφράσεις όπως: ή (λογική διάζευξη), και (λογική σύζευξη), όχι (λογική άρνηση).

21 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 21 / 42 Υπολογιστικός υπηρέτης (6/7) Θυρίδαεξερχόμενων Θυρίδαεισερχόμενων Πρόχειρο τετράδιο ΑρχείοΑρχείοΥπηρέτης

22 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 22 / 42 Υπολογιστικός υπηρέτης (7/7) Επιπλέον ο υπηρέτης: Επιπλέον ο υπηρέτης: Δεν θυμάται τίποτε απολύτως, πέραν αυτών που μπορεί να διαβάσει από το πρόχειρο η από το ντουλάπι αρχείου, πάντα μετά από προτροπή (εντολή) μας. Δεν θυμάται τίποτε απολύτως, πέραν αυτών που μπορεί να διαβάσει από το πρόχειρο η από το ντουλάπι αρχείου, πάντα μετά από προτροπή (εντολή) μας. Κάνει μόνο επακριβώς ότι καταγράφεται στο έγγραφο εκτέλεσης εργασιών που του δίνεται, το οποίο και εσωκλείεται στο πρόχειρο τετράδιο, χωρίς καμία απόκλιση και χωρίς να λαμβάνει καμία πρωτοβουλία. Κάνει μόνο επακριβώς ότι καταγράφεται στο έγγραφο εκτέλεσης εργασιών που του δίνεται, το οποίο και εσωκλείεται στο πρόχειρο τετράδιο, χωρίς καμία απόκλιση και χωρίς να λαμβάνει καμία πρωτοβουλία. Μπορούμε να τον διακόψουμε κατά την εργασία του, μόνο για να του δώσουμε ένα νέο έγγραφο εργασιών. Μπορούμε να τον διακόψουμε κατά την εργασία του, μόνο για να του δώσουμε ένα νέο έγγραφο εργασιών. Μπορεί να εκτελεί μόνο ένα έγγραφο εργασιών. Μπορεί να εκτελεί μόνο ένα έγγραφο εργασιών. Περατώνει ταχύτατα κάθε εντολή που του δίνεται στο έγγραφο εργασιών. Περατώνει ταχύτατα κάθε εντολή που του δίνεται στο έγγραφο εργασιών.  Δεν κάνει διάλειμμα για καφέ / τσιγάρο, δεν λείπει από τη θέση του, δεν κατεβαίνει ποτέ σε απεργία.

23 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 23 / 42 Έγγραφο εργασιών (1/8) Ας δοκιμάσουμε να χρησιμοποιήσουμε αυτό τον υπηρέτη σε κάτι χρήσιμο Ας δοκιμάσουμε να χρησιμοποιήσουμε αυτό τον υπηρέτη σε κάτι χρήσιμο  Θέλω να συντάξω ένα έγγραφο εργασιών ώστε ο υπηρέτης να κάνει τα εξής: Να περιμένει να του δοθούν ως εισερχόμενα δύο αριθμοί. Να περιμένει να του δοθούν ως εισερχόμενα δύο αριθμοί. Έπειτα να γράψει στα εξερχόμενα τον μεγαλύτερο από αυτούς. Έπειτα να γράψει στα εξερχόμενα τον μεγαλύτερο από αυτούς. Δηλ. θέλω να προγραμματίσω τον υπηρέτη μου να υπολογίζει τον μεγαλύτερο από δύο οποιουσδήποτε δεδομένους αριθμούς εισόδου Δηλ. θέλω να προγραμματίσω τον υπηρέτη μου να υπολογίζει τον μεγαλύτερο από δύο οποιουσδήποτε δεδομένους αριθμούς εισόδου Άρα πρέπει να συντάξω ένα κατάλληλο έγγραφο εργασιών, δηλ. ένα πρόγραμμα Άρα πρέπει να συντάξω ένα κατάλληλο έγγραφο εργασιών, δηλ. ένα πρόγραμμα

24 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 24 / 42 Έγγραφο εργασιών (2/8) Θα δώσουμε ένα πρώτο παράδειγμα ενός τέτοιου εγγράφου εργασιών που πρέπει να εκτελέσει ο υπηρέτης για να πετύχουμε το στόχο μας. Θα δώσουμε ένα πρώτο παράδειγμα ενός τέτοιου εγγράφου εργασιών που πρέπει να εκτελέσει ο υπηρέτης για να πετύχουμε το στόχο μας. Μην ασχοληθείτε τόσο με τους συμβολισμούς που θα ακολουθήσουν (δηλ. το συντακτικό), όσο με το τι σημασιολογικά περιγράφουν (δηλ. την ευρύτερη έννοιά τους). Μην ασχοληθείτε τόσο με τους συμβολισμούς που θα ακολουθήσουν (δηλ. το συντακτικό), όσο με το τι σημασιολογικά περιγράφουν (δηλ. την ευρύτερη έννοιά τους). Θα θεωρήσουμε πως ότι γράφεται στο παράδειγμα μας ο υπηρέτης ξέρει να το αναγνώσει και ταυτόχρονα να το καταλαβαίνει. Θα θεωρήσουμε πως ότι γράφεται στο παράδειγμα μας ο υπηρέτης ξέρει να το αναγνώσει και ταυτόχρονα να το καταλαβαίνει.

25 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 25 / 42 Έγγραφο εργασιών (3/8) Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 0. Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 1. Εάν ο αριθμός της σελίδας 0, σειράς 0 είναι μεγαλύτερος του αριθμού της σελίδας 0, σειράς 1: γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 0, αλλιώς γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 1 Το επιθυμητό πρόγραμμα εργασιών για τον υπολογισμό του μεγαλύτερου δύο αριθμών εισόδου.

26 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 26 / 42 Έγγραφο εργασιών (4/8) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (1/4) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (1/4) Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 0. Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 1. Εάν ο αριθμός της σελίδας 0, σειράς 0 είναι μεγαλύτερος του αριθμού της σελίδας 0, σειράς 1: γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 0, αλλιώς γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 1 Η θυρίδα εισόδου σύρεται αριστερά.Η θυρίδα εισόδου σύρεται αριστερά. Γράφουμε σε μία σελίδα χαρτί με αριθμημένες σειρές δύο αριθμούς και το βάζουμε στη θυρίδα.Γράφουμε σε μία σελίδα χαρτί με αριθμημένες σειρές δύο αριθμούς και το βάζουμε στη θυρίδα. Σέρνουμε τη θυρίδα δεξιά.Σέρνουμε τη θυρίδα δεξιά. Ο υπηρέτης ανασύρει το χαρτί.Ο υπηρέτης ανασύρει το χαρτί. Διαβάζει τον πρώτο αριθμό και τον γράφει στο τετράδιο στην πρώτη σελίδα και πρώτη σειρά (0,0). Διαγράφει με τον στυλό τον πρώτο αριθμό που διάβασε.Διαβάζει τον πρώτο αριθμό και τον γράφει στο τετράδιο στην πρώτη σελίδα και πρώτη σειρά (0,0). Διαγράφει με τον στυλό τον πρώτο αριθμό που διάβασε. 45 45 89.567 (0,0) (0,1)

27 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 27 / 42 Έγγραφο εργασιών (5/8) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (2/4) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (2/4) Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 0. Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 1. Εάν ο αριθμός της σελίδας 0, σειράς 0 είναι μεγαλύτερος του αριθμού της σελίδας 0, σειράς 1: γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 0, αλλιώς γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 1 Ο υπηρέτης κοιτάει το χαρτί εισόδου και διαβάζει τον πρώτο μη διαγραμμένο αριθμό.Ο υπηρέτης κοιτάει το χαρτί εισόδου και διαβάζει τον πρώτο μη διαγραμμένο αριθμό. Τον γράφει με το στυλό στην πρώτη σελίδα και δεύτερη σειρά (0,1). Διαγράφει με τον στυλό τον αριθμό που μόλις διάβασε.Τον γράφει με το στυλό στην πρώτη σελίδα και δεύτερη σειρά (0,1). Διαγράφει με τον στυλό τον αριθμό που μόλις διάβασε. 45 89.567 45 89.567 (0,0) (0,1)

28 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 28 / 42 Έγγραφο εργασιών (6/8) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (3/4) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (3/4) Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 0. Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 1. Εάν ο αριθμός της σελίδας 0, σειράς 0 είναι μεγαλύτερος του αριθμού της σελίδας 0, σειράς 1: γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 0, αλλιώς γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 1 Ο υπηρέτης διαβάζει το τετράδιο του ώστε να ελέγξει εάν το περιεχόμενο της (0,0) είναι μεγαλύτερο από το περιεχόμενο της (0,1).Ο υπηρέτης διαβάζει το τετράδιο του ώστε να ελέγξει εάν το περιεχόμενο της (0,0) είναι μεγαλύτερο από το περιεχόμενο της (0,1). Αφού διαβάσει τα περιεχόμενα διαπιστώνει ότι η συνθήκη 45 > 89.567 είναι ψευδής.Αφού διαβάσει τα περιεχόμενα διαπιστώνει ότι η συνθήκη 45 > 89.567 είναι ψευδής. Συνεπώς, δεν προχωράει στην εκτέλεση της προτροπής που ακολουθεί την εντολή «Εάν», αφού η σχετική συνθήκη δεν ισχύει.Συνεπώς, δεν προχωράει στην εκτέλεση της προτροπής που ακολουθεί την εντολή «Εάν», αφού η σχετική συνθήκη δεν ισχύει. Προχωράει λοιπόν στην εκτέλεση του «αλλιώς».Προχωράει λοιπόν στην εκτέλεση του «αλλιώς». 45 89.567

29 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 29 / 42 Έγγραφο εργασιών (7/8) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (4/4) Η εκτέλεση του εγγράφου εργασιών από τον υπηρέτη βήμα-βήμα (4/4) Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 0. Διάβασε από τα εισερχόμενα έναν αριθμό και γράψε τον στην σελίδα 0, σειρά 1. Εάν ο αριθμός της σελίδας 0, σειράς 0 είναι μεγαλύτερος του αριθμού της σελίδας 0, σειράς 1: γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 0, αλλιώς γράψε στα εξερχόμενα τον αριθμό της σελίδας 0, σειράς 1 45 89.567 Σύμφωνα με την προτροπή, διαβάζει το περιεχόμενο της σειράς (0,1), το οποίο είναι 89.567 και το γράφει στην παρούσα σειρά εξόδου στο πλαίσιο, ενώ σέρνει το ρολό παρακάτω.Σύμφωνα με την προτροπή, διαβάζει το περιεχόμενο της σειράς (0,1), το οποίο είναι 89.567 και το γράφει στην παρούσα σειρά εξόδου στο πλαίσιο, ενώ σέρνει το ρολό παρακάτω. 89.567

30 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 30 / 42 Έγγραφο εργασιών (8/8) Ένα στοιχείο κλειδί είναι η αντιμετώπιση του γεγονότος ότι ο υπηρέτης μας δεν θυμάται τίποτε. Ένα στοιχείο κλειδί είναι η αντιμετώπιση του γεγονότος ότι ο υπηρέτης μας δεν θυμάται τίποτε. Εάν επιθυμούμε να εφαρμόσει κάποια πράξη σε «κάτι», θα πρέπει εμείς: Εάν επιθυμούμε να εφαρμόσει κάποια πράξη σε «κάτι», θα πρέπει εμείς:  Να αποφασίσουμε σε ποια σελίδα και σειρά θα γράφεται αυτό το «κάτι» (π.χ. ένας αριθμός).  Να του ζητούμε να διαβάζει από τη συγκεκριμένη σελίδα και σειρά αυτό το «κάτι», όποτε τούτο εμπλέκεται σε μία εντολή του εγγράφου εργασιών.  Να του ζητούμε να γράφει σε συγκεκριμένη σελίδα και σειρά κάποιο αποτέλεσμα, εάν πρόκειται αυτό να χρησιμοποιηθεί από κάποια επόμενη εντολή.  Δηλ. αποφασίζουμε τον τρόπο διαχείρισης του τετραδίου, ώστε να γράφονται ή να διαβάζονται τιμές / αποτελέσματα όπως εμείς το επιθυμούμε.

31 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 31 / 42 Ένθετο – ο υπηρέτης δεν θυμάται! Θα μπορούσε κανείς να υποθέσει ότι θα ήταν επαρκές να πούμε στον υπηρέτη Θα μπορούσε κανείς να υποθέσει ότι θα ήταν επαρκές να πούμε στον υπηρέτη γράψε τον μεγαλύτερο από τους αριθμούς που διαβάζεις στην είσοδο γράψε τον μεγαλύτερο από τους αριθμούς που διαβάζεις στην είσοδο Όμως αυτό απαιτεί σύγκριση, και ο υπηρέτης δεν ξέρει να εφαρμόζει συγκρίσεις παρά μόνο μεταξύ των περιεχομένων δύο αριθμών τετραδίου Όμως αυτό απαιτεί σύγκριση, και ο υπηρέτης δεν ξέρει να εφαρμόζει συγκρίσεις παρά μόνο μεταξύ των περιεχομένων δύο αριθμών τετραδίου Άρα η «αποθήκευση» στο τετράδιο είναι αναπόφευκτη Άρα η «αποθήκευση» στο τετράδιο είναι αναπόφευκτη Επιπλέον για τον υπηρέτη άλλη εργασία είναι η αναγραφή στην έξοδο του περιεχομένου κάποιας σειράς τετραδίου, και άλλη εργασία είναι η σύγκριση Επιπλέον για τον υπηρέτη άλλη εργασία είναι η αναγραφή στην έξοδο του περιεχομένου κάποιας σειράς τετραδίου, και άλλη εργασία είναι η σύγκριση Άρα είναι αναπόφευκτο να περιγράψουμε αυτές τις δύο ενέργειες ξεχωριστά Άρα είναι αναπόφευκτο να περιγράψουμε αυτές τις δύο ενέργειες ξεχωριστά

32 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 32 / 42 Ο υπηρέτης ως υπολογιστής (1/3) Ο υπολογιστικός υπηρέτης είναι ουσιαστικά ένα αρκετά ακριβές μοντέλο υπολογιστικού συστήματος: Ο υπολογιστικός υπηρέτης είναι ουσιαστικά ένα αρκετά ακριβές μοντέλο υπολογιστικού συστήματος: Κεντρική μνήμη (chip)  πρόχειρο τετράδιο Κεντρική μνήμη (chip)  πρόχειρο τετράδιο Περιφερειακή μνήμη (δίσκος)  ντουλάπι αρχείου Περιφερειακή μνήμη (δίσκος)  ντουλάπι αρχείου Είσοδος  θυρίδα εισερχόμενων Είσοδος  θυρίδα εισερχόμενων Έξοδος  θυρίδα εξερχόμενων Έξοδος  θυρίδα εξερχόμενων Πρόγραμμα  έγγραφο εργασιών Πρόγραμμα  έγγραφο εργασιών Επεξεργαστής  υπηρέτης Επεξεργαστής  υπηρέτης Ρεπερτόριο εντολών επεξεργαστή  εργασίες / εντολές Ρεπερτόριο εντολών επεξεργαστή  εργασίες / εντολές

33 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 33 / 42 Ο υπηρέτης ως υπολογιστής (2/3) Κεντρική μονάδα επεξεργασίας (Central Processing Unit – CPU) Κεντρική μνήμη (Main memory) Δευτερεύουσα μνήμη (Secondary storage) Συσκευές εισόδου (Input devices) Συσκευές εξόδου (Output devices) Πρόγραμμα(program) Γενικό μοντέλο υπολογιστικούσυστήματος

34 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 34 / 42 Ο υπηρέτης ως υπολογιστής (3/3) Αναπάντητα ερωτήματα (για λίγο αργότερα): Αναπάντητα ερωτήματα (για λίγο αργότερα): Ποιες είναι ακριβώς οι εντολές που μπορεί να εκτελεί ο υπηρέτης? Ποιες είναι ακριβώς οι εντολές που μπορεί να εκτελεί ο υπηρέτης? Οι αριθμητικές πράξεις είναι ευκολονόητες, αλλά τι ήταν αυτή η εντολή Εάν...Αλλιώς...? Υπάρχουν και άλλες τέτοιες παρόμοιες εντολές? Οι αριθμητικές πράξεις είναι ευκολονόητες, αλλά τι ήταν αυτή η εντολή Εάν...Αλλιώς...? Υπάρχουν και άλλες τέτοιες παρόμοιες εντολές? Υπάρχει κάποια συγκεκριμένη τυπολογία στην οποία θα διατυπώνουμε τις εντολές στο έγγραφο εργασιών, ή ο υπηρέτης καταλαβαίνει εντολές στην φυσική μας γλώσσα ? Υπάρχει κάποια συγκεκριμένη τυπολογία στην οποία θα διατυπώνουμε τις εντολές στο έγγραφο εργασιών, ή ο υπηρέτης καταλαβαίνει εντολές στην φυσική μας γλώσσα ? Εάν θέλουμε ο υπηρέτης μας να κάνει κάτι, όπως το παράδειγμα με την εύρεση του μεγαλύτερου αριθμού, υπάρχει μόνο ένα σωστό έγγραφο εργασιών, ή υπάρχουν πολλοί τρόποι να το δομήσει κανείς για να κάνει το ίδιο πράγμα? Εάν θέλουμε ο υπηρέτης μας να κάνει κάτι, όπως το παράδειγμα με την εύρεση του μεγαλύτερου αριθμού, υπάρχει μόνο ένα σωστό έγγραφο εργασιών, ή υπάρχουν πολλοί τρόποι να το δομήσει κανείς για να κάνει το ίδιο πράγμα? Εάν μπορούν να υπάρξουν πολλοί τρόποι έχουμε κριτήρια σύγκρισης? Εάν μπορούν να υπάρξουν πολλοί τρόποι έχουμε κριτήρια σύγκρισης?

35 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 35 / 42 Περιεχόμενα Περί αλγορίθμων Περί αλγορίθμων Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού υπηρέτη Η έννοια του υπολογιστικού προβλήματος Η έννοια του υπολογιστικού προβλήματος

36 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 36 / 42 Υπολογιστικό πρόβλημα (1/4) Θέλουμε ο υπηρέτης μας να εργάζεται με τρόπο τέτοιο ώστε τα παράγωγα των πράξεών του, όταν εκτελεί το πρόγραμμα, να δίνουν λύση σε κάποιο δικό μας αρχικό πρόβλημα. Θέλουμε ο υπηρέτης μας να εργάζεται με τρόπο τέτοιο ώστε τα παράγωγα των πράξεών του, όταν εκτελεί το πρόγραμμα, να δίνουν λύση σε κάποιο δικό μας αρχικό πρόβλημα. Υπηρέτης Παράγωγα Υπολογιστικήεργασία Ωφελούμενος Χρήσηπαραγώγων 1. Τι παράγωγα ακριβώς χρειάζομαι ώστε να επιλύσω το πραγματικό πρόβλημά? 2. Πως κατασκευάζω το πρόγραμμα που όταν εκτελείται παράγει τα επιθυμητά παράγωγα?

37 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 37 / 42 Υπολογιστικό πρόβλημα (2/4) Για να κατευθύνουμε τον υπηρέτη στην παραγωγή των επιθυμητών αποτελεσμάτων θα πρέπει: Για να κατευθύνουμε τον υπηρέτη στην παραγωγή των επιθυμητών αποτελεσμάτων θα πρέπει: Να κατασκευάσουμε το κατάλληλο έγγραφο εργασιών που πρέπει να εκτελέσει ο υπηρέτης. Να κατασκευάσουμε το κατάλληλο έγγραφο εργασιών που πρέπει να εκτελέσει ο υπηρέτης. Πρέπει απαραιτήτως να γνωρίζουμε πως λύνεται το αρχικό πρόβλημα. Πρέπει απαραιτήτως να γνωρίζουμε πως λύνεται το αρχικό πρόβλημα. Το πρόβλημα δεν το λύνει ο υπηρέτης, αλλά εμείς. Το πρόβλημα δεν το λύνει ο υπηρέτης, αλλά εμείς. Ο υπηρέτης απλώς εφαρμόζει τα βήματα για την παραγωγή της λύσης, όπως τα περιγράφουμε εμείς, χωρίς να έχει γνώση του τι πράττει. Ο υπηρέτης απλώς εφαρμόζει τα βήματα για την παραγωγή της λύσης, όπως τα περιγράφουμε εμείς, χωρίς να έχει γνώση του τι πράττει. Το πρόγραμμα είναι η περιγραφή των βημάτων που θα εκτελεί ένας υπηρέτης ώστε να παράγει λύσεις σε περιπτώσεις του αρχικού προβλήματος. Το πρόγραμμα είναι η περιγραφή των βημάτων που θα εκτελεί ένας υπηρέτης ώστε να παράγει λύσεις σε περιπτώσεις του αρχικού προβλήματος. Κατά κάποιο τρόπο, θεωρητικά, το πρόγραμμα συνιστά επίλυση του προβλήματος Κατά κάποιο τρόπο, θεωρητικά, το πρόγραμμα συνιστά επίλυση του προβλήματος Να επαληθεύσουμε ότι αυτό οδηγεί στην παραγωγή των ορθών αποτελεσμάτων. Να επαληθεύσουμε ότι αυτό οδηγεί στην παραγωγή των ορθών αποτελεσμάτων.

38 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 38 / 42 Υπολογιστικό πρόβλημα (3/4)  Συνεπώς, τα υπολογιστικά προβλήματα είναι η κατασκευή προγραμμάτων που παράγουν λύσεις συγκεκριμένων πραγματικών προβλημάτων.  Περίπτωση ενός προβλήματος είναι ένα συγκεκριμένο στιγμιότυπο που ανήκει στην γενική οικογένεια ενός προβλήματος, π.χ.  Οικογένεια: εύρεση του μεγαλύτερου από δύο αριθμούς, συμβολικά max(x,y)  Στιγμιότυπο: max(45, 89.567)  Στιγμιότυπο: max(-7, 3.145)

39 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 39 / 42 Υπολογιστικό πρόβλημα (4/4) Όταν το αρχικό πρόβλημα έχει κάποιες παραμέτρους, τότε συνήθως οι τιμές αυτών αντιστοιχούν ως λαμβανομένη είσοδος στο έγγραφο εργασιών Όταν το αρχικό πρόβλημα έχει κάποιες παραμέτρους, τότε συνήθως οι τιμές αυτών αντιστοιχούν ως λαμβανομένη είσοδος στο έγγραφο εργασιών Π.χ., υπολογισμός του μεγαλύτερου από δύο οποιουσδήποτε αριθμούς Χ και Υ Π.χ., υπολογισμός του μεγαλύτερου από δύο οποιουσδήποτε αριθμούς Χ και Υ  Αφού τα Χ και Υ, στον ορισμό του αρχικού προβλήματος, δεν είναι συγκεκριμένα, συνιστούν παραμέτρους του προβλήματος,  Άρα το όποιο πρόγραμμα κατασκευάσουμε που παράγει ως αποτέλεσμα τον μεγαλύτερο αριθμό, θα πρέπει πάντα να δέχεται ως είσοδο το εκάστοτε ζευγάρι συγκεκριμένων αριθμών Χ και Υ, πάνω στους οποίους θα εφαρμοστεί ο υπολογισμός.πάνω στους οποίους θα εφαρμοστεί ο υπολογισμός.  Κάθε αποτίμηση των μεταβλητών ενός προβλήματος συνιστά περίπτωση / στιγμιότυπο του προβλήματος.

40 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 40 / 42 Επιπλέον παράδειγμα (1/3) Θέλουμε να προγραμματίσουμε τον υπηρέτη ώστε να του δίνουμε δύο σημεία στο επίπεδο (x1,y1) και (x2,y2) και να υπολογίζει και να γράφει στην θυρίδα εξόδου: Θέλουμε να προγραμματίσουμε τον υπηρέτη ώστε να του δίνουμε δύο σημεία στο επίπεδο (x1,y1) και (x2,y2) και να υπολογίζει και να γράφει στην θυρίδα εξόδου: την απόστασή τους, δηλ. το μήκος του ευθύγραμμου τμήματος που ορίζουν την απόστασή τους, δηλ. το μήκος του ευθύγραμμου τμήματος που ορίζουν Ποια είναι η οικογένεια του προβλήματος? Ξέρουμε να το λύνουμε ώστε να γράψουμε τι πρέπει να κάνει ο υπηρέτης για να λύνει περιπτώσεις του προβλήματος? Ποια είναι η οικογένεια του προβλήματος? Ξέρουμε να το λύνουμε ώστε να γράψουμε τι πρέπει να κάνει ο υπηρέτης για να λύνει περιπτώσεις του προβλήματος? Ποιες είναι οι παράμετροι του προβλήματος? Ποιες είναι οι παράμετροι του προβλήματος? (x1,y1) (x2,y2)

41 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 41 / 42 Επιπλέον παράδειγμα (2/3) Οικογένεια προβλήματος: Οικογένεια προβλήματος: d(p1,p2), όπου d η απόσταση, και p 1,p 2 δύο σημεία στο επίπεδο, έστω (x 1,y 1 ) και (x 2,y 2 ) αντίστοιχα d(p1,p2), όπου d η απόσταση, και p 1,p 2 δύο σημεία στο επίπεδο, έστω (x 1,y 1 ) και (x 2,y 2 ) αντίστοιχα Γενική επίλυση του προβλήματος: Γενική επίλυση του προβλήματος: d =  (x 2 -x 1 ) 2 + (y 2 -y 1 ) 2 d =  (x 2 -x 1 ) 2 + (y 2 -y 1 ) 2 Περιπτώσεις προβλήματος: Περιπτώσεις προβλήματος: d((2,4.56),(-56,-78)) d((2,4.56),(-56,-78)) d((0,0), (1,1)) d((0,0), (1,1))  Γνωρίζουμε λοιπόν καλά την οικογένεια του προβλήματος, την επίλυσή του καθώς και τι σημαίνει να έχουμε περιπτώσεις του προβλήματος αυτού.

42 HY100, 2004Α. Σαββίδης, Χ. ΝικολάουSlide 42 / 42 Επιπλέον παράδειγμα (3/3) Έγγραφο εργασιών Έγγραφο εργασιών Διάβασε από τα εισερχόμενα τέσσερις αριθμούς και γράψε τους με τη σειρά εισόδου στις θέσεις του τετραδίου Τ(0,0), Τ(0,1), Τ(0,2), Τ(0,3). Γράψε στη θυρίδα εξερχόμενων το αποτέλεσμα της πράξης:  ((T(0,2)-T(0,0)) 2 + ((T(0,3)-T(0,1)) 2  ((T(0,2)-T(0,0)) 2 + ((T(0,3)-T(0,1)) 2 (0,0) για το x 1 (0,1) για το y 1 (0,2) για το x 2 (0,3) για το y 2 Θα πρέπει να αποφασίσουμε εμείς με ποια σειρά δίνονται οι συντεταγμένες των σημείων, και να τη σεβόμαστε ευλαβικά όταν κατά την εκτέλεση εναποθέτουμε τιμές στη θυρίδα εισερχομένων.


Κατέβασμα ppt "HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google