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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Χειµερινό Εξάµηνο 2013

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

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

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

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

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

Προγραμματισμός. Εαρινό Εξάμηνο 2011

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

Προγραμματισμός Ι (HY120)

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

Εργαστήριο 9: Αρχεία

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

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

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

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

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

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

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

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

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

Προγραμματισμός Χειμερινό Εξάμηνο 2017

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

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

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

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

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

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

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

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

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

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

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

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

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

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

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

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

Transcript:

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

ιαδικαστικές Πληροφορίες ιδάσκων Καθηγητής: Γραφείο: Αχιλλέας Αχιλλέως B109 -ΘΕΕ01. Τηλέφωνο: 22 892757 E-mail: Ιστοσελίδα Μαθήµατος: achilleas@cs.ucy.ac.cy http://www.cs.ucy.ac.cy/courses/epl032 ιαλέξεις: ευτέρα & Πέµπτη, 13:30 15:00 Αίθουσα: Ώρες γραφείου: Εργαστήρια: Aίθ. 102 -ΧΩ 01 (Πανεπιστηµιούπολη) ευτέρα, 11:00-12:00 ή κατόπιν συνεννόησης Αιθ. Β130 -ΟΕ 01, Υπεύθυνος/οι Εργαστηρίου:Θα ανακοινωθεί σύντοµα.

Το µάθηµα µε µια µατιά Κεφάλαιο 1:Εισαγωγή στην Πληροφορική και τον Προγραµµατισµό. Κεφάλαιο 2:Εισαγωγή στην Γλώσσα Προγραµµατισµού C. Κεφάλαιο 3:Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. Κεφάλαιο 4: Είσοδος και Έξοδος εδοµένων. Κεφάλαιο 5:Συνθήκες Έλεγχου και Λογικοί Τελεστές. Κεφάλαιο 6: οµές Επανάληψης. Κεφάλαιο 7:Συναρτήσεις, Εµβέλεια Μεταβλητών. Κεφάλαιο 8:Πίνακες. Κεφάλαιο 9: Πίνακες και Συναρτήσεις. Κεφάλαιο 10:Αλφαριθµητικές Σειρές Χαρακτήρων.

Κεφάλαιο 1 Εισαγωγή στηνπληροφορική και Προγραµµατισµό

Θέµατα ιάλεξης Συµβόλαιο Μαθήµατος. Ιστορική Αναδροµή. Υλικό Υπολογιστή (Computer Hardware). Λογισµικό Υπολογιστή (Computer Software). Μέθοδος Επίλυσης Προβληµάτων. Παραδείγµατα.

Γενική Περιγραφή Στο µάθηµα ΕΠΛ 032 διδάσκεται ο προγραµµατισµός µεθόδων επίλυσης προβληµάτων κάνοντας χρήση της διαδικασιακής γλώσσας προγραµµατισµού C. Συγκεκριµένα: Το µάθηµα διδάσκει τις βασικές αρχές προγραµµατισµού µε έµφαση στο δοµηµένο προγραµµατισµό, την αφαιρετικότητα,, υλοποίηση,, έλεγχο,, και αποσφαλµάτωση αρθρωτών προγραµµάτων. Το µάθηµα επίσης καλύπτει πολύ βασικές έννοιες αναφορικά µε τη λειτουργία των ηλεκτρονικών υπολογιστών. Ο προγραµµατισµός είναι αναπόσπαστο µέρος της Πληροφορικήςκαι είναι σχετικός σε άτοµα εκτός πληροφορικής λόγω της χρήσης της πληροφορικής στις διάφορες πτυχές της ζωής µας (επαγγελµατικής και µη). Π.χ. χρήση εργαλείων (καθορισµός τύπων σε spreadsheet), εκτίµηση δυνατοτήτων ενός υπολογιστή, εκτίµηση βαθµού δυσκολίας εργασιών στο τµήµα τεχνολογίας πληροφοριών, κ.τ.λ.

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

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

Αξιολόγηση και Βαθµολόγηση Η επίδοση των φοιτητών/τριών αξιολογείται συνεχώς µε κατ οίκον εργασίες (προγραµµατιστικές ασκήσεις), διαγνωστικά και γραπτές εξετάσεις. Αναλυτικά, η τελική βαθµολογία θα υπολογιστεί µε βάση τους ακόλουθους συντελεστές: Κατ οίκον εργασίες και ιαγνωστικά 30% Ενδιάµεση Γραπτή Εξέταση 20% Τελική Γραπτή Εξέταση 50% Η εκπόνηση όλωντων εργασιών όπως και η συµµετοχή σε όλεςτις εξετάσεις και διαγνωστικά είναι υποχρεωτική, καθώς κρίνεται απολύτως αναγκαία για την επιτυχή ολοκλήρωση του µαθήµατος. Απαραίτητες προϋποθέσεις επιτυχίας στο µάθηµα είναι: Η συµµετοχή του φοιτητή και στις 2 εξεταστικές (ενδιάµεση και τελική εξέταση) Η παράδοση όλων των εργαστηριακών ασκήσεων και διαγνωστικών.

Προτεινόµενη Βιβλιογραφία Συνιστάται η αγορά του παρακάτω βιβλίου το οποίο αποτελεί τη βάση της διδασκαλίας του µαθήµατος: J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C, 5th edition, Addison-Wesley, 2007 Σαν βοήθηµα προτείνεται επίσης: Β.W. Kernighan και D.M. Ritchie, Η Γλώσσα Προγραµµατισµού C, εύτερηέκδοση, Εκδόσεις ΚΛΕΙ ΑΡΙΘΜΟΣ, 1990. Τέλος, οι σηµειώσεις του µαθήµατος (διαφάνειες) θα είναι διαθέσιµες στην ιστοσελίδα του µαθήµατος.

Εισαγωγικά Ένα υπολογιστικό σύστηµααποτελείται από το υλικό (hardware) και το λογισµικό (software) Υλικό: το σύνολο των φυσικών τµηµάτων Λογισµικό:το σύνολο των προγραµµάτων, που παρέχουν λίστες µε εντολές. Απαιτούνται για την εκτέλεση των εργασιών του υπολογιστή. Οι γλώσσες προγραµµατισµούµας επιτρέπουν να γράφουµε προγράµµατα κι έτσι να επικοινωνούµε µε τους υπολογιστές.

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

Μνήµη Είναι ο χώρος όπου αποθηκεύει προσωρινά ο επεξεργαστής τα δεδοµένα και τις εντολές που επεξεργάζεται. Αποτελείται από chips. Σε κάθε θέση αποθηκεύεται ένας σταθερός αριθµός από δυαδικά ψηφία (bits) 0,1. Ένα byte αποτελείται από 8 bitκαι είναι ο χώρος που απαιτείται για την αποθήκευση ενός χαρακτήρα.

Κεντρική Μονάδα Επεξεργασίας Συντονίζει όλες τις λειτουργίες του υπολογιστή. Εκτελεί τις αριθµητικές και λογικές πράξεις.

Λογισµικό Υπολογιστή Λογισµικό Συστηµάτων (Προγράµµατα Ωφελιµότητας, Μεταφραστές Γλωσσών,, Λειτουργικό Σύστηµα). Λογισµικό Εφαρµογής για Χρήστες (Λογιστικά Φύλλα, Επεξεργαστές κειµένου).

Γλώσσες προγραµµατισµού Γλώσσα Μηχανής- Machine Language, (Γλώσσα πρώτης γενιάς-1940) Είναι η φυσική γλώσσα των Η/Υ. Είναι κώδικας σε δυαδική µορφή (0,1). ιακρίνεται για την ταχύτητα εκτέλεσης των εντολών της και την βέλτιστη χρήση της κύριας µνήµης. Είναι δύσκολη στην χρήση της, στον εντοπισµό και διόρθωση τυχόν λαθών.

Γλώσσες προγραµµατισµού (συν.) Γλώσσες υψηλού επιπέδου- High level Languages, (Γλώσσες τρίτης Γενιάς 1960-..) Εννοιολογικά εµφανίζονται να βρίσκονται πιο κοντά στις ανθρώπινες γλώσσες. Χρησιµοποιούν ένα µικρό σύνολο από αγγλικές λέξεις. Για να εκτελεστεί ένα τέτοιο πρόγραµµα γίνεται χρήση µεταγλωττιστών (Compilers) Παραδείγµατα: Fortran, Basic, Pascal, C.

Συγγραφή, µεταγλώττιση και εκτέλεση ενός προγράµµατος σε γλώσσα υψηλού επιπέδου Source Code (Πηγαίος Κώδικας) Attempts to translate program into machine code Error Messages Unsuccessful Successful Executable File (Εκτελέσιµο αρχείο)

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

Παράδειγµα Επίλυσης Προβλήµατος Περιγραφή Προβλήµατος: Έχουµε µια λίστα µε ονόµατα. Θέλουµε να βρούµε τους φοιτητές του 1ου έτους Επίθετο Όνοµα STUDENTS.DAT Ηλεκτρονικό Ταχυδροµείο Έτος Τηλέφωνο Davis Albert None 1 668-78-9226 Crane Amory None 2 689-48-8430 Schakowsky Anibal None 3 652-58-7355 Kirk Anne rep.kirk@volcano.com 4 623-87-0203 Weller Anthony none 1 780-52-0498 Costello Barbara none 1 599-98-7962 Biggert Barney none 1 058-86-1065 Hastert Baron speaker@volcano.com 1 075-45-4923

Ανάλυση Προβλήµατος (1/2) εδοµένα Εισόδου: STUDENTS.DAT Αποτέλεσµα (Έξοδος): HΛίστα µε τους φοιτητές του 1ου έτους. Θυµηθείτε ότι για να επεξεργαστούµε µια εγγραφή πρέπει να ανακτηθεί (µεταφερθεί) από το δίσκο (DISK) στη µνήµη (RAM) students.dat CPU RAM DISK

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

Σχεδίαση Λύσης Προβλήµατος (1/2) START ιάγραµµα Ροής εδοµένων OPEN students.dat read rec rec == EOF? YES CLOSE students.dat END NO rec.year == 1? YES PRINT rec.name NO read rec

Σχεδίαση Λύσης Προβλήµατος (2/2) Ψευδοκώδικας /* 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 (1/2) #include <stdio.h> #define MAX 100 int main(){ FILE *fp; char line[max], *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, MAX, fp); while (c!= NULL) { /* getyear() returns the year */ if (getyear(line) == 1) printf("%s", line); /* read next line (one record) */ c = fgets(line, MAX, fp); } fclose(fp); return 0; ε χρειάζεται να ξέρετε να «µιλάτε» C. Η εκµάθηση της C είναι µέρος του µαθήµατος!

Μετάφραση Εκτέλεση (2/2) Κώδικας C C Compiler (µεταγλωττιστής) Κώδικας Μηχανής 000101010011110111101010101110000 111010000100010010100000000111....

Έλεγχος Λαθών Επέστρεψε το πρόγραµµα τις αναµενόµενες τιµές; Davis Albert none 1 668-78-9226 Weller Anthony none 1 780-52-0498 Costello Barbara none 1 599-98-7962 Biggert Barney none 1 058-86-1065 Hastert Baron speaker@volcano.com 1 075-45-4923 Ναι! Το πρόγραµµα πρέπει να ελεγχθεί και µε άλλες τιµές εισόδου πριν να χρησιµοποιηθεί. Αν βρεθούν λάθη τότε αυτά πρέπει να διορθωθούν.

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

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

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