Αρχές Πληροφορικής Ενότητα # 8: Αλγόριθμοι και δίκτυα Θαρρενός Μπράτιτσης Παιδαγωγικό Τμήμα Νηπιαγωγών
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Σκοποί ενότητας Η ενότητα αυτή ασχολείται αρχικά με την έννοια του αλγόριθμου, ώστε ο φοιτητής να κατανοήσει τη δομή του και τον τρόπο που λειτουργεί. Πρόκειται για βασική γνώση που αξιοποιείται στις προσεγγίσεις επίλυσης προβλήματος. Στη συνέχεια γίνεται επέκταση της έννοιας, μιλώντας για προγραμματισμό, εφαρμογές και υπηρεσίες. Τέλος, στην ενότητα αυτή εξετάζεται η έννοια του υπολογιστικού δικτύου, φτάνοντας μέχρι το διαδίκτυο και τις σχετικές έννοιες.
Περιεχόμενα ενότητας Αλγόριθμος – έννοιες και δομή Εφαρμογές και υπηρεσίες Δίκτυο υπολογιστών Διαδίκτυο και πρωτόκολλα επικοινωνίας
Αλγόριθμος Είναι μια αλληλουχία βημάτων, αυστηρά καθορισμένων, που αν εκτελεστούν από οποιονδήποτε και οποτεδήποτε, θα φέρουν το ίδιο αποτέλεσμα, εφ’ όσον η κατάσταση έναρξης χρήσης του αλγόριθμου είναι η ίδια. Απαιτείται αυστηρά μονοσήμαντος καθορισμός της αρχικής κατάστασης ενός αλγορίθμου Απαιτείται αυστηρά μονοσήμαντος καθορισμός των βημάτων που αποτελούν το σώμα του αλγόριθμου και των χαρακτηριστικών τους Έτσι πάντα θα έχουμε το ίδιο αποτέλεσμα
Πέρα από τους αλγόριθμους Οι υπολογιστές εκτελούν αλγόριθμους. Οι αλγόριθμοι χαρακτηρίζουν όλες τις διεργασίες ενός υπολογιστή Ένα σύνολο (μεγάλο) αλγορίθμων φτιάχνει ένα πρόγραμμα και τελικά μια εφαρμογή (λογισμικό)
Αλγόριθμοι και δίκτυα Οι αλγόριθμοι αξιοποιούνται για να περιγραφούν οι διαδικασίες επικοινωνίας υπολογιστών μέσω δικτυακής σύνδεσης. Εξασφαλίσουν απρόσκοπτη ανταλλαγή δεδομένων, χωρίς λάθς
Βασικές έννοιες λογισμικού 1/3 Πρόγραμμα ονομάζεται το σύνολο των εντολών που χρησιμοποιεί ο υπολογιστής για να εκτελέσει μια συγκεκριμένη εργασία Η διαδικασία που ακολουθείται είναι: Στον υπολογιστή εισάγουμε δεδομένα, αλλά και τον τρόπο διαχείρισης τους που εκτελείται βάσει προκαθορισμένων υπολογιστικών διαδικασιών. Οι τελευταίες προϋποθέτουν ένα σύνολο εντολών που καταλαβαίνει και εκτελεί ο ηλεκτρονικός υπολογιστής. Επεξεργασία των δεδομένων από τον υπολογιστή, με βάση τις διαδικασίες Εξαγωγή αποτελέσματος (προς το χρήστη ή προς ένα άλλο πρόγραμμα ως νέα δεδομένα)
Βασικές έννοιες λογισμικού 2/3 Αλγόριθμος ονομάζεται ένα σύνολο καθορισμένων μεθόδων των διαδικασιών (βημάτων) που απαιτούνται για την επίλυση προβλημάτων Κάθε αλγόριθμος πρέπει να ικανοποιεί τα εξής κριτήρια: Είσοδος (input): Καμία, μία ή και περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Έξοδος (output): Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσης της. Περατότητα (finiteness): Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μια εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη.
Βασικές έννοιες λογισμικού 3/3 Γλώσσα προγραμματισμού (πηγαίος κώδικας) ονομάζεται το μέσον που μας επιτρέπει να δίνουμε εντολές στον Η/Υ. Οι γλώσσες προγραμματισμού διακρίνονται σε δύο γενικές κατηγορίες: Γλώσσες χαμηλού επιπέδου που προσομοιάζουν στη γλώσσα του υπολογιστή όπως είναι οι: η Γλώσσα Μηχανής, Assembly Γλώσσες υψηλού επιπέδου που προσομοιάζουν στη γλώσσα του ανθρώπου όπως είναι οι : C, COBOL, Algol κλπ. Υπάρχουν κι άλλοι τρόποι κατηγοριοποίησης των γλωσσών προγραμματισμού, με κυριότερο το διαχωρισμό τους σε γενιές, με βάση τη χρονική περίοδο και την τεχνική προσέγγιση στην ανάπτυξή τους.
Λογισμικό Εφαρμογών Το Λογισμικό Εφαρμογών είναι ένα σύνολο εξειδικευμένων προγραμμάτων που εκτελούν συγκεκριμένα είδη εργασιών. Με τα προγράμματα αυτά μπορούμε να κάνουμε: Επεξεργασία Κειμένου, Επεξεργασία Εικόνας, ήχου, video, Φύλλα Υπολογισμών, Διαχείριση Βάσεων Δεδομένων, Παρουσιάσεις), παιχνίδια, Εγκυκλοπαίδειες, προγράμματα περιήγησης στο διαδίκτυο (Φυλλομετρητές - browsers), Εφαρμογές Ηλεκτρονικού Ταχυδρομείου και άλλα. Λογισμικό ανάπτυξης λογισμικού είναι το λογισμικό που χρησιμοποιείται για τη δημιουργία νέου λογισμικού και εφαρμογών. Αυτό περιλαμβάνει τις γλώσσες προγραμματισμού (BASIC, C, PASCAL, PROLOG, LISP, FORTRAN, COBOL … ) αντίστοιχα προγράμματα μετάφρασης και μεταγλώττισής τους στις διάφορες πλατφόρμες υπολογιστών. Με τον όρο Βοηθητικό Λογισμικό (Utilities) περιγράφονται προγράμματα – εργαλεία που υποβοηθούν τη γενικότερη λειτουργία του ηλεκτρονικού υπολογιστή και επεκτείνουν τις δυνατότητες του λειτουργικού συστήματος. Αρκετά από αυτά συχνά ενσωματώνονται στις επόμενες εκδόσεις του λειτουργικού συστήματος. Τα προγράμματα αυτά κάνουν ελέγχους, συμπιέζουν αρχεία, δημιουργούν αντίγραφα ασφαλείας και εκτελούν ορισμένες εργασίες ταχύτερα και αποτελεσματικότερα.
Κατηγορίες Λογισμικού Εφαρμογών Προγράμματα Εφαρμογών. Αυτά τα προγράμματα καλύπτουν συγκεκριμένες ανάγκες επεξεργασίας πληροφοριών και παραγγέλνονται σε ειδικά γραφεία ανάπτυξης λογισμικού (software houses). π.χ. τα προγράμματα με τα οποία λειτουργεί μια τράπεζα. Πακέτα Εφαρμογών. Είναι ένα σύνολο από διάφορα προγράμματα που σα στόχο έχουν να καλύψουν κάποιες εργασίες στο χώρο των επιχειρήσεων, όπως η γενική λογιστική, η μισθοδοσία κ.τ.λ. Το χαρακτηριστικό των πακέτων εφαρμογών είναι η δυνατότητα παραμετροποίησης που παρέχουν. Λογισμικό γενικής χρήσης. Εδώ ανήκουν πολλά προγράμματα που στοχεύουν στην αυτοματοποίηση των περισσότερων λειτουργιών του γραφείου μιας επιχείρησης (π.χ. δημιουργία και επεξεργασία κειμένου, πινάκων, παρουσιάσεων, βάσεων δεδομένων, διαχείριση αρχείων κτλ.). Πακέτα Επιτραπέζιων Εκδόσεων (Desk Top Publishing). Είναι προγράμματα που καλύπτουν όλο το φάσμα των εργασιών των εκδόσεων, από δημιουργία και επεξεργασία εικόνας και γραφικών έως και ηλεκτρονική επεξεργασία σελίδας όπου ενσωματώνονται όλα τα στοιχεία μιας σελίδας προς έκδοση (κείμενα, εικόνες και γραφικά). Λογισμικό επικοινωνιών. Αυτά τα προγράμματα επιτρέπουν την επικοινωνία μεταξύ δύο ή και περισσότερων υπολογιστών που βρίσκονται στον ίδιο ή σε διαφορετικό χώρο (Internet). Υπάρχουν πολλοί ακόμα τρόποι κατηγοριοποίησης του λογισμικού εφαρμογών
Δίκτυα υπολογιστών -Ορισμοί Δίκτυο υπολογιστών είναι η σύνδεση δύο ή περισσότερων αυτόνομων και ανεξάρτητων υπολογιστών και περιφερειακών που σα σκοπό έχουν την μεταξύ τους ανταλλαγή πληροφοριών (σύστημα επικοινωνίας δεδομένων). Δικτύωση είναι η σύνδεση δύο ή περισσοτέρων υπολογιστικών συσκευών μαζί με το υλικό και το λογισμικό που υποστηρίζει την επικοινωνία κατά μήκος αυτών των συσκευών. Ο τρόπος σύνδεσης των υπολογιστών μεταξύ τους μπορεί να είναι: ενσύρματος (καλώδιο) ασύρματος (ασύρματα δίκτυα -WiFi) Ο πρωταρχικός σκοπός ενός δικτύου υπολογιστικών συστημάτων είναι η διανομή πόρων δηλαδή να μπορούν : να παράγουν, να στέλνουν, να προωθούν, και να λαμβάνουν πληροφορίες. Οι πληροφορίες αυτές μπορεί να είναι οποιασδήποτε μορφής ψηφιακά στοιχεία όπως δεδομένα, ήχος, βίντεο, εικόνα κλπ. Αυτόνομοι θεωρούνται οι υπολογιστές που στη λειτουργία τους δεν μπορεί να επέμβει άλλος υπολογιστής (π.χ. κατά την εκκίνηση τους ή κατά τον τερματισμό τους κλπ).
Υλικό δικτύων Κάρτα Δικτύου • Επαναλήπτης (Repeater) Συνδέεται στο δίαυλο του Η/Υ και μεταφέρει δεδομένα από και προς το δίκτυο. Μετατρέπει τα δεδομένα σε μορφή συμβατή με το πρωτόκολλο του δικτύου (π.χ. Ethernet, TCP/IP). • Επαναλήπτης (Repeater) συσκευή ενίσχυσης του σήματος Τοποθετούνται σε τακτά διαστήματα κατά μήκος της διεύθυνσης μετάδοσης ώστε να μην εξασθενίσει η ισχύς του σήματος • Δρομολογητές (Router) Οι δρομολογητές προωθούν τα πακέτα πληροφορίας μόνο σε επιλεγμένους προορισμούς. Αποφεύγεται η άσκοπη μετάδοση δεδομένων σε τμήματα δικτύων που είναι άσχετα με τον προορισμό. • Γέφυρες (Bridge) Οι γέφυρες φροντίζουν για την συνένωση διαφορετικών δικτύων.
Κάρτα δικτύου Η Κάρτα Δικτύου (Network Interface Card) είναι το βασικότερο μέσο διασύνδεσης των υπολογιστών σε δίκτυο. Τοποθετείται σε κάποια υποδοχή (Slot επέκτασης) της μητρικής πλακέτας. Ο ρόλος της κάρτας ΝΙC είναι: η προετοιμασία δεδομένων του υπολογιστή για να διοχετευτούν στο καλώδιο του δικτύου. η αποστολή των δεδομένων σε έναν άλλον υπολογιστή. ο έλεγχος ροής των δεδομένων μεταξύ του υπολογιστή και του καλωδιακού συστήματος. η λήψη εισερχόμενων δεδομένων από το καλώδιο του δικτύου και η μετατροπή τους σε byte που θα μπορούν να γίνουν κατανοητά από την κεντρική μονάδα επεξεργασίας του υπολογιστή.
Δρομολογητής (Router) Ο δρομολογητής είναι μία συσκευή στην οποία συνδέονται περισσότεροι του ενός ηλεκτρονικοί υπολογιστές ενός τοπικού δικτύου. Ο δρομολογητής αναλαμβάνει τη δρομολόγηση (μεταβίβαση) των δεδομένων από και προς τον κατάλληλο υπολογιστή του δικτύου, χρησιμοποιώντας συγκεκριμένους αλγόριθμους καθορισμού των διαδρομών και κατάτμησης της μεταφερόμενης πληροφορίας σε μικρότερα μέρη Στις οικιακές συνδέσεις, ο πάροχος προμηθεύει τον καταναλωτή με μια συσκευή που είναι ταυτόχρονα και modem και router Υπολογιστής - Α Modem Δρομολογητής Διαδίκτυο Υπολογιστής -Β
Αρχιτεκτονική δικτύων Η Αρχιτεκτονική Δικτύων αφορά τον τρόπο σύνδεσης των συσκευών που υπάγονται σε ένα δίκτυο (υπολογιστές, εκτυπωτές κλπ) και τα δικαιώματα πρόσβασης των υπολογιστών που απαρτίζουν το δίκτυο. Υπάρχουν 2 βασικές κατηγορίες δικτύων: Ομότιμο Δίκτυο(Peer-to-Peer): Όλοι οι υπολογιστές είναι ισότιμοι Δίκτυο Πελάτη-Διακομιστή (Server-based) ή (client-server): Πελάτης θεωρείται οποιοσδήποτε υπολογιστής είναι συνδεδεμένος σε ένα διακομιστή και χρησιμοποιεί τους πόρους που ελέγχει ο διακομιστής π.χ. έναν εκτυπωτή, πρόσβαση στο Internet, χρήση ηλεκτρονικού ταχυδρομείου κλπ.
Βασικά στοιχεία δικτύου Διακομιστής (server) ή εξυπηρετητής είναι ένα πρόγραμμα υπολογιστή το οποίο περιμένει να προσφέρει μια υπηρεσία. Συνήθως διακομιστής ονομάζεται και ο υπολογιστής στον οποίο τρέχει αυτό το πρόγραμμα. Πελάτης (Client) είναι ο υπολογιστής που χρησιμοποιεί ο χρήστης για να έχει πρόσβαση στους διακομιστές και να μοιράζεται πόρους όπως σκληροί δίσκοι, εκτυπωτές κλπ. Κανάλι (Channels) ονομάζεται και κύκλωμα δικτύου (network circuit) και ο ρόλος του στο δίκτυο είναι η μετάδοση των πληροφοριών μεταξύ διακομιστή /πελάτη. Μονάδα Διεπαφής είναι η μονάδα υλικού που συνδέει πελάτη-διακομιστή (και μερικές φορές και άλλα δίκτυα μεταξύ τους) π.χ. modem, κάρτα δικτύου. Λειτουργικό Σύστημα: δικτυακό λειτουργικό σύστημα ονομάζεται το λογισμικό του δικτύου και δουλεύει όπως το λειτουργικό σύστημα ενός μεμονωμένου υπολογιστή, αλλά σε επίπεδο δικτύου. κανάλι διακομιστής Πόρος που μοιράζεται μεταξύ των πελατών του δικτύου. εκτυπωτής πελάτης
Χωροταξική κατηγοριοποίηση δικτύων Ανάλογα με την έκταση που καταλαμβάνουν τα δίκτυα, χωρίζονται σε: Τοπικό Δίκτυο (Local Area Network – LAN): καταλαμβάνει μικρή έκταση και όλοι οι υπολογιστές του βρίσκονται μέσα σε ένα συγκεκριμένο χώρο όπως δωμάτιο, κτίριο ή συγκρότημα κτιρίων. Απαραιτήτως όλοι οι υπολογιστές του είναι εφοδιασμένοι με μια κάρτα δικτύου για να μπορούν να συνδεθούν με τον διακομιστή μέσω καλωδίου είτε ασύρματα. Συνήθως ένα τέτοιο δίκτυο αποτελείται από έναν κεντρικό ισχυρό υπολογιστή που λειτουργεί σαν διακομιστής των διαφόρων τερματικών του δικτύου. Οι υπολογιστές και τα περιφερειακά που είναι συνδεδεμένα στο τοπικό δίκτυο καλούνται κόμβοι του δικτύου. Μητροπολιτικό Δίκτυό: είναι ένα εκτεταμένο τοπικό δίκτυο το οποίο μπορεί να καλύπτει μία ολόκληρη πόλη. Πολλά Μητροπολιτικά Δίκτυα καλύπτουν μία περιοχή μεγέθους μίας πόλης, αν και υπάρχουν περιπτώσεις όπου Μητροπολιτικά Δίκτυα καλύπτουν πιο μικρές περιοχές, όπως ομάδες κτιρίων. Ουσιαστικά ένα μητροπολιτικό δίκτυο συνδέει τοπικά δίκτυα χρησιμοποιώντας τεχνολογίες υψηλής ταχύτητας μεταφοράς, ενώ συνήθως παρέχει συνδέσεις σε Ευρείας Περιοχής Δίκτυα. . Ευρείας Περιοχής Δίκτυο: επεκτείνεται σε μεγάλες γεωγραφικές περιοχές που αποτελούνται από διάφορες χώρες ή ακόμα και ηπείρους. Χρησιμοποιεί διάφορες συσκευές, όπως είναι οι δορυφόροι, ακόμα και κάποια υπάρχοντα τηλεφωνικά δίκτυα. Αποτελείται από μια σειρά διασυνδεδεμένων τοπικών δικτύων (LAN). Το πιο γνωστό δίκτυο ευρείας περιοχής δίκτυο είναι το Internet
Διαδίκτυο - Internet Το Internet είναι ένα διαδίκτυο το οποίο ενώνει εκατομμύρια υπολογιστές σ' όλο τον κόσμο. Μια εταιρία η οποία διαθέτει την κατάλληλη υποδομή και μπορεί να μας προσφέρει τις κατάλληλες υπηρεσίες για να συνδεθούμε στο Internet, ονομάζεται Παροχέας Υπηρεσιών Internet (ISP = Internet Services Provider). Τέτοιες εταιρίες υπάρχουν αρκετές σήμερα στην Ελλάδα. Η IP διεύθυνση είναι η μοναδική διεύθυνση με την οποία κάθε υπολογιστής είναι συνδεδεμένος στο Διαδίκτυο. Η IP διεύθυνση συντελεί στην αναγνώριση του συγκεκριμένου υπολογιστή από ο από τους άλλους υπολογιστές. H IP διεύθυνση έχει σήμερα την μορφή ενός 32 bit αριθμού για παράδειγμα 62.103.149.33. Οι υπολογιστές που έχουν μόνιμη σύνδεση στο Διαδίκτυο έχουν και σταθερή διεύθυνση (στατική IP).
Επικοινωνία στο διαδίκτυο Υπολογιστές αντιστοιχούν σε IP διευθύνσεις Ανοίγουν κανάλια επικοινωνίας ανάμεσα σε υπολογιστές
Οδηγίες (1 από 4) Το πρότυπο παρουσίασης (template) περιέχει συγκεκριμένες διατάξεις διαφανειών. Προτιμήστε μια από τις 9 προκαθορισμένες διατάξεις.
Οδηγίες (2 από 4) Κάθε διαφάνεια πρέπει να έχει τίτλο που να είναι μοναδικός. Ο τίτλος διαφάνειας είναι bold 44pt και δεν πρέπει να ξεπερνάει τις 2 γραμμές. (Στις 2 γραμμές το μέγεθος γραμματοσειράς προσαρμόζεται αυτόματα από το πρόγραμμα σε 40pt). Χρησιμοποιήστε τα ορισμένα μεγέθη γραμματοσειρών για το κείμενο: 32pt για το πρώτο επίπεδο, 28pt για το δεύτερο, 24pt για το τρίτο, 22pt για το τέταρτο και 20pt για το πέμπτο. Μη χρησιμοποιείτε προσαρμοσμένο μέγεθος μικρότερο από 20pt. Επιλέξτε γραμματοσειρές που είναι εύκολο να διαβαστούν και συναντώνται συχνά στα έγγραφα (π.χ. τύπου Sans Serif), όπως για παράδειγμα οι Arial, Verdana, Tahoma, Calibri.
Οδηγίες (3 από 4) Μην αλλοιώνετε τα πλαίσια του τίτλου και του κειμένου ως προς το μέγεθος και τη θέση τους. Μη χρησιμοποιείται αλλαγή χρώματος για επισήμανση λέξεων. Συνίσταται η χρήση bold. Συνίσταται να χρησιμοποιείται 1 σχήμα, γράφημα, εικόνα, φωτογραφία ανά διαφάνεια. Συνίσταται να χρησιμοποιούνται μόνο όσα σχήματα χρειάζονται για να αποδώσουν την απαιτούμενη πληροφορία και όχι για «διακόσμηση». Συνίσταται να χρησιμοποιούνται μέχρι 6 bullets ανά διαφάνεια. Διαφάνειες που περιέχουν μεγάλη ποσότητα πληροφορίας καλό είναι να αναλύονται σε επιμέρους διαφάνειες.
Οδηγίες (4 από 4) Μην χρησιμοποιείτε εικόνες πίσω από γράμματα ως φόντο ούτε χρωματιστά πλαίσια. Για πλαίσια προτιμήστε μαύρο περίγραμμα τουλάχιστον 2pt. Μην χρησιμοποιείτε σκιά στα γράμματα. Μην στοιχίζετε το κείμενο σε πλήρη στοίχιση (justify). Οι υπερσυνδέσεις να συνοδεύονται από αντιπροσωπευτικό κείμενο. Να είναι ενεργοποιημένος ο αυτόματος ορθογραφικός έλεγχος. Κατά την παρουσίαση, η μετάβαση μεταξύ διαφανειών να γίνεται με τον προκαθορισμένο τρόπο (enter, βέλος, κλικ) και χωρίς όριο χρόνου.
Βασικές Οδηγίες Προσβασιμότητας Όλα τα αντικείμενα (π.χ. εικόνες, φωτογραφίες, σχήματα, γραφικά) πρέπει να συνοδεύονται από εναλλακτικό κείμενο περιγραφής τους. Διασφαλίστε ότι η σειρά αυτόματης ανάγνωσης σε κάθε διαφάνεια είναι λογική: η μετατροπή κειμένου σε ομιλία «διαβάζει» τον τίτλο, τα κείμενα και τα εναλλακτικά κείμενα των αντικειμένων με τη σειρά που έχουν εισαχθεί και όχι με τη σειρά που εμφανίζονται στη διαφάνεια. Ελέγξτε την ορατότητα για χρήστες με αχρωματοψία. Ακολουθείστε τις ειδικές οδηγίες για επιστημονικά σύμβολα, ηχητικά αρχεία και video clips.
Τέλος ενότητας