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

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

1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.

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


Παρουσίαση με θέμα: "1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών."— Μεταγράφημα παρουσίασης:

1 1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών ψηφίων Να κάνει στοιχειώδεις αριθμητικές πράξεις Το οποίο σημαίνει ότι ο ΗΥ γίνεται ‘έξυπνος’ αφού προγραμματιστεί!!! Αρχικοί ΥπολογιστέςΣύγχρονοι Υπολογιστές Τεράστιοι σε διαστάσειςΜικροί σε διαστάσεις Μικρές δυνατότητεςΠολλαπλάσιες δυνατότητες Ίδιες αρχές λειτουργίας

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

3 3 Α. Γλώσσες μηχανής (1 η γενιά) Οι εντολές ήταν διατυπωμένες σε ακολουθίες 0 και 1! Π.χ. ένα ‘απλό’ προγραμματάκι… Πρακτικά, οι προγραμματιστές ρύθμιζαν διακόπτες και άλλαζαν καλωδιώσεις σε κυκλώματα!!! Δηλαδή: επίπονη διαδικασία χρονοβόρα διαδικασία για επιστήμονες (experts)

4 4 Β. Συμβολικές γλώσσες ή Γλώσσες χαμηλού επιπέδου (2 η γενιά) Οι εντολές έχουν νόημα για τον άνθρωπο! Π.χ. ADD 5 10 Αλλά:  Μακροσκελή προγράμματα  Αδυναμία μεταφερσιμότητας (δεν μπορούσαν να εκτελεστούν σε ΗΥ με διαφορετική αρχιτεκτονική) Assembler (συμβολομεταφραστής) Συμβολική γλώσσα Γλώσσα μηχανής

5 5 Γ. Γλώσσες υψηλού επιπέδου (3 η γενιά) Fortran1957 Μαθηματικά και επιστημονικά προβλήματα Cobol1960 Εμπορικές εφαρμογές Algol1960 Απόπειρα για γενικής χρήσης γλώσσα προγραμματισμού PL/11965 Και εμπορικά και επιστημονικά LISP -PROLOG1970 Τεχνητή Νοημοσύνη Basic1960 Για εκπαιδευτικούς σκοπούς Pascal1970 Γενικής χρήσης-ισχυρά προγράμ. C Γενικής χρήσης-ισχυρά χαρακτ. Java Internet – κατανεμημένα περιβάλλ. Οι εντολές είναι στα αγγλικά και ακολουθούν αυστηρούς κανόνες σύνταξης Μεταφράζονται σε γλώσσα μηχανής

6 6 Γ. Γλώσσες υψηλού επιπέδου (3 η γενιά) C++-Γλώσσες οπτικού προγραμματισμού (visual programming) Διαθέτουν κουμπιά, εικονίδια, μενού κ.α. οπτικά εργαλεία στον προγραμματιστή, διευκολύνοντας έτσι τον προγραμματισμό γραφικού περιβάλλοντος -Προγραμματισμός οδηγούμενος από το γεγονός (event driven programming) Όταν ο χρήστης προκαλεί ένα γεγονός (π.χ. κλικάρει ένα κουμπί ή διπλοπατάει ένα εικονίδιο) ενεργοποιείται η εκτέλεση των συγκεκριμένων εντολών που έχει ορίσει ο προγραμματιστής. Visual Basic Visual C Delphi Σύγχρονες γλώσσες προγραμματισμού

7 7 Πλεονεκτήματα Οι εντολές πλησιάζουν τις φυσικές γλώσσες Δυνατότητα μεταφερσιμότητας Ευκολία στην εκμάθηση και εκπαίδευση των γλωσσών Ευκολότερη η διόρθωση λαθών και η συντήρηση των προγραμμάτων Συνέπειες Μείωση χρόνου κατασκευής ενός προγράμματος Μείωση κόστους κατασκευής Προσιτός ο προγραμματισμός σε περισσότερους ανθρώπους Γ. Γλώσσες υψηλού επιπέδου (3 η γενιά)

8 8 Δ. Γλώσσες 4 ης γενιάς Οι γλώσσες προγραμματισμού μέχρι την 3η γενιά απευθύνονταν σε προγραμματιστές – επιστήμονες. Με τις γλώσσες 4ης γενιάς οι χρήστες μπορούν να διατυπώνουν απλά ερωτήματα με εύκολο τρόπο στο σύστημα και να ανακτούν πληροφορίες. Π.χ. SQL (γλώσσα ερωταπαντήσεων) σε Βάσεις Δεδομένων Select first_name, last_name, gradeA From pupilsG Where gradeA<9.0

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

10 10 Φυσικές γλώσσες Επικοινωνία μεταξύ ανθρώπων Τεχνητές γλώσσες Επικοινωνία μεταξύ ανθρώπου και μηχανής Διαφορές Οι φυσικές γλώσσες εξελίσσονται! Οι τεχνητές;

11 11 Κοινά χαρακτηριστικά A. Αλφάβητο (σύμβολα που χρησιμοποιούνται) Αγγλική γλώσσα: A, B, C, D, …, ?, 1, 2 κ.τ.λ. ΓΛΩΣΣΑ: Α-Ω, α-ω, Α-Ζ, α-z, !, -, 1-0 B. Λεξιλόγιο (έγκυρες ακολουθίες συμβόλων) Ελληνική γλώσσα: μήλο, Λόλα, τρώω ΓΛΩΣΣΑ: Τέλος_επανάληψης, μέχρι, αλλιώς_αν

12 12 Κοινά χαρακτηριστικά Γ. Γραμματική Τυπικό (αποδεκτές μορφές λέξεων) ΕΛΛΗΝΙΚΗ: γλώσσα, γλώσσας, γλώσσες Συντακτικό (αποδεκτή διάταξη και σύνδεση λέξεων) ΓΛΩΣΣΑ: όσο χ>0 επανάλαβε Δ. Σημασιολογία (νόημα λέξεων, εκφράσεων) Τι δηλώνει το τέλος_προγράμματος στη ΓΛΩΣΣΑ;

13 13 Ιεραρχική σχεδίαση Διάσπαση του προβλήματος σε απλούστερα υποπροβλήματα Π.χ. Υπολογισμός του Μ.Ο. και της Διαμέσου Ν αριθμών: Πρόγραμμα Εισαγωγή των Ν αριθμών ΥπολογισμοίΕμφάνιση αποτελεσμάτων Υπολογισμός ΜΟΥπολογισμός Διαμέσου Διαίρεση του αθροίσματος με Ν Υπολογισμός αθροίσματος Ταξινόμηση των Ν αριθμών Εύρεση της μεσαίας τιμής Τεχνικές Σχεδίασης/Ανάπτυξης προγράμματος

14 14 Τεχνικές Σχεδίασης/Ανάπτυξης προγράμματος Τμηματικός προγραμματισμός Υλοποίηση της λύσης κάθε υποπροβλήματος χωριστά. Κάθε υποπρόβλημα ονομάζεται ενότητα (module) Δομημένος προγραμματισμός Χρήση των δομών: Ακολουθίας, Επιλογής, Επανάληψης Όχι της εντολής GOTO Κάθε πρόγραμμα ή ενότητα προγράμματος έχει ένα σημείο εισόδου και ένα σημείο εξόδου Εμπεριέχει την ιεραρχική σχεδίαση και τον τμηματικό προγραμματισμό

15 15 Χρήση της GoTo… το αποτέλεσμα σπαγγέτι! Αν χ>0 τότε goto 1 Αν χ=0 τότε goto 2 Γράψε ‘Αρνητικός’ 1: Γράψε ‘Θετικός’ GoTo 3 2: Γράψε ‘Μηδέν’ 3: Γράψε ‘Τέλος’ Aν x>0 τότε γράψε ‘θετικός’ Αλλιώς_αν χ=0 τότε γράψε ‘Μηδέν’ Αλλιώς Γράψε ‘Αρνητικός’ Τέλος_αν Γράψε τέλος

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

17 17 Προγραμματιστικά περιβάλλοντα Πρόγραμμα Μεταφράζεται Γλώσσα Μηχανής Πρόγραμμα ΜΟ Μεταβλητές Ακέραιες: ΜΟ Αρχή ΜΟ  (2+10)/2 Γράψε ΜΟ Τέλος_προγράμματος ΜΟ ….. Μεταγλωττιστής (Compiler) Διερμηνευτής (Interpreter) ή 1.Συντάκτης (editor) 2.Μεταγλωττιστής ή Διερμηνευτής 3.Συνδέτης

18 18 Πώς δουλεύει ένας μεταγλωττιστής; Μεταγλωττιστής Συνδέτης/ Φορτωτής Αρχικό/πηγαίο πρόγραμμα Source code Αντικείμενο πρόγραμμα Object Εκτελέσιμο πρόγραμμα Executable Βιβλιοθήκες Libraries Πώς δουλεύει ένας διερμηνευτής; Ο διερμηνευτής 1.Διαβάζει την κάθε εντολή 2.Ελέγχει την ορθότητά της 3.Τη μετατρέπει σε γλώσσα μηχανής 4.Την εκτελεί 5.Και προχωράει στην επόμενη εντολή

19 19 Κατηγορίες λαθών Α. Συντακτικά Π.χ. όσο α>0 επανάληψη Β. Λογικά Π.χ. Πρόγραμμα ΜέσοςΟρος Μεταβλητές Ακέραιες: ΜΟ Αρχή ΜΟ  /2 Τέλος_προγράμματος Όσο υπάρχουν συντακτικά λάθη στο πρόγραμμα, ΔΕΝ μπορεί να παραχθεί το εκτελέσιμο αρχείο !!!

20 20 Σύγχρονες έννοιες Α. Αντικειμενοστραφής προγραμματισμός (object oriented programming) Στον αντικειμενοστραφή προγραμματισμό, κύρια δομικά στοιχεία είναι τα αντικείμενα, πάνω στα οποία μπορούν να εφαρμοστούν κάποιες ενέργειες. Β. Παράλληλος προγραμματισμός Ανεξάρτητα τμήματα ενός προγράμματος εκτελούνται παράλληλα σε διαφορετικούς επεξεργαστές. Επόμενη διαφάνεια ΕΚΤΟΣ ΥΛΗΣ

21 21 Αντικειμενοστραφής προγραμματισμός: table.Insert table.Delete table.FindKey(‘Μαρία’) table.SortBy(last_name) Table: Αντικείμενο Insert, Delete, FindKey, SortBy: ενέργειες Παράλληλος προγραμματισμός: Πρόβλημα: Υπολογισμός ΜΟ της επίδοσης των τμημάτων της Γ Υπολογισμοί Υπολογισμός ΜΟ Γ1Υπολογισμός ΜΟ Γ2Υπολογισμός ΜΟ Γ3 Υπολογισμός ΜΟ των 3 επιμέρους Μέσων όρων Πίσω….. ΕΚΤΟΣ ΥΛΗΣ

22 22 Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. Υποπρόγραμμα ονομάζεται ένα τμήμα προγράμματος που επιτελεί αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα. Πρόβλημα Να γραφεί πρόγραμμα που να διαβάζει τους κωδικούς 100 πόλεων και τις μέσες τιμές θερμοκρασίας σε κάθε μία από αυτές και να τις αποθηκεύει σε δύο πίνακες. Έπειτα, να υπολογίζει και να εμφανίζει τη μικρότερη θερμοκρασία. Κεφάλαιο 10 Τμηματικός προγραμματισμός

23 23 Λύση ΧΩΡΙΣ τμηματικό προγραμματισμό Πρόγραμμα ΘερμοκρασίεςΠόλεων Μεταβλητές Ακέραιες: Θερμ[100], ΚωδΠόλεων[100], χ, min Αρχή ! Εισαγωγή στοιχείων Για χ από 1 μέχρι 100 Διάβασε Θερμ[χ] Διάβασε ΚωδΠόλεων[χ] Τέλος_επανάληψης ! Υπολογισμός ελαχίστου min  Θερμ[1] Για χ από 2 μέχρι 100 Αν Θερμ[χ] < min τότε min  Θερμ[x] Τέλος_αν Τέλος_επανάληψης ! Εμφάνιση αποτελεσμάτων Γράψε ΄Η ελάχιστη θερμοκρασία είναι: ΄, min Τέλος_προγράμματος Κεφάλαιο 10 Τμηματικός προγραμματισμός

24 24 Λύση ΜΕ τμηματικό προγραμματισμό Πρόγραμμα ΘερμοκρασίεςΠόλεων Μεταβλητές Ακέραιες: Θερμ[100], ΚωδΠόλεων[100], min Αρχή ! Εισαγωγή στοιχείων Κάλεσε ΔιάβασμαΠίνακα(Θερμ) Κάλεσε ΔιάβασμαΠίνακα(ΚωδΠόλεων) ! Υπολογισμός ελαχίστου min  ΕύρεσηΕλαχίστου(Θερμ) ! Εμφάνιση αποτελεσμάτων Γράψε ΄Η ελάχιστη θερμοκρασία είναι: ΄, min Τέλος_προγράμματος Κύριο πρόγραμμα Κλήση της διαδικασίας ΔιάβασμαΠίνακα 2 φορές Κλήση της συνάρτησης ΕύρεσηΕλαχίστου με απλή αναφορά στο όνομά της Συνεχίζεται… Κεφάλαιο 10 Τμηματικός προγραμματισμός

25 25 Λύση ΜΕ τμηματικό προγραμματισμό Διαδικασία ΔιάβασμαΠίνακα(Π) Μεταβλητές Ακέραιες: Π[100], χ Αρχή Για χ από 1 μέχρι 100 Διάβασε Π[χ] Τέλος_επανάληψης Τέλος_προγράμματος Δήλωση της διαδικασίας ΔιάβασμαΠίνακα Δήλωση της συνάρτησης ΕύρεσηΕλαχίστου Συνάρτηση ΕύρεσηΕλαχίστου(Π): Ακέραια Μεταβλητές Ακέραιες: Π[100], χ, min Αρχή min  Π[1] Για χ από 2 μέχρι 100 Αν Π[χ] < min τότε min  Π[x] Τέλος_αν Τέλος_επανάληψης ΕύρεσηΕλαχίστου  min ! SOS Τέλος_συνάρτησης Υποπρογράμματα Κεφάλαιο 10 Τμηματικός προγραμματισμός

26 26 Πού έχουμε ξαναδεί τις συναρτήσεις; Εδώ πρόκειται για ενσωματωμένη συνάρτηση Πρόγραμμα ΥπολογισμόςΥποτίνουσας Μεταβλητές Πραγματικές: α, β, υποτίνουσα Αρχή Διάβασε α, β υποτίνουσα  Τ_Ρ(α^2 + β^2) Γράψε ΄Η υποτίνουσα του τριγώνου είναι: ΄, υποτίνουσα Τέλος_προγράμματος Κεφάλαιο 10 Τμηματικός προγραμματισμός

27 27 Χαρακτηριστικά υποπρογραμμάτων: 1.Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μόνο μία έξοδο 2.Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα 3.Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο και να επιτελεί μόνο μία λειτουργία Πλεονεκτήματα τμηματικού προγραμματισμού 1.Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος 2.Διευκολύνει την κατανόηση και διόρθωση του προγράμματος 3.Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος 4.Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού Κεφάλαιο 10 Τμηματικός προγραμματισμός

28 28 Τύποι υποπρογραμμάτων: 1.Η συνάρτηση (function) είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομά της. 2.Η διαδικασία (procedure) είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός υποπρογράμματος. Μία παράμετρος είναι μία μεταβλητή που επιτρέπει το πέρασμα της τιμής της από ένα τμήμα προγράμματος σε ένα άλλο. Προσοχή: Μια διαδικασία μπορεί να μεταβάλλει την τιμή των παραμέτρων της Κεφάλαιο 10 Τμηματικός προγραμματισμός

29 29 Ένα υποπρόγραμμα μπορεί να έχει καμία, μία ή περισσότερες παραμέτρους!!! Διαδικασία ΕμφάνισεΝΣτοιχεία(Π, ν) Μεταβλητές Χαρακτήρες: Π[100] Ακέραιες: χ, ν Αρχή Για χ από 1 μέχρι ν Γράψε Π[χ] Τέλος_επανάληψης Τέλος_διαδικασίας Κανόνες λίστας παραμέτρων: 1.Ίσο πλήθος παραμέτρων στην κλήση και στη δήλωση 2.Απόλυτη αντιστοίχιση παραμέτρων στην κλήση και στη δήλωση 3.Οι αντίστοιχες παράμετροι να είναι του ίδιου τύπου Τα ονόματά τους δεν χρειάζεται να είναι ίδια Κεφάλαιο 10 Τμηματικός προγραμματισμός

30 30 Πρόγραμμα ΘερμοκρασίεςΠόλεων Μεταβλητές Ακέραιες: Θερμ[100], ΚωδΠόλεων[100], min Αρχή ! Εισαγωγή στοιχείων Κάλεσε ΔιάβασμαΠίνακα(Θερμ) Κάλεσε ΔιάβασμαΠίνακα(ΚωδΠόλεων) ! Υπολογισμός ελαχίστου min  ΕύρεσηΕλαχίστου(Θερμ) ! Εμφάνιση αποτελεσμάτων Γράψε ΄Η ελάχιστη θερμοκρασία είναι: ΄, min Τέλος_προγράμματος Τυπικές ή πραγματικές παράμετροι??? Πραγματικές (εμφανίζονται στην κλήση) Διαδικασία ΔιάβασμαΠίνακα(Π) Αρχή …………… Τέλος_διαδικασίας Συνάρτηση ΕύρεσηΕλαχίστου(Π): Ακέραια Αρχή …………. Τέλος_συνάρτησης Τυπικές (εμφανίζονται στη δήλωση) Κεφάλαιο 10 Τμηματικός προγραμματισμός


Κατέβασμα ppt "1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών."

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


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