Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Σχετικά έγγραφα
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός I (Θ)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Θέματα Προγραμματισμού Η/Υ

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Δομημένος Προγραμματισμός (ΤΛ1006)

Εισαγωγή στον Προγραμματισμό

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Η γλώσσα προγραμματισμού C

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Θεόδωρος Γ. Λάντζος Διάλεξη Νο1

Προγραμματισμός Υπολογιστών με C++

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

Διαδικασιακός Προγραμματισμός

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Μαλούτα Θεανώ Σελίδα 1

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Εισαγωγή στον προγραμματισμό

Εισαγωγή στην Πληροφορική

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Περιεχόμενα. Πρόλογος... 21

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Διάλεξη 1η: Εισαγωγή

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στον Προγραμματισμό

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Πρόβλημα 37 / σελίδα 207

ΑΕΠΠ Ερωτήσεις θεωρίας

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

Εισαγωγή στη γλώσσα προγραμματισμού C++

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

Εισαγωγή στη γλώσσα προγραμματισμού C++14

ΠαράδειγµαΠρογραµµατισµού

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμός Η/Υ (ΤΛ2007 )

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

Εισαγωγή στην πληροφορική

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

Προγραμματισμός Ι (ΗΥ120)

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στον Προγραμματισμό

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

6. Εισαγωγή στον προγραµµατισµό

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Δομημένος Προγραμματισμός

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Θεωρία Προγραμματισμού

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

Transcript:

Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Γενικές Πληροφορίες Διδασκαλία: Αικατερινίδης Γιάννης (Ομάδα Β) Email: aikaterinidis@staff.teicrete.gr Τηλ. 28410 91207 Γραφείο Μιχαλοδημητράκης Νικόλαος (Ομάδα Α) Email: nmichalo@cs.teicrete.gr

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 3 Γενικές Πληροφορίες Σελίδα μαθήματος http://eclass.teicrete.gr/courses/dbi101/ Βιβλίο C Προγραμματισμός, Εισαγωγή στη C++ και τη Java, P. J. Deitel Διδασκαλία 4 ώρες εργαστήριο Ομάδα Α Δευτέρα 15:00-19:00 Ομάδα Β Πέμπτη 11:00-13:00 και Παρασκευή 11:00-13:00

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 4 Βιβλιογραφία Αναζητήστε στο Google (www.google.com) C Programming Language (2nd Edition) filetype:pdf C Programming Language (2nd Edition) Brian W. Kernighan και Dennis M. Ritchie

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 5 Αξιολόγηση Σε κάθε εργαστήριο θα παραδίδετε τον κώδικα που έχετε αναπτύξει στα πλαίσια των ασκήσεων που θα σας δοθούν Δημιουργία φακέλου (σε κάθε εργαστήριο): Domhmenos_AMxxx\05_03_2010\ π.χ. αν το Α.Μ. σας είναι 50 θα αποθηκεύσετε τις σημερινές ασκήσεις στον φάκελο Domhmenos_AM50\05_10_2010\ Επίσης σε καθορισμένες ημερομηνίες θα αποστέλλετε μέσω eclass τις ασκήσεις που σας έχουν δοθεί για το σπίτι

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 6 Αξιολόγηση (Εργαστήριο) Αποστολή κώδικα Στο email που θα στείλετε ορίζετε σαν Θέμα το ΑΜ σας και τον τίτλο του μαθήματος π.χ. 50 Δομημένος Προγραμματισμός

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 7 Αξιολόγηση Ο τελικός βαθμός του εργαστηρίου προκύπτει κατά: 60% από την τελική εξέταση του εργαστηρίου 30% από τη βαθμολογία των ασκήσεων για το σπίτι 10% από τη συμμετοχής σας στο εργαστήριο και βαθμολογία των ασκήσεων του εργαστηρίου

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 8 Κανόνες Ομαλής Διεξαγωγής Διαλέξεων Ερχόμαστε στην αίθουσα στην ώρα μας Δεν επιτρέπονται το νερό, τα αναψυκτικά, ο καφές, τρόφιμα κτλ. Πετάμε τα σκουπίδια στα καλάθια κατά την αποχώρηση μας από την αίθουσα. Τα κινητά τηλέφωνα θα πρέπει να είναι σε αθόρυβη λειτουργία και μπορούν να χρησιμοποιηθούν μόνον σε περίπτωση άμεσης ανάγκης.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 9 Οδηγός Επιτυχίας Στην αίθουσα θα αναπτυχθούν και θα αναλυθούν πολλά θέματα προγραμματισμού τα οποία είναι πολύ δύσκολα στην κατανόηση τους με ατομική μελέτη. Η εκμάθηση προγραμματισμού Η/Υ απαιτεί συνεχή μάθηση και πειραματισμό. Μαθαίνουμε από την συνεχή επίλυση προβλημάτων με την βοήθεια των καθηγητών. Είμαστε εδώ για να βοηθήσουμε. Συνεργαστείτε μαζί μας μελετώντας συνεχώς την καινούργια γνώση στον προγραμματισμό. Διατυπώνετε ελεύθερα τις απορίες σας. Μια απορία δική σας ίσως να είναι κομμάτι γνώσης για τον συνάδελφο σας.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 10 Αντικείμενο Μαθήματος Εισαγωγή στην λογική του προγραμματισμού ηλεκτρονικών υπολογιστών. Κατανόηση της φιλοσοφίας και των αρχών που διέπουν τον προγραμματισμό Εκμάθηση των βασικών μηχανισμών γραφής προγραμμάτων Εφαρμογή και πειραματισμό της γνώσης σε μια γλώσσα προγραμματισμού υψηλού επιπέδου

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 11 Θεματικές Ενότητες Μαθήματος Εισαγωγή στον προγραμματισμό Ιστορική αναδρομή Από το πρόβλημα στο πρόγραμμα Βασικά στοιχεία της C (Λεξιλόγιο, Σύνταξη κτλ.) Μεταβλητές και συναρτήσεις της C Η έννοια της μεταβλητής και οι τύποι της Συναρτήσεις εισόδου εξόδου και αλληλεπίδραση με τον χρήστη Τελεστές, διατύπωση εκφράσεων στη C, και έλεγχος ροής Κατηγορίες εκφράσεων και τελεστών. Μετατροπές τύπων Έλεγχος ροής με if else και υποθετικός τελεστής, Switch

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 12 Θεματικές Ενότητες Μαθήματος Επαναλήψεις και βρόχοι βρόχος while-do, do-while βρόχος for μετασχηματισμός while for Πίνακες και αλφαριθμητικά Μονοδιάστατοι, πολυδιάστατοι πίνακες Αλφαριθμητικά και παρουσίαση σχετικών συναρτήσεων της C Απαριθμητικοί τύποι και δομές Απαριθμητικοί τύποι Δομές (structures) και χρήση αυτών Συναρτήσεις Δήλωση, ορισμός και κλήση συναρτήσεων Εμβέλεια μεταβλητών

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 13 Θεματικές Ενότητες Μαθήματος Δείκτες στη C Η έννοια του δείκτη (δήλωση και χρήση αυτού) Δείκτες σε συναρτήσεις και δομές Διαχείριση αρχείων Άνοιγμα και κλείσιμο αρχείων Εγγραφή και ανάγνωση αρχείων Συναρτήσεις της C για είσοδο/έξοδο σε αρχεία Ανάγνωση, εγγραφή σε δυαδικά αρχεία Δυναμική διαχείριση μνήμης Οι συναρτήσεις malloc, calloc και free Δείκτες σε δείκτες Δείκτες και συναρτήσεις σε αλφαριθμητικά

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 14 Η γλώσσα προγραμματισμού C Δημιουργήθηκε από τον Dennis Ritchie στα Bell Labs USA to 1972. Δημιουργήθηκε για τη σχεδίαση του λειτουργικού συστήματος UNIX. Eίχε γρήγορη εξάπλωση.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 15 Η γλώσσα προγραμματισμού C H C είναι ισχυρή και ευέλικτη για πολλές εφαρμογές. Είναι δημοφιλής άρα υπάρχουν ποικιλία μεταγλωττιστών και χρήσιμων βοηθημάτων. Προγράμματα της C μπορούν να εκτελεστούν σε διαφορετικά συστήματα υπολογιστών.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 16 Η γλώσσα προγραμματισμού C Η C είναι μία γλώσσα λίγων λέξεων. Μία γλώσσα με περισσότερες λέξεις κλειδιά ΔΕΝ είναι πιο ισχυρή. Ο κώδικας της C μπορεί (και πρέπει) να γραφεί σε ρουτίνες που λέγονται συναρτήσεις. Η C++ (αντικειμενοστρεφής ή object oriented) είναι υπερσύνολο της C. Όσα ισχύουν στη C, ισχύουν και στη C++.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 17 Η γλώσσα προγραμματισμού C Συναρτήσεις σε C μπορούν να χρησιμοποιηθούν ξανά σε άλλες εφαρμογές. Με εφόδιο τη C αποκτάτε ισχυρά θεμέλια για εκμάθηση άλλων γλωσσών προγραμματισμού όπως Java, C++, κτλ.

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 18 Από το Πρόβλημα στο Πρόγραμμα Ανάλυση του προβλήματος Επινόηση & Σχεδιασμός λύσης (Αλγόριθμο) Μεταφορά Αλγορίθμου σε Κώδικα (πηγαίο) Μεταγλώττιση πηγαίου κώδικα Παραγωγή του αντικείμενου κώδικα Σύνθεση του αντικείμενου κώδικα Εκτέλεση προγράμματος

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 19 Από το Πρόβλημα στο Πρόγραμμα Πρόβλημα Ανάλυση Σχεδίαση (Αλγόριθμος)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 20 Αλγόριθμος Μία υπολογιστική διαδικασία που αποτελείται από μία πεπερασμένη σειρά αυστηρώς καθορισμένων υπολογιστικών βημάτων με σκοπό τη λύση ενός προβλήματος Κάθε αλγόριθμος δέχεται κάποια δεδομένα σαν είσοδο και παράγει κάποια αποτελέσματα (τη λύση του προβλήματος) σαν έξοδο. Τρόποι παρουσίασης ενός αλγόριθμου: φυσική γλώσσα διάγραμμα ροής (Flow chart) Ψευδοκώδικας (pseudocode)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 21 Από το Πρόβλημα στο Πρόγραμμα Πρόβλημα Ανάλυση Σχεδίαση (Αλγόριθμος) Υλοποίηση (κώδικας ή πρόγραμμα)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 22 Πρόγραμμα Γλώσσα Προγραμματισμού Πρόγραμμα είναι η έκφραση ενός αλγορίθμου (η μεταφορά του σε εντολές) σε μια γλώσσα προγραμματισμού Γλώσσα προγραμματισμού είναι μια συστηματική σημειογραφία με την οποία περιγράφουμε με ακρίβεια υπολογιστικές διεργασίες ή διαδικασίες

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 23 Πρόγραμμα Γλώσσα Προγραμματισμού Υπολογιστική διεργασία ή διαδικασία είναι ένα σύνολο από υπολογιστικά βήματα που μπορεί να εκτελέσει ένας υπολογιστής προκειμένου να διεκπεραιώσει ένα συγκεκριμένο έργο Γλώσσα C ως επιλογή για την υλοποίηση προγραμμάτων στον μάθημα Υποστηρίζει δομημένο προγραμματισμό Αποτελεσματική σε παραγωγή αξιόπιστων και γρήγορων σε εκτέλεση προγράμματα Ευρέως διαδομένη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 24 Παράδειγμα Πρόβλημα Να βρεθεί ο μέσος όρος Ν πραγματικών αριθμών Ανάλυση Δεδομένα: οι αριθμοί α1, α2, α3,... αν Ζητούμενο: ο μέσος όρος Σχεδίαση Αλγόριθμος Διάβασε τα δεδομένα Υπολόγισε το μέσο όρο Εκτύπωσε το αποτέλεσμα στην οθόνη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 25 Παράδειγμα Σχεδίαση Αλγόριθμος Θέσε τη τιμή μηδέν στο Σ Επανέλαβε το παρακάτω Ν φορές διάβασε ένα αριθμό από τα δεδομένα και πρόσθεσε τον στο άθροισμα Σ Διαίρεσε το άθροισμα Σ με το πλήθος των τιμών Ν και καταχώρησε το αποτέλεσμα στο ΜΟ (ΜΟ=Σ/Ν) Εκτύπωσε τη τιμή ΜΟ

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 26 Από το Πρόβλημα στο Πρόγραμμα Πρόβλημα Λύση Ανάλυση Εκτέλεση σε Η/Υ Σχεδίαση (Αλγόριθμος) Υλοποίηση (κώδικας ή πρόγραμμα)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 27 Κύκλος Υλοποίησης Πρόγραμμα Problem.c ΝΑΙ Μεταγλωττιστής Problem.obj ΝΑΙ Συντακτικά Λάθη Βιβλιοθήκες Σύνδεση Problem.exe Εκτέλεση Λογικά ή άλλα λάθη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 28 Πηγαίο Πρόγραμμα Είναι το αρχικό πρόγραμμα που γράφεται από τον προγραμματιστή (source code) Για τη σύνταξή του απαιτείται απλά ένας κειμενογράφος (editor) Στη γλώσσα προγραμματισμού C αποθηκεύεται σαν αρχείο με κατάληξη.c

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 29 Παράδειγμα Υλοποίηση Πρόγραμμα /*********************************** Eyresh mesou orou 5 arithmwn ************************************/ #include <stdlib.h> #include <stdio.h> main() { float s=0, a, mo; int i,n=5; for (i=1;i<=n;i++) { } // Orismos metablhtwn mo: mesos oros, s: a8roisma // Plh8os ari8mwn printf("type a number: "); scanf("%f",&a); // Eisodos ari8mwn s += a; //Pros8esh ari8mou sto a8roisma } mo=s/n; //Ypologismos Mesou Orou printf("mo = %f \n",mo); //Emfanish apotelesmatos

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 30 Κύκλος Υλοποίησης Πρόγραμμα Problem.c ΝΑΙ Μεταγλωττιστής Problem.obj ΝΑΙ Συντακτικά Λάθη Βιβλιοθήκες Σύνδεση Problem.exe Εκτέλεση Λογικά ή άλλα λάθη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 31 Μεταγλωττιστής (Compiler) Οι υπολογιστές δεν κατανοούν καμία φυσική γλώσσα ή γλώσσα προγραμματισμού υψηλού επιπέδου Αντιλαμβάνονται μόνο Εντολές, διευθύνσεις μνήμης, δεδομένα.. ΟΛΑ σε δυαδική μορφή Χρειάζεται μετατροπή του κώδικα που γράφεται σε γλώσσα προγραμματισμού σε μια μορφή που να μπορεί να εκτελεστεί από τον υπολογιστή Απαιτείται η χρήση ενός ειδικού προγράμματος, του μεταγλωττιστή

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 32 Μεταγλωττιστής (Compiler) Είναι ένα πρόγραμμα που δέχεται σαν είσοδο ένα πρόγραμμα σε μία γλώσσα προγραμματισμού και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής (εντολές σε δυαδική μορφή τις οποίες μπορεί να εκτελέσει ο υπολογιστής) Το αποτέλεσμα της μεταγλώττισης είναι ο αντικειμενικός κώδικας ή κώδικας αντικέιμενο (αρχείο με κατάληξη.obj) Στο στάδιο της μεταγλώττισης γίνεται και η εκσφαλμάτωση Το πρόγραμμα που παράγει ο μεταγλωττιστής δεν είναι εκτελέσιμο

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 33 Κύκλος Υλοποίησης Πρόγραμμα Problem.c ΝΑΙ Μεταγλωττιστής Problem.obj ΝΑΙ Συντακτικά Λάθη Βιβλιοθήκες Σύνδεση Problem.exe Εκτέλεση Λογικά ή άλλα λάθη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 34 Εκσφαλμάτωση Τα λάθη που μπορεί να υπάρξουν σε ένα πρόγραμμα είναι Συντακτικά: τα λάθη αυτά ανιχνεύονται από το μεταγλωττιστή και εμφανίζεται κατάλληλο διαγνωστικό μήνυμα Λογικά: τα λάθη αυτά εμφανίζονται από το προγραμματιστή κατά τη διάρκεια και μετά το τέλος της εκτέλεσης του προγράμματος

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 35 Κύκλος Υλοποίησης Πρόγραμμα Problem.c ΝΑΙ Μεταγλωττιστής Problem.obj ΝΑΙ Συντακτικά Λάθη Βιβλιοθήκες Σύνδεση Problem.exe Εκτέλεση Λογικά ή άλλα λάθη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 36 Συνδέτης (Linker) Είναι ένα ειδικό πρόγραμμα που συνδέει το αντικείμενο πρόγραμμα με άλλα τμήματα προγράμματος που βρίσκονται στις βιβλιοθήκες της γλώσσας ή τα έχει γράψει ο προγραμματιστής Το αποτέλεσμα είναι το τελικό εκτελέσιμο πρόγραμμα (executable)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 37 Κύκλος Υλοποίησης Πρόγραμμα Problem.c ΝΑΙ Μεταγλωττιστής Problem.obj ΝΑΙ Συντακτικά Λάθη Βιβλιοθήκες Σύνδεση Problem.exe Εκτέλεση Λογικά ή άλλα λάθη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 38 Εισαγωγή σε περιβάλλον προγραμματισμού (IDE) IDE : Integrated Development Environment Code::Blocks http://www.codeblocks.org/

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 39 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο ΜesosΟros Αποθήκευση στον φάκελο Domimenos_ΑΜχχχ\05_10_2010 όπου xxx το Α.Μ. Σας π.χ. Domimenos_ΑΜ50\05_10_2010

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 40 Code::Blocks Δημιουργία ενός νέου προγράμματος (Project) Δημιουργούνται αυτόματα όλα τα αρχεία που σχετίζονται με ένα πρόγραμμα

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 41 Code::Blocks Επιλογή τύπου εφαρμογής

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 42 Code::Blocks

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 43 Code::Blocks Επιλογή γλώσσας προγραμματισμού

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 44 Code::Blocks Δώστε όνομα στο πρόγραμμα σας Επιλέξτε φάκελο

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 45 Code::Blocks

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 46 Code::Blocks Επιλέξτε το αρχείο main.c με διπλό κλικ

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 47 Code::Blocks Παράδειγμα προγράμματος

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 48 Code::Blocks Επιλέξτε Build να παραχθεί το εκτελέσιμο

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 49 Code::Blocks Επιλέξτε Run ώστε να εκτελεστεί το πρόγραμμα σας

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 50 Code::Blocks

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 51 Code::Blocks Γράψτε το παρακάτω πρόγραμμα μεταγλωττίστε το και τρέξτε το εκτελέσιμο #include <stdlib.h> #include <stdio.h> main{} { float s = 0, a, mo; int i, N = 6; for ( i=1; i<=n; i++ ) { printf( " Type a number: " ); scanf( " %f ", &a ); s += a; } mo = s / N; printf( " MO = %f ", mo ); }