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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Ι. Σαρρής, τηλ. Εαρινό εξάμηνο.

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


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

1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Ι. Σαρρής, τηλ. Εαρινό εξάμηνο 2009 Διάλεξη 1: Εισαγωγή & Βασικές αρχές προγραμματισμού

2 Οργάνωση Μαθήματος Εβδ.Ύλη 1 Βασικές αρχές προγραμματισμού, επανάληψη: Διαδικασίες, πίνακες, έλεγχος ροής, αρχεία, παραδείγματα. 2 Δυναμικές δομές στη F90: δυναμικοί πίνακες, διαδικασίες, παράγωγοι τύποι δεδομένων, παραδείγματα. 3 Δείκτες: Ιδιότητες δεικτών (ανάθεση, δέσμευση μνήμης), πίνακες δεικτών, παράγωγοι τύποι, παραδείγματα. 4Δείκτες και Διαδικασίες: χρήση και παραδείγματα, λίστες, κλπ. 5 Αντικείμενα: Χρήση, εξωτερικές διαδικασίες, εικονικές διαδικασίες, συσχέτιση, εμβέλεια, παραδείγματα. 6 Αρθρώματα:Χρήση, τύποι (privet, public), πολλαπλές είσοδοι, συσχέτιση μνήμης, παραδείγματα 7-8 Αντικειμενοστρεφής προγραμματισμός: Εισαγωγή, βασικές έννοιες (ενθυκάλωση, κληρονομικότητα, πολυμορφισμός), απλά παραδείγματα 9-10 Εισαγωγή στη Mathematica και εφαρμογές Εισαγωγή στο Matlab και εφαρμογές

3 Βαθμολογία 1.Το τελικό γραπτό διαγώνισμα θα γίνει με άριστα το 8 (δηλ., ο βαθμός του διαγωνίσματος θα πολλαπλασιαστεί με 0,8). 2.Οι ασκήσεις θα συγκεντρώνουν 2 μονάδες συνολικά. 3.Θα δοθεί 1 εργασία, η οποία θα λαμβάνει 1 μονάδα. Σε όσους δεν γράψουν τουλάχιστον 50% στο γραπτό διαγώνισμα, δεν θα ληφθούν υπόψη στον τελικό βαθμό οι ασκήσεις και η εργασία.

4 Συγγράμματα (1)Ματαράς & Κουτελιέρης, Προγραμματισμός FORTRAN 90/95, για μηχανικούς και επιστήμονες, Εκδ. Τζιόλα (2)Biran & Breiner, MATLAB 6 για μηχανικούς, Εκδ. Τζιόλα (3) Παπαδάκης, Εισαγωγή στο Mathematica, Εκδ. Τζιόλα

5 Πρόσβαση στις παρουσιάσεις του μαθήματος ftp://ftp.mie.uth.gr/courses/under_graduate/mm201/ Login name: student Password: st4d3nt Lectures Η μηχανή του Pascal

6 Χρόνος Απασχόλησης 4 ώρες διαλέξεων (Δευτέρα 2-4 & Παρασκευή 2-4) 4 ώρες εργαστήριο (κα Χουλιάρα, Πέμπτη 11:30-13:30 κος Λιχναρόπουλος, Δευτέρα 9-11) Μελέτη: Τουλάχιστον 4 ώρες την εβδομάδα!! Ο ENIAC (Eckert και Mauchly 1945) –30 τόνους – λυχνίες –1500 τ.μ.

7 Αρχές Προγραμματισμού Ακούω και ξεχνάω, Βλέπω και θυμάμαι, Κάνω και καταλαβαίνω Κονφούκιος, Κίνα 500 π.Χ.

8 Ηλεκτρονικός Υπολογιστής Hardware Software (Λογισμικό) Λογισμικό Συστήματος Λογισμικό Εφαρμογών

9 Ηλεκτρονικός Υπολογιστής

10 Κύρια μέρη υπολογιστή –Μονάδες Εισόδου: Είναι το σύνολο των μονάδων με τις οποίες επιτυγχάνεται η είσοδος των πληροφοριών στον Η/Υ, π.χ. πληκτρολόγιο, ποντίκι, κ.τ.λ. –Κεντρική Μονάδα Επεξεργασίας (CPU): Η μονάδα στην οποία γίνονται οι κάθε είδους επεξεργασίες των πληροφοριών, καθώς και ο συντονισμός και έλεγχος των λειτουργιών του Η/Υ. Αποτελείται από την αριθμητική και λογική μονάδα, τη μονάδα ελέγχου και μονάδες μνήμης. –Μονάδα Γραφικής Επεξεργασίας (GPU)

11 Κύρια μέρη υπολογιστή –Κύρια Μνήμη (Random Access Memory): Η μονάδα αυτή χρησιμοποιείται για την αποθήκευση του προγράμματος των δεδομένων, καθώς επίσης και των ενδιάμεσων και τελικών αποτελεσμάτων του προγράμματος, πριν αυτά εμφανιστούν στην οθόνη ή τυπωθούν στον εκτυπωτή ή αποθηκευτούν σε κάποια μονάδα δευτερεύουσας μνήμης. –Μονάδες Εξόδου: Είναι το σύνολο των μονάδων με τις οποίες επιτυγχάνεται η έξοδος των αποτελεσμάτων από τον Η/Υ π.χ. οθόνη, εκτυπωτής, δισκέτα κ.τ.λ.

12 Κύρια μέρη υπολογιστή Λογισμικό Εφαρμογών: Εδώ ανήκουν όλα τα προγράμματα που γράφονται για να διεκπεραιώνουμε με τη βοήθεια του Η/Υ διάφορες εργασίες, π.χ. προγράμματα επεξεργασίας κειμένου, προγράμματα σχεδίασης, λογιστικά φύλλα κ.λ.π. Λογισμικό Συστήματος: Αποτελείται από όλα εκείνα τα προγράμματα που εξασφαλίζουν τη σύνδεση όλων των μονάδων μεταξύ τους και τον έλεγχο των λειτουργιών τους. Το λογισμικό συστήματος περιλαμβάνει κυρίως το λειτουργικό σύστημα και τα μεταφραστικά προγράμματα.

13 Λειτουργικό σύστημα Το λειτουργικό σύστημα (Λ.Σ.) είναι ο συνδετικός κρίκος μεταξύ του υλικού από τη μια μεριά και των προγραμμάτων εφαρμογής από την άλλη. Πρωταρχικός ρόλος του Λ.Σ. είναι η εύκολη και αποδοτική χρησιμοποίηση του υλικού από το χρήστη. Σε γενικές γραμμές το Λ.Σ. καθορίζει στον υπολογιστή πώς να καλεί κάποιο πρόγραμμα από μια μονάδα αποθήκευσης, πώς να αποθηκεύει δεδομένα σ’ αυτές, πώς να χειρίζεται την οθόνη και τον εκτυπωτή, και σε γενικές γραμμές, αναλαμβάνει να συντονίζει τα διάφορα μέρη του υπολογιστή που απαιτούνται για την εκτέλεση μιας ολοκληρωμένης εργασίας.

14 Γλώσσα προγραμματισμού Γλώσσα προγραμματισμού είναι ένα σύνολο γραμμάτων, αριθμών, λέξεων και συντομογραφικών μνημονικών σημείων που διέπονται από ειδικό συντακτικό και χρησιμοποιούνται στην ανάπτυξη αλγορίθμων στον υπολογιστή. Οι γλώσσες χαμηλού επιπέδου που βρίσκονται κοντά στις στοιχειώδεις εντολές μηχανής ενός συγκεκριμένου Η/Υ και γι’ αυτό διαφέρουν από Η/Υ σε Η/Υ. Η γλώσσα που είναι πιο κοντά στο επίπεδο της μηχανής είναι η γλώσσα μηχανής.

15 Γλώσσα προγραμματισμού Οι γλώσσες υψηλού επιπέδου, που προσεγγίζουν την ανθρώπινη γλώσσα περισσότερο από ότι οι γλώσσες χαμηλού επιπέδου και είναι ειδικά σχεδιασμένες, ώστε προγράμματα τα οποία είναι γραμμένα σ’ αυτές να εκτελούνται από οποιονδήποτε υπολογιστή. Τέτοιες γλώσσες είναι οι BASIC, FORTRAN, PASCAL, PROLOG, C, κ.τ.λ. Το πρόγραμμα που γράφουμε σε μια γλώσσα υψηλού επιπέδου μεταφράζεται πάντοτε μέσο ειδικών προγραμμάτων στη γλώσσα που καταλαβαίνει ο Η/Υ, δηλαδή τη γλώσσα μηχανής. Τα προγράμματα που κάνουν τη μετάφραση αυτή είναι ο Interpreter ή ο Compiler.

16 Πηγαίο (Source) Μετάφραση Μεταγλωττιστής Αντικείμενο (Object) Συνδέτης - φορτωτής Βιβλιοθήκες Σύνδεση – φόρτωση και παραγωγή του Εκτελέσιμου Εκτελέσιμο (Executable) Πρόγραμμα & Προγραμματισμός

17 Interpreter (Διερμηνέας): Μεταφράζει μια-μια τις εντολές συγχρόνως με την εκτέλεση τους. Compiler (Μεταφραστής): Μεταφράζει μια φορά ολόκληρο το πρόγραμμα. Στη συνέχεια το μεταφρασμένο πρόγραμμα εκτελείται. Ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου ονομάζεται συνήθως πηγαίος κώδικας (source code). Μετά τη μετατροπή του σε γλώσσα μηχανής από το μεταφραστή (compiler) δημιουργείται το αντικείμενο πρόγραμμα (object program).

18 Πρόγραμμα & Προγραμματισμός Το αντικείμενο πρόγραμμα στη συνέχεια συνδέεται με βιβλιοθήκες της γλώσσας προγραμματισμού και άλλα αντικείμενα προγράμματα προκειμένου να δημιουργηθεί ο εκτελέσιμος κώδικας ή αλλιώς το εκτελέσιμο πρόγραμμα (executable program). Προγραμματισμός είναι μια διαδικασία που αποτελείται από καθορισμένα στάδια, σε καθένα από τα οποία γίνονται διάφορες ενέργειες με σκοπό το μετασχηματισμό του προβλήματος και της μεθόδου λύσης του σε μια μορφή που να είναι κατανοητή και αποδεκτή από τον Η/Υ.

19 Στάδια προγραμματισμού Φάση Ανάλυσης (Analysis) Η αναγνώριση, ο ορισμός και ο καθορισμός των προδιαγραφών του προβλήματος. Εντοπισμός των χρήσιμων εννοιών και απλοποίηση ορισμένων στοιχείων. Φάση Σχεδιασμού (Design) Σκιαγράφηση της λύσης και διάκριση ανεξαρτήτων διαδικασιών. Επιλογή και περιγραφή ενός αλγόριθμου που να είναι πραγματοποιήσιμος, σαφής, γενικός, αποτελεσματικός, ταχύς και οικονομικός.

20 Στάδια προγραμματισμού Φάση Υλοποίησης (Implementation) Επιλογή της γλώσσας προγραμματισμού βάσει της φύσης του προβλήματος. Κωδικοποίηση του αλγορίθμου σε πρόγραμμα. Έλεγχος προγράμματος για ανίχνευση λαθών. Τα λάθη χωρίζονται σε τρεις κατηγορίες : α) συντακτικά λάθη (syntax errors), β) λογικά λάθη (logical errors), γ) λάθη εκτέλεσης. Χρήση του προγράμματος με ποικίλα δεδομένα για να διαπιστωθούν τυχόν λάθη.

21 Αλγόριθμος Το πεπερασµένο σύνολο των διακριτών, λογικών βηµάτων που πρέπει να ακολουθηθούν για την επίλυση ενός προβλήµατος.

22 Είδη προγραμματισμού

23

24

25 Πρακτικές καλού προγραμματισμού

26 Λογικό διάγραμμα Το λογικό διάγραμμα στον προγραμματισμό είναι το πλάνο εργασίας. Σ’ αυτό το πλάνο χρησιμοποιούμε καθορισμένα σύμβολα για να παραστήσουμε τα διάφορα στάδια ενός αλγορίθμου. κυρίως χρησιμοποιούμε έξι σύμβολα. a.Τα βέλη. Τα βέλη δείχνουν τη φορά διαδοχής των βημάτων b.Τα ρομβοειδή ’’κουτιά’’ με δύο εξόδους ΝΑΙ ΟΧΙ Τ

27 Λογικό διάγραμμα c. Τα ‘’ορθογώνια κουτιά’’ με μια έξοδο d.Οι κόμποι ή ενώσεις με δύο ή περισσότερες εισόδους και μια έξοδο Πράξεις

28 Λογικό διάγραμμα e.Αρχή του αλγορίθμου f.Το τέλος του αλγορίθμου Συχνά θα ισοδυναμεί και με την εκτύπωση των αποτελεσμάτων της επεξεργασίας. Αρχή Τέλος

29 Λογικό διάγραμμα

30

31

32 Παράδειγμα Αρχή Μ Αρχική τιμή Ν Αρχική τιμή Έστω L το υπόλοιπο της διαίρεσης Μ/Ν Μ Ν Ν L MKΔ Ν Τέλος L=0; ΝΑΙ OXI ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΝΑ ΒΡΟΥΜΕ ΤΟΝ ΜΚΔ ΔΥΟ ΑΡΙΘΜΩΝ ΕΣΤΩ Μ και Ν OXI

33 Παράδειγμα

34 Λάθη Τα συντακτικά λάθη ανιχνεύονται κατά την διαδικασία της μεταγλώττισης ή διερμήνευσης. Αφορούν παραβιάσεις του τυπολογικού και συντακτικού της γλώσσας. (π.χ. μία εντολή έχει γραφτεί συντακτικά λάθος). Στην περίπτωση αυτή ο προγραμματιστής πρέπει να επιστρέψει στο πηγαίο πρόγραμμα, να διορθώσει τα λάθη και να το ξαναυποβάλλει για μεταγλώττιση. Τα λογικά λάθη είναι και τα πλέον δύσκολα στην ανίχνευσή τους. Έχουν να κάνουν με σφάλματα στη λογική επίλυσης του προβλήματος ή λανθασμένης διατύπωσης του αλγορίθμου (π.χ. το πρόγραμμα παράγει άλλα αποτελέσματα κι όχι τα ζητούμενα!).

35 Λογικά λάθη Ο υπολογιστής εκτελεί όλες τις πράξεις ενός προγράμματος χωρίς να μπορεί να κάνει έλεγχο της λογικής ορθότητας του προγράμματος. Τα λανθασμένα αποτελέσματα ενός προγράμματος το οποίο δεν έχει υποστεί έλεγχο των αποτελεσμάτων του, οφείλονται αποκλειστικά και μόνο σε λάθη του προγραμματιστή και λέγονται λογικά λάθη (logical errors). Τα λογικά λάθη ευθύνονται για τα λανθασμένα αποτελέσματα ενός προγράμματος.

36 Fortran IBM 1966Fortran 66 (First standard edition) 1978Fortran Fortran Fortran 95 Fortran 2000 Fortran 2003 Fortran 2008


Κατέβασμα ppt "ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Ι. Σαρρής, τηλ. Εαρινό εξάμηνο."

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


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