ΕΠΛ Εισαγωγή στον Προγραµµατισµό: Λογισµικό. Το λογισµικό του συστήµατος: 1 Εισαγωγή ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

(Ψηφιακοί)Υπολογιστές ENIAC Πληροφορική και Υπολογιστές. ΕΠΛ 031: Εισαγωγή στον (FORTRAN) Γιώργος Χρυσάνθου. Ποτε? ~1940 ΕΝΙΑC. Γιατι?

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

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

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

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

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

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

Λειτουργικά Συστήµατα

Πληροφορική και Υπολογιστές

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

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

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

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

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

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

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

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

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

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

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

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

6. 1 Η έννοια του προγράμματος

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

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

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

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

ΛΟΓΙΣΜΙΚΟ (software)

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 1: Εισαγωγή στον Προγραμματισμό

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

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

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

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

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

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

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

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

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

Βασίλειος Κοντογιάννης ΠΕ19

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

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

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

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Αρχές Προγραμματισμού Υπολογιστών

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

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

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

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

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

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

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

Chapter 6. Problem Solving and Algorithm Design. Στόχοι Ενότητας. Επίλυση προβληµάτων. Εισαγωγή. Nell Dale John Lewis

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

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

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

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

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

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

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

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

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

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

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

Transcript:

ΕΠΛ 031 2 Εισαγωγή στον Προγραµµατισµό: Λογισµικό Γιώργος Χρυσάνθου http://www.cs.ucy.ac.cy/~yiorgos/ ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 1 Εισαγωγή 2 Τα λειτουργικά συστήµατα 3 Το λογισµικό εφαρµογών 4 Γλώσσες προγραµµατισµού 5 Προγραµµατισµός Η/Υ Τµήµα πληροφορικής Πανεπιστήµιο Κύπρου 2 1 Εισαγωγή Το λογισµικό του συστήµατος: Έχουµε γράψει ένα κείµενο στον επεξεργαστή κειµένου του υπολογιστή µας... Θέλουµε να το εκτυπώσουµε.. Με ποιο τρόπο το πρόγραµµα του επεξεργαστή κειµένου θα γνωστοποιήσει στον υπολογιστή ότι είναι συνδεδεµένος µε κάποιον εκτυπωτή; Με ποιο τρόπο ο υπολογιστής µας θα καταλάβει µε ποιόν εκτυπωτή είναι συνδεδεµένος; Το λογισµικό (software) είναι το σύνολο εντολών που τίθενται στην διάθεση του χρήστη προκειµένου να υποδείξει στον Η/Υ το είδος των πράξεων που θα πρέπει να εκτελέσει. Η επικοινωνία των προγραµµάτων και των χρηστών µε τον Η/Υ λαµβάνει χώρα µέσω του λογισµικού των Η/Υ Το λογισµικό ενός υπολογιστικού συστήµατος αναλαµβάνει την αυτοµατοποίηση των διαδικασιών της διαχείρισης της ΚΜΕ, της µνήµης και των µονάδων εισόδου-εξόδου, προκειµένου τα προγράµµατα να αποδεσµεύονται από τα καθήκοντα αυτά. 3 4 Μπορούµε να διακρίνουµε το λογισµικό σε δύο µεγάλες κατηγορίες Ι. Το λογισµικό του συστήµατος (System Software) Περιλαµβάνει το σύνολο των προγραµµάτων που ελέγχουν διαχειρίζονται και συντονίζουν τους πόρους των Η/Υ Λειτουργούν σε καθεστώς ανεξαρτησίας από συγκεκριµένες εφαρµογές. Η λειτουργία του δεν είναι άµεσα αντιληπτή από τον απλό χρήστη. Τυπικό παράδειγµα λογισµικού συστήµατος αποτελεί το λειτουργικό σύστηµα, τα συστήµατα διαχείρισης βάσεως δεδοµένων, κλπ ΙΙ. Το λογισµικό των εφαρµογών Περιλαµβάνει προγράµµατα που επιτρέπουν την εκτέλεση συγκεκριµένων εργασιών των χρηστών π.χ την δηµιουργία κειµένων, την σχεδίαση γραφικών, την οργάνωση δεδοµένων κλπ. Το λογισµικό του συστήµατος και το λογισµικό εφαρµογών είναι υπεύθυνα για να καθοδηγούν το υλικό στο να εκτελεί τις εργασίες µε βάση την ανάγκη των χρηστών. ΛΣ Υλικό 5 6

2 Τα λειτουργικά συστήµατα Το λειτουργικό σύστηµα είναι ένα σύνολο προγραµµάτων που ελέγχουν και επιβλέπουν το υλικό του Η/Υ παρέχοντας διάφορες υπηρεσίες : σε προγράµµατα εφαρµογών σε προγραµµατιστές και χρήστες Η/Υ Το λειτουργικό σύστηµα ελέγχει και συντονίζει την λειτουργία των µονάδων περιφερειακής µνήµης, την κύρια µνήµη και την κεντρική µονάδα επεξεργασίας. Το λειτουργικό σύστηµα περιέχει τις απαραίτητες εντολές που υποδεικνύουν στην ΚΜΕ πώς να επικοινωνεί µε τις υπόλοιπες µονάδες, άλλα προγράµµατα και τους χρήστες. 2.1 Τα προγράµµατα που αποτελούν το Λ.Σ Προγράµµατα ελέγχου (Control Programs) Το κύριο πρόγραµµα ελέγχου ονοµάζεται επιτηρητής και είναι υπεύθυνο για τον έλεγχο του συνόλου των προγραµµάτων του Λ.Σ και των διαφόρων εφαρµογών. Ο επιτηρητής βρίσκεται αποθηκευµένος στην κύρια µνήµη Προγράµµατα Υπηρεσιών (Servisce programs) Εκτελούν προγράµµατα που είναι αρκετά χρήσιµα για τους χρήστες, π.χ µορφοποίηση δισκέτας, αντιγραφή αρχείων κλπ Τα προγράµµατα αυτά δεν είναι µόνιµα αποθηκευµένα στην κύρια µνήµη. 7 8 2.2 Οι κύριες λειτουργίες ενός Λ.Σ 2.3 Κατηγορίες Λ.Σ Η διαχείριση των πόρων του Η/Υ ιανοµή χρόνου της ΚΜΕ ανάµεσα σε διάφορους χρήστες και διάφορες ταυτόχρονες εργασίες, κατανοµή περιφερειακής µνήµης στα διάφορα αρχεία, εύρυθµη λειτουργία µονάδων εισόδου εξόδου. Η διαχείριση των δεδοµένων Εντοπισµός, αποθήκευση, τροποποίηση κατάλληλων αρχείων κλπ Η δροµολόγηση των διαφόρων εργασιών επίβλεψη και έλεγχος των εργασιών που έχουν καθορισθεί από τους χρήστες ότι πρέπει να εκτελεσθούν στην ΚΜΕ Η παροχή τρόπου επικοινωνίας µεταξύ χρηστών και υπολογιστικών συστηµάτων Καθορισµός των συµβάσεων που αποτελούν τον προκαθορισµένο τρόπο επικοινωνίας των χρηστών Ταξινόµηση µε κριτήριο τον αριθµό των χρηστών Λειτουργικά συστήµατα ενός χρήστη (Single User)τα οποία µπορούν να υποστηρίξουν µόνο έναν χρήστη κάθε φορά. Λειτουργικά συστήµατα πολλών χρηστών(multi user) τα οποία επιτρέπουν σε δύο ή περισσότερους χρήστες να έχουν ταυτόχρονη πρόσβαση στο υπολογιστικό σύστηµα. Ταξινόµηση µε κριτήριο τον αριθµό εργασιών Λειτουργικά συστήµατα µιας εργασίας (single tasking) τα οποία επιτρέπουν να εκτελείται µόνο µια εργασία κάθε φορά και όταν ολοκληρώνεται αρχίζει η εκτέλεση της επόµενης. Λειτουργικά συστήµατα πολλών εργασιών (multi tasking) τα οποία έχουν την δυνατότητα εκτέλεσης πολλών εργασιών ταυτοχρόνως. 9 10 ηµοφιλή λειτουργικά 3 Το λογισµικό εφαρµογών Ms Dos Microsoft Windows Unix Το λογισµικό εφαρµογών (Application Software), αποτελείται από προγράµµατα που έχουν σχεδιαστεί προκειµένου να βοηθήσουν τους χρήστες στην ολοκλήρωση των εργασιών τους, κατά τρόπο ταχύτερο, ευκολότερο και περισσότερο αποδοτικό. Το λογισµικό εφαρµογών µπορεί να διακριθεί στις εξής κατηγορίες: Γενικευµένο λογισµικό εφαρµογών Εξειδικευµένο λογισµικό εφαρµογών 11 12

3.1 Γενικευµένο λογισµικό εφαρµογών. Generalized Application Software Λογιστικά Φύλλα Επεξεργαστές κειµένου 13 14 Συστήµατα διαχείρισης βάσεων δεδοµένων Εφαρµογές διαδικτύου 15 16 3.2 Εξειδικευµένο λογισµικό εφαρµογών (Specialized application software) Το λογισµικό αυτό αναπτύσσεται για να εκτελεί µια προκαθορισµένη λειτουργία και δεν µπορεί να µεταβληθεί εύκολα. Προγράµµατα επεξεργασίας εικόνας Σχεδιαστικά προγράµµατα Προγράµµατα ηλεκτρονικής σελιδοποίησης Προγράµµατα επεξεργασίας ήχου ιαχειριστικές εφαρµογές (λογιστική και εµπορική διαχείριση). 17 18

4 Γλώσσες προγραµµατισµού Γλώσσα Μηχανής- Machine Language, (Γλώσσα πρώτης γενιάς-1940) είναι η φυσική γλώσσα των Η/Υ. Υψηλή ταχύτητα εκτέλεσης εντολών και βέλτιστη χρήση µνήµης. Είναι δύσκολη στην χρήση της Συµβολική γλώσσα -Assembly Language ( Γλώσσα δεύτερης Γενιάς - 1950-60) Μνηµονική αναπαράσταση των χαρακτήρων. Είναι πιο εύκολη στην γραφή και στην κατανόηση. Η εκτέλεση της απαιτεί την µετάφραση της σε γλώσσα µηχανής µέσω των συµβολοµεταφραστών (Assembler). 19 0x4010b8 <main>: push %ebp 0x4010b9 <main+1>: mov %esp,%ebp 0x4010bb <main+3>: sub $0x10,%esp 0x4010be <main+6>: call 0x401280 0x4010c3 <main+11>: push $0x401080 0x4010c8 <main+16>: call 0x401290 0x4010cd <main+21>: add $0x4,%esp 0x4010d0 <main+24>: lea 0xfffffff4(%ebp),%eax 0x4010d3 <main+27>: push %eax 0x4010d4 <main+28>: lea 0xfffffff8(%ebp),%eax 0x4010d7 <main+31>: push %eax 0x4010d8 <main+32>: lea 0xfffffffc(%ebp),%eax 0x4010db <main+35>: push %eax 0x4010dc <main+36>: push $0x4010ae 0x4010e1 <main+41>: call 0x401288 0x4010e6 <main+46>: add $0x10,%esp 0x4010e9 <main+49>: xor %eax,%eax 0x4010eb <main+51>: jmp 0x4010f0 0x4010ed <main+53>: lea 0x0(%esi),%esi 0x4010f0 <main+56>: mov %ebp,%esp 0x4010f2 <main+58>: pop %ebp 0x4010f3 <main+59>: ret 20 Γλώσσες υψηλού επιπέδου- High level Languages, (Γλώσσες τρίτης Γενιάς 1960-..) πιο κοντά στις ανθρώπινες γλώσσες. Χρησιµοποιούν ένα µικρό σύνολο από αγγλικές λέξεις. γίνεται χρήση µεταφραστών (Compilers) και των διερµηνευτών (Interpreters). Π.χ Cobol, Fortran, Basic, Logo, Pascal, Ada, C. PROGRAM HELLO CHARACTER *10 NAME PRINT *, Enter your name and press return READ *, NAME PRINT *, Hello NAME STOP END Γλώσσες τέταρτης γενιάς -4 th Generation Languages.-1980-1990 Ο προγραµµατιστής δεν περιγράφει αλγορίθµους. Απλά καθορίζει τα δεδοµένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δηµιουργεί τον κώδικα σε κάποια γλώσσα προγραµµατισµού. Αντικειµενοστραφείς γλώσσες προγραµµατισµού (Object oriented L) Π.χ Visual basic. Γλώσσες ανάπτυξης εφαρµογών τεχνητής νοηµοσύνης, Π.χ LISP, PROLOG. Γεννήτριες προγραµµάτων. Συστήµατα διαχείρισης βάσεων δεδοµένων. Γλώσσες Πέµπτης Γενιάς (5 th Generation language) - 21 ος αιώνας Η επικοινωνία µεταξύ ανθρώπου και µηχανής γίνεται µε την βοήθεια φυσικής γλώσσας. Χρησιµοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας. Αναπτύσσονται τεχνικές αναγνώρισης φωνής. Έχουν µεγάλες υπολογιστικές απαιτήσεις. εν έχουν ακόµη αναπτυχθεί πρότυπα µε ευρεία αποδοχή. 21 22 Όλες οι παραπάνω γλώσσες εκτός από την γλώσσα µηχανής προκειµένου να γίνουν κατανοητές από τον Η/Υ πρέπει να µεταφραστούν σε γλώσσα µηχανής: Εργαλεία µετάφρασης Συµβολοµεταφραστής,assembler: µεταφράζει προγράµµατα σε γλώσσα assembly ιερµηνευτής, Interpreter : Μεταφράζει µια γραµµή του προγράµµατος σε δυαδικό κώδικα κάθε φορά. Μεταγλωττιστής, Compiler: Ελέγχει το πρόγραµµα για συντακτικά λάθη και το µεταφράζει ολόκληρο πριν ξεκινήσει η εκτέλεση οποιουδήποτε µέρους του. Η εκτέλεση του προγράµµατος γίνεται κατόπιν απαίτησης του ίδιου του χρήστη Compilation Πηγαίος κώδικαs Μεταγλωττιστής Κώδικας αντικει- µένου foo.for gff foo.o Source code object code 23 24

5 Προγραµµατισµός Η/Υ 5.1 Ο κύκλος ανάπτυξης προγράµµατος Το σύνολο των κανόνων και των οδηγιών στις οποίες βασίζεται ένας υπολογιστής προκειµένου να εκτελέσει µια συγκεκριµένη εργασία καλείται πρόγραµµα. Η διαδικασία της συγγραφής και και της εισαγωγής των κανόνων του προγράµµατος καλείται προγραµµατισµός. Η γλώσσα που µας επιτρέπει να δίνουµε εντολές στον Η/Υ καλείται γλώσσα προγραµµατισµού Η διαδικασία που ακολουθούµε για την ανάπτυξη ενός προγράµµατος καλείται κύκλος ανάπτυξης προγράµµατος Ο κύκλος ανάπτυξης προγράµµατος αναλύεται σε έξι βασικά βήµατα: 1. Περιγραφή του προβλήµατος, καθορισµός απαιτήσεων, 2. Ανάλυση του προβλήµατος, 3. Σχεδιαση αλγοριθµου, 4. Κωδικοποίηση σε γλώσσα προγραµµατισµού, 5. Έλεγχος, διόρθωση λαθών, 6. Συντήρηση προγράµµατος. 25 26 1. Περιγραφή του προβλήµατος, καθορισµός απαιτήσεων Προσπαθούµε µε απλά βήµατα να αποµονώσουµε και να καταγράψουµε τις πραγµατικές συνιστώσες ενός προβλήµατος, τοποθετώντας τις σε λογική σειρά µεταξύ τους. Αποσαφηνίζουµε τους στόχους που επιδιώκουµε να υλοποιήσουµε µε αναλυτικό τρόπο προκειµένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας. 2. Ανάλυση του προβλήµατος τι ειναι τα δεδοµενα (inputs) τι ειναι τα εξαγωµενα/αποτελεσµα (outputs) τι χρειαζεται να γινει 3. Σχεδιάσµος Αλγορίθµου Τι είναι αλγόριθµος? ιατυπώση της διαδικασιας µετασχηµατισµού του δεδοµένου στο αποτέλεσµα Εκφράζεται σε ψευδογλώσσα (pseudocode) Σταδιακη Εκλέπτυνση (Stepwise Refinement) Πανω προς Κατω (top-down design) Το πρόβληµα σταδιακά διασπάζεται σε ένα αριθµό απλούστερων υποπροβληµάτων Η σταδιακή διάσπαση (εκλέπτυνση) συνεχίζεται µέχρις ότου φτάσουµε σε ατοµικά υποπροβλήµατα (υποπροβλήµατα που δεν είναι λογικό/δυνατό να διασπασθούν περαιτέρω) Επαληθευση/Αξιολογηση 27 28 3. Σχεδιάσµος Αλγορίθµου - ιάσπαση σε Υποπροβλήµατα Π1 Π Π2 Π1,1 Π1,2 Π2,1 Π2,2 Π2,3 Π1,2,1 Π1,2,2 Π1,2,3 ιασπαση ιευκολυνει... Aρθρωτός σχεδιασµός(modular design) Αφαιρετικότητα (abstraction) ιαχωρισµός ανάµεσα στο τι και το πως ιατύπωση διεπαφών (interface) Παράλληλη ανάπτυξη (parallel development) Επαναχρησιµοποίηση (reuse) Επαληθευση/Αξιολογηση 29 30

Λογικό διάγραµµα: Σχηµατικός τρόπος αναπαράστασης της ροής των οδηγιών που συνθέτουν έναν αλγόριθµο. 4. Κωδικοποίηση: Υλοποιείται η συγγραφή του προγράµµατος σε µια γλώσσα προγραµµατισµού. Compilation: µετάφραση σε γλώσσα µηχανής 5. Έλεγχος - διόρθωση του προγράµµατος: Ο προγραµµατιστής πραγµατοποιεί συνεχείς δοκιµές προκειµένου να βεβαιωθεί ότι το πρόγραµµα δουλεύει σωστά. Στο στάδιο αυτό διορθώνονται τα πιθανά λογικά σφάλµατα. Ψευδοκώδικας: ο αλγόριθµος παρουσιάζεται µε απλές προστακτικές φράσεις σε φυσική γλώσσα 6. Συντήρηση προγράµµατος: Το λογισµικό εγκαθίσταται και ξεκινά η λειτουργία του. Οι ανάγκες των χρηστών, και η συνεχής προσαρµογή των προγραµµάτων στις νέες απαιτήσεις καθιστούν αναγκαία την συνεχή παρακολούθηση του προγράµµατος, και την τροποποίηση του. 31 32