Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Επιμέλεια: Τίκβα Χριστίνα
Advertisements

Προγραμματισμοσ υπολογιστη
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
7.5.2 Αντικειμενοστραφής προγραμματισμός
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Προγραμματισμός υπολογιστή
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΜΑΘ-3122/106 Προγραμματισμός
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΕΠΛ223 Θεωρία και Πρακτική Μεταγλωττιστών Εαρινό Εξάμηνο 2002 Κ. Μουρλάς, Λέκτορας Σημείωση: Οι διαφάνειες αυτές βασίζονται κατά το μεγαλύτερο μέρος τους.
ΛΟΓΙΣΜΙΚΟ Πρόγραμμα Είναι μία ακολουθία από εντολές, σε λογική σειρά, με σκοπό να κατευθύνουν τον Η.Υ. στην εκτέλεση των επιθυμητών εργασιών. ΛΟΓΙΣΜΙΚΟ.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Ίδιες αρχές λειτουργίας
ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ
Εισαγωγή στον προγραμματισμό
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Λογισμικό (Software).
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου.
1.5 Γλώσσες Προγραμματισμού
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
Περιεχόμενα Μαθήματος
Γλώσσες Προγραμματισμού
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Κεφάλαιο 10 – Υποπρογράμματα
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ -150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 6 Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ.
Εισαγωγή στον προγραμματισμό ΤΑΞΗ: Γ’ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ.
LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ.
ΕΙΔΗ, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 7 © Βελώνης Γεώργιος.
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α΄ ΛΥΚΕΙΟΥ
Ενότητα 3 : Γλώσσες προγραμματισμού Δρ. Γκόγκος Χρήστος
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Στοιχεία Δομημένου Προγραμματισμού
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΥΠΟΔΕΙΓΜΑΤΑ  Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία.
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Γ' ΤΑΞΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Μεταγράφημα παρουσίασης:

Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου να μεταφραστεί σε γλώσσα μηχανής να γίνει η επεξεργασία από την CPU να εκτελεστεί η διεργασία. 

Γλώσσες προγραμματισμού Γλώσσες μηχανής Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου ή γλώσσες Assembly Γλώσσες υψηλού επιπέδου Γλώσσες 4ης γενιάς

Γλώσσες υψηλού επιπέδου FORTRAN COBOL ALGOL LISP PROLOG BASIC PASCAL C C++ JAVA

Γλώσσα υψηλού επιπέδου vs. Γλώσσα μηχανής Γλώσσες προγραμματισμού υψηλού επιπέδου Ευκολότερη κατανόηση Προστασία από λάθη κατά την έκφραση αλγορίθμων Μεταφερσιμότητα / φορητότητα Γλώσσες Μηχανής Γρηγορότερα και συντομότερα προγράμματα Άμεση πρόσβαση σε στοιχεία του υλικού Συντονισμός

Πλεονεκτήματα των γλωσσών υψηλού επιπέδου   Πλεονεκτήματα των γλωσσών υψηλού επιπέδου Φυσικότερος και «ανθρώπινος» τρόπος έκφρασης των προβλημάτων. Η ανεξαρτησία από τον τύπο του υπολογιστή Η ευκολία της εκμάθησης Η διόρθωση λαθών και η συντήρηση προγραμμάτων σε γλώσσα υψηλού επιπέδου είναι πολύ ευκολότερο έργο.

Ειδικά προγράμματα μεταγλωττιστές (compilers) διερμηνευτές (interpreters) συνδέτης-φορτωτής (linker-loader)

Διερμηνευτής (interpreter) Ο διερμηνευτής είναι ένα πρόγραμμα το οποίο διαβάζει, μεταφράζει και εκτελεί δήλωση προς δήλωση προγράμματα που έχουν γραφτεί σε μια γλώσσα υψηλού επιπέδου

Μεταγλωττιστής (compiler) Ο μεταγλωττιστής είναι ένα πρόγραμμα το οποίο διαβάζει προγράμματα που έχουν γραφτεί σε μια γλώσσα υψηλού επιπέδου– την πηγαία (source) γλώσσα – και τα μεταφράζει σε ισοδύναμα προγράμματα σε μια άλλη γλώσσα – γλώσσα μεταφοράς (target )

Μεταφραστές vs. Μεταγλωττιστές Πολλαπλή μετάφραση ίδιων δηλώσεων προγράμματος (επιβάρυνση στην ταχύτητα εκτέλεσης) Μεγαλύτερη ικανότητα εντοπισμού σφαλμάτων Ενδείκνυται κατά την ανάπτυξη Μεταγλωττιστές Επαναληπτική εκτέλεση μεταγλωττισμένων προγραμμάτων Ταχύτητα Ενδείκνυται για παραγωγική χρήση

Μεταγλώττιση και σύνδεση του προγράμματος Αρχικό  Πρόγραμμα Μεταγλωττιστής Τελικό Συνδέτης Εκτελέσιμο

Διαδικασία μεταγλώττισης Αρχή Συγγραφή/Επεξεργασία Πηγαίου Κώδικα Μεταγλώττιση Πηγαίου Κώδικα ναι Συντακτικά Λάθη; Βιβλιοθήκες Object αρχεία όχι Σύνδεση (Link) Εκτέλεση ναι Λάθη; όχι ΤΕΛΟΣ

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

Ο διερμηνευτής (interpreter) έχει το πλεονέκτημα της άμεσης εκτέλεσης των εντολών και συνεπώς της άμεσης διόρθωσης σε περίπτωση λάθους. Μειονεκτεί στην ταχύτητα σε σχέση με το μεταγλωττιστή. Ο μεταγλωττιστής (compiler) μειονεκτεί σε σχέση με το διερμηνευτή αφού δεν εκτελεί αμέσως τις εντολές, αλλά πρέπει το πρόγραμμα να περάσει από τη διαδικασία της μεταγλώττισης και σύνδεσης για να γίνει εκτελέσιμο. Ένα προγραμματιστικό περιβάλλον πρέπει να περιέχει τουλάχιστον συντάκτη, μεταγλωττιστή και συνδέτη για τη δημιουργία, μετάφραση και εκτέλεση του προγράμματος. Τα σύγχρονα προγραμματιστικά περιβάλλοντα συνήθως χρησιμοποιούν διερμηνευτή κατά τη φάση της δημιουργίας του προγράμματος και μεταγλωττιστή για την τελική δημιουργία του εκτελέσιμου προγράμματος. 13

Ταξινόμηση γλωσσών προγραμματισμού Αντικειμενοστραφείς γλώσσες (object-oriented languages). Συναρτησιακές γλώσσες (functional languages) π.χ LISP. Μη διαδικασιακές γλώσσες (non procedural languages) π.χ PROLOG. Χαρακτηρίζονται επίσης ως γλώσσες πολύ υψηλού επιπέδου. Γλώσσες ερωταπαντήσεων (query languages) π.χ SQL

Ταξινόμηση βάσει της περιοχής χρήσης Γλώσσες γενικής χρήσης Γλώσσες επιστημονικής κατεύθυνσης (science oriented languages) π.χ FORTRAN Γλώσσες εμπορικής κατεύθυνσης (business-oriented language) π.χ COBOL

Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Τμηματικός προγραμματισμός Δομημένος προγραμματισμός

Πλεονεκτήματα του δομημένου προγραμματισμού  Δημιουργία απλούστερων προγραμμάτων   Άμεση μεταφορά των αλγορίθμων σε προγράμματα Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους Ευκολότερη διόρθωση και συντήρηση

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Θεωρεί ως πρωτεύοντα δομικά στοιχεία τα δεδομένα από τα οποία δημιουργούνται με κατάλληλη μορφοποίηση τα αντικείμενα. Τα δεδομένα αποτελούν τα χαρακτηριστικά ενός αντικειμένου. Το πρόγραμμα περιγράφει ενέργειες που εφαρμόζονται πάνω στα δεδομένα. Οι ενέργειες περιγράφουν τη συμπεριφορά των αντικειμένων. Τα προγράμματα που προκύπτουν είναι πιο ευέλικτα και επαναχρησιμοποιήσιμα. Ο ΑΠ χρησιμοποιεί την ιεραρχική σχεδίαση, τον τμηματικό προγραμματισμό και ακολουθεί τις αρχές του δομημένου προγραμματισμού.

ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Το πρόγραμμα εκτελείται σε Η/Υ που διαθέτει παράλληλους επεξεργαστές οι οποίοι χρησιμοποιούν κοινή μνήμη. Το πρόγραμμα διαιρείται σε τμήματα που εκτελούνται παράλληλα. Τα τμήματα αυτά προγραμματίζονται σε περιβάλλον που επιτρέπει τον παράλληλο προγραμματισμό.