Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά



Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Πληροφορική ΙΙ Ενότητα 1

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

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

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

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

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

Επαναληπτικές Διαδικασίες

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

Ψευδοκώδικας. November 7, 2011

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

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

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Παρο υσίαση αλ γόριθμου

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

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Κεφάλαιο 4. Λογισμικό Συστήματος

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

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

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

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

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

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

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

του προγράμματος diagrama_rohs.zip )

Πρόβλημα 29 / σελίδα 28

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

Μάριος Αγγελίδης

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Περι-γράφοντας... βρόχους

Προγραμματισμός Η/Υ. 2 η ενότητα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Ενδεικτικές Ερωτήσεις Θεωρίας

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

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

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

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

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

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

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης


Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

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

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

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

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

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

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

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

Η διαδικασία επίλυσης ενός προβλήματος αποτελείται από μία πεπερασμένη ακολουθία βημάτων, καθένα από τα οποία μας οδηγεί πιο κοντά στη λύση.

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

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

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

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

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

Transcript:

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών

Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν ένα (από περισσότερους πιθανώς) τρόπο επίλυσης ενός προβλήματος. Κάθε πρόβλημα επιδέχεται σχεδόν πάντα περισσότερες από μία λύσεις. Κάθε λύση μπορεί να γραφεί στη μορφή πολλών διαφορετικών προγραμμάτων π.χ. σε περισσότερες από μια γλώσσες προγ/σμού. Κάθε αλγόριθμος πρέπει να έχει αρχή και τέλος σε πεπερασμένο αριθμό βημάτων. Κάθε αλγόριθμος πρέπει να χαρακτηρίζεται από ορθότητα δηλ. να δίνει σωστό αποτέλεσμα σε κάθε περίπτωση. Κάθε ορθός αλγόριθμος χαρακτηρίζεται από την πολυπλοκότητα (βαθμό απλότητας) της λύσης που υλοποιεί.

Παράδειγμα αλγορίθμων Πρόβλημα: ταξινόμηση τριών ακεραίων αρ1, αρ2, αρ3 σε αύξουσα σειρά. Λύση 1: Σύκριση συνεχώς των αριθμών ανά δύο και αντιμετάθεση αν δεν είναι σε αύξουσα σειρά. Λύση 2: Βρες κάθε φορά τον μικρότερο αριθμό και τοποθέτησέ τον 1 ο στη σειρά των αριθμών που δεν έχουμε δει, μέχρι τέλους. Αλγόριθμος για τη Λύση 1: Σύγκρινε τον αρ1 με τον αρ2 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Έπειτα σύγκρινε τον αρ2 με τον αρ3 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Τέλος σύγκρινε τον αρ1 με τον αρ2 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους. Αλγόριθμος για τη Λύση 2: Βρες τον μικρότερο από τους αρ1, αρ2 και αρ3 και τοποθέτησέ τον στη θέση του αρ1, αλλάζοντας τη θέση του μ αυτόν. Έπειτα βρες τον μικρότερο από τους αρ2, αρ3 καιβάλετονστηθέσητου αρ2 αλλάζοντας τη θέση του μ αυτόν

Παράσταση αλγορίθμων Πρόγραμμα: αναπαράσταση αλγορίθμου σε γλώσσα κατανοητή από τον Η/Υ. Μορφές περιγραφής κατανοητές από ανθρώπους: Ψευδοκώδικας: αυστηρά δομημένη και συνεπής φυσική γλώσσα Παράδειγμα: στις επόμενες διαφάνειες περιγράφεται μια ψευδογλώσσα ως υποσύνολο της ελληνικής γλώσσας με λεξιλόγιο και συντακτικό στοιχεία συντακτικού από τη γλώσσα προγραμματισμού Pascal οι εντολές του ψευδοκώδικα συμβολίζονται με κεφαλαία γράμματα (δεσμευμένες λέξεις) τα υπόλοιπα (π.χ. ονόματα μεταβλητών) με μικρούς λατινικούς χαρακτήρες. Διάγραμμα ροής (flow chart): αυστηρά ορισμένο διάγραμμα με σχήματα και ενώσεις που ακολουθούν συγκεκριμένους κανόνες και σημαίνουν το ίδιο πράγμα κάθε φορά.

Παράσταση αλγορίθμων με ψευδοκώδικα Βασικοί κανόνες σύνταξης ψευδοκώδικα ΕΝΤΟΛΗ ΔΙΑΒΑΣΕ() ΤΥΠΩΣΕ() ΕΑΝ συνθήκη ΤΟΤΕ εντολές1 ΑΛΛΙΩΣ εντολές2 ΕΑΝ-ΤΕΛΟΣ ΟΣΟ συνθήκη εντολές ΟΣΟ-ΤΕΛΟΣ ΕΠΑΝΕΛΑΒΕ εντολές ΜΕΧΡΙ ΣΥΝΘΗΚΗ ΣΗΜΑΣΙΑ Εντολή ανάγνωσης τιμών από το χρήστη(τα ονόματα των μεταβλητών στις οποίες θα καταχωρηθούν οι τιμές αυτές περιλαμβάνονται μέσα σε παρένθεση, διαχωρισμένα με κόμματα). Εντολή εμφάνισης τιμών στην οθόνη (τα περιεχόμενα που θα τυπωθούν περιλαμβάνονται στην παρένθεση διαχωρισμένα με κόμματα και ανάμεσα σε για αλφαρηθμιτικά). Εντολή επιλογής. Αν ισχύει η συνθήκη, τότε εκτελούνται οι εντολές1. Αλλιώς, προαιρετικά, εκτελούνται οι εντολές2 Εντολή επανάληψης. Εκτελούνται οι εντολές επαναληπτικά για όσο ισχύει η συνθήκη. Οι εντολές μπορεί να μην εκτελεστούν ούτε μια φορά. Εντολή επανάληψης. Εκτελούνται οι εντολές επαναληπτικά για όσο δεν ισχύει η συνθήκη, Οι εντολές εκτελούνται τουλάχιστο μια φορά.

Παράσταση αλγορίθμων με ψευδοκώδικα Βασικοί κανόνες σύνταξης ψευδοκώδικα (συνέχεια) ΕΝΤΟΛΗ ΣΗΜΑΣΙΑ := Εντολή εκχώρησης τιμής σε μεταβλητή π.χ a:=1 ή a := b ΓΙΑ μετρητής:= τιμή1 ΕΩΣ τιμή2 ΜΕ-ΒΗΜΑ τιμή3 ΕΠΑΝΕΛΑΒΕ εντολές ΓΙΑ-ΤΕΛΟΣ Εντολή επανάληψης. Ο μετρητής παίρνει αρχικά την τιμή1 και εκτελούνται οι εντολές. Σε κάθε επανάληψη προστίθεται στο μετρητή η τιμή3 και οι εντολές εκτελούνται όσο ο μετρητής είναι μικρότερος ή ίσος του τιμή2. Η σύνταξημε-βημα τιμή3 είναι προαιρετική και όταν απουσιάζει εννοείται αύξηση του μετρητή κατά 1 σε κάθε επανάληψη. ; Συμβολίζει το τέλος μιας εντολής. ΑΡΧΗ - ΤΕΛΟΣ ΑΛΓΟΡΙΘΜΟΣ ΔΕΔΟΜΕΝΑ μετ1, μετ2,... : τύπος Συμβολίζουν την αρχή και το τέλος ενός τμήματος κώδικα. Είναι πάντα σε ζεύγη (κάθε ΤΕΛΟΣ αντιστοιχεί στην κοντινότερη αρχή). Κεφαλίδα ενός προγράμματος που ακολουθείται από το όνομά του. Συμβολίζουν την αρχή του τμήματος ενός προγράμματος στο οποίο ορίζονται τα δεδομένα που χρησιμοποιεί το πρόγραμμα. Ορίζει λίστες με ονόματα μεταβλητών που χωρίζονται μεταξύ τους με κόμματα. Στο τέλος της λίστας και μετά το σύμβολο : ορίζεται ο τύπος των μεταβλητών αυτών. Οι συνηθέστεροι τύποι είναι ΑΚΕΡΑΙΟΣ (INTEGER), ΠΡΑΓΜΑΤΙΚΟΣ (REAL) και ΧΑΡΑΚΤΗΡΑΣ (CHAR).

Παράσταση αλγορίθμων με ψευδοκώδικα Παράδειγμα: Ταξινόμηση τριών ακεραίων (Λύση 1) ΑΛΓΟΡΙΘΜΟΣ taksinomisi ΔΕΔΟΜΕΝΑ ar1,ar2,ar3,temp: INTEGER; AΡΧΗ ΤΥΠΩΣΕ( Δώσε 3 ακέραιους: ); ΔΙΑΒΑΣΕ(ar1,ar2,ar3); EAN ar1>ar2 TOTE temp:=ar2; ar2:=ar1; ar1:=temp; ΕΑΝ-ΤΕΛΟΣ ΕΑΝ ar2>ar3 TOTE temp:=ar2; ar2:=ar3; ar3:=temp; EAN-ΤΕΛΟΣ (συνέχεια αλγορίθμου) EAN ar1>ar2 TOTE temp:=ar2; ar2:=ar1; ar1:=temp; ΕΑΝ-ΤΕΛΟΣ ΤΥΠΩΣΕ( Σε αύξουσα σειρά: ); ΤΥΠΩΣΕ(ar1, ar2, ar3); ΤΕΛΟΣ

Παράσταση αλγορίθμων με Διαγράμματα Ροής Διάγραμμα ροής (flow chart): σχηματική περιγραφή αλγορίθμων σειρά συμβόλων με συγκεκριμένη σημασία: Εντολή Απόφαση Αρχή και Τερματισμός Είσοδος (Δεδομένα) Έξοδος (Εκτύπωση) Ροή

Παράσταση αλγορίθμων με Διαγράμματα Ροής Παράδειγμα: ταξινόμηση 3 ακεραίων (Λύση 1) ΑΡΧΗ ar1>ar2? ΔΩΣΕ 3 ΑΚΕΡΑΙΟΥΣ ar2>ar3? ΝΑΙ ΟΧΙ ar1, ar2, ar3 ΟΧΙ ΝΑΙ temp:=ar2; ar2:=ar3; ar3:=temp; temp:=ar2; ar2:=ar1; ar1:=temp; ΟΧΙ ar1>ar2? ΝΑΙ temp:=ar2; ar2:=ar1; ar1:=temp; Σε αύξουσα σειρά: ar1,ar2,ar3 ΤΕΛΟΣ

Διαδικασιακός Προγραμματισμός Οποιοδήποτε πρόγραμμα γράφεται με συνδυασμό τριών βασικών δομών: Ακολουθία Επιλογή Επανάληψη εντολή 1; ΕΑΝ συνθήκη ΤΟΤΕ εντολή 2; εντολές1; ΟΣΟ συνθήκη εντολή 3; ΑΛΛΙΩΣ εντολές; εντολές2; ΟΣΟ-ΤΕΛΟΣ ΕΑΝ-ΤΕΛΟΣ εντολή 1 συνθήκη εντολή 2 ΝΑΙ εντολές1 ΟΧΙ εντολές2 συνθήκη ΟΧΙ ΝΑΙ εντολές εντολή 3......

Γλώσσες Προγραμματισμού Ταξινόμηση βάσει Φιλοσοφίας Προγραμματισμού Διαδικαστικές ή προστακτικές γλώσσες (Cobol, Algol,, Pascal, C): Το πρόγραμμα αποτελείται από διαδικασίες που κάθε μια εκτελεί μια δραστηριότητα, καλούνται από μια κεντρική διαδικασία και επικοινωνούν μεταξύ τους. Λέγονται προστακτικές λόγω των εντολών (προσταγών) τουςπροςτονη/υ. Αντικειμενοστρεφείς γλώσσες (C++, VisualBasic,, Java): Ο προγραμματισμός βασίζεται σε αντικείμενα κλάσεων. Κάθε κλάση περιγράφεται από ιδιότητες και διαδικασίες μεταβολής της κατάστασης των αντικειμένων της. Κάθε κλάση μπορεί να κληροδοτήσει ιδιότητες και διαδικασίες σε άλλες κλάσεις αντικειμένων. Τα αντικείμενα επικοινωνούν μεταξύ τους. Ταξινόμηση βάσει δυνατότητας επίλυσης προβλημάτων Γενικής χρήσης για επίλυση οποιουδήποτε προβλήματος: Basic, Pascal, C, C++, Java. Ειδικής χρήσης για συγκεκριμένα προβλήματα: Fortran-μαθηματικές εφαρμογές, COBOL-εμπορικές εφαρμογές, HTML-μορφοποίηση σελίδων, SQL-ερωτήματα σε βάσεις δεδομένων.

Λειτουργικά Συστήματα (ΛΣ) Το ΛΣ: είναι η 1 η εφαρμογή που «φορτώνεται» στη μνήμη του υπολογιστή η εκτέλεση όλων των υπόλοιπων προγραμμάτων εξαρτάται από αυτό. Χωρίζεται σε 2 μέρη: Πυρήνας (kernel): συντονίζει την εκτέλεση βασικών εργασιών του Η/Υ. Φλοιός (shell): συντονίζει την επικοινωνία χρηστών με τον Η/Υ. Το ΛΣ περιλαμβάνει προγράμματα για διαχείριση Επεξεργαστών: καθορίζει σειρά εκτέλεσης, βαθμό προτεραιότητας, διαθεσιμότητα πόρων και αποτροπή διενέξεων προγραμμάτων. Μνήμης: σωστή και χωρίς καθυστέρηση δέσμευση και αποδέσμευση μνήμης από τα προγράμματα. Αρχείων: δυνατότητα δημιουργίας, ανάγνωσης, διαγραφής και τροποποίησης αρχείων ανάλογα με το σύστημα αρχείων κάθε μέσου. Συσκευών: αποδοτική λειτουργία Ι/Ο μεαπόκρυψηειδικώνχαρ/κών του υλικού από το χρήστη. Εργασιών. Ασφαλείας: επίπεδα ασφαλείας με κωδικό πρόσβασης (password). Χρήση πόρων από αυστηρά εξουσιοδοτημένους χρήστες (υψηλό επίπεδο).

Λειτουργικά Συστήματα Κατηγορίες* Λειτουργικά Συστήματα: Πολλών χρηστών: ταυτόχρονη χρήση ενός υπολογιστή από πολλούς χρήστες. Πολλών επεξεργαστών: εκτέλεση ενός προγράμματος από πολλές CPU. Πολυδιεργασίας: εκτέλεση πολλών προγραμμάτων ταυτόχρονα από μια CPU. Πολυνηματικά: ταυτόχρονη εκτέλεση διαφορετικών τμημάτων προγράμματος. Πραγματικού χρόνου: άμεσηαπόκρισηστατερματικάτωνχρηστών. * «Εισαγωγή στην πληροφορική σκέψη» Μ. Σφακιανάκη.

Λειτουργικά Συστήματα Πολυπρογραμματισμός και Καταμερισμός Χρόνου* Εμπειρικές διαπιστώσεις: Σχέση χρόνου εκτέλεσης ενός υπολογισμού προς μία πράξη Ι/Ο 1/1000 η CPU εκτελεί πολύ γρήγορα υπολογισμούς αλλά μένει αδρανής, περιμένοντας, κατά τις πράξεις Ι/Ο. H/Y με ένα χρήστη: ο Η/Υ μένει συνήθως αδρανής και η υπολογιστική ισχύς του θα μπορούσε να χρησιμοποιηθεί για προγράμματα άλλων χρηστών. Στόχοι λειτουργικού: Μείωση χρόνου αδράνειας (idle time) μονάδων Η/Υ και χρόνου διεκπεραίωσης (turnaround time) δηλ. του χρόνου από το δόσιμο της εντολής μέχρι την προβολή αποτελέσματος. 1 ος στόχος Πολυπρογραμματισμός (multiprogramming): ταυτόχρονη εκτέλεση προγραμμάτων στην κοινή μνήμη του υπολογιστή. Το λειτουργικό διατηρεί την κατάσταση των προγραμμάτων, θέτει προτεραιότητα εντολών και αποφασίζει τη ροή εκτέλεσης με ειδικό αλγόριθμο χρονοδρομολόγησης (scheduling). 2 ος στόχος Καταμερισμός χρόνου (timesharing): κατανομή σταθερής ποσότητας χρόνου (χρονομερίδιο) σε κάθε χρήστη. Όλα τα προγράμματα προχωρούν με την ίδια ταχύτητα. Σειρά εξυπηρέτησης διεργασιών ανάλογα με προτεραιότητες. * «Εισαγωγή στην πληροφορική σκέψη» Μ. Σφακιανάκη.