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

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

LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική.

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


Παρουσίαση με θέμα: "LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική."— Μεταγράφημα παρουσίασης:

1 LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική Σχολή Α.Π.Θ. Msc Προηγμένα Συστήματα Υπολογιστών και Επικοινωνιών Α.Π.Θ. Ειδίκευση στη διαχείριση έργων και κινδύνων Ε.Κ.Π.Α. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λάρισας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Βασικές αρχές προγραμματισμού

2 Εισαγωγή Ορισμοί Ο κύκλος ανάπτυξης προγράμματος Περιγραφή - Ανάλυση προβλήματος Λογικό Διάγραμμα - Ψευδοκώδικας Γλώσσες Προγραμματισμού ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

3 Ορισμοί  Αλγόριθμο ονομάζουμε μια ταξινομημένη ακολουθία μη διφορούμενων βημάτων που οδηγούν στη λύση ενός προβλήματος.  Πρόγραμμα ονομάζουμε την αναπαράσταση ενός ή πολλών αλγορίθμων σε μορφή κατανοητή από τον υπολογιστή  Η διαδικασία της ανάπτυξης ενός αλγορίθμου σε συνδυασμό με τη συγγραφή ενός προγράμματος καλείται προγραμματισμός.  Το σύνολο των γραμματικών και συντακτικών κανόνων που μας επιτρέπει να δίνουμε εντολές στον Η/Υ μέσω ενός προγράμματος καλείται γλώσσα προγραμματισμού  Η διαδικασία που ακολουθούμε για την ανάπτυξη ενός προγράμματος καλείται κύκλος ανάπτυξης προγράμματος ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

4 Ο κύκλος ανάπτυξης προγράμματος  Ο κύκλος ανάπτυξης προγράμματος αναλύεται σε έξι βασικά βήματα:  Περιγραφή του προβλήματος, καθορισμός απαιτήσεων  Ανάλυση προβλήματος, προσδιορισμός της λύσης  Σχεδίαση της λύσης του προβλήματος Ανάπτυξη αλγορίθμου Σχεδιασμός διαγράμματος ροής Δημιουργία ψευδοκώδικα  Κωδικοποίηση σε γλώσσα προγραμματισμού  Έλεγχος, διόρθωση λαθών  Συντήρηση προγράμματος ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

5 Περιγραφή του προβλήματος & καθορισμός απαιτήσεων (1/2)  Προσπαθούμε με απλά βήματα να απομονώσουμε και να καταγράψουμε τις πραγματικές συνιστώσες ενός προβλήματος, τοποθετώντας τις σε λογική σειρά μεταξύ τους.  Ποια είναι τα δεδομένα εισόδου;  Ποιο είναι το απτό αποτέλεσμα που πρέπει να προκύψει από την επίλυση του προβλήματος;  Αποσαφηνίζουμε τους στόχους που επιδιώκουμε να υλοποιήσουμε με αναλυτικό τρόπο προκειμένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας.  Μήπως οι απαιτήσεις για την επίλυση του προβλήματος καθιστούν την αυτοματοποίηση της διαδικασίας μη συμφέρουσα; ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

6 Περιγραφή του προβλήματος & καθορισμός απαιτήσεων (2/2)  Παράδειγμα Εύρεση Φοιτητών 1ου έτους από μια λίστα Δεδομένα Εισόδου: STUDENTS.DAT Αποτέλεσμα: H Λίστα με τους φοιτητές του 1ου έτους. Στόχοι: Εξοικονόμηση μνήμης (RAM) o υποθέστε ότι υπάρχει αρκετή μνήμη για επεξεργασία μόνο μιας εγγραφής o Θυμηθείτε ότι για να επεξεργαστούμε μια εγγραφή πρέπει να ανακτηθεί (μεταφερθεί) από το δίσκο (DISK) στη μνήμη (RAM) ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

7 Ανάλυση του προβλήματος & προσδιορισμός της λύσης (1/2) Ολοκληρωμένη απεικόνιση του πλαισίου επίλυσης του προβλήματος Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος Ελέγχουμε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυμητά δεδομένα εξόδου Διερευνούμε την πιθανότητα ύπαρξης περισσοτέρων λύσεων Επιλέγουμε τη βέλτιστη λύση με βάση τις προδιαγραφές που έχουν τεθεί ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

8 Ανάλυση του προβλήματος & προσδιορισμός της λύσης (2/2)  Παράδειγμα  Λύση 1:  1) Άνοιξε το αρχείο.  2) Διάβασε όλες τις εγγραφές από το δίσκο στη μνήμη.  3) Βρες και τύπωσε στην οθόνη τους φοιτητές του πρώτου έτους.  Λύση 2:  1) Άνοιξε το αρχείο.  2) Διάβασε μια εγγραφή από το δίσκο στη μνήμη.  3) Αν είναι φοιτητής του πρώτου έτους τύπωσε το όνομά του.  4) Αν υπάρχει επόμενη εγγραφή, διάβασε την και μετά επανέλαβε τo βήμα 3-4.  Ποια λύση είναι καλύτερη?  Η Λύση 2 ικανοποιεί το στόχο του προγράμματος. Χρειάζεται μόνο μια εγγραφή να βρίσκεται στην RAM ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

9 Σχεδίαση της λύσης του προβλήματος (1/3)  Ανάπτυξη του αλγορίθμου επίλυσης του προβλήματος  Δημιουργία μιας ταξινομημένης ακολουθίας μη διφορούμενων βημάτων που οδηγούν στη λύση  Σχεδιασμός διαγράμματος ροής  Σχηματικός τρόπος αναπαράστασης του αλγορίθμου input ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

10 Σχεδίαση της λύσης του προβλήματος (2/3) ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

11 Σχεδίαση της λύσης του προβλήματος (3/3) open STUDENT.DAT /* Άνοιξε το αρχείο που περιέχει τη λίστα φοιτητών */ read student_info_rec /* Διάβασε τις πληροφορίες του πρώτου φοιτητή - εγγραφή */ while not EOF do /* Ξεκίνα τον κυρίως βρόχο */ if YEAR=1 then print NAME/* δομή επιλογής */ read student_info_rec /* Διάβασε τις πληροφορίες του επόμενου φοιτητή – εγγραφή */ end while close STUDENT.DAT /* Κλείσε το αρχείο εισόδου */ end /* Τέλος προγράμματος */ ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

12 Κωδικοποίηση (1/2)  Αξιοποιείται η διαδικασία του σχεδιασμού  Πραγματοποιείται η συγγραφή του προγράμματος σε μια γλώσσα προγραμματισμού (π.χ. C, Java, VisualBasic, κλπ).  Μέσω μεταγλωττιστή (compiler) ή μεταφραστή (interpreter) το πρόγραμμα μετατρέπεται σε γλώσσα η οποία είναι αναγνωρίσιμη από τη μηχανή.  Στο στάδιο αυτό γίνεται ο έλεγχος συντακτικών λαθών (λάθη που οφείλονται σε λανθασμένη χρήση των κανόνων της γλώσσας προγραμματισμού) ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

13 Κωδικοποίηση (2/2) ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

14 Έλεγχος λαθών, συντήρηση προγράμματος (1/2)  Έλεγχος λαθών και διόρθωση προγράμματος:  Πραγματοποιούνται συνεχείς δοκιμές προκειμένου να βεβαιωθούμε ότι το πρόγραμμα δουλεύει σωστά.  Διορθώνονται πιθανά λογικά σφάλματα (σφάλματα που σχετίζονται με το σχεδιασμό της λύσης). Π.χ. if YEAR=2 then print NAME, αντί if YEAR=1  Συντήρηση προγράμματος:  Συγγραφή τεκμηρίωσης  Το λογισμικό εγκαθίσταται και ξεκινά η λειτουργία του.  Οι ανάγκες των χρηστών και η συνεχής προσαρμογή των προγραμμάτων στις νέες απαιτήσεις καθιστούν αναγκαία τη συνεχή παρακολούθηση του προγράμματος και την τροποποίηση του. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

15 Έλεγχος λαθών, συντήρηση προγράμματος (2/2)  Επέστρεψε το πρόγραμμα τις αναμενόμενες τιμές;  Το πρόγραμμα πρέπει να ελεγχθεί και με άλλες τιμές εισόδου πριν να χρησιμοποιηθεί.  Αν βρεθούν λάθη τότε αυτά πρέπει να διορθωθούν ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

16 Γλώσσες προγραμματισμού (1/4)  Γλώσσα Μηχανής- Machine Language, (Γλώσσα πρώτης γενιάς- 1940)  Είναι η φυσική γλώσσα των Η/Υ.  Είναι κώδικας σε δυαδική μορφή (0,1).  Διακρίνεται για την ταχύτητα εκτέλεσης των εντολών της και τη βέλτιστη χρήση της κύριας μνήμης.  Είναι δύσκολη στη χρήση της, στον εντοπισμό και διόρθωση τυχόν λαθών.  Συμβολική γλώσσα -Assembly Language ( Γλώσσα δεύτερης Γενιάς - 1950-60)  Μνημονική αναπαράσταση των χαρακτήρων.  Είναι πιο εύκολη στη γραφή και στην κατανόηση.  Η εκτέλεσή της απαιτεί τη μετάφρασή της σε γλώσσα μηχανής μέσω των συμβολομεταφραστών (Assembler). ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

17 Γλώσσες προγραμματισμού (2/4)  Γλώσσες υψηλού επιπέδου- High level Languages, (Γλώσσες τρίτης Γενιάς 1960-..)  Εννοιολογικά εμφανίζονται να βρίσκονται πιο κοντά στις ανθρώπινες γλώσσες.  Χρησιμοποιούν ένα μικρό σύνολο από αγγλικές λέξεις.  Για να εκτελεστεί ένα τέτοιο πρόγραμμα γίνεται χρήση μεταγλωττιστών (Compilers) και των μεταφραστών ή διερμηνευτών (Interpreters).  Παραδείγματα: Cobol, Fortran, Basic, Logo, Pascal, Ada, C ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

18 Γλώσσες προγραμματισμού (3/4)  Γλώσσες τέταρτης γενιάς - 4th Generation Languages.-1980 -1990  Ο προγραμματιστής δεν περιγράφει αλγορίθμους. Απλά καθορίζει τα δεδομένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δημιουργεί τον κώδικα σε κάποια γλώσσα προγραμματισμού.  Αντικειμενοστρεφείς γλώσσες προγραμματισμού (Object oriented Language). Παραδείγματα: C++, Java, Visual basic.  Γλώσσες ανάπτυξης εφαρμογών τεχνητής νοημοσύνης, Π.χ LISP, PROLOG.  Γλώσσες ερωταποκρίσεων.  Γεννήτριες προγραμμάτων.  Συστήματα διαχείρισης βάσεων δεδομένων. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

19 Γλώσσες προγραμματισμού (4/4)  Γλώσσες Πέμπτης Γενιάς (5th Generation language) - 21ος αιώνας  Η επικοινωνία μεταξύ ανθρώπου και μηχανής γίνεται με τη βοήθεια φυσικής γλώσσας.  Χρησιμοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας.  Αναπτύσσονται τεχνικές αναγνώρισης φωνής.  Έχουν μεγάλες υπολογιστικές απαιτήσεις.  Δεν έχουν ακόμη αναπτυχθεί πρότυπα με ευρεία αποδοχή.  Όλες οι παραπάνω γλώσσες, εκτός από τη γλώσσα μηχανής, προκειμένου να γίνουν κατανοητές από τον Η/Υ πρέπει να μεταφραστούν σε γλώσσα μηχανής ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

20 Ειδή προγραμματισμού (1/2)  Ιεραρχικός Προγραμματισμός(Top-down)  Δομή Εντοπίζονται οι βασικές λειτουργίες-υπολειτουργίες του προγράμματος Καθορίζονται οι υπολειτουργίες  Ιεραρχικά επίπεδα (levels)  Διαγράμματα Η.(Hierarchy) plus I.(Input) P.(Process) O.(Output)  Τμηματικός ή ααρθρωτός προγραμματισμός  Μορφή top-down  Μεγαλύτερη ανάλυση στις υπολειτουργίες  Γράφονται ρουτίνες – υπορουτίνες για τις λειτουργίες ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

21 Ειδή προγραμματισμού (2/2)  Δομημένος προγραμματισμός  Στην επιστήμη υπολογιστών δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural programming) είναι μία προσέγγιση στον προγραμματισμό, η οποία βασίζεται στην έννοια της κλήσης διαδικασίας. Η διαδικασία, γνωστή επίσης και ως ρουτίνα, υπορουτίνα, μέθοδος ή συνάρτηση (δεν σχετίζεται άμεσα με τη μαθηματική έννοια της συνάρτησης), είναι απλά ένα αυτοτελές σύνολο εντολών προς εκτέλεση.  Ο δομημένος προγραμματισμός βασίζεται στην αρχή του διαίρει και βασίλευε, καθώς διασπά το βασικό πρόβλημα σε μικρότερα υποπροβλήματα (γνωστά επίσης και ως εργασίες). Κάθε εργασία με πολύπλοκη περιγραφή διαιρείται σε μικρότερες, έως ότου οι εργασίες να είναι αρκετά μικρές, περιεκτικές και εύκολες προς κατανόηση ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο) - Βασικές αρχές προγραμματισμού

22 ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική Σχολή Α.Π.Θ. Msc Προηγμένα Συστήματα Υπολογιστών και Επικοινωνιών Α.Π.Θ. Ειδίκευση στη διαχείριση έργων και κινδύνων Ε.Κ.Π.Α. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λάρισας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ευχαριστώ για την προσοχή σας


Κατέβασμα ppt "LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική."

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


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