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



Σχετικά έγγραφα
ΠαράδειγµαΠρογραµµατισµού

Προγραμματισμό για ΗΜΥ

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Κεφάλαιο : Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Εισαγωγή στην C: (Διαλέξεις 3-4)

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

3 &4. Εισαγωγήστη C Ιωάννης Κατάκης

Μεθοδολογία. Aνάλυσης Προβλήµατος. Τι είναι αλγόριθµος? Σχεδιάσµος Αλγορίθµου

Μεθόδων Επίλυσης Προβλημάτων

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Προγραμματισμό για ΗΜΥ

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Προγραμματισμό για ΗΜΥ

Επανάληψη για τις Τελικές εξετάσεις

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

Μεθόδων Επίλυσης Προβλημάτων

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

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

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

Μεθόδων Επίλυσης Προβλημάτων

Προγραµµατισµός. Αλγόριθµοι και Προγράµµατα

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

Μεθόδων Επίλυσης Προβλημάτων

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

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

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

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων

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

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

Περιεχόµενα του µαθήµατος 1. στον προγραµµατισµό 2. Λογικά διαγράµµατα 3. Τα βασικά της FORTRAN 4. Μεταβλητές & παράµετροι 5. οµές επανάληψης 6. οµές

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

είκτες και Πίνακες (2)

Certified Computer Programmer (CCP) Εξεταστέα Ύλη (Syllabus) Έκδοση 1.0

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

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

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

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

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

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

Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων

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

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

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

Εισαγωγή. Ανάπτυξη Συστημάτων Λογισμικού. Οργάνωση μαθήματος. #1. Εισαγωγή στον Προγραμματισμό

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

11. Συναρτήσεις (Μέρος Ι)

Επιµέλεια Θοδωρής Πιερράτος

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

Μεθόδων Επίλυσης Προβλημάτων

scanf() scanf() stdin scanf() printf() int float double %lf float

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Μεθόδων Επίλυσης Προβλημάτων

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

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Προγραμματισμό για ΗΜΥ

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

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

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

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

Transcript:

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy

Κεφάλαιο 2 ΠρογραµµατισµόςΗ/Υ

Θέµατα ιάλεξης οµή Προγράµµατος C Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων

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

ΜεθοδολογίαΠρογραµµατισµού 1. Περιγραφή του προβλήµατος, καθορισµός απαιτήσεων 2. Ανάλυση προβλήµατος 3. Σχεδίαση αλγορίθµου 4. Υλοποίηση αλγορίθµου σε πρόγραµµα 5. οκιµή & επαλήθευση του ολοκληρωµένου προγράµµατος (Aποσφαλµάτωση) 6. Συντήρηση & ενηµέρωση του προγράµµατος Στη βιβλιογραφία, πολλές φορές η µεθοδολογία αυτή αναφέρεται και ως κύκλος ανάπτυξης προγράµµατος

1. Περιγραφήτουπροβλήµατος, καθορισµόςαπαιτήσεων Προσπαθούµε µε απλά βήµατα να αποµονώσουµε και να καταγράψουµε τις πραγµατικέςσυνιστώσεςενόςπροβλήµατος, τοποθετώντας τις σε λογική σειρά µεταξύ τους. Αποσαφηνίζουµε τους στόχους που επιδιώκουµε να υλοποιήσουµε µε αναλυτικό τρόπο προκειµένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας.

2. Ανάλυσητουπροβλήµατος Ποία είναι τα δεδοµένα (inputs) Ποία είναι τα εξαγόµενα αποτέλεσµατα (outputs) Τιχρειάζεταιναγίνει

3. Σχεδίασηαλγορίθµου ιατύπωση της διαδικασίας µετασχηµατισµού του δεδοµένου στο αποτέλεσµα Εκφράζεται σε ψευδοκώδικα (pseudocode) Συµβολισµός που παροµοιάζει τα Ελληνικά (ή Αγγλικά) ίνει τα βήµατα λύσης του προβλήµατος εν είναι κώδικας µηχανής Ανεξάρτητος γλώσσας προγραµµατισµού Σε ψηλότερο επίπεδο από την γλώσσα προγραµµατισµού Πιο εύκολο να περιγράψουµε τον αλγόριθµο χωρίς να ανησυχούµε για συντακτικό

3. Σχεδίασηαλγορίθµου (συν.) Σχεδιασµός διαγράµµατος ροής Σχηµατικός τρόπος αναπαράστασης της ροής των οδηγιώνπουσυνθέτουνέναναλγόριθµο.

ΑφαιρετικότηταΜεθοδολογίας 1. Ορισµός προβλήµατος 2. Ανάλυση προβλήµατος 3. Σχεδίαση αλγορίθµου 4. Υλοποίηση αλγόριθµου σε πρόγραµµα 5. οκιµή & επαλήθευση του ολοκληρωµένου προγράµµατος (αποσφαλµάτωση) 6. Συντήρηση & ενηµέρωση του προγράµµατος Ανεξάρτητα Γλώσσας Προγραµµατισµού

Αφαιρετικότητα ιακρίβωση του τι γίνεται χωρίς την γνώση του πως γίνεται/υλοποιείται. Η διαδικασία προγραµµατισµού αποτελείται από σχεδιασµό λύσεων σε διάφορα επίπεδα αφαιρετικότητας. Αφαιρετικóτητα: γιγαντιαία έννοια.

ιάσπασησευπό-προβλήµατα Σταδιακή εκλέπτυνση προβλήµατος

Παράδειγµα: Αλγόριθµος ιάβασεδεδοµένα: λίρες, rate Υπολογισµός: euro = λίρες * rate Τύπωσε αποτέλεσµα: euro

4. ΥλοποίησηΑλγορίθµου Επιτυχής υλοποίηση εξυπακούει γνώση γλώσσας προγραµµατισµού: σύνταξη σηµασιολογία Θαµαθούµετην C

οµήπρογράµµατος C H γλώσσα C είναι απλά ένα σύνολο από συντακτικούς κανόνες. Ένα πρόγραµµα σε C, αποτελείται από εντολές (οργανωµένα συνήθως µέσα σε συναρτήσεις) και δεδοµένα (µεταβλητές).

οµήπρογράµµατος C (συν.) 1. Οδηγίες στον προεπεξεργαστή ενσωµάτωση βιβλιοθηκών δηλώσεις σταθερών 2. ηλώσεις συναρτήσεων 3. Ορισµός κύριας συνάρτησης (main) δηλώσεις µεταβλητών εντολές (εκφράσεις, κλήσεις συναρτήσεων κτλ) 4. Υλοποίηση συναρτήσεων 5. Σχόλια

οµήπρογράµµατος C (συν.) Παράδειγµα: Οδηγίες προεπεξεργαστή Σχόλια ήλωση σταθεράς Ορισµός κύριας συνάρτησης: main ήλωση µεταβλητών Ακολουθία εντολών

ΠαράδειγµαΠρογραµµατισµού Γράψετεέναπρόγραµµαπουνα µετατρέπεικυπριακέςλίρεςσεευρώ.

ΚατανόησηκαιΑρχικήΛύση Παράδειγµα: 10 λίρες, 1.73 ευρώστην λίρα >>>>>> 17.3 ευρώ εδοµένα (εισόδου): λίρες, rate εδοµένα (εξόδου): ευρώ Υπολογισµός:ευρώ = λίρες * rate

Υλοποίηση µε γλώσσα προγραµµατισµού (C) επεξεργαστή κειµένου /* programma poy metatrepei lires se euro */ main() { float lires, rate; /* inputs*/ float euro; /* output*/ euro = lires * rate; } Λείπει επικοινωνία με τον χρήστη

Υλοποίηση ΜεΕπικοινωνία /* programma poy metatrepei lires se euro */ #include <stdio.h> int main(){ float lires, rate; /* inputs*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires kai rate: ); scanf( %f%f,&lires, &rate); euro = lires * rate; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n,lires, euro); } return 0;

ΡοήΕλέγχου /* programma poy metatrepei lires se euro */ #include <stdio.h> #define RATE 1.71 int main(){ float lires; /* input*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires: ); scanf( %f,&lires); euro = lires * RATE; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n, lires, euro); } return 0;

Ροή εδοµένων /* programma poy metatrepei lires se euro */ #include <stdio.h> #define RATE 1.71 int main(){ float lires; /* input*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires: ); scanf( %f,&lires); euro = lires * RATE; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n, lires, euro); } return 0;

οκιµή: Mεταγλωττισµός, Εκτέλεση > gcc exchange.c o exchange > exchange Enter lires:100 100.00 lires antistoixoun se 171.00 euro > exchange Enter lires:5.5 5.50 lires antistoixoun se 9.58 euro > Κατακρίβειαν 9.576 αλλά επειδή ζητήσαµε µόνο 2 δεκαδικά ψηφία %.2f γι αυτόγίνεται στρογγυλοποίηση στο κοντινότερο δεκαδικό ( έστε αργότερα)

ΑποτέλεσµαΜεταγλωττισµού, Εκτέλεσης Τρέχει ορθά, πολύ ωραία αλλά µε επαλήθευση (εµπειρικά ή αναλυτικά) Αποτυχία στην µεταγλώττιση: λάθος σύνταξη (συντακτικά λάθη) Τρέχει µα παράγει λάθος αποτέλεσµα ή τρέχει µερικώς (crashes) Λογικάλάθη: αποσφαλµάτωση (debugging) ιαφοράµεταξύ: µεταγλωττίζει, τρέχει, ορθό

ΑξιολόγησηΛύσεων Ταχύτητα Ανάγκεςσεµνήµη Επεκτασιµότητα Ευκολία κατανοήσεως

Περίληψη Μεθοδολογία Προγραµµατισµού Περιγραφή προβλήµατος Ανάλυση προβλήµατος Σχεδιασµός αλγορίθµου Υλοποίηση (συγγραφή προγράµµατος) οκιµή και επαλήθευση Αξιολόγηση, συντήρηση και ενηµέρωση Αλγόριθµος / Ψευδοκώδικας / ιάγραµµα Ροής Αφαιρετικότητα Ροή Ελέγχου / εδοµένων

ΤέλοςΚεφαλαίου 2