Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

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

Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός Οι κανόνες αποτελούν την καρδιά της επιστήμης, της κοινωνίας και της ισχύος σε οιαδήποτε μορφή. Ο υπολογιστής είναι μία ταχεία, ακούραστη μηχανή που ακολουθεί κανόνες. Τι είναι ο προγραμματισμός Πρόγραμμα: Ακολουθία εντολών, με τις οποίες ο υπολογιστής εκτελεί μία συγκεκριμένη εργασία και επιλύει ένα δοθέν πρόβλημα. Προγραμματισμός: Κατάστρωση και συγγραφή προγραμμάτων.

Τι θα μάθετε 1) Να λύνετε προβλήματα που περιγράφονται από κανόνες: γράφοντας σύνολα κανόνων (συναρτήσεις), οι οποίοι εφαρμόζονται σε σύνολα δεδομένων (δομές), χρησιμοποιώντας ταυτόχρονα και έτοιμα προγράμματα (βιβλιοθήκες) 2) Θεμελιώδεις έννοιες, κοινές σε όλες τις γλώσσες προγραμματισμού 3) Εξοικείωση με ένα αποδοτικό Εργαλείο Προγραμματισμού: Το περιβάλλον προγραμματισμού της C++

Προγραμματισμός: Κοινή λογική και καλλιτεχνία 1) Aνάλυση: (εύρεση του πυρήνα του προβλήματος) Καθόρισε τις συγκεκριμένες εισόδους και εξόδους Καθόρισε τη σχέση εισόδου - εξόδου Τεμάχισε το πρόβλημα σε υποπροβλήματα 2) Υλοποίηση: Γράψε το σύνολο κανόνων για κάθε υποπρόβλημα 3) Debug: Έλεγξε κάθε τμήμα ξεχωριστά. Στη συνέχεια συνέδεσέ τα και έλεγξέ τα έως ότου το συνολικό πρόγραμμα λειτουργήσει σωστά.

Ο πυρήνας ενός προβλήματος Παράδειγμα: Να γραφεί πρόγραμμα που υπολογίζει το εμβαδό ενός σπιτιού, με δεδομένες τις διαστάσεις κάθε δωματίου. Είσοδοι: Ο αριθμός των δωματίων (ακέραιος αριθμός) Οι διαστάσεις κάθε δωματίου (πραγματικοί αριθμοί) Έξοδοι: Το εμβαδό του σπιτιού (πραγματικοί αριθμοί)

Ανάλυση: Βρείτε τον πυρήνα… Καταστείτε σίγουροι ότι καταλάβατε πραγματικά το πρόβλημα! Απλοποιείστε το, διευκρινίστε τα σκοτεινά σημεία, σκεφθείτε. Επαναλάβατε. Τεμαχίσατέ το σε υποπροβλήματα. Οι πρώτες σκέψεις δεν είναι ΠΟΤΕ οι καλύτερες. Παράδειγμα σπιτιού: Υποπρόβλημα 1: υπολογισμός του εμβαδού κάθε δωματίου Υποπρόβλημα 2: πρόσθεση των εμβαδών των δωματίων

Ανάλυση: Βρείτε τον πυρήνα… Εργαλεία που βοηθούν στην περιγραφή του προβλήματος Φυσική γλώσσα: “κάνε αυτό, στη συνέχεια εκείνο, εκτός εάν, κ.λ.π.” Διάγραμμα ροής Ψευδοκώδικας Παράδειγμα: Να μετατραπούν οι βαθμοί Farenheit σε βαθμούς Κελσίου

Εργαλείο ανάλυσης: η φυσική γλώσσα - Ζήτησε από το χρήστη τη θερμοκρασία σε βαθμούς F. - Διάβασε την τιμή που δίνει ο χρήστης. - Αποθήκευσε την τιμή σε θέση αποθήκευσης που καλείται degF. - Υπολόγισε τους βαθμούς C με χρήση μαθηματικής σχέσης. - Αποθήκευσε το αποτέλεσμα σε θέση αποθήκευσης που καλείται degC. - Τύπωσε το περιεχόμενο της degC.

Εργαλείο ανάλυσης: το διάγραμμα ροής Προτιμητέο εργαλείο για σύνθετα προβλήματα με περιορισμούς

Εργαλείο ανάλυσης: ο ψευδοκώδικας print “enter degrees in Farenheit” read degF degC = (degF - 32) * 5 / 9 print degC

Υλοποίηση Μετατροπή του συνόλου κανόνων σε συντακτικό της γλώσσας C. Ο τρόπος μετατροπής εξάγεται διερευνώντας: Μεταβλητές, τύπους δεδομένων, εκφράσεις, υποθετικές προτάσεις και προτάσεις ελέγχου ροής, συναρτήσεις κ.ά.

Χαρακτηριστικά της γλώσσας C 1) Μπορεί να χρησιμοποιηθεί και ως γλώσσα προγραμματισμού χαμηλού επιπέδου, επιτρέποντας άμεση πρόσβαση στους πόρους του υπολογιστή. 2) Είναι σχετικά μικρή και εύκολη στην εκμάθηση. 3) Υποστηρίζει δομημένο προγραμματισμό. 4) Είναι αποτελεσματική, παράγοντας συμπαγή και γρήγορα στην εκτέλεση προγράμματα. 5) Αποτελεί μαζί με τη C++ τις ευρύτερα χρησιμοποιούμενες γλώσσες σε ερευνητικά και αναπτυξιακά προγράμματα, γεγονός που έχει δημιουργήσει μία πολλή μεγάλη εγκατεστημένη βάση εφαρμογών που αναπτύχθηκαν με αυτές τις γλώσσες και πρέπει να συντηρούνται και να εξελίσσονται.

Μεταγλωττιστής και Συνδέτης (Compiler & Linker) αναγνώσιμο  εκτελέσιμο από τον Η/Υ Compile: C αρχεία κειμένου  .οbject file(s) Linking: object file(s)  .executable file

Διαδικασία αποσφαλμάτωσης (Debugging) Δύο είδη προγραμματιστικών σφαλμάτων: Συντακτικά σφάλματα: Σφάλματα που οφείλονται σε παραβίαση των συντακτικών κανόνων (π.χ. λανθασμένη γραφή μίας εντολής). Ανιχνεύονται από το μεταγλωττιστή κατά το χρόνο μεταγλώττισης και αναφέρονται υπό μορφή λίστας (οπότε μπορούν να διορθωθούν προτού τρέξει το πρόγραμμα). Σημασιολογικά σφάλματα (semantic errors): Σφάλματα που οφείλονται σε εσφαλμένη σχεδίαση της λύσης του προβλήματος (π.χ. διαίρεση με το μηδέν). Τα σφάλματα αυτής της κατηγορίας δεν αναγνωρίζονται από το μεταγλωττιστή, εμφανίζονται αργότερα στο χρόνο εκτέλεσης και είναι δυσκολότερα στη διόρθωση καθώς απαιτούνται μεταβολές στη σχεδίαση και ακολούθως στον κώδικα).

Debug: Εύρεση και διόρθωση σφαλμάτων Κώδικας C  Μεταγλώττιση  Εκτέλεση, επανάληψη Γίνεται η μεταγλώττιση; ΟΧΙ ο μεταγλωττιστής αναφέρει τους λόγους. Τροποποίησε τον κώδικα και δοκίμασε εκ νέου ΝΑΙ. Λειτουργεί σωστά; ΟΧΙ ανάλυσε, τροποποίησε, δοκίμασε εκ νέου ΝΑΙ. Αλλά δουλεύει πάντοτε σωστά; Μπορείς να αποδείξεις ότι η ανάλυση είναι εύρωστη;