Φρ. Κουτελιέρης Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων ΠΛΗΡΟΦΟΡΙΚΗ Ι Πληροφορική Ι Ακαδ. Έτος 2008-9 1/30
ΚΕΦΑΛΑΙΟ 2 Πληροφορική Ι Ακαδ. Έτος 2008-9 2/30
1. Εισαγωγή 3. Ανάπτυξη αλγορίθµου 4. οµηµένος προγραµµατισµός 5. Άλυτες ασκήσεις Πληροφορική Ι Ακαδ. Έτος 2008-9 3/30
1. Εισαγωγή Τέσσερα βήµατα για τη δηµιουργία ενός προγράµµατος: 1. Περιγραφή, ανάλυση και καθορισµός του προβλήµατος. 2. Ανάπτυξη της λογικής του προγράµµατος (αλγόριθµος) και προετοιµασία του λογικούδιαγράµµατος. Πληροφορική Ι Ακαδ. Έτος 2008-9 4/30
1. Εισαγωγή 3. Κώδικας FORTRAN Συγγραφή του κώδικα Αποσφαλµάτωση (συντακτικά λάθη) Προετοιµασία δεδοµένων για δοκιµές, Εκτέλεση δοκιµών Αποσφαλµάτωση (λογικάλάθη). 4.Ολοκλήρωσητηςτεκµηρίωσης. Πληροφορική Ι Ακαδ. Έτος 2008-9 5/30
Λογικό διάγραµµα είναι µια διαγραµµατική µορφή απεικόνισης µιας διαδικασίας η οποία αφορά σε σύστηµα ήπρόγραµµα. Πληροφορική Ι Ακαδ. Έτος 2008-9 6/30
Σύµβολο διεργασίας: χρησιµοποιείται για να αναπαραστήσει γενικές διαδικασίες που δεν αναπαριστώνται από άλλα σύµβολα. Απεικονίζει διαδικασίες που έχουν ως αποτέλεσµα την τροποποίηση της τιµής, µορφής ή θέσηςκάποιαςπληροφορίας. Πληροφορική Ι Ακαδ. Έτος 2008-9 7/30
Σύµβολο εισόδου/εξόδου εξόδου: χρησιµοποιείται όταν δίνονται δεδοµένα ή παρουσιάζονται αποτελέσµατα. Πληροφορική Ι Ακαδ. Έτος 2008-9 8/30
Σύµβολο απόφασης: χρησιµοποιείται όταν υπάρχουν περισσότερες από µια εναλλακτικέςδιαδροµές. Πληροφορική Ι Ακαδ. Έτος 2008-9 9/30
Σύµβολο τερµατισµού ήδιακοπής: χρησιµοποιείται στην αρχή, τέλος ή σε διακοπή/ καθυστέρησητου προγράµµατος.. Πληροφορική Ι Ακαδ. Έτος 2008-9 10/30
Σύµβολο σύνδεσης: χρησιµοποιείται όταν υπάρχει διασύνδεση µε κάποιο άλλο µέρος του λογικού διαγράµµατος. Πληροφορική Ι Ακαδ. Έτος 2008-9 11/30
Σύµβολο ροής: χρησιµοποιείταιγια ναδείξειτηροήτουπρογράµµατος. Πληροφορική Ι Ακαδ. Έτος 2008-9 12/30
Υπάρχουν κι άλλα σύµβολα, αλλά δενθα θατα χρησιµοποιήσουµε Πληροφορική Ι Ακαδ. Έτος 2008-9 13/30
Υπάρχουν 3 κύριοι τρόποι εκτέλεσης: ιαδοχική Επιλογή Επανάληψη Πληροφορική Ι Ακαδ. Έτος 2008-9 14/30
ιαδοχική εκτέλεση ΠΡΑΞΕΙΣ ΠΡΑΞΕΙΣ οι πράξεις εκτελούνται διαδοχικά η µια µετά την άλλη χωρίς επιστροφή στιςπροηγούµενεςπράξεις. Πληροφορική Ι Ακαδ. Έτος 2008-9 15/30
Επιλογή ΝΑΙ Συνθήκη ΟΧΙ Στηρίζεται στην εκτίµηση της αλήθειας µιας λογικής συνθήκης: αν είναι αληθής, η εκτέλεση συνεχίζεται διαδοχικά προς µια κατεύθυνση ενώ ανείναιψευδήςπροςµιαάλλη. Πληροφορική Ι Ακαδ. Έτος 2008-9 16/30
Επανάληψη Επαναλαµβάνεται µια ή περισσότερες πράξεις είτε για έναν συγκεκριµένο πλήθος επαναλήψεων (επανάληψη µε αρίθµηση) είτε όσο ικανοποιείται κάποια λογική συνθήκη (επανάληψη υπό συνθήκη). Πληροφορική Ι Ακαδ. Έτος 2008-9 17/30
Επανάληψη Απαριθµητής=1 Αύξησε απαριθµητή ΠΡΑΞΕΙΣ ΝΑΙ Συνθήκη ΟΧΙ ΟΧΙ Απαριθµητής?Ν ΝΑΙ ΠΡΑΞΕΙΣ επανάληψη µε αρίθµηση επανάληψη υπό συνθήκη Πληροφορική Ι Ακαδ. Έτος 2008-9 18/30
Παράδειγµα: (εκφώνηση) Ένας µανάβης αγόρασε Χ κιλά µήλα Τριπόλεως µεχ1ευρώ ευρώκαιυκιλάκιλά µήλα Βέροιας µευ1 ευρώκαιδε γνωρίζει ποια είναι ακριβότερα ανά κιλό. Να σχεδιαστεί το λογικό διάγραµµα που επιλύει το πρόβληµα. Πληροφορική Ι Ακαδ. Έτος 2008-9 19/30
Παράδειγµα: (λογικό διάγραµµα) ΑΡΧΗ ΙΑΒΑΣΕ Χ, Χ1, Υ, Υ2 > 1 λ? 1 = 1 < 1 ΜΗΛΑ_ΤΡΙΠΟΛΗΣ =Χ1/Χ ΓΡΑΨΕ ΤΡΙΠΟΛΗ ΓΡΑΨΕ Ι ΙΑ ΤΙΜΗ ΓΡΑΨΕ ΒΕΡΟΙΑ ΜΗΛΑ_ΒΕΡΟΙΑΣ =Υ1/Υ λ = ΜΗΛΑ_ΤΡΙΠΟΛΗΣ/ΜΗΛΑ_ΒΕΡΟΙΑΣ ΤΕΛΟΣ Πληροφορική Ι Ακαδ. Έτος 2008-9 20/30
3. Ανάπτυξη αλγορίθµου Ο αλγόριθµος δεν πρέπει να περιέχει ασαφή σηµεία πρέπει να δίνει αποτέλεσµα σε πεπερασµένο χρόνο επιθυµητό να φτάνει στο αποτέλεσµα µε τον ταχύτερο τρόπο επιθυµητό να είναι όσο πιο γενικός µπορεί. Πληροφορική Ι Ακαδ. Έτος 2008-9 21/30
3. Ανάπτυξη αλγορίθµου Παράδειγµα: (εκφώνηση) Να σχεδιαστεί ο αλγόριθµος που περιγράφει τηνδιαδικασία φωτοτύπησης ενός άρθρου από ένα περιοδικό. Πληροφορική Ι Ακαδ. Έτος 2008-9 22/30
3. Ανάπτυξη αλγορίθµου Παράδειγµα: (λογικό διάγραµµα) ΑΡΧΗ ΒΡΕΣ ΑΡΘΡΟ ΣΤΟ ΠΕΡΙΟ ΙΚΟ ΠΡΟΣΑΝΑΤΟΛΙΣ ΜΟΣ ΣΕΛΙ ΑΣ ΦΩΤΟΤΥΠΗΣΗ ΑΡΘΡΟΥ ΦΩΤΟΤΥΠΗΣΕ ΤΟ ΑΡΘΡΟ ΕΠΙΒΕΒΑΙΩΣΗ ΑΝΤΙΓΡΑΦΟΥ ΤΕΛΟΣ ΕΠΙΣΤΡΟΦΗ ΤΟΥ ΠΕΡΙΟ ΙΚΟΥ ΣΥΛΛΟΓΗ ΑΝΤΙΓΡΑΦΟΥ Πληροφορική Ι Ακαδ. Έτος 2008-9 23/30
3. Ανάπτυξη αλγορίθµου Παράδειγµα: (αλγόριθµος) GOAL: Φωτοτύπηση_Άρθρου GOAL: Ανεύρεση_Άρθρου GOAL: Φωτοτύπηση_Σελίδας επανάληψη µέχρι να τελειώσουν οι σελίδες GOAL: Προσανατολισµός_Σελίδας Άνοιγµα_Καλύµατος_Κρυστάλλου Επιλογή_Σελίδας Τοποθέτηση_Σελίδας Κλείσιµο_Καλύµατος GOAL: Επιβεβαίωση_Αντιγράφου Εύρεση_Θέση_ ηµιουργούµενων_αντιγράφων Εξέταση_Αντιγράφου GOAL: Συλλογή_Αντιγράφου Εύρεση_Θέσης_ ηµιουργούµενων_αντιγράφων Παραλαβή_Αντιγράφου GOAL: Συλλογή_Περιοδικού Άνοιγµα_ Καλύµατος_Κρυστάλλου Παραλαβή_Περιοδικού Κλείσιµο_ Καλύµατος_Κρυστάλλου Πληροφορική Ι Ακαδ. Έτος 2008-9 24/30
4. οµηµένος προγραµµατισµός οµηµένος προγραµµατισµός είναι η πραγµατοποίηση της λειτουργίας που θέλουµε µε διαδοχική εκτέλεση µεµονωµένων εργασιών απόαυτόνοµα κοµµάτια κώδικα. Πληροφορική Ι Ακαδ. Έτος 2008-9 25/30
4. οµηµένος προγραµµατισµός Γιατί δοµηµένος προγραµµατισµός? ιότι είναι πιο εύκολο να λύνουµε πολλά µικρά προβλήµατα απ ότι ένα µεγάλο ιότι είναι πιο εύκολο να ελέγξουµε την ορθότητα και να εντοπίσουµε σφάλµατα σε µικρά κοµµάτια κώδικα ιότι τα αυτόνοµα κοµµάτια µπορούν να χρησιµοποιηθούν ξανά, είτε µέσα στο ίδιο πρόγραµµα ή σε άλλα προγράµµατα. Πληροφορική Ι Ακαδ. Έτος 2008-9 26/30
5. Άλυτες ασκήσεις Σε ένα µάθηµα οι φοιτητές εξετάζονται σε εργαστήριο και θεωρία, µε αντιστοιχία 50/50 στον τελικό βαθµό. Το εργαστήριο αποτελείται από 3 ασκήσεις που πρέπει να παραδοθούν µέχρι τέλος του εξαµήνου. Η θεωρία εξετάζεται µε γραπτές εξετάσεις (Φεβρουάριο ή Σεπτέµβριο). Μπορείτε να καθορίσετεπώςεξάγεταιοτελικόςβαθµός; Πληροφορική Ι Ακαδ. Έτος 2008-9 27/30
5. Άλυτες ασκήσεις Μπορείτε να φτιάξετε έναν αλγόριθµο για προγραµµατισµό εγγραφής σε βίντεο/dvd σε µεταγενέστερηηµεροµηνία; Πληροφορική Ι Ακαδ. Έτος 2008-9 28/30
5. Άλυτες ασκήσεις Μπορείτε να φτιάξετε έναν αλγόριθµο για τον ορισµό και ενεργοποίηση του ξυπνητηριού σε ένα ρολόι; (Το ξυπνητήρι να έχει διακοπτόµενη λειτουργία ανά 9 λεπτά). Πληροφορική Ι Ακαδ. Έτος 2008-9 29/30
5. Άλυτες ασκήσεις Να φτιάξετε έναν αλγόριθµο που θα περιγράφει πως µπορείτε να κάνετε µια χωριάτικησαλάταστηνκουζίνασας. (Υποθέστε ότι όλα τα υλικά βρίσκονται στο σπίτι σας). Πληροφορική Ι Ακαδ. Έτος 2008-9 30/30