Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τι είναι ο προγραμματισμός
Advertisements

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

Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Κεφ. 2.3 Προγραμματισμός Ενοτ.2.3.1 Αναφορά σε γλώσσες προγραμματισμού και προγραμματιστικά υποδείγματα Ενοτ. 2.3.2 Σχεδίαση και συγγραφή κώδικά

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (1/6) Ένας αλγόριθμος για να εκτελεστεί από την Η/Υ πρέπει να αναπαρασταθεί σε μορφή κατανοητή από αυτόν. Για το σκοπό αυτό αναπτύχθηκαν οι γλώσσες προγραμματισμού. Οι γλώσσες προγραμματισμού επιτρέπουν την επικοινωνία του ανθρώπου (προγραμματιστή) με τη μηχανή (υπολογιστή).

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (2/6) Πρόγραμμα: Είναι το σύνολο εντολών που χρειάζεται να δοθούν στον υπολογιστή ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση ενός προβλήματος . Η διαδικασία σύνταξης των προγραμμάτων σε κάποια γλώσσα προγραμματισμού ονομάζεται προγραμματισμός. Τα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα ονομάζονται προγραμματιστές.

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (3/6) Αρχικά τα προγράμματα γράφονταν σε γλώσσα μηχανής: Δυαδική αναπαράσταση Δυσνόητη και δύσκολη στην εκμάθηση Απαιτεί καλή γνώση του υλικού & της αρχιτεκτονικής του Η/Υ Διαφορετική σε κάθε διαφορετικό επεξεργαστή. Στη συνέχεια αναπτύχθηκαν οι συμβολικές γλώσσες (γλώσσες assembly): Εντολές με συμβολικά ονόματα (π.χ. ADD, CMP, MOV) 1-1 αντιστοίχηση με τις εντολές της γλώσσας μηχανής Μετάφραση σε γλώσσα μηχανής από τον συμβολομεταφραστή (assembler)

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (4/6) Οι συμβολικές γλώσσες βελτίωσαν κάπως την κατάσταση αλλά εξακολουθούσαν να είναι δύσκολες και άμεσα εξαρτώμενες από την αρχιτεκτονική του Η/Υ “Life is too short to program in assembly” Για να ξεπεραστούν τα προβλήματα αναπτύχθηκαν οι γλώσσες υψηλού επιπέδου: Φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης Ανεξαρτησία από τον επεξεργαστή και δυνατότητα μεταφοράς και εκτέλεσης σε οποιοδήποτε Η/Υ (μεταφερσιμότητα) Εύκολη εκμάθηση, διόρθωση λαθών και συντήρηση προγραμμάτων.

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (5/6) Παραδείγματα: FORTRAN (FORmula TRANslator) COBOL (Common Business Oriented Language) LISP (LISt Processor) PROLOG (PROgramming in LOGic) BASIC (Beginner’s All Purpose Symbolic Instruction Code) PASCAL C / C++ JAVA Μετεξελίξεις: Visual Basic Visual C++ Delphi

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (6/6) Οπτικές Γλώσσες (Visual Programming Languages): SCRATCH – BYOB Google AppInventor Γλώσσες Ειδικού Σκοπού: LOGO (Εκπαιδευτικού χαρακτήρα) GameMaker (Δημιουργία Παιχνιδιών) LabView (σχεδιασμός, έλεγχος, δοκιμή προϊόντων) Γλώσσες 4ης Γενιάς: Αποκρύπτουν πολλές λεπτομέρειες, ευκολότερες στη χρήση. SQL (Structured Query Language, Διαχείριση Βάσεων Δεδομένων)

2.3.1.2 Προγραμματιστικά Υποδείγματα (1/4) 2.3.1.2 Προγραμματιστικά Υποδείγματα (1/4) Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία αναπτύσσονται η δομή και τα στοιχεία του προγράμματος Το προγραμματιστικό υπόδειγμα καθορίζει τις δυνατότητες και τις μεθοδολογίες ανάπτυξης προγραμμάτων που αυτή παρέχει. Μια γλώσσα μπορεί να υποστηρίζει περισσότερα από ένα υποδείγματα

2.3.1.2 Προγραμματιστικά Υποδείγματα (2/4) 2.3.1.2 Προγραμματιστικά Υποδείγματα (2/4) Τα κυριότερα προγραμματιστικά υποδείγματα: Προστακτικός Προγραμματισμός (εντολές σε προστακτική: Διάβασε, Γράψε, Επανάλαβε κτλ). Π.χ. Fortran, Basic, Pascal Δηλωτικός Προγραμματισμός (επίλυση προβλήματος μέσω περιγραφής των επιθυμητών ιδιοτήτων του αποτελέσματος). Π.χ. Prolog Συναρτησιακός Προγραμματισμός (επίλυση με χρήση μαθηματικών συναρτήσεων) Π.χ. Lisp

2.3.1.2 Προγραμματιστικά Υποδείγματα (3/4) 2.3.1.2 Προγραμματιστικά Υποδείγματα (3/4) Τα κυριότερα προγραμματιστικά υποδείγματα (συνέχ.): Αντικειμενοστραφής Προγραμματισμός (βασίζεται στην έννοια του αντικειμένου. Κάθε αντικείμενο ανήκει σε μια κλάση και έχει συγκεκριμένα χαρακτηριστικά). Π.χ. C++, Java Λογικός Προγραμματισμός (το πρόγραμμα είναι σύνολο από λογικές εκφράσεις, εφαρμογή στην τεχνητή νοημοσύνη). Π.χ. Prolog Παράλληλος Προγραμματισμός (εκμεταλλεύεται την ύπαρξη πολλών επεξεργαστών) Π.χ. Occam

2.3.1.2 Προγραμματιστικά Υποδείγματα (4/4) 2.3.1.2 Προγραμματιστικά Υποδείγματα (4/4)

2.3.1.3 Δομημένος Προγραμματισμός (1/2) 2.3.1.3 Δομημένος Προγραμματισμός (1/2) Ο Δομημένος Προγραμματισμός είναι μια πολύ δημοφιλής και διαδεδομένη μεθοδολογία στο χώρο της Πληροφορικής. Ο Δομημένος Προγραμματισμός χρησιμοποιεί: Την ιεραρχική σχεδίαση για την ανάπτυξη του αλγορίθμου που επιλύει το πρόβλημα. Τον τμηματικό προγραμματισμό για τη σχεδίαση του προγράμματος και για τη δημιουργία των ενοτήτων του. Τρεις βασικές συνιστώσες/δομές για τη συγγραφή των επιμέρους ενοτήτων που καθιστούν άσκοπη τη χρήση της εντολής GOTO (Πήγαινε).

2.3.1.3 Δομημένος Προγραμματισμός (2/2) 2.3.1.3 Δομημένος Προγραμματισμός (2/2) Η ιεραρχική σχεδίαση ή ανάλυση «από πάνω προς τα κάτω» χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα. Ο τμηματικός προγραμματισμός υλοποιεί την ιεραρχική σχεδίαση όπου κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα που ονομάζεται υποπρόγραμμα. Χρησιμοποιούνται μόνο 3 βασικές αλγοριθμικές δομές δομή ακολουθίας δομή επιλογής δομή επανάληψης

2.3.2 Σχεδίαση και συγγραφή κώδικα (1/5) Εργαλεία ανάπτυξης προγραμμάτων: Συντάκτης (editor). Ειδικό πρόγραμμα για τη συγγραφή του πηγαίου προγράμματος (source code) Πρόγραμμα Μετάφρασης. Μεταφράζει τον πηγαίο κώδικα σε αντικείμενο κώδικα (object code) δηλ. σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον Η/Υ (εντολές γλώσσας μηχανής). Συνδέτης-Φορτωτής (Linker-Loader). Σύνδεση του αντικείμενου κώδικα με άλλα τμήματα προγράμματος (π.χ. βιβλιοθήκες) και παραγωγή του εκτελέσιμου (executable) προγράμματος

2.3.2 Σχεδίαση και συγγραφή κώδικα (2/5) Πορεία συγγραφής, μεταγλώττισης και σύνδεσης προγράμματος

2.3.2 Σχεδίαση και συγγραφή κώδικα (3/5) Είδη προγραμμάτων Μετάφρασης: Μεταγλωττιστές (compilers). Δέχονται στην είσοδο ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγουν ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Διερμηνευτές (Interpreters). Διαβάζουν μία προς μία τις εντολές του πηγαίου προγράμματος και για καθεμία εκτελούν αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.

2.3.2 Σχεδίαση και συγγραφή κώδικα (4/5) Διαδικασία μετάφρασης και εκτέλεσης προγράμματος με Διερμηνευτή και Μεταγλωττιστή

2.3.2 Σχεδίαση και συγγραφή κώδικα (5/5) Είδη λαθών κατά την ανάπτυξη προγραμμάτων: Συντακτικά Λάθη. Είναι τα λάθη που εμφανίζονται κατά τη μετάφραση του προγράμματος και έχουν να κάνουν με τη μορφή και δομή της γλώσσας (π.χ. αναγραμματισμοί, σε λανθασμένη σύνταξη εντολών. Ανιχνεύονται όλα από τα προγράμματα μετάφρασης. Λογικά Λάθη. Είναι τα λάθη στη δομή και τη λογική του αλγορίθμου και εμφανίζονται κατά την εκτέλεση του προγράμματος (π.χ. λάθος πράξη, ορισμός λάθος συνθήκης). Δεν ανιχνεύονται από τα προγράμματα μετάφρασης αλλά από τον προγραμματιστή.