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

Σχετικά έγγραφα
ΕΠΛ 032 Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Γενική Περιγραφή

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

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

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

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

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

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

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

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

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

Προγραµµατισµός Η/Υ. Μέρος2

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

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

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

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

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

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

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

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ Της ΠΛΗΡΟΦΟΡΙΚΗΣ. Εισαγωγή

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

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

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

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

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

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

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

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

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

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εισαγωγή Συμβόλαιο Μαθήματος

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

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

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

Α. Ερωτήσεις Ανάπτυξης

Πληροφορική 2. Αλγόριθμοι

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

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

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

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

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

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

Διδακτική της Πληροφορικής ΙΙ

Προγραμματισμός Η/Υ. 1 η ενότητα: Εισαγωγή στις γλώσσες προγραμματισμού. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. Δρ. Κωνσταντίνος Κούτσικος - Δρ. Ιάσων Κουφοδόντης

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

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

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

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

Transcript:

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

Συστάσεις

Σήμερα o Συμβόλαιο Μαθήματος o Περιγραφή Μαθήματος o Ιστορική Αναδρομή o Υλικό Υπολογιστή (Computer Hardware) o Λογισμικό Υπολογιστή (Computer Software) o Γλώσσες Προγραμματισμού o Παραδείγματα

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

Διδάσκων, ηλεκτρονική παρουσία o Διδάσκων Ιωάννης Κατάκης, Επισκέπτης Λέκτορας Γραφείο: FST 01 Β118 Ώρες Γραφείου: Δευτέρα και Πέμπτη, 11.00-12.00 Email: katak@cs.ucy.ac.cy o Υποστήριξη διδασκαλίας: Θα ανακοινωθεί o Ιστοσελίδα Μαθήματος (032.2) http://www.cs.ucy.ac.cy/courses/epl032/ (032.2) Παρακαλώ να επισκέπτεστε συχνά τη σελίδα του μαθήματος!

Διδασκαλία o Διαλέξεις Δευτέρα και Πέμπτη, 13.30-15.00 o Εργαστήρια Dev++

Αξιολόγηση o Κατ οίκον εργασίες (x2): 20% Παραδίδονται ηλεκτρονικά o Διαγνωστικά (x2): 10% o Ενδιάμεση γραπτή εξέταση: 20% o Τελική γραπτή εξέταση: 50% Σε κάθε περίπτωση ο βαθμός της γραπτής εξέτασης πρέπει να είναι μεγαλύτερος του 4

Στόχος Η απόκτηση ικανότητας επίλυσης προγραμματισμό. προβλημάτων με Συγκεκριμένα o Θεμελίωση βασικών αρχών προγραμματισμού, αλγοριθμικής σκέψης, αλγοριθμικών τεχνικών και δομών προγραμμάτων o Σχεδίαση, υλοποίηση, δοκιμή και εξάλειψη σφαλμάτων o Αξιολόγηση λύσεων ενός προβλήματος o Εκμάθηση μιας υψηλού επιπέδου γλώσσας προγραμματισμού (γλώσσα C)

Προτεινόμενη Βιβλιογραφία J.R. Hanlyand E.B. Koffman, Problem Solving and Program Design in C, 5th edition, Addison-Wesley, 2007 Άλλη Βιβλιογραφία: o The C Programming Language, by Brian W. Kernighan and D. Ritchie, 2nd edition, Prentice Hall Software Series. o Διαφάνειες του δικτυακού τόπου του μαθήματος http://www.cs.ucy.ac.cy/courses/epl032/

Περιγραφή Διαλέξεων o Εισαγωγή στην Πληροφορική & Προγραμματισμό o Εισαγωγή στην γλώσσα C o Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις o Είσοδος & Έξοδος Δεδομένων o Εντολές επιλογής & Συνθήκες επιλογής o Εντολές επανάληψης o Συναρτήσεις, Εμβέλεια Μεταβλητών o Πίνακες o Πίνακες και Συναρτήσεις o Αλφαριθμητικές σειρές χαρακτήρων o Αναδρομικές Συναρτήσεις

Τέλη 19 ου αιώνα Herman Hollerith εφευρίσκει την σύγχρονη διάτρητη κάρτα η οποία και χρησιμοποιείται για την απογραφή του πληθυσμού των Η.Π.Α το 1890. Η εργασία αυτή οδηγεί στην ίδρυση της ΙΒΜ

1936 Ο Alan Turing δημιουργεί ένα μαθηματικό υπολογιστικό μοντέλο το οποίο ονομάζει Τuring Machine. Διαφοροποιήσεις αυτού του μοντέλου μπορούν να εξομοιώσουν οποιοδήποτε υπολογιστή ο οποίος μπορεί να κατασκευαστεί

1939 Οι Atanasoff και Berry δημιουργούν στην Iowa τον ABC, τον πρώτο ψηφιακό Η/Υ για την εκτέλεση μαθηματικών υπολογισμών προβλημάτων πυρηνικής φυσικής.

1946 Αναπτύσσεται ο πρώτος ηλεκτρονικός ψηφιακός υπολογιστής γενικής χρήσης: ο ENIAC. Ζυγίζει 30 τόνους και έχει καλύπτει χώρο 30*50 πόδια. Στηρίζεται στο μοντέλο Von Neumann

1951 Παραδίδεται ο UNIVAC I, ο πρώτος εμπορικός ηλεκτρονικός υπολογιστής. Χρησιμοποιείται για την πρόβλεψη των προεδρικών εκλογών στην Αμερική

1959 Ανακαλύπτεται το transistor που οδηγεί σε μείωση του μεγέθους και κόστους των Η/Υ

1963 Εμφανίζονται τα ολοκληρωμένα κυκλώματα τα οποία μειώνουν ακόμα περισσότερο τον όγκο και αυξάνουν την ταχύτητα

1981 Κατασκευάζεται από την ΙΒΜ ο πρώτος προσωπικός Η/Υ

1986 Εμφανίζονται οι παράλληλοι υπολογιστές

Υλικό Υπολογιστή (Computer Hardware) Μονάδα εισόδου είναι µια συσκευή δια µέσου της οποίας δεδοµένα και προγράµµατα εισάγονται από τον έξω κόσµο στον Η/Υ (πληκτρολόγιο, ποντίκι). Μνήµηείναι µια συλλογή από κελιά (cells) το καθένα από τα οποία έχει µια µοναδική φυσική διεύθυνση. Υπάρχει η κύρια και η δευτερεύουσα µνήµη. Μονάδα εξόδου: Συσκευή δια μέσου της οποίας, αποτελέσματα αποθηκευμένα στον Η/Υ καθίστανται διαθέσιμα στον εξωτερικό κόσμο (εκτυπωτές, τερματικά). Κεντρική μονάδα επεξεργασίαςδέχεται εντολές και δεδομένα. Τα δεδομένα επεξεργάζονται σύμφωνα με τις εντολές που έχουν δοθεί και τα αποτελέσματα διαβιβάζονται στις κατάλληλες μονάδες.

Λογισμικό Υπολογιστή (Computer Software) o Λειτουργικό Σύστημα (Operating System) Το σύνολο των προγραμμάτων που είναι υπεύθυνα για την αλληλεπίδραση του χρήστη με το υλικό του υπολογιστή. o Εφαρμογές(Application Software) Λογιστικά Φύλλα, Επεξεργαστές Κειμένου, Παιχνίδια Βοηθούν το χρήστη να διεκπεραιώσει μία διεργασία

Γλώσσες Προγραμματισμού Τεχνητές γλώσσες οι οποίες επιτρέπουν το χρήστη (προγραμματιστή) να δίνει εντολές σε έναν υπολογιστή o Εκτέλεση αριθμητικών υπολογισμών o Ανάπτυξη εφαρμογών

Γλώσσα Μηχανής o Εντολές γραμμένες σε μορφή ακολουθιών 0 και 1 o Άμεσα εκτελέσιμες από τον επεξεργαστή o Συγκριτικά με άλλες γλώσσες υψηλότερου επιπέδου, αυτή είναι η πιο δυσνόητη από έναν ανθρώπινο νου

Συμβολική Γλώσσα (Assembly) o Ευκολότερη στη χρήση από τη γλώσσα μηχανής o Χρήση συμβόλων (συντομεύσεων) o Κάθε οικογένεια επεξεργαστή έχει τη δική της συμβολική γλώσσα

Γλώσσες Υψηλού Επιπέδου o Πιο κοντά στη φυσική γλώσσα o Αφαίρεση των λεπτομερειών που σχετίζονται με το υλικό Pascal, Basic, C, C++, Java

Μεταφραστές (Compilers) o Μεταφράζουν γλώσσες ψηλού επιπέδου σε κώδικα μηχανής o Πηγαίο Πρόγραμμα (Source code) το αρχικό πρόγραμμα σε γλώσσα ψηλού επιπέδου o Αντικείμενο Πρόγραμμα (Object code) το μεταφρασμένο πρόγραμμα σε κώδικα μηχανής

Μεταφραστές(Compilers)

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

Παράδειγμα Πρόβλημα o Έχουμε στη διάθεσή μας μία λίστα ονομάτων φοιτητών o Επιθυμούμε να εντοπίσουμε τους φοιτητές του 1 ου έτους o STUDENTS.DAT

Ανάλυση Προβλήματος (1/2) o Δεδομένα Εισόδου STUDENTS.DAT o Επιθυμητό Αποτέλεσμα HΛίστα με τους φοιτητές του 1ου έτους o Για να επεξεργαστούμε μια εγγραφή πρέπει να ανακτηθεί (μεταφερθεί) από τον δίσκο (DISK) στην μνήμη (RAM)

Ανάλυση Προβλήματος (2/2) Προσδιορισμός της Λύσης- Ανάπτυξη Αλγορίθμου 1. Άνοιξε το αρχείο 2. Διάβασε μια εγγραφή από τον δίσκο στην μνήμη 3. Αν είναι φοιτητής είναι του πρώτου έτους τύπωσε το όνομα του 4. Αν υπάρχει επόμενη εγγραφή διάβασε την και μετά επανέλαβε τo βήμα 3-4

Σχεδίαση Λύσης Διάγραμμα Ροής Δεδομένων

Σχεδίαση Λύσης Ψευδοκώδικας /* This is a comment */ start /* Start program*/ open STUDENT.DAT /* Open file */ read rec /* Read Record */ while not EOF do /*repeat until end while*/ if rec.year==1 then print rec.name read rec /* Read next record*/ end while close STUDENT.DAT /* Close file */ end /* End of program */

Συγγραφή Πηγαίου Κώδικα (σε C) #include <stdio.h> int main() { } FILE *fp; char line[100], *c; /* open file*/ fp = fopen("student.dat","r"); if (fp==null) { printf("unable to open file!\n"); exit(-1); } /* read line (one record) */ c = fgets(line, 100, fp); while (c!= NULL) { /* getyear() returns the year */ if (getyear(line) == 1) printf("%s", line); /* read next line (one record) */ c = fgets(line, 100, fp); } fclose(fp); return 0;

Μετάφραση Κώδικας C C Compiler (μεταγλωττιστής) Κώδικας Μηχανής 00010101001111011110101010111000 0111010000100010010100000000111..

Έλεγχος Λαθών o Επέστρεψε το πρόγραμμα τις αναμενόμενες τιμές; o Το πρόγραμμα πρέπει να ελεγχθεί και με άλλες τιμές εισόδου πριν να χρησιμοποιηθεί o Αν βρεθούν λάθη τότε αυτά πρέπει να διορθωθούν

Συντήρηση Προγράμματος, Τεκμηρίωση o Αρχικά Συγγραφή τεκμηρίωσης Το λογισμικό εγκαθίσταται και ξεκινά η λειτουργία του o Το περιβάλλον αλλάζει άρα, (πρέπει να) αλλάζει και το πρόγραμμα o Οι χρήστες επιθυμούν (ή χρειάζονται) περισσότερα από το πρόγραμμα

Στόχος Μαθήματος o Η ανάπτυξη ικανοτήτων ανάλυσης προβλημάτων o Η θεμελίωση βασικών αρχών αλγοριθµικήςσκέψης και προγραμματισμού (στην γλώσσα C) o Σχεδίαση, υλοποίηση, δοκιµή και εξάλειψη σφαλµάτων αρθρωτών προγραµµάτων.

Τέλος διάλεξης