κεφ 6 ανάπτυξη εφαρμογών

13
Ανάπτυξη Εφαρμογών Κεφ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Transcript of κεφ 6 ανάπτυξη εφαρμογών

Page 1: κεφ 6 ανάπτυξη εφαρμογών

Ανάπτυξη Εφαρμογών Κεφ 6ο

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Page 2: κεφ 6 ανάπτυξη εφαρμογών

6.1 Η έννοια του προγράμματος

Επίλυση προβλήματος – 3 σταδία Ακριβής προσδιορισμός Ανάπτυξη αντιστοίχου αλγορίθμου Διατύπωση του αλγορίθμου σε μορφή κατανοητή από

τον υπολογιστή

Προγραμματισμός – ορισμός Πρόγραμμα – ορισμός (Wirth) Ποίος κάνει το υπολογιστή να μοιάζει έξυπνος;

Page 3: κεφ 6 ανάπτυξη εφαρμογών

6.2 Ιστορική αναδρομή

Περιορισμένες δυνατότητες, υπολογιστική ισχύ και ταχύτητα -> αύξησηΥλικόΑρχιτεκτονικήΓλώσσες Προγραμματισμού

Page 4: κεφ 6 ανάπτυξη εφαρμογών

6.2.1 Γλώσσες Μηχανής

Πρόγραμμα γραμμένο ως ακολουθίες 0 και 1 μορφή κατανοητή για τον υπολογιστή όχι όμως και για τον άνθρωπο

Εξάρτηση από την αρχιτεκτονική Οι εντολές ενός προγράμματος

μετατρέπονται σε γλώσσα μηχανής

Page 5: κεφ 6 ανάπτυξη εφαρμογών

6.2.2 Συμβολικές Γλώσσες ή γλώσσες χαμηλού επιπέδου Προσπάθεια χρήσης συμβολικών ονομάτων για

τις εντολές π.χ ADD Συμβολομεταφραστής: μεταφράζει ένα τέτοιο

πρόγραμμα σε γλώσσα μηχανής Μειονεκτήματα

Εξάρτηση από την αρχιτεκτονική Όχι σύνθετες λειτουργίες Μεγάλα προγράμματα Δυσκολία στην ανάπτυξη και συντήρηση

Page 6: κεφ 6 ανάπτυξη εφαρμογών

6.2.3 Γλώσσες Υψηλού επιπέδου

Χρησιμοποιούν ως εντολές απλές λέξεις της αγγλικής, ακολουθώντας αυστηρούς κανόνες σύνταξης οι οποίες μεταφράζονται από τον υπολογιστή σε γλώσσα μηχανής

Page 7: κεφ 6 ανάπτυξη εφαρμογών

FORTRAN (1957 IBM) επίλυση μαθηματικών και άλλων επιστημονικών προβλημάτων

COBOL (1960) Ανάπτυξη εμπορικών και διαχειριστικών εφαρμογών

ALGOL (1960) Προγράμματα γενικής φύσης

PL1 Για εμπορικούς και επιστημονικούς σκοπούς, αλλά απέτυχε

LISP & PROLOG Τεχνητή νοημοσύνη (παιχνίδια, έμπειρα συστήματα, επεξεργασία

φυσικών γλωσσών

6.2.3 Γλώσσες Υψηλού επιπέδου

Page 8: κεφ 6 ανάπτυξη εφαρμογών

BASIC Εκπαίδευση αρχαρίων Σε συνδυασμό με την ανάπτυξη των μικροϋπολογιστών και η

τυποποίηση της από Microsoft (QBasic , Visual Basic) -> πρότυπο ανάπτυξης εφαρμογών σε PC

Pascal Γενικής χρήσης, εκπαίδευση, ισχυρά προγράμματα κάθε τύπου,

δομημένος προγραμματισμός C (BELL)

Ανάπτυξη UNIX (προγραμματισμό συστημάτων) C++ αντικειμενοστραφής προγραμματισμός

JAVA (sun) Προγραμματισμός στο διαδίκτυο, ανάπτυξη προγραμμάτων σε

κατανεμημένα περιβάλλοντα

6.2.3 Γλώσσες Υψηλού επιπέδου

Page 9: κεφ 6 ανάπτυξη εφαρμογών

ΓΠΕ -> νέες ΓΠ και νέες εκδόσεις ΓΠ όπου.. Οδηγούμενος από το γεγονός προγραμματισμός Οπτικός Προγραμματισμός Visual Basic, Visual C++, JAVA

Πλεονεκτήματα ΓΠ υψηλού επιπέδου Φυσικότερος – ‘πιο ανθρώπινος τρόπος έκφρασης των

προβλημάτων Ανεξαρτησία από τον τύπο του υπολογιστή – μεταφερσιμότητα Ευκολία εκμάθησης και εκπαίδευσης Εύκολη διόρθωση λαθών και συντήρηση Ανάπτυξη προγραμμάτων σε λιγότερο χρόνο και κόστος

6.2.3 Γλώσσες Υψηλού επιπέδου

Page 10: κεφ 6 ανάπτυξη εφαρμογών

6.2.4 Γλώσσες 4ης γενιάς

Γλώσσες 3ης γενιάς για προγραμματιστές Γλώσσες 4ης γενιάς

Απόκρυψη υλικού και αρχιτεκτονικήςΑπόκρυψη τεχνικής προγραμματισμούΧρήστης υποβάλλει ερωτήματα, αναπτύσσει

εφαρμογές που αντλούν δεδομένα από ΒΔΠ.χ SQL

Page 11: κεφ 6 ανάπτυξη εφαρμογών

Ταξινόμηση Γλωσσών Προγραμματισμού Είδος προγραμματισμού

Διαδικασιακές Αντικειμενοστραφείς Συναρτησιακές Μη διαδικασιακές Γλώσσες

ερωταπαντήσεων

Χρήση Επιστημονικής

κατεύθυνσης Εμπορικής κατεύθυνσης Προγραμματισμού

συστημάτων Τεχνητής Νοημοσύνης Γλώσσες ειδικής χρήσης

(γραφικά, ρομποτική, ΣΔΒΔ, σχεδίαση ολοκληρωμένων κυκλωμάτων)

Page 12: κεφ 6 ανάπτυξη εφαρμογών

Ποια είναι η καλύτερη Γλώσσα Προγραμματισμού Υπάρχει? Κριτήρια επιλογής

Είδος εφαρμογήςΥπολογιστικό περιβάλλον εκτέλεσηςΠρογραμματιστικό περιβάλλον που

διαθέτουμεΓνώσεις – προτιμήσεις προγραμματιστή

Page 13: κεφ 6 ανάπτυξη εφαρμογών

6.3 Φυσικές & Τεχνητές Γλώσσες

Αλφάβητο το σύνολο των στοιχείων που χρησιμοποιεί η γλώσσα

Λεξιλόγιο υποσύνολο όλων των δυνατών ακολουθιών που δημιουργούνται από τα

στοιχεία του αλφαβήτου Γραμματική

Τυπικό Σύνολο κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη γίνεται

αποδεκτή Συντακτικό

Σύνολο κανόνων που καθορίζουν την νομιμότητα διάταξης των λέξεων για τη δημιουργία προτάσεων

Σημασιολογία Σύνολο κανόνων που καθορίζουν το νόημα των λέξεων