Ίδιες αρχές λειτουργίας

Slides:



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

Επιμέλεια: Τίκβα Χριστίνα
Κεφάλαιο Τμηματικός προγραμματισμός
Προγραμματισμοσ υπολογιστη
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
7.5.2 Αντικειμενοστραφής προγραμματισμός
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Προγραμματισμός υπολογιστή
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
ΜΑΘ-3122/106 Προγραμματισμός
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Κεφάλαιο 2. Τι είναι αλγόριθμος  Η λέξη αλγόριθμος προέρχεται από μελέτη του Πέρση μαθηματικού Abu Ja’far Mohammed ibn al Khowarizmi  Στα λατινικά ξεκινούσε.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Εισαγωγή στον προγραμματισμό
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
Για τη διδασκαλία των πολυμέσων 1/15 ΛΟΓΙΣΜΙΚΟ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ Ομάδα Ανάπτυξης Ομάδα Ανάπτυξης: Φίλιππος Δεληγιάννης, Παναγιώτης Κωστάκης,
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Ανάπτυξη Πρωτοτύπου Λογισμικού
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Λογισμικό (Software).
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κεφάλαιο 10 – Υποπρογράμματα
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 6 Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ.
Εισαγωγή στον προγραμματισμό ΤΑΞΗ: Γ’ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ.
ΕΙΔΗ, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 7 © Βελώνης Γεώργιος.
Εισαγωγή στην Python.
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α΄ ΛΥΚΕΙΟΥ
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Στοιχεία Δομημένου Προγραμματισμού
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Γ' ΤΑΞΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Μεταγράφημα παρουσίασης:

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

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

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

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

Γ. Γλώσσες υψηλού επιπέδου (3η γενιά) Οι εντολές είναι στα αγγλικά και ακολουθούν αυστηρούς κανόνες σύνταξης Μεταφράζονται σε γλώσσα μηχανής Fortran 1957 Μαθηματικά και επιστημονικά προβλήματα Cobol 1960 Εμπορικές εφαρμογές Algol Απόπειρα για γενικής χρήσης γλώσσα προγραμματισμού PL/1 1965 Και εμπορικά και επιστημονικά LISP -PROLOG 1970 Τεχνητή Νοημοσύνη Basic Για εκπαιδευτικούς σκοπούς Pascal Γενικής χρήσης-ισχυρά προγράμ. C Γενικής χρήσης-ισχυρά χαρακτ. Java Internet – κατανεμημένα περιβάλλ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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