ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ - Συμπληρώνται σύνδεσομοι και διάφορες απαντήσεις σταδιακά

ΟΜΑΔΑ Α. ΓΕΝΙΚΕΣ ΕΡΩΤΗΣΕΙΣ 1 έως 118

1. Από ποια βασικά τμήματα αποτελείται ένας ηλεκτρονικός υπολογιστής; Να περιγράψετε συνοπτικά τις κύριες λειτουργίες του κάθε τμήματος.

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

Β) Οθόνη: Η οθόνη του Η/Υ εξωτερικά παρουσιάζει αρκετά κοινά χαρακτηριστικά με μια τηλεόραση. Πράγματι, βρίσκουμε ένα διακόπτη ON-OFF, με τη βοήθεια του οποίου ανοίγουμε ή κλείνουμε την οθόνη, καθώς και διακόπτες για τη ρύθμιση της φωτεινότητας (Brightness), της αντίθεσης (Contrast) και διόρθωσης παραμορφώσεων. Οι οθόνες κατασκευάζονται σε διάφορα μεγέθη. Η μονάδα μέτρησης των διαστάσεων της οθόνης είναι η ίντσα ("). Τυπικές αναλύσεις που χρησιμοποιούνται στις οθόνες των προσωπικών υπολογιστών είναι 640Χ480, 800Χ600, 1024Χ768, 1280Χ1024 και 1600Χ1200.

Γ) Περιφεριακά: Οποιαδήποτε άλλη συσκευή συνδέεται στην Κεντρική μονάδα του υπολογιστή ονομάζεται περιφεριακή μονάδα. Οι βασικές από αυτές είναι το πληκτρολόγιο, το ποντίκι, ο εκτυπωτής κτλ .

Τα βασικά μέρη ενός ηλεκτρονικού υπολογιστή είναι: Η Μητρική πλακέτα, Ο Επεξεργαστής, Συσκευές Εισόδου, Συσκευές Εξόδου, Προσωρινή μνήμη και τέλος η Μόνιμη μνήμη.

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

Ο Επεξεργαστής ειναι το μέρος του υπολογιστή στον οποίον γίνονται όλες οι αριθμητικές και λογικές πράξεις. Ο επεξεργαστής η αλλιώς κεντρική μονάδα επεξεργασίας, διαβάζει εντολές απο τη μνήμη και της εκτελεί.

Συσκευές Εισόδου ειναί οι συσκευές με της οποίες εισάγουμε πληροφορίες σε ενα ηλεκτρονικό υπολογιστή, οι κυριότερες συσκευές σε αυτήν την κατηγορία είναι το ποντίκι και το πληκτρολόγιο.

Συσκευές Εξόδου ειναί οι συσκευές με της οποίες ο ηλεκτρονικός υπολογιστής μας εμφανίζει μια πληροφορία, η απο ψηφιακή την μετατρέπει σε αναλογική όπως ενας εκτυπωτής. Άλλη τέτοια συσκευή είναι η Οθόνη.

Προσωρινή Μνήμη η αλλιώς μνήμη τυχαίας προσπέλασης(RAM) είναι η μνήμη στην οποία αποθηκεύονται προσωρίνα δεδομένα απο της διεργασίες της οποίες χρησιμοποιεί ο επεξεργαστής για να εκτελέσει της εντολές που θέλουμε.

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

- Υλικό μέρος (Hardware): 1. Κεντρική μονάδα επεξεργασίας (ΚΜΕ ή CPU) Είναι το κεντρικό εξάρτημα που επεξεργάζεται δεδομένα σε έναν ηλεκτρονικό υπολογιστή, ελέγχει τη λειτουργία του και εκτελεί βασικές λειτουργίες διασύνδεσης και μεταβίβασης εντολών 2. Κεντρική μνήμη (RAM και ROM-BIOS) Η RAM ειναι η μνημη οπου αποθηκευονται προγραμματα και δεδομενα τα οποια ειτε θα εκτελεστουν ή θα υποστουν επεξεργασια. Η ROM επιτρεπει την ταχαια προσπελαση δεδομενων. Το BIOS ειναι ο αρχικος κωδικας ο οποιος ενεργοποιειται κατα την εναρξη του υπολογιστη (Boot) και εντοπιζει, ελεγχει, και αρχικοποιει της συσκευες του συστηματος. 3. Συσκευές εισόδου-εξόδου (ποντίκι, πληκτρολόγιο, οθόνη) Με αυτες δινουμε και λαμβανουμε εντολες απο τον υπολογιστη 4. Εσωτερικές και εξωτερικές μονάδες ανάγνωσης και αποθήκευσης δεδομένων (σκληρός δίσκος HDD/SSD) Το λογισμικο καθως και ολα τα υπολοιπα προγραμματα ειναι αποθηκευμενα εκει. 5. Περιφερειακές συσκευές (εκτυπωτής, σκάνερ, μόντεμ κλπ)

ΠΙΣΤΟΠΟΙΗΣΗ ΤΕΠ

2. Ποιες είναι οι διαθέσιμες τεχνολογίες εκτυπωτών και σε ποια χρήση απευθύνεται η κάθε μία; Να αναφέρετε τα κριτήρια αξιολόγησης ενός εκτυπωτή.

Υπάρχουν αρκετά είδη εκτυπωτών, με πιο διαδεδομένους τους ακόλουθους: α) Dot Matrix, β) Inkjet, που λειτουργούν με σύστημα ψεκασμού στο χαρτί, γ) Laser και δ) Θερμικοί εκτυπωτές. α) Οι Dot Matrix παρέχουν χαμηλή ποιότητα εκτύπωσης και χρησιμοποιούνται κυρίως για εκτυπώσεις αποδείξεων, τιμολογίων κ.λπ., εκεί δηλαδή όπου η ποιότητα της εκτύπωσης δεν απασχολεί ιδιαίτερα. Η λειτουργία των εκτυπωτών ακίδων βασίζεται στην χρήση μιας μήτρας που έχει μία ή δύο στήλες με ακίδες. β) Οι Inkjet παρέχουν εκτυπώσεις ικανοποιητικής ποιότητας και μπορούν να εξυπηρετήσουν τις ανάγκες ενός μικρού γραφείου και έχουν μικρό κόστος, ακόμα και οι έγχρωμοι, και είναι αρκετά αθόρυβοι. Η εκτύπωση των εκτυπωτών ψεκασμού (Inkjet) πραγματοποιείται με ψεκασμό μελάνης πάνω στο χαρτί. Η κεφαλή εκτύπωσης περιέχει το μελάνι το οποίο ψεκάζει πάνω στο χαρτί έτσι, ώστε να ζωγραφίζει την εικόνα που στέλνει ο υπολογιστής. γ) Οι εκτυπωτές Laser υπερτερούν, καθώς επιτυγχάνουν τις ποιοτικότερες εκτυπώσεις αλλά το κόστος είναι μεγαλύτερο σε σχέση με τους Inkjet εκτυπωτές και ιδιαίτερα οι έγχρωμοι είναι πολύ ακριβοί. Οι εκτυπωτές Laser ονομάζονται επίσης, εκτυπωτές σελίδας, γιατί μια ακτίνα Laser ζωγραφίζει την εικόνα της σελίδας επάνω σ' ένα ηλεκτρικά φορτισμένο κύλινδρο, το τύμπανο. Το μελάνι, με μορφή σκόνης, κολλά στα φορτισμένα μέρη του τύμπανου και στη συνέχεια μεταφέρεται στο χαρτί, όπου και στερεοποιείται με τη βοήθεια θερμότητας δ) Οι Θερμικοί εκτυπωτές βρίσκουν εφαρμογή στις βιομηχανικές και παραγωγικές μονάδες, εξυπηρετώντας εκτυπωτικές ανάγκες ετικετών, σημάτων, επιγραφών κ.ά. και το κόστος είναι απαγορευτικό για αγορά για προσωπική χρήση.

Οι διαθέσιμες κατηγορίες εκτυπωτών ανάλογα με την τεχνολογία εκτύπωσης είναι: Κρουστικοί εκτυπωτές (Ιmpact printers). Οι εκτυπωτές αυτοί αποτελούν την πιο παλιά κατηγορία εκτυπωτών. Εκτυπωτές ψεκασμού (Inkjet printers). Οι εκτυπωτές αυτοί έιναι κατάλληλοι για κείμενα και για φωτογραφίες, για συχνό αλλά μικρό όγκο εκτυπώσεων. Εκτυπωτές laser (Laser printers). Οι εκτυπωτές αυτοί είναι ιδανικοί για κείμενα και για μεγάλο όγκο εκτυπώσεων.

Τα κριτήρια αξιολόγησης ενός εκτυπωτή έιναι: 1) Η ταχύτητα εκτύπωσης η οποία μετριέται με σελίδες ανα λεπτό ή με χαρακτήρες ανα δευτερόλεπτο. 2) Η ποιότητα εκτύπωσης η οποία μετριέται με κουκίδες ανα ίντσα.3) Το κόστος της μελάνης, πόσο κοστίζει μια μελάνη

Χωριζονται σε κρουστικους (impact) και μη κρουστικους (Inkjet, Laser). - Κρουστικοί εκτυπωτές (Dot matrix) - Εκτυπωτες ψεκασμου μελανης (Inkjet Printers) - Εκτυπωτες laser (Laser Printers) Οι εκτυπωτες Dot matrix εχουν χαμηλοτερο κοστος εκτυπωσης αλλα ειναι πιο ευθραστοι. Επισης δεν παραγουν αντιγραφα υψηλων αναλυσεων. Αντιθετα οι Laser και Inkjet εκτυπωτες παραγουν αντιγραφα υψηλων αναλυσεων και μπορουν να εκτυπωσουν πανω σε πολλες επιφανειες. Οι inkjet εκτυπωτες ειναι το πιο συνηθισμενο ειδος εκτυπωτη για επιχειρησης και οικιακη χρηση ενω οι Dot matrix εχουν παψει να χρησιμοποιουνται πολυ με την εξαιρεση των μηχανων εκτυπωσης αποδειξεων και ετικετων.

Αξιολογουμε εναν εκτυπωτη με βαση: 1. Αναλυση σε DPI (κουκιδες ανα ιντσα) 2. Ταχυτητα σε ppm (σελιδες ανα λεπτο) ή cpm (χαρακτηρες ανα λεπτο) 3. Δυνατοτητα χρωματος 4. Ειδος και μεγεθος χαρτιου (Α4,Α3, duplex) 5. Τυπος συνδεσης (π.χ. θύρα USB, παραλληλη θυρα) 6. Θόρυβος 7. Κοστος αγορας και εκτυπωσης

3. Ποιες κατηγορίες αποθηκευτικών μέσων έχουμε; Σε ποια από αυτές ανήκουν οι σκληροί δίσκοι και σε ποια οι οπτικοί δίσκοι;
Οι κατηγορίες αποθηκευτικών στην επιστήμη των Η/Υ είναι οι εξής:

Α. Τα μαγνητικά μέσα αποθήκευσης είναι οι ταινίες (magnetic tapes) και οι δίσκοι (disks). H εγγραφή των ψηφιακών δεδομένων σε αυτά βασίζεται στη μόνιμη μαγνήτιση μιας μικρής περιοχής του μαγνητικού μέσου με την βοήθεια ενός ηλεκτρομαγνήτη. Η ανάγνωση γίνεται με το πέρασμα του ηλεκτρομαγνήτη πάνω από τη μαγνητισμένη περιοχή και τη δημιουργία επαγωγικού ρεύμα  Η φορά του επαγωγικού ρεύματος εξαρτάται από την πολικότητα της μαγνήτισης και επομένως καθορίζει τη τιμή της ψηφιακής πληροφορίας: 0 ή 1. Στην περίπτωση της εγγραφής έχουμε το αντίστροφο φαινόμενο. Ανάλογα με την τιμή 0 ή 1 που θέλουμε να γραφεί στο δίσκο, διοχετεύεται ρεύμα αντίστοιχης φοράς, δημιουργείται λοιπόν μαγνητικό πεδίο που μαγνητίζει αντίστοιχα την περιοχή του δ χή του δίσκου.

Β. Οι οπτικοί δίσκοι (Compact Disk) είναι τα τελευταία χρόνια το πιο διαδεδομένο μέσο αποθήκευσης μεγάλου όγκου ψηφιακών δεδομένων, ειδικά για εφαρμογές πολυμέσων. Οι συσκευές ανάγνωσης οπτικών δίσκων βασίζονται στην ανάκλαση μιας φωτεινής δέσμης laser πάνω στην επιφάνεια του δίσκου. Το υλικό κατασκευής τους ποικίλλει ανάλογα με την τεχνολογία ανάγνωσης και εγγραφής. Το κοινό χαρακτηριστικό τους είναι η μεγάλη διάρκεια ζωής τους λόγω του προστατευτικού στρώματος πλαστικού που τους περιβάλλει. Οι πιο διαδεδομένες κατηγορίες οπτικών δίσκων είναι οι εξής: · CD-ROM: Μουσικά CD (CD-Audio) και CD δεδομένων (CD-Data) · Εγγράψιμα Εγγράψιμα CD (CD-Recordable ή WORM-Write Once Read Many) · Eπανεγγράψιμα Eπανεγγράψιμα CD (CD-RW Rewritable ή CD-Erasable) · DVD (Digital (Digital Versatile Versatile Disks)

Γ. USB Flash Memory. Συνδέεται με τον υπολογιστή μέσω θύρας USB και αποθηκεύει δεδομένα σε ολοκληρωμένα κυκλώματα (τσιπ) μνήμης που βρίσκονται στο εσωτερικό του. Το είδος αυτών των τσιπ ονομάζεται "μνήμη flash" (φλας - "flash memory") και γι αυτόν το λόγο η συσκευή ονομάζεται flash drive. Όση ώρα είναι συνδεδεμένο στον υπολογιστή μπορούμε σε αυτό να γράψουμε ή να διαβάσουμε δεδομένα με μεγάλη ταχύτητα ενώ όταν το αποσυνδέσουμε τα δεδομένα μας παραμένουν στα τσιπ μνήμης για απεριόριστο χρόνο.

Δ. Οι κάρτες μνήμης είναι πολύ μικρά αποθηκευτικά μέσα που περιέχουν ολοκληρωμένα κυκλώματα μνήμης flash (φλας). Η διαφορά τους από τα USB flash drive είναι ότι δε μπορούν να συνδεθούν απευθείας στον υπολογιστή για να διαβάσουμε και να γράψουμε δεδομένα σε αυτές, αλλά ότι χρειάζονται ειδική συσκευή ανάγνωσης καρτών μνήμης ("card reader"). Στους επιτραπέζιους υπολογιστές συνήθως απαιτείται να προμηθευτούμε μία εξωτερική συσκευή ανάγνωσης καρτών. Η τιμή ανάγνωσης καρτών. Η τιμή μιας τέτοιας συσκευής είναι αρκετά χαμηλή.

Οι κατηγορίες των αποθηκευτικών μέσων που έχουμε είναι, τα Μαγνητικά μέσα, οι Οπτικοί δίσκοι, και οι Μνήμες flash. Οι σκληροί δίσκοι ανήκουν στα μαγνητικά μέσα αποθήκευσης, και οι οπτικοί δίσκοι ανήκουν στα οπτικά μέσα αποθήκευσης.

Μαγνητικά Μέσα (μαγνητικη ταινια, κασετα μαγνητικης εγγραφης, μαγνητικος κυλινδρος, δισκετα, Σκληρος δισκος (HDD/SSD) - Οπτικα μεσα (CD/DVD/Blu-Ray Disc) - Αλλες μνημες (USB στικ, καρτες μνημης SD)

4. Τι είναι οι σαρωτές (scanners) και τι τα προγράμματα OCR;

Ο σαρωτής (scanner) είναι μια συσκευή που μεταφράζει μια τυπωμένη εικόνα σε ψηφιακά δεδομένα, δηλαδή ψηφιοποιεί τα εικόνα και τη μεταφέρει στον υπολογιστή, είτε αυτή είναι ασπρόμαυρη είτε έγχρωμη. Τα βασικά χαρακτηριστικά που καθορίζουν την ποιότητα και την τιμή ενός σαρωτή είναι η ταχύτητα σάρωσης, η ανάλυση και τα υποστηριζόμενα μεγέθη (Α3, Α4, κ.λπ.). Το κόστος ενός σαρωτή είναι αρκετά πρ Α4, κ.λπ.). Το κόστος ενός σαρωτή είναι αρκετά προσιτό. Η οπτική αναγνώριση χαρακτήρων, (Optical Character Recognition), ή αλλιώς OCR, είναι μια διαδικασία κατά την οποία ένα ειδικό πρόγραμμα διαβάζει μια εικόνα και αν η εικόνα έχει γράμματα εν σειρά, υπό μορφή κειμένου, μπορεί να μετατρέψει την εικόνα σε κείμενο αναγνωρίζοντας τους χαρακτήρες οπότε το αποτέλεσμα να μπορεί να είναι επεξεργάσιμο σε κάποιον επεξεργαστή κειμένου, όπως πχ το word του Office.

Ο σαρωτής είναι μια συσκευή δια της οποίας επιτυγχάνεται η ψηφιοποίηση εικόνας φωτογραφίας ή σχεδίου ή εγγράφου με σκοπό την αποθήκευση της στον ηλεκτρονικό υπολογιστή. Το πρόγραμμα OCR (Optical character recognition), μετατρέπει σαρωμένες εικόνες ή έντυπα κειμένων σε κείμενο αναγνώσιμο από ηλεκτρονικό υπολογιστή.

Ο σαρωτης ειναι μια συγχρονη ηλεκτρονικη συσκευη με την βοηθεια της οποιας επιτυγχανεται η ψηφιοποιηση εικονας ή εγγραφου με σκοπο την μετεπειτα επεξεργασια ή αποστολη αυτων των αρχειων. Τα προγραμματα OCR (Optical Character Recognition) επιτρεπουν την διαδικασια μετατροπης σαρωμενων εικονων (χειρογραφων ή εντυπων) σε κειμενο που μπορει να αναγνωστει απο τον υπολογιστη. Ετσι μπορουμε να επεξεργαστουμε το κειμενο χωρις να χρειαζεται να δημιουργησουμε ενα εντελως καινουργιο εγγραφο.

5. Τι είναι μια Άδεια Χρήσης λογισμικού και ποιο δικαίωμα παραχωρεί;

Άδεια λογισμικού είναι ο όρος ο οποίος περιγράφει τα νομικά δικαιώματα τα οποία έχουν οι χρήστες ως προς την χρήση, επεξεργασία και διανομή του λογισμικού, και τα οποία καθορίζονται από τον αρχικό δημιουργό του λογισμικού. Μια τυπική άδεια λογισμικού παρέχει σε έναν τελικό χρήστη άδεια να χρησιμοποιήσει ένα ή περισσότερα αντίγραφα του λογισμικού, με τρόπους που αν δεν υπήρχε η είχε δοθεί η άδεια θα αποτελούσαν καταπάτηση των δικαιωμάτων του εκδότη ο οποίος είναι και ως ο ιδιοκτήτης των δικαιωμάτων χρήσης/copyright είναι αυτός που τα καθορίζει. Πρακτικά, η άδεια λογισμικού καθορίζει τις ελευθερίες του χρήστη ως προς το τι μπορεί να κάνει νόμιμα, με την αρχική δημιουργία κάποιου άλλου.

Μια Άδεια Χρήσης λογισμικού είναι ενα νομικό μέσο που διέπει τη χρήση ή την ανακατονομή του λογισμικού. Τα δικαιώματα που παραχωρεί σε έναν τελικό χρήστη είναι η άδεια να χρησιμοποιήσει ένα ή περισσότερα αντίγραφα του λογισμικού, με τρόπους που αν δεν υπήρχε η είχε δοθεί η άδεια θα αποτελούσαν καταπάτηση των δικαιωμάτων του εκδότη

Η αδεια χρησης λογισμικου περιεχει τα δικαιωματα που εχει ο χρηστης ως προς την χρηση, την επεξεργασια, και την διανομη του λογισμικου. Παραχωρει τα δικαιωματα που οριζει ο δημιουργος του λογισμικου ετσι ωστε ο χρηστης να μην καταπατησει εν αγνοια του καποιο απο αυτα.

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

6. Τί είναι η άρνηση υπηρεσίας DOS (Denial of Service) σαν μορφή επίθεσης σε ένα δίκτυο και με ποιούς μηχανισμούς μπορεί ένα δίκτυο να προστατευτεί από τέτοιου είδους επιθέσεις;

Επιθέσεις άρνησης εξυπηρέτησης (DoS attack) ονομάζονται γενικά οι επιθέσεις εναντίον ενός υπολογιστή, ή μιας υπηρεσίας που παρέχεται, οι οποίες έχουν ως σκοπό  να καταστήσουν τον υπολογιστή ή την υπηρεσία ανίκανη να δεχτεί άλλες συνδέσεις και έτσι να μην μπορεί να εξυπηρετήσει άλλους πιθανούς πελάτες. Οι αμυντικές απαντήσεις σε επιθέσεις άρνησης εξυπηρέτησης περιλαμβάνουν συνήθως τη χρήση συνδυασμού εντοπισμού επίθεσης, ταξινόμησης επισκεψιμότητας και εργαλείων απόκρισης, με στόχο την παρεμπόδιση της επισκεψιμότητας που αναγνωρίζουν ως παράνομη και επιτρέπουν την αναγνώριση της κυκλοφορίας ως νόμιμης. Παρατίθεται ένας κατάλογος εργαλείων πρόληψης και αντίδρασης: Εφαρμογή εξοπλισμού front end, πρόληψη βάσει IPS, άμυνα βασισμένη στο DDS, παραμετροποίηση δρομολογητών και switches, Upstream φιλτράρισμα.

Η άρνηση υπηρεσίας DOS (Denial of Service) είναι η επίθεση εναντίον ενός υπολογιστή, ή server με σκοπό να κάνει την αρχική του υπηρεσία ανίκανη να δεχτεί άλλες συνδέσεις με συνέπεια να μην μπορεί να εξυπηρετήσει πιθανούς πελάτες. Ένα δίκτυο μπορεί να προστατευτεί απο αυτές της επιθέσεις χρησιμοποιώντας προγράμματα τα οποία θα μοιράζουν της αιτήσεις που κάνει ο client σε πολλά servers.

Οι επιθεσεις DOS (ή DOS attacks) εχουν ως σκοπο να καταστησουν τον υπολογιστη ή την υπηρεσία την οποια επιτιθονται ανικανη να δεχθει αλλες συνδεσεις. Ως αποτελεσμα δεν μπορει να εξυπηρετησει αλλους πιθανους πελατες. Οι επιθεσεις αυτες συνηθως δεν γινονται με την χρηση καποιου ιου και συνεπως τα προγραμματα antivirus σπανιως βοηθουν στην καταπολεμηση τους. Πολλες φορες βεβαια μπορουν να ανακαλυψουν πιο αδυναμους ιους που υποστηριζουν τους βασικους. Καποια απο τους πιο σημαντικους αμηντικους μηχανισμους ειναι η υπαρξη και λειτουργια ενος firewall, ενα ενημερωμενο αντιικο προγραμμα (antivirus), καθως και η χρήση ενος δευτερου χρηστη με δικαιωματα διαχειριστη με σκοπο την αποφευξη επιθεσεων απο ιους τυπου Trojan.

Οι D.O.S. επιθέσεις ή Denial Of Service Επιθέσεις που στα Ελληνικά μεταφράζονται περίπου ως Επίθεση Άρνησης Παροχής Υπηρεσιών έχουν γίνει κάτι πολύ απλό και καθημερινό στους hackers* και crackers σαν ένα μέσο προς την δόξα και την αναγνώριση σε πολλές ανορθόδοξες (underground) ομάδες στο Internet. Denial Of Service Επίθεση βασικά σημαίνει την διακοπή (άρνηση) της χρήσης του Internet ή/και του δικτύου στους νόμιμους χρήστες του. Αυτό γίνεται δυνατό με μια ηλεκτρονική "επίθεση" (attack) στους παροχείς Internet ή/και στα Websites με αποτέλεσμα την "κατάρρευση" (crash) του συστήματος και την απενεργοποίησή του. Με άλλα λόγια θα μπορούσε κάποιος να περιγράψει μια Denial Of Service Επίθεση, λέγοντας ότι μια τέτοια επίθεση έχει ως σκοπό να υπερφορτώσει τόσο πολύ το σύστημα-στόχο καταναλώνοντας μνήμη και bandwidth έτσι ώστε να μην είναι σε θέση πλέον να εξυπηρετήσει τους κανονικούς χρήστες του. Αυτό επιτυγχάνεται μέσω της αποστολής πακέτων δεδομένων (data packets) σε υπερβολικά μεγάλο ρυθμό έτσι ώστε το σύστημα-στόχος να αδυνατεί να τα επεξεργαστεί με αποτέλεσμα τις περισσότερες φορές να πρέπει να γίνει επανεκκίνηση (reboot). Κανένα σύστημα συνδεδεμένο στο Internet δεν είναι ασφαλές από D.D.O.S. επίθεση. Όλα τα λειτουργικά μπορούν και να προσβληθούν και να χρησιμοποιηθούν για τέτοιες επιθέσεις : Unix, Linux, Windows9x, NT, 2K ακόμα και Apple MacOS. Κανένας χρήστης του Internet δεν είναι ασφαλής αν δεν χρησιμοποιεί έναν καλό συνδυασμό προγράμματος προστασίας ενάντια στους ιούς (antivirus) και ένα καλό firewall.

7 . Τι είναι οι Ιοί των υπολογιστών (virus) και σε ποιες κυρίες κατηγορίες μπορούν χωριστούν;

Ένας ιός υπολογιστών υπολογιστών είναι ένα κακόβουλο πρόγραμμα υπολογιστή, το οποίο μπορεί να αντιγραφεί χωρίς παρέμβαση του χρήστη και να "μολύνει" τον υπολογιστή χωρίς τη γνώση ή την άδεια του χρήστη του. Ο αρχικός ιός μπορεί να τροποποιήσει τα αντίγραφά του ή τα ίδια τα αντίγραφα μπορούν να υποστούν από μόνα τους τροποποίηση, όπως συμβαίνει σε έναν μεταμορφικό ιό. Ένας ιός μπορεί να διαδοθεί από έναν υπολογιστή σε άλλους, παραδείγματος χάριν από ένα χρήστη που στέλνει τον ιό μέσω δικτύου ή του Διαδικτύου, ή με τη μεταφορά του σε ένα φορητό μέσο αποθήκευσης, όπως δισκέτα, οπτικό δίσκο ή μνήμη flash USB. Μερικοί ιοί δημιουργούνται για να προξενήσουν ζημιά στον υπολογιστή, στον οποίο εγκαθίστανται, είτε με την καταστροφή των προγραμμάτων του είτε με τη διαγραφή αρχείων ή με τη μορφοποίηση (format) του σκληρού δίσκου. Άλλοι δεν έχουν ως σκοπό να προκαλέσουν οποιαδήποτε ζημία, αλλά απλά γνωστοποιούν την παρουσία τους με την εμφάνιση στην οθόνη κειμένου, βίντεο, ή ηχητικών μηνυμάτων, μερικές φορές αρκετά χιουμοριστικών. 

Οι ιοί μπορούν να ταξινομηθούν σε δύο μεγάλες κατηγορίες:

• Ανάλογα με το σημείο του υλικού ή του λογισμικού που μολύνουν: o Τομείς σκληρού δίσκου συστήματος (system sectors) o Αρχεία o Ιοί μακροεντολών (Macros) o Ιοί πηγαίου κώδικα (Source Code Viruses) o Ιοί συμπλεγμάτων (σκληρού) δίσκου ((Hard) Disk Clusters) 

• Ανάλογα με τον τρόπο με τον οποίο πραγματοποιούν τη μόλυνση: o Πολυμορφικοί ιοί o Αόρατοι ιοί (Stealth Viruses) o Θωρακισμένοι ιοί (Armored Viruses) o Πολυτμηματικοί ιοί (Multipartite Viruses) o Ιοί πλήρωσης κενών (Spacefiller Viruses) o Ιοί παραλλαγής (Camouflage Viruses)

Ένας ιός υπολογιστών είναι ένας τύπος προγραμμάτος, ο οποίος κατά την εκτέλεση του εξαπλώνεται απο υπολογιστή σε υπολογιστή παρεμβαίνοντας στην λειτουργία του. Ο ιός έχει την δυνατότητα να διαγράψει δεδομένα χωρίς ο χρήστης να το καταλάβει. Οι ιοί μπορούν να χωριστούν σε 3 κυρίες κατηγορίες:

Ιοί περιοχής εκκίνησης(boot sector)
Ιοί αρχείων
Ιοί σκουλήκια(worms)
Δούρειος ίππος

Ο ιος υπολογιστη ειναι ενα κακοβουλο προγραμμα το οποιο μπορει να αντιγραφει και κατα συνεπεια να πολλαπλασιαστει απο μονο του μολυνοντας ετσι τον υπολογιστη χωρις την γνωση ή την αδεια του χρηστη. Οι ιοι υπολογιστοι χωριζονται σε δυο μεγαλες κατηγοριες.

Αυτες ταξινομουνται:

- Ως προς το σημειο του υλικου ή λογισμικου που μολυνουν:  Τομεις σκληρου δισκου συστηματος  Αρχεια  Ιοι μακροεντολων  Ιοι πηγαιου κωδικα  Ιοι συμπλεγματων σκληρου δισκου

- Ως προς τον τροπο με τον οποιο πραγματοποιουν την μολυνση:  Πολυμορφικοι ιοι  Αορατοι ιοι  Θωρακισμενοι ιοι  Πολυτμηματικοι ιοι  Ιοι πληρωσης κενων  Ιοι παραλλαγης

Ιός - πρόγραμμα : είναι ένας ειδικός τύπος κακοήθους προγράμματος που έχει την επιπλέον ιδιότητα να αναπαράγει τον εαυτό του και να τον τοποθετεί μέσα σε άλλα προγράμματα. Αυτά τα προγράμματα είναι έτσι σχεδιασμένα ώστε να κάνουν αλλαγές των προγραμμάτων του συστήματος να εμφανίζουν διάφορα μηνύματα, να καταστρέφουν δεδομένα ή προγράμματα ή και να απαγορεύουν την πρόσβαση στο χρήστη του συστήματος. Για να αντιμετωπιστεί ένας ιός θα πρέπει να έχουμε ένα antivirus πρόγραμμα δηλ ένα λογισμικό που εντοπίζει τα αρχεία που έχουν μολυνθεί από ιούς και τα επαναφέρει αν είναι δυνατό στη αρχική τους μορφή. Επίσης θα πρέπει να κατεβάζουμε τα Update του antivirus για να μπορούμε να αντιμετωπίζουμε μεταγενέστερους ιούς. Επίσης μέχρι να αντιμετωπίσουμε το πρόβλημα θα πρέπει να σταματήσουμε τη χρήση του Η/Υ καθώς και οποιουδήποτε μέσου έχει χρησιμοποιηθεί από αυτόν. Ιοί περιοχής εκκίνησης: Αυτοί οι ιοί μολύνουν δισκέτες και σκληρούς δίσκους. Ο ιός φορτώνεται πριν από το λειτουργικό σύστημα. Ήταν οι πρώτοι ιοί που εμφανίστηκαν.

Ιοί αρχείων: σ' αυτή τη κατηγορία ανήκει η πλειοψηφία των ιών και η πιο εύκολα αντιμετωπίσιμη κατηγορία. Είναι μικρά εκτελέσιμα αρχεία. Προσκολλούνται σε ένα αρχείο, συνήθως αρχείο εφαρμογής. Το βασικό γνώρισμα των ιών είναι ότι δημιουργούν αντίγραφα του εαυτού τους μέσα σε άλλα αρχεία. Τα αρχεία αυτά είναι εκτελέσιμα ή αρχεία βιβλιοθηκών. Οι ιοί είτε αντικαθιστούν κάποιο τμήμα του κώδικα του αρχείου (χωρίς να μεταβάλλουν το μέγεθός του) είτε προσκολλώνται σε αυτό. Ιοί σκουλήκια (Worms): Έχουν την ικανότητα αναπαραγωγής χωρίς να χρησιμοποιούν άλλα αρχεία. Ο τρόπος διάδοσης τους είναι το διαδίκτυο με τη βοήθεια των δικτυακών πρωτοκόλλων, εκμεταλλευόμενοι τα προβλήματα ασφαλείας των λειτουργικών συστημάτων ή με τη βοήθεια των μηνυμάτων του ηλεκτρονικού ταχυδρομείου. Οι ιοί σκουλήκια αποκτούν προσπέλαση στο βιβλίο διευθύνσεων του υπολογιστή (όπου κρατούνται οι διευθύνσεις ηλεκτρονικού ταχυδρομείου με τις οποίες επικοινωνεί ο χρήστης του υπολογιστή) και αποστέλλει μολυσμένα μηνύματα. Αρκετές φορές χρησιμοποιούν σαν αποστολέα ένα όνομα από το βιβλίο διευθύνσεων. Όσοι παραλήπτες ανοίξουν το ηλεκτρονικό μήνυμα μολύνονται. Η διάδοση των ιών worm με αυτή τη μέθοδο είναι αστραπιαία. Στη συνέχεια γίνεται αναφορά σε δύο ιούς σκουλήκια τον Blaster και τον Sobig. Δούρειος ίππος(trojan) - Αυτοί οι ιοί δρουν αθόρυβα. Μολύνουν τον υπολογιστή και αναμένουν κάποιο γεγονός ανάλογα με το προγραμματισμό τους. Συνήθως δεν πολλαπλασιάζοντας και δεν εξαπλώνονται σε άλλους υπολογιστές. Για να μολυνθεί ένας υπολογιστής ο χρήστης του πρέπει να κατεβάσει και να εκτελέσει τον ιό. Αυτό γίνεται συνήθως με ένα ηλεκτρονικό μήνυμα όπου ο ιός είναι συνημμένος και ο χρήστης πείθεται να τον εκτελέσει. Όταν ο ιός δούρειος ίππος εγκατασταθεί στέλνει μέσω διαδικτύου τις κατάλληλες πληροφορίες στο δημιουργό του ώστε αυτός να πάρει τον έλεγχο του υπολογιστή και να χρησιμοποιηθεί σε διάφορες παράνομες και επιβλαβείς ενέργειες. 

8. Ποιός ο ρόλος των αρχών πιστοποίησης ψηφιακών πιστοποιητικών και ποιά η διαδικασία έκδοσης ενός πιστοποιητικού για ένα ψηφιακό κατάστημα;

Με την υπηρεσία Ψηφιακών Πιστοποιητικών οι χρήστες μπορούν να εκδώσουν πιστοποιητικά τόσο για προσωπική χρήση όσο και για διαδικτυακές υπηρεσίες. Τα ψηφιακά πιστοποιητικά βελτιώνουν το επίπεδο ασφάλειας στις διαδικτυακές επικοινωνίες, εξασφαλίζοντας: • την ασφαλή πρόσβαση σε ιστοσελίδες δικτυακών τόπων που πιστοποιούνται για την ακρίβεια των στοιχείων τους και συνεπώς για την αληθινή ταυτότητα του υπευθύνου φορέα. • τη δυνατότητα εξακρίβωσης των στοιχείων του αποστολέα ηλεκτρονικών μηνυμάτων ή άλλων εγγράφων, και τον έλεγχο της ορθότητας του περιεχομένου τους, εφόσον ο αποστολέας επιλέγει να τα υπογράφει με προσωπικό ψηφιακό πιστοποιητικό που έχει εκδοθεί για λογαριασμό του.

Η έκδοση των πιστοποιητικών βασίζεται στις αρχές της επιστήμης της Κρυπτογραφίας. Η Υποδομή Δημόσιου Κλειδιού (Public Key Infrastructure, PKI) αποτελεί ένα συνδυασμό λογισμικού, τεχνολογιών κρυπτογραφίας και διαδικασιών, ο οποίος κατά βάση πιστοποιεί την εγκυρότητα κάθε εμπλεκόμενου σε μια εγκυρότητα κάθε εμπλεκόμενου σε μια ψηφιακή συναλλαγή. Η υπηρεσία συμβάλλει στη μείωση της γραφειοκρατίας αλλά και στην προώθηση των ασφαλών διαδικτυακών συναλλαγών και της ηλεκτρονικής επικοινωνίας.

Ο ρόλος των αρχών πιστοποίησης ψηφιακών πιστοποιητικών είναι να πιστοποιούν ένα δικτυακό τόπο ότι είναι πράγματι αυτός που λέει ότι είναι, επίσης προσθέτει ασφάλεια (ssl) κρυπτογράφοντας τα δεδομένα μεταξύ client-server. Η διαδικασία αγοράς ενός SSL ψηφιακού πιστοποιητικού είναι: α) Προετοιμασία για να ρυθμίσετε το διακομιστή σας και να ενημερώσετε την καταχώριση WHOIS (πρέπει να δείξει το σωστό όνομα και διεύθυνση της εταιρείας), κλπ. β) Δημιουργία του CSR (Certificate Signing request) απο τον σέρβερ, αυτό περιέχει τα στοιχεία για που θα χρησιμοποιηθούν για το ssl certificate. γ) Αποστολή του CSR και άλλα στοιχεία στήν αρχή έκδοσης πιστοποιητικών. δ) Μετά την επιβεβαίωση του domain name και της εταιρίας απο την αρχή έκδοσης πιστοποιητικών, λήψη και εγκατάσταση του εκδοθέντους πιστοποιητικού.

Η αρχη πιστοποιησης επιβεβαιωνει την ταυτοτητα του αιτουντος και εκδιδει το πιστοποιητικο. Η διαδικασια εκδοσης πιστοποιητικου απαιτει τα παρακατω βηματα: - Προμηθεια ΑΔΔΥ (Ασφαλης διαταξη δημιουργιας υπογραφης) - Ηλεκτρονικη αιτηση μεσω της πυλης ΕΡΜΗΣ - Μεταβαση σε ΚΕΠ - Προετοιμασια Υπολογιστη - Εγκατασταση απαραιτητων προγραμματων - Εκδοση ψηφιακου πιστοποιητικου

Τα ψηφιακά πιστοποιητικά είναι ηλεκτρονικά έγγραφα που χρησιμοποιούνται για την αναγνώριση ενός προσώπου / εξυπηρετητή / οργανισμού και τη συσχέτιση του με ένα δημόσιο κλειδί. Μια Αρχή Πιστοποίησης έχει τη δυνατότητα έκδοσης ψηφιακών πιστοποιητικών. Η διαδικασία έκδοσης ενός ψηφιακού πιστοποιητικού γίνεται είτε αυτοματοποιημένα (χωρίς ανθρώπινη παρουσία και επιβεβαίωση) είτε με τη φυσική παρέμβαση και προσωπική «φροντίδα» ενός στελέχους του οργανισμού στον οποίο ανήκει η Αρχή. Το στέλεχος αυτό αναλαμβάνει να πιστοποιήσει την ορθότητα των στοιχείων που αποστέλλει ο χρήστης σε διάφορα επίπεδα, με απλούς τρόπους (όπως αποστολή/λήψη στοιχείων μέσω e-mail, fax ή τηλεφώνου) αλλά και με πιο αποτελεσματικούς και σίγουρους τρόπους, όπως προσωπική συνάντηση και επιτόπια εξακρίβωση στοιχείων. Αφού γίνει η ταυτοποίηση του χρήστη, εκδίδεται το ψηφιακό πιστοποιητικό, το οποίο μπορεί να είναι γενικής χρήσης ή να εκδοθεί μόνο για συγκεκριμένες εργασίες (πχ, ψηφιακή υπογραφή σε e-mails). Το πιστοποιητικό αυτό θα παραμείνει εν ισχύ για συγκεκριμένο χρονικό διάστημα (το οποίο έχει καθοριστεί εκ των προτέρων από τον διαχειριστή της Αρχής και δύναται μελλοντικά να αλλάξει). Τα ψηφιακά πιστοποιητικά, ως φυσικά αρχεία, είναι τυπικά μικρά σε μέγεθος (όχι πάνω από 4kb περίπου) και ανάλογα με την Αρχή και την κλάση τους, περιλαμβάνουν πληροφορίες για το χρήστη (ή τον υπολογιστή ή την υπηρεσία), πληροφορίες για την Αρχή που το εξέδωσε, τον λόγο για τον οποίο εκδόθηκε (ψηφιακή υπογραφή, κρυπτογράφηση κα), τον τύπο των αλγορίθμων που υποστηρίζονται, το δημόσιο κλειδί του αντίστοιχου ζευγαριού, τη χρονική διάρκεια ισχύος του και πολλά άλλα. Η μορφή των αρχείων αυτών ποικίλει και μπορεί να είναι δυαδική (binary) ή ως απλό κείμενο (ascii). 

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

Δύο είδη διαμόρφωσης σκληρού δίσκου υπάρχουν: η γρήγορη και η κανονική. Η διαφορά της γρήγορης με την κανονική διαμόρφωση δίσκου είναι πως κατά την κανονική, μαζί με την διαγραφή των αρχείων, γίνεται ταυτόχρονα και έλεγχος για κατεστραμμένους τομείς στο δίσκο. Στη γρήγορη διαμόρφωση, αφαιρούνται μόνο τα αρχεία, χωρίς να γίνεται έλεγχος. Αυτό έχει σαν αποτέλεσμα η κανονική διαμόρφωση δίσκου σε ένα δίσκο μεγάλης χωρητικότητας να παίρνει ώρες. Αν ο δίσκος είναι σχετικά καινούριος και γενικά δεν έχετε προβλήματα μαζί του, η γρήγορη διαμόρφωση δίσκου είναι η καλύτερη επιλογή.

Τα είδη διαμόρφωση ενός σκληρού δίσκου είναι η γρήγορη διαμόρφωση και η πλήρης διαμόρφωση. Μεγαλύτερη ασφάλεια δίνει η πλήρη διαμόρφωση γιατί διαγράφει όλους τους δρόμους για το ΛΣ προς τα αρχεία, επίσης γεμίζει όλα τον δίσκο με άρχηστες πληροφορίες για να είναι σίγουρο πωςτα προηγούμενα αρχεία καλύπτηκαν απο τα άχρηστα δεδομένα. Αυτό χρειάζεται, διότι έαν πουλήσουμε, τον υπολογιστή μας, κανένας δεν θα μπορεί να ανακτήσει τα παλιά μας αρχεία.

Τα δυο βασικα ειδη διαμορφωσης σκληρου δισκου ειναι το FAT32 και το NTFS. Γενικα το NTFS θεωρειται οτι παρεχει μεγαλυτερη ασφαλεια αφου μπορει να πραγματοποιηθει σε δισκους με μεγαλη χωρητικοτητα και εχει καλυτερες αποδοσεις απο το FAT32. Ενας σκληρος δισκος ειναι καλυτερο να εχει διαμορφωθει στον τυπο NTFS αφου αυτο μας δινει την δυνατοτητα να πραγματοποιησουμε πολλες αλλαγες στα αρχεια που περιεχει οπως για παραδειγμα να κανουμε συμπιεση, κρυπτογραφηση, αλλαγη δικαιωματων προσβασης κλπ. Επισης ειναι η ασφαλεστερη επιλογη αφου οι σκληροι δισκοι τυπου NTFS ειναι δυσκολοτερο να διαβαστουν απο λογισμικα διαφορετικα των Windows.

Η διαμόρφωση δίσκου, εσωτερικού ή εξωτερικού, είναι μία διαδικασία που διαγράφει όλα τα αρχεία που βρίσκονται στο δίσκο.Φροντίζουμε λοιπόν να έχουμε αντιγράψει όλα τα αρχεία που θέλουμε να κρατήσουμε σε έναν δεύτερο δίσκο. Η διαφορά της γρήγορης με την κανονική διαμόρφωση δίσκου είναι πως κατά την κανονική, μαζί με την διαγραφή των αρχείων, γίνεται ταυτόχρονα και έλεγχος για κατεστραμμένους τομείς στο δίσκο. Στη γρήγορη διαμόρφωση, αφαιρούνται μόνο τα αρχεία, χωρίς να γίνεται έλεγχος. Αν ο δίσκος είναι σχετικά καινούριος και γενικά δεν έχετε προβλήματα μαζί του, η γρήγορη διαμόρφωση δίσκου είναι η καλύτερη επιλογή. Τα δύο συστήματα αρχείων που αναγνωρίζουν τα Windows είναι το FAT (File Allocation Table) και το NTFS (New Technology File System). ν σκοπεύουμε ένα δίσκο να τον χρησιμοποιήσουμε και με συστήματα εκτός Windows, το FAT32 είναι η καλύτερη επιλογή. Αν σκοπεύουμε να γράψουμε αρχεία μεγέθους άνω των 4ων Gigabytes στο δίσκο μας, και θα τον χρησιμοποιήσουμε αποκλειστικά με Windows, το NTFS είναι η καλύτερη επιλογή. 

10. Τι χρειάζεται προκειμένου να κατασκευαστεί ένα στοιχειώδες σύστημα Η/Υ και με ποιο τρόπο επιτυγχάνεται η διασύνδεση μεταξύ των μονάδων του;

Για κατασκευαστεί ένας στοιχειώδες ηλεκτρονικός υπολογιστής είναι απαραίτητη αρχικά η ύπαρξη μιας μητρικής πλακέτας και της Κεντρικής Μονάδας Επεξεργασίας που βρίσκεται σε αυτήν. Εξίσου απαραίτητη είναι και η ύπαρξη μνήμης RAM και ROM, οι οπίες επίσης βρίσκονται πάνω στη μητρική πλακέτα. Η διασύνδεση αυτών των στοιχείων γίνεται με ειδικούς διαύλους ηλεκτρικής τάσης. Επίσης απαιτούνται ορισμένες περιφερειακές μονάδες όπως το τροφοδοτικό, ο σκληρός δίσκος, το πληκτρολόγιο, το ποντίκι και η οθόνη. Η διασύνδεση με αυτές τις μονάδες γίνεται με συγκεκριμένους τύπους καλωδίων.

Για να κατασκευαστεί ένα σύστημα Η/Υ χρειαζόμαστε την ΚΜΕ, την Μητρική κάρτα, κυρία μνήμη, δευτερεύουσα μνήμη συσκευές εισόδου(πληκτρολόγιο,ποντίκι) και συσκευές εξόδου(οθόνη,ηχεία), η διασύνδεση μεταξύ των μονάδων του επιτυγχάνεται μέσω ενός κοινού διαύλου.

Ενα βασικο συστημα ηλεκτρονικου υπολογιστη αποτελειται απο την κεντρικη μοναδα γνωστη και ως «πυργος» μεσα στον οποιο ειναι τοποθετημενα τα απαραιτητα μερη του υπολογιστη (hardware). Αυτα αποτελουνται απο την κεντρικη υπολογιστικη μοναδα (CPU), την μνημη RAM, την μητρικη πλακετα (ή καρτα), τον σκληρο δισκο και την καρτα γραφικων (εκτος και αν υπαρχει ηδη μια ενσωματωμενη στην CPU). Μεσα στον πυργο βρισκεται επισης και το τροφοδοτικο το οποιο συνδεεται με πριζα για να υπαρξει παροχη ρευματος στον υπολογιστη. Το τροφοδοτικο ενωνεται με την μητρικη, τον σκληρο δισκο, και την καρτα γραφικων με καλωδια. Η οθονη, το ποντικι, και το πληκτρολογιο συνδεονται με την μητρικη ειτε μεσω των port που βρισκονται στο πλαινο μερος της μητρικης στο οποιο εχουμε προσβαση απο το πισω μερος του πυργου, ειτε μεσω USB port που βρισκονται στο πισω ή στο μπροστινο μερος του πυργου

Σε κάθε στοιχειώδες υπολογιστικό σύστημα υπάρχουν τα εξής εξαρτήματα:  ΚΜΕ.  Μητρική πλακέτα.  Οθόνη.  Μνήμη RAM.  Σκληρός Δίσκος.  Πληκτρολόγιο.  Ποντίκι.  Μηχανισμός Δισκέτας.  Συσκευή CD-ROM.  Κάρτα γραφικών.  Κάρτα Ήχου.  Ηχεία. Η διασύνδεση μεταξύ των μονάδων του επιτυγχάνεται με τους διαύλους επικοινωνίας.

11. Ποια είναι τα αρχεία που λαμβάνουν μέρος στη διαδικασία συγχώνευσης αλληλογραφίας, σε έναν επεξεργαστή κειμένου τύπου Word και ποιος ο ρόλος τους;

Τρία είναι τα βασικά έγγραφα που χρησιμοποιούνται στη διαδικασία συγχώνευσης αλληλογραφίας. • Το Κύριο Έγγραφο ή Έγγραφο εκκίνησης, το οποίο χρησιμοποιείτε ως το βασικό έγγραφο για το είδος αλληλογραφίας που έχουμε επιλέξει (επιστολές, φάκελοι κτλ). ξει • Το αρχείο προέλευσης δεδομένων, το οποίο περιέχει όλα τα απαραίτητα στοιχεία για τη δημιουργία των επιστολών ή των φακέλων κτλ. Συνήθως χρησιμοποιείται το πρόγραμμα Microsoft Excel του Office ή αναπαράγεται νέο αρχείο (λίστα) μέσα από το πρόγραμμα Microsoft Word. • Το συγχωνευμένο έγγραφό, το οποίο αποτελεί το αποτέλεσμα της όλης διαδικασίας και διατίθεται για επεξεργασία, εκτύπωση αλλά και αποθήκευση.

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

Ενα παράδειγμα συγχνώνευσης στην καθημερινή ζωή είναι οι λογαριασμοί ΔΕΗ. Αν παρατηρήσουμε δυο διαφορετικούς λογαριασμούς του θα παρατηρήσουμε ότι η φόρμα είναι ακριβώς ίδια. Αυτό είναι το αρχικό έγγραφο, δηλαδή μια φόρμα χωρίς δεδομένα. Από πολίτη σε πολίτη στους λογαριασμούς όμως υπάρχουν διαφορετικά δεδομένα. Αυτά τα δεδομένα υπάρχουν στο αρχείο λίστας παραληπτών που συγχωνεύεται με την φόρμα προκειμένου να δημιουργηθούν τόσες επιστολές όσοι είναι και οι πολίτες του οργανισμού. Τα αρχεία παραληπτών προέρχονται απο αρχείο excel η και απο βάση δεδομένων.

Κατα την διαδικασια συγχωνευσης αλληλογραφιας τα δυο ειδη αρχειων που λαμβανουν μερος ειναι το εγγραφο που περιεχει σταθερες πληροφοριες (κυριο εγγραφο) και το εγγραφο που περιεχει μεταβλητες πληροφοριες (αρχειο προελευσης δεδομενων). Ο ρολος τους ειναι να ειναι πιο βολικο για τον αποστολεα του email να δημιουργησει πολλα παρομοια αντιγραφα του αρχικου μηνυματος αλλαζοντας καθε φορα μονο καποια συγκεκριμενα πεδια. Τα μονα μερη που θα αλλαζουν ειναι αυτα τα οποια βρισκονται στο αρχειο που περιεχει τις μεταβλητες πληροφοριες.

Η συγχώνευση αλληλογραφίας χρησιμοποιείται για τη δημιουργία πολλών εγγράφων ταυτόχρονα. Αυτά τα έγγραφα έχουν ακριβώς την ίδια διάταξη, μορφοποίηση, κείμενο και γραφικά. Μόνο συγκεκριμένες ενότητες κάθε εγγράφου διαφέρουν και είναι εξατομικευμένες. Τα έγγραφα που μπορεί να δημιουργήσει το Word με τη συγχώνευση αλληλογραφίας περιλαμβάνουν μαζικές ετικέτες, μαζικές επιστολές, μαζικούς φακέλους και μαζικά μηνύματα ηλεκτρονικού ταχυδρομείου. Τρία έγγραφα εμπλέκονται στη διαδικασία συγχώνευσης αλληλογραφίας:  Το κύριο έγγραφό σας  Το αρχείο προέλευσης δεδομένων σας  Το συγχωνευμένο έγγραφό σας Η συγχώνευση αλληλογραφίας είναι η συγχώνευση ενός κύριου εγγράφου με ένα αρχείο προέλευσης δεδομένων. Το κύριο έγγραφο περιέχει το κείμενο και άλλα στοιχεία που παραμένουν ίδια σε κάθε ετικέτα. Ένα αρχείο προέλευσης δεδομένων περιέχει τις πληροφορίες που αλλάζουν σε κάθε ετικέτα, όπως το όνομα και η διεύθυνση κάθε παραλήπτη. Τα πεδία συγχώνευσης που εισάγετε στο κύριο έγγραφο καθορίζουν σε ποια θέση θα εκτυπώσει το Word τις πληροφορίες από το αρχείο προέλευσης δεδομένων. Όταν εκτελείτε συγχώνευση αλληλογραφίας, το Word αντικαθιστά τα πεδία συγχώνευσης στο κύριο έγγραφο με πληροφορίες από το αρχείο προέλευσης δεδομένων. Κάθε γραμμή (ή καταχώρηση) στο αρχείο προέλευσης δεδομένων δημιουργεί μία ξεχωριστή ετικέτα 

12. Αναφέρετε τις κατηγορίες των συναρτήσεων σε ένα λογιστικό φύλλο τύπου Excel και περιγράψτε τη χρήση της συνάρτησης If.

Οι συναρτήσεις φύλου εργασίας του Excel είναι οργανωμένες στις εξής κατηγορίες • Financial (Οικονομικές) • Logical (Λογικές) • Text (Κειμένου) • Date & Time (Ημερομηνίας και ώρας) • Lookup & Reference (Αναζήτησης και αναφοράς) • Math & Trig (Μαθηματικών και τριγωνομετρίας) • Statistical (Στατιστικές) • Engineering (Μηχανολογικές) • Database (Βάση δεδομένων) • Cube (Κύβου) • Information (Πληροφοριών) • User defined (Συναρτήσεις χρήστη) Η συνάρτηση IF είναι μία από τις πιο δημοφιλείς συναρτήσεις στο Excel και σας επιτρέπει να κάνετε λογικές συγκρίσεις μεταξύ μιας τιμής και της τιμής που αναμένετε. Στην απλούστερη μορφή της, η συνάρτηση IF αναφέρει ότι: IF(εάν κάτι είναι αληθές, τότε κάνε κάτι, διαφορετικά κάνε κάτι άλλο). Επομένως, μια πρόταση IF μπορεί να έχει δύο αποτελέσματα. Το πρώτο αποτέλεσμα προκύπτει εάν η σύγκριση είναι αληθής, το δεύτερο εάν η σύγκριση είναι ψευδής

Κατηγορίες συναρτήσεων:

* Συναρτήσεις συμβατότητας

* Συναρτήσεις κύβου

* Συναρτήσεις βάσεων δεδομένων

* Συναρτήσεις ημερομηνίας και ώρας

* Συναρτήσεις μηχανικής

* Συναρτήσεις συναρτήσεις

* Συναρτήσεις πληροφοριών

* Λογικές Συναρτήσεις

* Συναρτήσεις αναζήτησης και αναφοράς

* Συναρτήσεις μαθηματικών και τριγωνομετρίας

* Στατιστικές συναρτήσεις

* Συναρτήσεις κειμένου

Η συνάρτηση if χρησιμοποιείται για την επιστροφή μίας τιμής εάν μια συνθήκη είναι αληθής και μίας άλλης τιμής εάν η συνθήκη είναι ψευδής.

Οι συναρτησεις που χρησιμοποιουνται σε ενα λογιστικο φυλλο τυπου excel χωριζονται σε 14 συναρτησεις: - Συμβατοτητας - Κυβου - Βασεων δεδομενων - Ημερομηνιας και ωρας - Μηχανικης - Οικονομικες - Πληροφοριων - Λογικες - Αναζητησης και αναφορας - Μαθηματικων και τριγωνομετριας - Στατιστικες - Κειμενου - Που οριζονται απο τον χρηστη και εγκαθιστανται με προσθετα - Web Μια απο τις λογικες συναρτησεις ειναι και η IF. Η IF αποτελειται απο τρια μερη. Αφου ορισουμε σε ποιο κελι θα εφαρμοστει η συναρτηση IF πρεπει να προσθεσουμε τις παραμετρους. Ενα παραδειγμα ειναι D4 = IF(A1=10;"Ναι";"Οχι"). Αρχικα το προγραμμα θα ελενξει αν στο κελι Α1 υπαρχει ο αριθμος 10. Αν ναι τοτε η συναρτηση θα επιστρεψει στο κελι D4 την λεξη "Ναι". Αλλιως θα επιστρεψει την λεξη "Οχι". Με αλλα λογια ο ρολος την συναρτησης IF ειναι να πραγματοποιει εναν ελεγχο και αναλογα με το αποτελεσμα να επιστρεφει πισω μια τιμη.

Οι συναρτήσεις είναι έτοιμοι τύποι που μας διευκολύνουν στη διεκπεραίωση συγκεκριμένων υπολογισμών. Σε κάθε συνάρτηση μπορούμε να διακρίνουμε δύο κύρια μέρη: •Το όνομά της. •Τα ορίσματά της, δηλαδή την περιοχή κελιών όπου θα γίνει εφαρμογή της συνάρτησης Κατηγορίες:  Financial (Οικονομικές) .  Logical (Λογικές).  Text (Κειμένου) .  Date & Time (Ημερομηνίας και ώρας)  Lookup & Reference (Αναζήτησης και αναφοράς)  Math & Trig (Μαθηματικών και τριγωνομετρίας)  Statistical (Στατιστικές)  Engineering (Μηχανολογικές)  Database (Βάση δεδομένων)  Cube (Κύβου) .  Information (Πληροφοριών) .  User defined (Συναρτήσεις χρήστη). Η εισαγωγή συνάρτησης γίνεται ειτε με το = , είτε με το Insert function IF (λογικές) : χρησιμοποιήστε αυτήν τη συνάρτηση για την επιστροφή μίας τιμής εάν μια συνθήκη είναι αληθής και μίας άλλης τιμής εάν η συνθήκη είναι ψευδής. IF(logical_test, value_if_true, value_if_false)

13. Ποιες επιλογές προβολής εγγράφων περιλαμβάνει ένας επεξεργαστής κειμένου, τύπου Word; Περιγράψτε τις.

Οι δυνατότητες προβολής εγγράφου στο Microsoft Word του Office είναι οι εξής: • Η Διάταξη Εκτύπωσης στην οποία το έγγραφο εμφανίζεται ως σελίδα όπως περίπου θα τυπωθεί • Η προβολή Ανάγνωσης πλήρους οθόνης η οποία διευκολύνει την ανάγνωση ενός εγγράφου και χρησιμοποιείται κυρίως όταν ο χρήστης δεν επιθυμεί την οποιαδήποτε παραμετροποίηση του. • Η Διάταξη web εμφανίζει το έγγραφο ως μέρος μιας ιστοσελίδας και κατά συνέπεια καταργεί ορισμένους περιορισμούς στην εμφάνιση του εγγράφου του εγγράφου όπως για παράδειγμα για παράδειγμα τα περιθώρια εκτύπωσης. • Η προβολή Διάρθρωσης χρησιμοποιείτε για τη δημιουργία ή επεξεργασία επικεφαλίδων και οργάνωση ενός πολύπλοκου εγγράφου. Παρέχει τη δυνατότητα στο χρήστη να μπορεί εύκολα να προσαρμόσει κατάλληλα τα επίπεδα επικεφαλίδας, και να αναδιατάξει το περιεχόμενο μέχρι όλα τα στοιχεί αναδιατάξει το περιεχόμενο μέχρι όλα τα στοιχεία να βρίσκονται εκεί που επιθυμεί. βρίσκονται εκεί που επιθυμεί. • Η προβολή Πρόχειρη μοιάζει με πάρα πολύ με την προβολή εκτύπωσης αλλά διαθέτει λιγότερα στοιχεία γραφικού περιβάλλοντος κατά την εμφάνισή της και χρησιμοποιείται για συγγραφή πρόχειρου κειμένου δίχως ιδιαίτερη επεξεργασία.

Διάταξη εκτύπωσης: Εξ ορισμού προεπιλεγμένη προβολή που εμφανίζονται τα περιθώρια και η κάθε σελίδα έχει εξ ορισμού μέγεθος A4.

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

Διάταξη Διάθρωσης: Εμφάνιση πρωτεύοντος και δευτερεύοντος εγγράφου(master/slave), πολύ χρήσιμη εμφάνιση για την διαχείρισης μεγάλων εγγράφων αλλά απευθύνεται σε λίγο πιο έμπειρους χρήστες.

Πρόχειρη προβολή: Περίπου ίδια με της εκτύπωσης αλλά χωρίς χάρακες.

Εμφανιση κενου χωρου μεταξυ των σελιδων σε προβολη διαταξης εκτυπωσης: Εμφανιζει τα πανω και κατω περιθωρια της σελιδας συμπεριλαμβανομενου του περιεχομενου των κεφαλιδων και υποσελιδων - Εμφανιση σημαδια επισημανσης: Εμφανιζει το κειμενο με επισημανση στην οθονη και στα εκτυπωμενα εγγραφα - Εμφανιση συμβουλών εργαλείων εγγραφου με καταδειξη: Εμφανιζει πληροφοριες οπως διευθυνσεις URL και σχολια αναθεωρητων σε κιτρινα αναδυομενα παραθυρα. Οι συμβουλες εργαλειων εμφανιζονται οταν τοποθετησετε τον κερσορα σε εναν υπερ-συνδεσμο, σημαδι παραπομπης σε σχόλιο ή παρομοιο περιεχομενο

14. Ποιος ο σκοπός χρησιμοποίησης αναφορών στους τύπους ενός λογιστικού φύλλου, τύπου Excel; Πόσα και ποια είδη αναφορών τύπων υπάρχουν;

Οι τύποι μπορεί μερικές φορές να έχουν ως αποτέλεσμα τιμές σφάλματος, καθώς και να επιστρέφουν μη αναμενόμενα αποτελέσματα. Είναι απαραίτητο να χρησιμοποιούμε αυτές τις αναφορές για να βρίσκουμε και να διερευνούμε τις αιτίες για αυτά τα σφάλματα και να και να είμαστε σε θέση να προσδιορίσουμε λύσεις.

##### Η στήλη δεν έχει αρκετό πλάτος για να εμφανίσει την τιμή.

#Τιμή! (#Value!) Χρησιμοποιείται λάθος τύπος ορίσματος ή τελεστή.

#ΔΙΑΙΡ/0!(#DIV/0!) Αριθμός διαιρείται διαιρείται με το μηδέν.

#ΟΝΟΜΑ? (#NAME?) Η εφαρμογή δεν αναγνωρίζει κείμενο σε τύπο.

#Δ/Υ (#N/A) Η τιμή δεν είναι διαθέσιμη σε μια συνάρτηση ή έναν τύπο.

#ΑΝΑΦ! (#REF!) Η αναφορά κελιού δεν είναι έγκυρη.

#ΑΡΙΘ! (#NUM!) Άκυρες αριθμητικές τιμές σε έναν τύπο ή μια συνάρτηση. 

#KENO! (#NULL!) Έχει καθοριστεί μια τομή δύο περιοχών που δεν τέμνονται.

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

Υπάρχουν τρία είδη αναφορών:

Σχετική αναφορά κελιού η απλώς αναφορά κελιού: Όταν θέλουμε να αναφέρουμε απλώς ένα κελί λέμε το όνομα του. πχ b5

Απόλυτη αναφορά κελιού, όταν θέλουμε κατά την αντιγραφή ενός τύπου, η αναφορά σε ένα κελί να παραμένει σταθερή και να μην μεταβάλλεται. πχ $b$5

Μεικτή αναφορά κελιού, όταν θέλουμε κατά την αντιγραφή ενός τύπου, η αναφορά σε ένα κελί να παραμένει σταθερή είτε κατά γραμμή είτε κατά στήλη. πχ $b5

Οι αναφορες κελιου αναφερονται σε ένα ή περισσοτερα κελια σε ενα φυλο εργασιας και χρησιμοποιουνται ως τυπος με σκοπο το προγραμμα να βρει τις τιμες ή τα δεδομενα που θελει να χρησιμοποιησει αυτος ο τυπος. Τα 3 ειδη αναφορων που υπαρχουν ειναι: - Να χρησιμοποιουνται δεδομενα απο ένα ή περισσοτερα συνεχομενα κελια στο φυλλο εργασιας - Να χρησιμοποιουνται δεδομενα που υπαρχουν σε διαφορετικες περιοχες ενος φυλλου εργασιας - Να χρησιμοποιουνται δεδομενα που υπαρχουν σε αλλα φυλλα εργασιας που βρισκονται στο ιδιο βιβλιο εργασιας

Οι τύποι είναι ένας συνδυασμός από αριθμούς ,τελεστές και αναφορές κελιών . Όλοι οι τύποι πρέπει να αρχίζουν με το=,π.χ. =1+2. Μόλις πατήσουμε το Enter το κελί θα εμφανιστεί το αποτέλεσμα της πράξης (3), ενώ στη γραμμή των τύπων θα εμφανίζεται Ο τύπος(=1+2).Αντί για αριθμούς μπορούμε ακόμη να χρησιμοποιήσουμε τις αναφορές κελιών π.χ. =Α1+Β1. Το πλεονέκτη μα της αναφοράς κελιών είναι ότι κάθε φορά που αλλάζουν τα δεδομένα των κελιών π.χ. στο Α1και Β1, το κελί που περιέχει τον τύπο(=Α1+ Β1) θα υπολογίζει και θα δίνει πάντα το καινούργιο αποτέλεσμα . Γι'αυτό θα πρέπει όπου είναι δυνατό στους τύπους να προτιμούμε την εισαγωγή της αναφοράς κελιών. Τύποι αναφοράς: Ο κυριότερος τελεστής είναι η άνω και κάτω τελεία (:) με τον οποίο μπορούμε να ορίσουμε μία περιοχή κελιών. Για παράδειγμα ο τύπος Α1:D3 δημιουργεί μία περιοχή κελιών από το κελί Α1έως το Κελί D3 Σχετική αναφορά κελιού : Όταν δημιουργείτε έναν τύπο, οι αναφορές σε κελιά ή περιοχές βασίζονται συνήθως στη θέση τους ως προς το κελί που περιέχει τον τύπο. Αυτό είναι γνωστό ως σχετική αναφορά. Η σχετική αναφορά ενός κελιού σε ένα τύπο σημαίνει ότι η αναφορά που γίνεται στο συγκεκριμένο κελί αλλάζει ανάλογα με την μετακίνηση του τύπου σε νέα θέση. Απόλυτη αναφορά κελιού: Απόλυτη αναφορά ενός κελιού σε έναν τύπο , είναι η ακριβής θέση του κελιού, ανεξάρτητα από τη θέση του κελιού που περιέχει τον τύπο. Εάν δε θέλετε να αλλάζουν οι αναφορές των κελιών, όταν αντιγράφετε έναν τύπο σε διαφορετικό κελί, χρησιμοποιήστε μια απόλυτη αναφορά. Μπορείτε να δημιουργήσετε μια απόλυτη αναφορά στο κελί Β1 τοποθετώντας το σύμβολο του δολαρίου ( $ ) πριν από τα τμήματα της αναφοράς που δεν αλλάζουν. Για να δημιουργήσετε μια απόλυτη αναφορά στο κελί Β1 για παράδειγμα , προσθέστε σύμβολα δολαρίου, ως εξής: $Β$1. Η απόλυτη αναφορά ενός κελιού σε ένα τύπο σημαίνει ότι η αναφορά που γίνεται στο συγκεκριμένο κελί παραμένει σταθερή, ανεξάρτητα από το σημείο στο οποίο μετακινείται ο τύπος. Μικτή αναφορά κελιού: Η μικτή αναφορά ενός κελιού σε ένα τύπο σημαίνει ότι η αναφορά που γίνεται στο συγκεκριμένο κελί αλλάζει ανάλογα με τη μετακίνηση του τύπου, όσον αφορά μόνο τη γραμμή ή τη στήλη. 

15. Ποιες είναι οι κατηγορίες και τα βασικά χαρακτηριστικά των εκτυπωτών;

Οι εκτυπωτές διαχωρίζονται σε τρεις κατηγορίες ανάλογα με την τεχνολογία εκτύπωσης που χρησιμοποιούν: • Κρουστικοί εκτυπωτές (Ιmpact printers) • Εκτυπωτές ψεκασμού (Inkjet printers) • Εκτυπωτές laser (Laser printers) Ένας άλλος δι Ένας άλλος διαχωρισμός των αχωρισμός των εκτυπωτών γίνεται εκτυπωτών γίνεται ως προς τον ως προς τον τρόπο εκτύπωσης, σε τρόπο εκτύπωσης, σε εκτυπωτές εκτυπωτές γραμμής και εκτυπωτές σελίδας. • Οι εκτυπωτές σελίδας (page printers) ολοκληρώνουν το σχηματισμό της σελίδας στην μνήμη τους πριν προχωρήσουν στην εκτύπωση και κατόπιν την εκτυπώνουν. • Οι εκτυπωτές γραμμής (line printers) εκτυπώνουν τη σελίδα γραμμή-γραμμή.

Τα βασικότερα χαρακτηριστικά των εκτυπωτών είναι τα εξής: • Ταχύτητα εκτύπωσης: Ανάλογα με την τεχνολογία εκτύπωσης έχουμε και διαφορετικές μονάδες μέτρησης. Στους εκτυπωτές γραμμής, η ταχύτητα εκφράζεται σε χαρακτήρες ανά δευτερόλεπτο (characters per second - cps) ενώ στους εκτυπωτές σελίδας, σε σελίδες ανά λεπτό (pages per minute - ppm). • Aνάλυση εκτύπωσης: H ελάχιστη μονάδα εκτύπωσης (με άλλα λόγια, το πιο μικρό ίχνος) που μπορεί να τυπωθεί στο χαρτί και ονομάζεται κουκίδα (dot). Η ανάλυση εκτύπωσης ορίζεται ώς το πλήθος των διαφορετικών κουκίδων που μπορούν να εκτυπωθούν ανά ίντσα1 (dots per inch - dpi). (dots per inch - dpi). Η ποιότητα της τελικής εκτύπωσης ενός εκτυπωτή εξαρτάται σε μεγάλο βαθμό από την ανάλυση εκτύπωσης που αναφέρει ο κατασκευαστής του, όχι όμως αποκλειστικά από αυτήν. Στην πράξη η τεχνολογία που χρησιμοποιείται για την εκτύπωση καθορίζει και την ποιότητα, όπως θα δούμε στη συνέχεια. Το πλήθος των κουκίδων ανά ίντσα είναι σημαντικό, όμως παίζουν ρόλο και άλλα χαρακτηριστικά, όπως το μέγεθος και το σχήμα της κουκίδας, η ακρίβεια στοίχισης των κουκίδων που ανήκουν στην ακρίβεια στοίχισης των κουκίδων που ανήκουν στην ίδια ευθεία, το χαρτί εκτύπωσης και άλλα. ια ευθεία, το χαρτί εκτύπωσης και άλλα. Έτσι η επιλογή επιλογή ενός ποιοτικού ποιοτικού εκτυπωτή, εκτυπωτή, εξαρτάται εξαρτάται από πολλούς πολλούς άλλους παράγοντες παράγοντες εκτός της τιμής της ανάλυσης εκτύπωσης.

Κρουστικοι εκτυπωτες (impact): - Εκτυπωτης ακιδων (Dot Matrix) Μη κρουστικοι εκτυπωτες: - Εκτυπωτης laser - Εκτυπωτης inkjet

Τα βασικα χαρακτηριστικα των εκτυπωτων ειναι: 1. Αναλυση σε DPI (κουκιδες ανα ιντσα) 2. Ταχυτητα σε ppm (σελιδες ανα λεπτο) ή cpm (χαρακτηρες ανα λεπτο) 3. Δυνατοτητα χρωματος 4. Ειδος και μεγεθος χαρτιου (Α4,Α3, duplex) 5. Τυπος συνδεσης (π.χ. θύρα USB, παραλληλη θυρα) 6. Θόρυβος 7. Κοστος αγορας και εκτυπωσης

Οι κρουστικοί Dot Matrix Χαρακτηριστικά του η μέτρια ποιότητα εκτύπωσης και το θόρυβο. Είναι απαραίτητοι όμως γι' αυτούς που χρησιμοποιούν συνεχές χαρτί, όπως και για εκτύπωση αντιγράφων με χρήση καρμπόν. Οι εκτυπωτές με ψεκασμό μελάνης Ink Jet Χαρακτηρίζονται από την ανάλυσή τους, δηλαδή τον αριθμό των κουκκίδων που μπορούν να τυπώσουν ανά ίντσα (dpi), τον αριθμό των κεφαλών (ασπρόμαυρη, έγχρωμη ή τέσσερα βασικά χρώματα συν το μαύρο), και η ταχύτητά τους μετριέται σε σελίδες ανά λεπτό (ppm).Επίσης Είναι πολύ φτηνοί, και είναι αρκετά αθόρυβοι. Είναι 3 τα βασικά χρώματα στα ink jet (Cyan, Magenta, Yellow) συν το μαύρο. Οι εκτυπωτές Laser Το μέγεθος χαρτιού, στο οποίο μπορεί να εκτυπώσει. Η ανάλυση εκτύπωσης, η οποία αναφέρεται στο πλήθος των κουκκίδων που μπορεί να παράγει ένας εκτυπωτής σε μια ευθεία γραμμή μήκους μιας ίντσας. Η ταχύτητα εκτύπωσης, που αναφέρεται στον αριθμό των σελίδων που μπο-ρεί να τυπώσει ο εκτυπωτής ανά λεπτό.

16. Τι ονομάζεται κώδικας ή σύνολο χαρακτήρων; Τι γνωρίζετε για τους κώδικες χαρακτήρω ASCII και Unicode; Από πόσα bit αποτελείται ο καθένας;

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

Ο κώδικας ASCII (American Standard Code for Information Interchange, Αμερικανικός Πρότυπος Κώδικας για Ανταλλαγή Πληροφοριών) είναι ένα κωδικοποιημένο σύνολο χαρακτήρων του λατινικού αλφάβητου όπως αυτό χρησιμοποιείται σήμερα στην Αγγλική γλώσσα και σε άλλες δυτικοευρωπαϊκές γλώσσες. Χρησιμοποιείται για αναπαράσταση κειμένου στους υπολογιστές. σε συσκευές τηλεπικοινωνίας, καθώς και σε άλλες συσκευές που δουλεύουν με κείμενο. Οι περισσότερες σύγχρονες κωδικοποιήσεις χαρακτήρων βασίζονται στον ASCII, αν και υποστηρίζουν πολύ περισσότερους χαρακτήρες.

Το Unicode έχει πολύ ευρύτερο μητρώο χαρακτήρων,και οι διάφορες μορφές κωδικοποίησής του άρχισαν να εκτοπίζουν το ASCII ταχύτατα σε πολλά περιβάλλοντα. Ενώ ο ASCII περιορίζεται σε 128 χαρακτήρες, το Unicode υποστηρίζει πολύ περισσότερους διαχωρίζοντας τις έννοιες της μοναδικής ταυτοποίησης (χρησιμοποιώντας φυσικούς αριθμούς που αποκαλούνται κωδικά σημεία, code points) και της κωδικοποίησης (σε δυαδικές μορφές 8, 16 ή 32 bit, που ονομάζονται UTF-8, UTF-16 και UTF-32). Για να είναι δυνατή η προς τα πίσω συμβατότητα, οι 128 χαρακτήρες του ASCII έχουν τοποθετηθεί στα ίδια κωδικά σημεία της κωδικοποίησης Unicode. Συνεπώς ο ASCII μπορεί να θεωρηθεί διάταξη 7- bit για ένα πολύ μικρό υποσύνολο υποσύνολο της Unicode και αντίστοιχα αντίστοιχα οι μορφές κωδικοποίησης UTF- είναι δυαδικά συμβατές με τον ASCII για κωδικά σημεία κάτω από το 128, που σημαίνει ότι όλος ο ASCII είναι έγκυρος εντός του UTF-8.

Οι άλλες μορφές κωδικοποίησης αναπαριστούν τον ASCII με τον τρόπο που αναπαριστούν τους πρώτους 128 χαρακτήρες του Unicode, αλλά χρησιμοποιούν 16 ή 32 bit ανά χαρακτήρα και έτσι απαιτούν μετατροπή για να είναι συμ μετατροπή για να είναι συμβατές.

Η Πληροφορία αναπαρίσταται από γράμματα του αλφαβήτου, αριθμούς, σημεία στίξης και άλλους χαρακτήρες-σύμβολαΟι Ηλεκτρονικοί Υπολογιστές μπορούν και χειρίζονται μόνο τα δυαδικά ψηφία 0 και 1 (bit).Για να υπάρξει επικοινωνία μεταξύ ανθρώπων και υπολογιστών πρέπει να μετατραπούν οι χαρακτήρες σε σειρές από bit.Για την μετατροπή αυτή χρησιμοποιούνται συγκεκριμένοι πίνακες αντιστοιχίας ή πίνακες κωδικοποίησης ή κωδικοσελίδες ή κώδικες.

Κώδικες αναπαράστασης

Οι κώδικες συνήθως περιλαμβάνουν τα παρακάτω σύμβολα:10 αριθμητικά ψηφία 0 έως και 926 λατινικά κεφαλαία γράμματα26 λατινικά μικρά γράμματαΣύμβολα και σημεία στίξης κλπΧαρακτήρες ελέγχου STX, EOT, SYN, ACK κλπΕλληνικά γράμματα.

Κώδικας ASCII. Ο ASCII (American Standard Code for Information Interchange)‏ είναι ο πιο διαδεδομένος κώδικας αναπαράστασης χαρακτήρων.Αρχικά η κωδικοποίηση ASCII ικανοποιούσε τις ανάγκες των προγραμμάτων που απαιτούσαν ένα περιορισμένο σύνολο κωδικοποιημένων χαρακτήρων.Η εξέλιξη όμως των υπολογιστών δημιούργησε την ανάγκη νέων μορφών κωδικοποίησης του κειμένου όπως είναι οι ISO και Unicode καθώς και νέες γλώσσες περιγραφής όπως η κωδικοποίηση ιστοσελίδας HTML.

Ένα παράδειγμα ASCII κωδικοποίησης (7bit) της λέξης "HELLO"

Η Ε L O ASCII (δεκαδικός) ‏72   69 76 79Δυαδικήαπεικόνιση

Κωδικοσελίδες ISO (International Standards Organisation)‏

Σημαντικό μειονέκτημα της ASCII είναι ότι περιλαμβάνει μόνο λατινικούς χαρακτήρες.Για το λόγο αυτό δημιουργήθηκαν επεκτάσεις της (χρήση 8 bit), οι οποίοι μπορούσαν να αντιστοιχήσουν ακόμα άλλους 2^8 =256 χαρακτήρες.Οι πρώτες 128 θέσεις είναι ίδιες με την ASCII και οι επιπλέον 128 χαρακτήρες είναι για ειδικά σύμβολα άλλων αλφάβητων. Γνωστοί κώδικες που χρησιμοποιούνται στην Ελλάδα: IBM 851, IBM 869, 737 ή αλλιώς ελληνικός 437 (γιατί προέκυψε από την αμερικάνικη κωδικοσελίδα 437)ΕΛΟΤ 928 είναι η πιο σύγχρονη τυποποίηση και καθιερώθηκε αρχικά από τον ΕΛΟΤ και αργότερα έγινε αποδεκτή από τον ISO-Latin ή απλά Latin 7.

Unicode κωδικοποίηση

Η ανάπτυξη κωδικοσελίδων ISO έλυσε μερικώς το πρόβλημα με τα διάφορα αλφάβητα. Η Ευρωπαϊκή Ένωση χρειαζόταν πλήθους κωδικοσελίδων για να καλύψει όλες τις χώρες μέλη της και έτσι δημιουργήθηκε η κωδικοσελίδα Unicode, που προτείνει για κάθε χαρακτήρα, ένα μοναδικό αριθμό ανεξάρτητα από το λειτουργικό σύστημα, το λογισμικό και τη γλώσσα.Κάθε κωδικοποιημένη λέξη Unicode έχει μήκος 16 bit δηλαδή επιτυγχάνονται 2^16=65536 συνδυασμοίΗ Unicode παρέχει κωδικοποίηση για τους χαρακτήρες όλων των γλωσσών συμπεριλαμβανομένων των Ευρωπαϊκών, της Μέσης Ανατολής και της Ασίας

..Κωδικας ονομαζεται ενας κανονας με την βοηθεια του οποιου μετατρεπουμε ενα τμημα πληροφοριας (γραμμα,λεξη,φραση) σε μια αλλη μορφη αναπαραστασης, οχι απαραιτητα του ιδιου τυπου. Ο κωδικας ASCII ειναι ενα κωδικοποιημενο συνολο χαρακτηρων του λατινικου αλφαβητου οπως αυτο χρησιμοποιειται απο την σημερινη Αγγλικη γλωσσα. Χρησιμοποιειται για αναπαρασταση κειμενου σε υπολογιστες και σε αλλες συσκευες που δουλευουν με κειμενο. Οι πιο συγχρονες κωδικοποιησεις χαρακτηρων βασιζονται στον ASCII αλλα υποστηριζουν περισσοτερους χαρακτηρες. Ο βασικος κωδικας ASCII χρησιμοποιει 7 bits για τον καθε χαρακτηρα (128) αλλα ο επεκταμενος κωδικας χρησιμοποιει 8 bits και ετσι οι διαθεσιμοι χαρακτηρες διπλασιαζονται (256). Ο κωδικας Unicode ειναι το διεθνης προτυπο που χρησιμοποιειται απο τους υπολογιστες και εχει ως στοχο την κωδικοποιηση ολων των διαθεσιμων συστηματων γραφης (συμπεριλαμβανομενων για ακαδημιακους ρολους και καποιων που εχουν εξαφανιστει) που χρησιμοποιουνται στον πλανητη. Ως αποτελεσμα γινεται δυνατη η αποθηκευση γραπτου κειμενου ολων των γλωσσων και μαθηματικων-επιστημιακων χαρακτηρων στην μνημη του υπολογιστη. Ο κωδικας Unicode υποστηριζει πολλα προτυπα που μπορει να εχουν απο 1-6 byte (8-48 bits) για την κωδικοποιηση καθε χαρακτηρα. Το πιο συνιθησμενο προτυπο ειναι το UTF-8 που χρησιμοποιει 8 bits για καθε χαρακτηρα

Ένας αλφαριθμητικός κώδικας είναι ένα σύστημα που χρησιμοποιεί δυαδικούς αριθμούς(1 και 0) για να αναπαραστήσει χαρακτήρες που είναι κατανοητοί στους ανθρώπους (γράμματα και αριθμοί). Κάθε σύμβολο μπορεί να αναπαρασταθεί από ένα bit και η διαδικασία της αναπαράστασης συμβόλων ονομάζεται κωδικοποίηση. Ο κώδικας ASCII (American Standard Code for Information Interchange) αποτελεί το πιο διαδεδομένο κώδικα χαρακτήρων ιδιαίτερα στο χώρο των μικροϋπολογιστών. Αρχικά χρησιμοποιούσε 8 bits, 7 για την κωδικοποίηση 128 χαρακτήρων και 1 ως bit ελέγχου της ορθότητας των 7. Με την εξέλιξη των υπολογιστών χρησιμοποιήθηκε και το όγδοο bit για την κωδικοποίηση με αποτέλεσμα να έχουμε δυνατότητα για άλλους 128 χαρακτήρες. Ο κώδικας Unicode χρησιμοποιεί 16 bit και μπορεί να αναπαραστήσει μέχρι 65,536 σύμβολα. Ο κώδικας αυτός είναι χωρισμένος σε διάφορες ενότητες, κάθε μία από τις οποίες αντιστοιχεί στα σύμβολα μιας διαφορετικής γλώσσας. Έτσι αναπαριστά σύμβολα που ανήκουν σε άλλες γλώσσες εκτός των Αγγλικών.

17. Ποιες βασικές λειτουργίες μπορούμε να εκτελέσουμε σ' ένα αρχείο;

Άνοιγμα, (Εκτύπωση), Αποκοπή, Αντιγραφή, Επικόλληση, Διαγραφή, Μετονομασία, Δημιουργία Συντόμευσης, Συμπίεση.

..Δημιουργία νέου αρχείου. - Διαγραφή αρχείου από τη βοηθητική μνήμη. - Άνοιγμα αρχείου για πρόσβαση στα δεδομένα του. - Κλείσιμο αρχείου που ανοίχτηκε, προσπελάστηκε, τροποποιήθηκε. - Ανάγνωση δεδομένων ανοιχτού αρχείου. - Εγγραφή δεδομένων σ' ένα ανοιχτό αρχείο, στο τρέχων σημείο του. - Ανάγνωση ή τροποποίηση των χαρακτηριστικών ενός αρχείου.

Η πρόσβαση στα αρχεία γίνεται μέσω κλήσεων στο ΛΣ.  Δημιουργία ενός νέου αρχείου.  Διαγραφή ενός αρχείου από τη δευτερεύουσα μνήμη.  Άνοιγμα ενός αρχείου από μια διεργασία ώστε αυτή να έχει πρόσβαση στα περιεχόμενά του.  Κλείσιμο ενός αρχείου που είχε ανοιχτεί νωρίτερα από μια διεργασία.  Ανάγνωση δεδομένων από ανοιχτό αρχείο.  Εγγραφή δεδομένων σ' ένα ανοιχτό αρχείο στο τρέχον σημείο του.  Ανάγνωση ή αλλαγή χαρακτηριστικών αρχείου.

18. Τι είναι τα δεδομένα και ποια η έννοια της πληροφορίας; Ποια είναι η διαφορά μεταξύ πληροφορίας και δεδομένων;

Ειδικότερα στην πληροφορική συναντούμε τα δεδομένα στον πληθυντικό αριθμό, σπανιότερα στον ενικό (δεδομένο). 

Γενικότερα, δεδομένο ονομάζεται ένα γνωστό ή αποδεκτό στοιχείο το οποίο χρησιμοποιείται ως βάση ή προϋπόθεση στην επίλυση προβλημάτων. Τα δεδομένα μπορεί να είναι σημεία πληροφοριών επί επιστημονικών παρατηρήσεων ή συμπεριφοράς και να περιλαμβάνουν περιλαμβάνουν λέξεις - έννοιες, αριθμούς, σύμβολα, διαγράμματα, σχέδια, φωτογραφίες, μαγνητοταινίες κλπ που περιγράφουν ή αντιπροσωπεύουν ποσότητες, έννοιες, ιδέες, αντικείμενα, γεγονότα, καταστάσεις και λειτουργίες. Ενδεχομένως κάποιοι από τους τύπους δεδομένων που παρατίθενται εμπεριέχουν ήδη εμφανείς πληροφορίες, όχι όμως την πληροφορία στο επίπεδο που συνθέτει μια αξιολόγησή τους. Γενικά, μπορούμε να ονομάσουμε Δεδομένα (Data) τα στοιχεία που χρησιμοποιούμε για επεξεργασία.

Τα αποτελέσματα που παίρνουμε από την επεξεργασία των δεδομένων και μας μεταδίδουν κάποια επιπρόσθετη γνώση, τα χαρακτηρίζουμε ως Πληροφορία (Information). Η επεξεργασία των δεδομένων έχει ποικίλες μορφές, χωρίς να είναι πάντοτε απαραίτητη η εφαρμογή αριθμητικών πράξεων. Αν και αρχικά τα δεδομένα δε φαίνεται να έχουν τόση σημασία για μας, αποτελούν πολύτιμα στοιχεία, για να πάρουμε χρήσιμες πληροφορίες. Η πληροφορία, σε αντίθεση με τα δεδομένα, είναι κάτι που έχει σημασία για μας, κάτι που θέλουμε να μάθουμε. Οι πληροφορίες προκύπτουν από τα επιλεγμένα δεδομένα μετά από κατάλληλη επεξεργασία. Με άλλα λόγια, η πληροφορία ή οι πληροφορίες που παίρνουμε εξαρτώνται και από το είδος της επεξεργασίας που εφαρμόζουμε στα δεδομένα τα οποία διαθέτουμε. Αν, για παράδειγμα, τα δεδομένα είναι μουσικές νότες, η διαφορετική παράθεσή τους, δηλαδή η διαφορετική επεξεργασία τους, μας δίνει ως αποτέλεσμα μια διαφορετική σύνθεση, δηλαδή ένα διαφορετικό αποτέλεσμα.

... Δεδομένα : Τα πρωτογενή στοιχεία τα οποία είναι ικανά να δημιουργήσουν πληροφορίες ονομάζονται δεδομένα.  Πληροφορία: Το αποτέλεσμα της επεξεργασίας δεδομένων

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

Δεδομένα (Data) είναι τα στοιχεία που χρησιμοποιούμε για επεξεργασία. Τα αποτελέσματα που παίρνουμε από την επεξεργασία των δεδομένων και μας μεταδίδουν κάποια επιπρόσθετη γνώση, τα χαρακτηρίζουμε ως Πληροφορία (Information). Η επεξεργασία των δεδομένων έχει ποικίλες μορφές, χωρίς να είναι πάντοτε απαραίτητη η εφαρμογή αριθμητικών πράξεων. Πληροφορίες που έχουν προκύψει ως αποτέλεσμα μιας επεξεργασίας, μπορούν να χρησιμοποιηθούν οι ίδιες ή σε συνδυασμό με άλλα δεδομένα για την παραγωγή νέων πληροφοριών. Η διαδικασία αυτή, δηλαδή πληροφορίες να αποτελούν στη συνέχεια δεδομένα σε μία νέα επεξεργασία, χαρακτηρίζεται ως Κύκλος Επεξεργασίας των Δεδομένων.

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

Τα δεδομένα δεν ερμηνεύουν τίποτα, καθώς είναι μια νόημα οντότητα, ενώ οι πληροφορίες έχουν νόημα και σημασία. Τα δεδομένα και οι πληροφορίες είναι διαφορετικοί κοινοί όροι που χρησιμοποιούμε συχνά, αν και υπάρχει γενική εναλλαξιμότητα μεταξύ αυτών των όρων. Έτσι, ο πρωταρχικός μας στόχος είναι να διευκρινίσουμε την ουσιαστική διαφορά μεταξύ δεδομένων και πληροφοριών.

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

Εννοια Τα δεδομένα είναι ακαθόριστα γεγονότα και αριθμοί και χρησιμοποιούνται ως εισροές για το σύστημα ηλεκτρονικών υπολογιστών. Οι πληροφορίες είναι η έξοδος των επεξεργασμένων δεδομένων.

Χαρακτηριστικά Τα δεδομένα είναι μια μεμονωμένη μονάδα που περιέχει πρώτη ύλη και δεν έχει νόημα. Οι πληροφορίες είναι το προϊόν και η ομάδα δεδομένων που συλλογικά φέρουν λογική σημασία.

ΕΞΑΡΤΗΣΗ Δεν εξαρτάται από τις πληροφορίες. Στηρίζεται σε δεδομένα.

Ιδιορρυθμία Ασαφής- Ειδικός.

Μονάδα μέτρησης Μετρώνται σε bits και bytes. -Μετρήθηκε σε σημαντικές μονάδες όπως είναι ο χρόνος, η ποσότητα κ.λπ.

Ορισμός δεδομένων:

Τα δεδομένα είναι διακριτές πληροφορίες που είναι διατεταγμένες σε μια συγκεκριμένη μορφή . Η λέξη δεδομένων προέρχεται από μια μοναδική λατινική λέξη, την ημερομηνία. η αρχική του έννοια είναι "κάτι που δίνεται" . Χρησιμοποιούμε αυτή τη λέξη από το 1600 και τα δεδομένα μετατρέπονται στον πληθυντικό του datum.

Τα δεδομένα μπορούν να υιοθετήσουν πολλαπλές μορφές όπως αριθμούς, γράμματα, σύνολο χαρακτήρων, εικόνα, γραφικό κλπ. Αν μιλάμε για τους Υπολογιστές, τα δεδομένα αντιπροσωπεύονται στα πρότυπα 0 και 1 τα οποία μπορούν να ερμηνευτούν ως αντιπροσωπευτικά αξία ή γεγονός . Οι μονάδες μέτρησης δεδομένων είναι Bit, Nibble, Byte, kB (kilobytes), MB (Megabytes), GB (Gigabytes), TB (Terabytes), PT (Petabyte), EB (Exabyte), ZB (Zettabytes), και τα λοιπα.

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

Ορισμός των πληροφοριών:

Οι πληροφορίες είναι αυτό που λαμβάνετε μετά την επεξεργασία των δεδομένων. Τα δεδομένα και τα γεγονότα μπορούν να αναλυθούν ή να χρησιμοποιηθούν ως μια προσπάθεια να αποκτήσουν γνώσεις και να συναγάγουν ένα συμπέρασμα. Με άλλα λόγια, ακριβή, συστηματοποιημένα, κατανοητά, σχετικά και έγκαιρα δεδομένα είναι η πληροφορία .

Οι πληροφορίες είναι μια παλαιότερη λέξη που χρησιμοποιούμε από το 1300 και έχουμε γαλλική και αγγλική προέλευση. Προέρχεται από το ρήμα " ενημέρωση ", το οποίο σημαίνει ενημέρωση και ενημέρωση, ερμηνεύεται έτσι ώστε να διαμορφώνει και να αναπτύσσει μια ιδέα .

Πληροφορίες = Δεδομένα + Έννοια

Σε αντίθεση με τα δεδομένα, η πληροφορία είναι μια σημαντική αξία, γεγονός και σχήμα που θα μπορούσαν να αποκομίσουν κάτι χρήσιμο .

Ας πάρουμε ένα παράδειγμα "5000" είναι δεδομένα, αλλά αν προσθέσουμε τα πόδια σε αυτό δηλαδή "5000 πόδια" γίνεται πληροφόρηση. Αν συνεχίσουμε να προσθέτουμε στοιχεία, θα φθάσουμε στο υψηλότερο επίπεδο ιεραρχίας πληροφοριών όπως φαίνεται στο διάγραμμα.

Διαφορά μεταξύ δεδομένων και πληροφοριών

Οι πληροφορίες είναι κρίσιμες κατά μία έννοια.

Υπάρχουν διάφορες τεχνικές κωδικοποίησης για την ερμηνεία και τη μετάδοση πληροφοριών.

Η κρυπτογράφηση πληροφοριών χρησιμοποιείται για την αύξηση της ασφάλειας κατά τη διάρκεια της μετάδοσης και της αποθήκευσης επίσης.

Βασικές διαφορές μεταξύ δεδομένων και πληροφοριών

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

Οι πληροφορίες προέρχονται από τα δεδομένα και ως εκ τούτου τα δεδομένα δεν βασίζονται σε πληροφορίες, αλλά οι πληροφορίες.

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

Τα δεδομένα δεν μπορούσαν να προσδιορίσουν τίποτα. δεν υπάρχει σχέση ανάμεσα στα κομμάτια των δεδομένων ενώ η πληροφορία είναι συγκεκριμένη και υπάρχει συσχέτιση.

Τα δεδομένα δεν έχουν πραγματικό νόημα, ενώ οι πληροφορίες έχουν κάποια σημασία.

Συμπέρασμα :

Δεδομένα και πληροφορίες, και οι δύο όροι που χρησιμοποιούμε είναι μέρος της ιεραρχίας των πληροφοριών και διαφέρουν στον τρόπο με τον οποίο τα δεδομένα δεν έχουν νόημα, αλλά οι πληροφορίες που σχηματίζονται από τα επεξεργασμένα δεδομένα έχουν νόημα στο πλαίσιο.

19. Τι είναι η μνήμη RAM και ROM; Να αναφέρετε τις διαφορές τους.

Η μνήμη ROM είναι μόνιμη μνήμη, δηλαδή κρατάει το περιεχόμενό της ακόμα και όταν ο υπολογιστής κλειστός. Στη ROM είναι αποθηκευμένο πρόγραμμα εκκίνησης του υπολογιστή που φορτώνει Windows. Από τη μνήμη ROM, όμως, μπορούμε μόνο να διαβάζουμε δεδομένα και δεν μπορούμε να αποθηκεύσουμε καμία πληροφορία σε αυτήν. Η μνήμη RAM, γνωστή ως Μνήμη Τυχαίας Προσπέλασης (Random Access andom Access Memory) αποτελεί Memory) αποτελεί την κύρια μνήμη του υπολογιστή. Χρησιμοποιείται για την αποθήκευση δεδομένων κατά την εκτέλεση ενός προγράμματος στον υπολογιστή. Το μεγαλύτερο μειονέκτημα της μνήμης RAM είναι ότι χάνει τα δεδομένα της μόλις κλείσετε τον υπολογιστή σας και για αυτό δεν μπορεί να χρησιμεύσει για μακροχρόνια αποθήκευση.

...ROM (Read Οnly Memory) είναι μία μικρή μόνιμη μνήμη που περιέχει το λεγόμενο BIOS (Basic Input Output System) του υπολογιστή, και συνήθως βρίσκεται στην μητρική πλακέτα. Εδώ περιέχεται το μέρος του λειτουργικού. Είναι μόνο για ανάγνωση. Η μνήμη RAM (Random Access Memory) είναι μνήμη τυχαίας προσπέλασης στην οποία αποθηκεύονται προσωρινά τα προγράμματα που εκτελούνται, τα δεδομένα που χρησιμοποιούν και τα ενδιάμεσα αποτελέσματα που παράγουν. Η μνήμη RAM διατηρεί αναλλοίωτα τα περιεχομένα της για όσο χρονικό διάστημα τροφοδοτείται με ρεύμα.

Η μνημη τυχαιας προσπελασης (Random Access Memory) ειναι ηλεκτρονικες διαταξεις προσωρινης αποθηκευσης ψηφιακων δεδομενων οι οποιες επιτρεπουν την προσβαση στα αποθηκευμενα δεδομενα στον ιδιο χρονο οπου και αν βρισκονται αυτα (τυχαια προσβαση)

Η μνημη μονο για αναγνωση (Read Only Memory) ειναι τυπος ηλεκτρονικης μνημης μονο αναγνωσης. Το περιεχομενο της γραφεται μονο μια φορα, συνηθως απο τον κατασκευαστη της μητρικης πλακετας οπου και συναντουμε αυτον τον τυπο μνημης. Υπαρχουν 6 βασικες διαφορες:

1. Τα δεδομενα της RAM δεν ειναι μονιμα και μπορουν να αλλαξουν απεριοριστες φορες ενω της ROM ειναι μονιμα και μπορουν να αλλαξουν μονο εναν συγκεκριμενο αριθμο και αυτο με πολυ μικρες ταχυτητες

2. Η μνημη RAM ειναι πολυ πιο γρηγορη απο την ROM

3. Ο επεξεργαστης εχει προσβαση στα δεδομενα της RAM αλλα οχι στης ROM. Για να αποκτησει προσβαση τα δεδομενα πρεπει πρωτα να αντιγραφουν στην RAM

4. Η μνημη RAM εχει μεγαλο μεγεθος και χωρητικοτητα ενω η ROM εχει μικρο

5. Η μνημη τυπου RAM ειναι η πρωτευον μνημη ενος υπολογιστη ενω η ROM χρησιμοποιειται για την μονιμη αποθηκευση λιγων δεδομενων για αυτο χρησιμοποιειται συνηθως σε firmware οπως το BIOS/UEFI.

6. Η μνημη RAM ειναι ακριβοτερη απο την ROM

SecNews.gr ----- EL.GADGET-INFO.COM - 2021

Μετά το σκληρό δίσκο ή SSD, η μνήμη RAM είναι το μεγαλύτερο αποθηκευτικό μέσο που υπάρχει στο hardware του υπολογιστή. Η RAM χρησιμοποιείται για την αποθήκευση των προγραμμάτων και των δεδομένων που χρησιμοποιεί η CPU σε πραγματικό χρόνο. Τα δεδομένα στη μνήμη RAM μπορούν να διαβαστούν, να γραφτούν και να διαγραφούν όσες φορές επιθυμούμε.

H RAM είναι μια «πτητική» μνήμη (volatile memory) που σημαίνει ότι τα δεδομένα που είναι αποθηκευμένα εκεί εξαφανίζονται τη στιγμή που σταματάει η παροχή ρεύματος. Αυτός είναι ένας από τους λόγους για τους οποίους δεν μπορούμε να χρησιμοποιήσουμε τη μνήμη RAM για μόνιμη αποθήκευση, παρά το γεγονός ότι είναι πολύ πιο γρήγορη από τους παραδοσιακούς σκληρούς δίσκους. Όλα τα σύγχρονα λειτουργικά συστήματα που χρησιμοποιούμε έχουν ενσωματωμένους τρόπους αντιμετώπισης της πτητικότητας της RAM. Όλες οι εργασίες που πραγματοποιούνται, αποθηκεύονται συνεχώς στο σκληρό δίσκο για να αποφευχθούν καταστάσεις όπου απροσδόκητο κλείσιμο του συστήματος θα οδηγούσε σε απώλεια δεδομένων.

Τύποι μνήμης RAM

SRAM (Static RAM): Αποθηκεύει κάθε bit δεδομένων χρησιμοποιώντας ένα κύτταρο μνήμης (cell) με έξι τρανζίστορ. Η SRAM είναι πολύ πιο γρήγορη από τη DRAM αλλά πιο δαπανηρή.

DRAM (Dynamic RAM): Αποθηκεύει κάθε bit δεδομένων, χρησιμοποιώντας ένα ζεύγος τρανζίστορ και πυκνωτή, τα οποία αποτελούν ένα κύτταρο μνήμης DRAM

ROM (Read-Only Memory)

Ένας άλλος αξιοσημείωτος τύπος μνήμης που υπάρχει στον υπολογιστή είναι η ROM. Όπως υποδηλώνει το όνομα, τα δεδομένα στη μνήμη μπορούν μόνο να διαβαστούν από τον υπολογιστή. Οπότε ποιος ο λόγος που χρησιμοποιείται αυτή η μνήμη;

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

Τα δεδομένα στην παραδοσιακή μορφή της ROM είναι συνδεδεμένα με αυτή, δηλ. περασμένα κατά τη στιγμή της κατασκευής. Με την πάροδο του χρόνου, αυτή η μνήμη έχει αναπτυχθεί για να υποστηρίζει τη διαγραφή και την επανεγγραφή δεδομένων, αν και δεν μπορεί να επιτύχει το επίπεδο απόδοσης ενός τσιπ RAM.

Τύποι ROM

RAM vs ROM: Ποια είναι η διαφορά μεταξύ RAM και ROM;

Mask ROM: Στον συγκεκριμένο τύπο ROM τα δεδομένα γράφονται κατά την κατασκευή του τσιπ μνήμης.

PROM (Programmable Read-only Memory): Τα δεδομένα εγγράφονται μετά τη δημιουργία του τσιπ μνήμης. Είναι μη πτητική.

EPROM (Erasable Programmable Read-only Memory): Τα δεδομένα από αυτό το μη πτητικό τσιπ μνήμης μπορούν να διαγραφούν, μέσω της έκθεσής του σε υπεριώδη ακτινοβολία υψηλής έντασης.

EEPROM (Electrically Erasable Programmable Read-only Memory): Τα δεδομένα από το συγκεκριμένο μη πτητικό τσιπ μνήμης μπορούν να διαγραφούν ηλεκτρικά χρησιμοποιώντας εκπομπές ηλεκτρονίων (tunneling Fowler-Nordheim). Οι σύγχρονες μονάδες EEPROM είναι αρκετά αποδοτικές όσον αφορά τις δυνατότητες ανάγνωσης και εγγραφής. Τα οπτικά μέσα αποθήκευσης όπως το CD-ROM είναι επίσης μια μορφή μνήμης μόνο για ανάγνωση.

Ποια είναι η διαφορά μεταξύ RAM και ROM;

Και οι δύο μνήμες διαθέτουν τα πλεονεκτήματα και τα μειονεκτήματά τους. Η ROM είναι φθηνή και μπορεί να κατέχει δεδομένα μόνιμα αλλά έχει τους περιορισμούς της. Από την άλλη πλευρά, η μνήμη RAM είναι αρκετά χρήσιμη, αλλά κοστίζει περισσότερο.

Η ROM είναι πιο χρήσιμη από όσο νομίζετε. Η μνήμη Flash που βρίσκουμε σε αφαιρούμενα μέσα αποθήκευσης, όπως μονάδες SSD, μονάδες USB, κάρτες SD κ.λπ., είναι μια προηγμένη εφαρμογή του τύπου μνήμης EEPROM. Το παράγωγο παρέχει ταχύτερη λύση αποθήκευσης από τους παραδοσιακούς σκληρούς δίσκους.

20. Τι έιναι η λανθάνουσα - κρυφή μνήμη cache; Πως λειτουργεί;

Η λανθάνουσα ή κρυφή μνήμη (cache memory) L1, L2 και L3, είναι μνήμη που βρίσκεται εσωτερικά στο chip του επεξεργαστή. Πρόκειται για ταχύτατη μνήμη προσωρινής αποθήκευσης δεδομένων, στην οποία αποθηκεύονται πρόσφατα χρησιμοποιημένα δεδομένα ή δεδομένα που χρησιμοποιούνται συχνότερα από τον επεξεργαστή. Ο επεξεργαστής όταν χρειάζεται κάποιο χρειάζεται κάποιο δεδομένο, ελέγχει πρώτα τη μνήμη Cache και στην περίπτωση που δε το εντοπίσει εκεί το αναζητά στην κύρια μνήμη (RAM). Η αύξηση της μνήμης Cache ενός επεξεργαστή αυξάνει και την συνολική απόδοσή του.

Η κρυφή µνήµη και η λειτουργία της --- ∆ΙΕΚ Κοζάνης/ Ερωτήσεις Επανάληψης

Η λανθάνουσα ή κρυφή μνήμη είναι ταχύτατη, υψηλού κόστους και συνήθως μικρής χωρητικότητας μνήμη. Τοποθετείται ανάμεσα στην Κύρια Μνήμη και την ΚΜΕ. Στην κρυφή μνήμη αποθηκεύονται δεδομένα που χρησιμοποιούνται πολύ συχνά. Η προσπέλαση σε αυτή είναι συνήθως 5-10 φορές πιο γρήγορη από ότι στην κύρια μνήμη και συνεπώς αυξάνει την επίδοση του Η/Υ, αφού επιτρέπει ταχύτατη προσπέλαση στα πιο συχνά χρησιμοποιούμενα δεδομένα.

Κρυφή μνήμη Κεντρικής Μονάδας Επεξεργασίας, γνωστή και ως λανθάνουσα μνήμη (CPU) ΚΜΕ, ονομάζουμε τη μνήμη που χρησιμοποιείται από τον επεξεργαστή για να επιτύχει ταχύτερη πρόσβαση στην κύρια μνήμη.

Αυτή η μνήμη είναι γρηγορότερη αφού είναι πιο κοντά στον επεξεργαστή, και μικρότερη σε μέγεθος από την κύρια μνήμη. Έτσι, την επόμενη φορά που η ΚΜΕ θα χρειαστεί μια λέξη, θα την αναζητήσει πρώτα στη μικρή και γρήγορα προσπελάσιμη κρυφή μνήμη.

..Η κρυφη μνημη cache αποθηκευει μια συλλογη απο δεδομενα τα οποια ειναι αντιγραφα τιμων που βρισκονται αλλου. Το πιο γνωστο παραδειγμα ειναι η κρυφη μνημη του επεξεργαστη η οποια μεσολαβει και αντιγραφει προσωρινα τα δεδομενα που βρισκονται στην μνημη RAM πριν να εχει προσβαση σε αυτα η ΚΜΕ. Η κρυφη μνημη αποθηκευει εντολες και λεξεις οι οποιες χρησιμοποιηθηκαν προσφατα απο την μνημη RAM. Ετσι οταν η ΚΜΕ χρειαστει παλι προσβαση σε αυτα τα δεδομενα η ταχυτητα αναγνωσης θα ειναι πολυ γρηγοροτερη. Αν η ΚΜΕ δεν εντοπισει αυτο που ψαχνει τοτε αρχιζει η προσπελαση στην RAM και η κρυφη μνημη ανανεωνεται. Ομαδες λεξεων και δεδομενων που ειναι σχετικες αποθηκευονται διπλα διπλα στην κρυφη μνημη ετσι ωστε να υπαρξει βελτιστη πιθανοτητα οτι τα δεδομενα θα διαβαστουν γρηγοροτερα.

21. Να μετατρέψετε τον δεκαδικό αριθμό 120 σε δυαδικό και οκταδικό αριθμό.

Για να μετατρέψουμε έναν δεκαδικό αριθμό σε δυαδικό κάνουμε διαδοχικές διαιρέσεις στο πηλίκο του δεκαδικό αριθμού με διαιρέτη το αριθμό 2. Τα υπόλοιπα από την εκάστοτε διαίρεση σε αντίστροφη σειρά αποτελούν το ζητούμενο δυαδικό αριθμό. Συνεπώς ο δεκαδικός αριθμός 120 θα γίνει (αριστερά εμφανίζεται το πηλίκο των διαιρέσεων ενώ δεξιά το υπόλοιπο): Άρα 120<10>=1111000<2>

Σε δυαδικό αριθμό είναι:(120)10=(1111000)2

Διαιρετέος Διαιρέτης Πηλίκο Υπόλοιπο

120 2 60 0

60 2 30 0

30 2 15 0

15 2 7 1

7 2 3 1

3 2 1 1

1 2 0 1

Σε οκταδικό είναι:(120)10=(170)8

Διαιρετέος Διαιρέτης Πηλίκο Υπόλοιπο

120 8 15 0

15 8 1 7

1 8 0 1

22. Στον υπολογιστή τι εργασία εκτελεί ο επεξεργαστής; Αναφέρετε μερικά είδη επεξεργαστών.

Ο Επεξεργαστής (processor) ή αλλιώς Κεντρική Μονάδα Επεξεργασία - ΚΜΕ (Central Processing Unit - CPU) είναι το βασικότερο τμήμα ενός υπολογιστή και θεωρείται ο εγκέφαλος ενός υπολογιστή. Ο επεξεργαστής βρίσκεται τοποθετημένος πάνω στη μητρική πλακέτα (motherboard). Εκτελεί ένα μεγάλο μέρος από τη δουλεία του υπολογιστή και δεδομένα φτάνουν και φεύγουν από τον επεξεργαστή συνεχώς. Δέχεται εντολές επεξεργασίας δεδομένων, που πρέπει να εκτελέσει. Συνεπώς, μπορούμε να πούμε ότι η δουλειά του είναι να κάνει πράξεις και να μεταφέρει δεδομένα. 

Τα δεδομένα που δέχεται μπορούν να χωριστούν σε δύο κατηγορίες: 

• Εντολές (instructions) για το πως θα διαχειριστεί υπόλοιπα δεδομένα. 

• Δεδομένα, τα οποία πρέπει να διαχειριστεί σύμφωνα με τις εντολές. Αυτό που αποκαλούμε εντολές, είναι κώδικας προγράμματος. Περιλαμβάνει τα μηνύματα (εντολές) που συνεχώς στέλνουμε στον υπολογιστή μέσω του ποντικιού ή του πληκτρολογίου ή κάποιων άλλων μονάδων εισόδου. Μηνύματα για να εκτυπώσει, να αποθηκεύσει, να ανοίξει ένα αρχείο, κλπ.

Ο επεξεργαστής στον υπολογιστή εκτελεί κυρίως αριθμητικές και λογικές πράξεις, αποτελείται απο τρία βασικά βήματα: την ανάκληση, την αποκωδικοποίηση και την εκτέλεση των εντολών. Κατά την ανάκληση ο επεξεργαστής δέχεται μία εντολή από την κυρία μνήμη. Στην συνέχεια αποκωδικοποιεί αυτές της εντολές και δίνει σήμα, για το τελευταίο στάδιο, το στάδιο της εκτέλεσης της εντολής. Μετά την εκτέλεση τα αποτελέσματα αποθηκεύονται στην μνήμη προκειμένου να έιναι εύκολα προσπελάσιμα απο επόμενες εντολές.

Μερικά είδη επεξεργαστών:

* 4-bit Μικροεπεξεργαστές

* 8bit Μικροεπεξεργαστές

* 16-bit Μικροεπεξεργαστές

* 32-bit Μικροεπεξεργαστές

* 64-bit Μικροεπεξεργαστές

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

...Ο επεξεργαστής είναι επιφορτισμένος με την επεξεργασία των δεδομένων. Οι τρείς βασικοί τύποι στους οποίους κατατάσσονται όλοι οι επεξεργαστές είναι οι Desktop , Mobile και Server. Κεντρική μονάδα επεξεργασίας Εκτελεί την επεξεργασία των δεδομένων δηλ. κάνει κάθε είδους πράξεις, αλλά και ελέγχει την όλη λειτουργία του Η/Υ. Χωρίζεται σε δύο μέρη: Την αριθμητική και λογική μονάδα και Τη μονάδα ελέγχου. Το κεντρικό κύκλωμα ενός ηλεκτρονικού υπολογιστή ονομάζεται μικροεπεξεργαστής ή αλλιώς cpu (central processing unit=κεντρική μονάδα επεξεργασίας). Ο μικροεπεξεργαστής είναι το μυαλό υπολογιστή, ελέγχει και κατευθύνει όλες τις εργασίες, κάνει υπολογισμούς και παίρνει αποφάσεις. Είναι ένα μικρό, τετράγωνο ηλεκτρονικό κύκλωμα, διαστάσεων περίπου 3 επι 3 εκατοστά, στο εσωτερικό του υπολογιστή. Το είδος του μικροεπεξεργαστή που έχει ένας Η/Υ καθορίζει κατά ένα μεγάλο βαθμό την συνολική απόδοση του μηχανήματος. 22 Κατηγορίες :  Pentium.  Core2 (μονοπύρηνα, διπύρηνα, τετραπύρηνα). Οι διάδοχοι της εμπορικής σειράς Core 2, ήταν οι επεξεργαστές με την εμπορική επωνυμία Core i3, Core i5 και Core i7.

23. Ποιες οι διαφορές μεταξύ ενός interpreter και ενός compiler;

Ειδικά προγράμματα που μεταφράζουν ένα πρόγραμμα από γλώσσα προγραμματισμού σε γλώσσα μηχανής. Διακρίνονται σε δύο κατηγορίες a. compiler - μεταγλωττιστής γλώσσας υψηλού επιπέδου b. interpreter - διερμηνέας δηλ. μεταγλωττιστής με ταυτόχρονη εκτέλεση του προγράμματος. 

Α) Compiler : • Διαβάζει το πηγαίο πρόγραμμα και κάνει γραμμα κάνει γραμματικό και συντακτικό συντακτικό έλεγχο εμφανίζοντας τα λάθη ( diagnostics) • Η διαδικασία επαναλαμβάνεται μέχρι να μηδενιστούν τα λάθη • Παράγει τον αντικείμενο κώδικα • Κάνει κατάληψη του απαραίτητου χώρου στην κύρια μνήμη για να μπορεί να εκτελεστεί το πρόγραμμα • Φυλάσσει το αντικείμενο πρόγραμμα στο δίσκο 

Β) Interpreter : • Ελέγχει συντακτικά και γραμματικά το πηγαίο πρόγραμμα εξετάζοντας εντολή προς εντολή το εντολή το πρόγραμμα. πρόγραμμα. Αν δεν υπάρχο Αν δεν υπάρχουν λάθη στ υν λάθη στην εντολή , ην εντολή , παράγει την αντίστοιχη παράγει την αντίστοιχη εντολή σε γλώσσα μηχανής, την εκτελεί και ελέγχει-μεταφράζει την επόμενη εντολή. • H χρήση interpreter είναι γνωστή από τη γλώσσα Basic, η οποία οφείλει τη δημοτικότητα της στο συγκεκριμένο μεταγλωττιστικό πρόγραμμα. 

Διαφορές interpreter σε σχέση με τον compiler compiler • Δεν ελέγχει τη σύνταξη ολόκληρου του πηγαίου προ Δεν ελέγχει τη σύνταξη ολόκληρου του πηγαίου προγράμματος πριν από την εκτέλεση μματος πριν από την εκτέλεση • Επαναλαμβάνει την μετάφραση-έλεγχο κάθε φορά που εκτελείται το πρόγραμμα • Ο έλεγχος και η διόρθωση λαθών γίνονται ευκολότερα γιατί πληροφορούμαστε αμέσως κάθε λάθος, το διορθώνουμε και συνεχίζεται η εκτέλεση • Η εκτέλεση ενός προγράμματος με Interpreter είναι πολύ πιο αργή σε σύγκριση με τον Compiler.

..Ο διερμηνευτης (interpreter) ειναι ενα προγραμμα που εκτελει η ερμηνευει εντολες σε καποια γλωσσα προγραμματισμου (μια εντολη καθε φορα) ενώ ο μεταγλωττιστης ειναι ενα προγραμμα που μεταφραζει ολες τις εντολες σε γλωσσα υπολογιστη και μετα τις εκτελει. Ετσι ο interpreter ειναι γρηγοροτερος σε περιπτωσεις ελεγχου και διορθωσης των εντολων απο τον compiler. Ο compiler ομως εκτελει το προγραμμα γρηγοροτερα απο τον interpreter

Η διαφορά ένος compiler είναι ότι παράγει ένα εκτελέσιμο αρχείο το οποίο μπορεί να εκτελέσει σε ένα σύστημα, και αυτό το εκτελέσιμο παράγεται μόνο μια φορά.

Ενώ ένας interpreter απλά τρέχει τον κώδικα γραμμή προς γραμμή χωρίς να δημιουργήσει κάποιο εκτελέσιμο, με αποτέλεσμα να έχει επιπτώσεις στην ταχύτητα εκτέλεσης.

Οι διαφορές μεταξύ ενός interpreter και ενός compiler είναι οι εξής:  Ο διερμηνέας(interpreter) επαναλαμβάνει τη διαδικασία μετάφρασης και συντακτικού ελέγχου των εντολών κάθε φορά που εκτελείται το πηγαίο πρόγραμμα.  Ο μεταφραστής (compiler) ελέγχει συντακτικά όλο το πρόγραμμα και παράγει μια συνολική λίστα σφαλμάτων.  Η εκτέλεση ενός προγράμματος με διερμηνέα(interpreter) είναι πιο αργή συγκριτικά με τα μεταφρασμένα προγράμματα, γιατί εκτελείται κάθε φορά ο συντακτικός έλεγχος

24. Ποιες είναι οι διαφορές ανάμεσα στην επαναληπτική εντολή "όσο....επανάλαβε" (while ... do) και την επαναληπτική εντολή "αρχή_επανάληψης...μέχρις_ότου" (repeat...until);

Η διαφορά, έγκειται στο ότι η επαναληπτική εντολή while ... do (ελέγχει πρώτα την συνθήκη και έπειτα εκτελεί τις εντολές εντός του βρόχου), ενώ η επαναληπτική εντολή repeat...until ελέγχει την ορθότητα της συνθήκης μετά το πέρας μιας τουλάχιστον επανάληψης. Ακόμη μια διαφορά είναι το γεγονός ότι, για την while ... do επαναληπτική εντολή απαιτείται να ισχύει η συνθήκη προκειμένου να εκτελεστούν οι εντολές του βρόχου ενώ για τη επαναληπτική εντολή repeat...until ισχύει ότι επαναλαμβάνεται μέχρι να γίνει ψευδής η συνθήκη.

Στην εντολή while ... do πρώτα ελέγχεται η συνθήκη και μετά εάν έιναι αληθής εκτελείται το σώμα της δομής, αλλιώς οχι. Ή στην επαναληπτική εντολή repeat ... until πρώτα εκτελείται μια φορά το σώμα της δομής και μετά ελέγχεται η συνθήκη.

..Η εντολη while ... do θα ελεγχει πρωτα της παραμετρους του while και αν ειναι αληθης (True) επειτα θα αρχισει να εκτελει τις εντολες που ειναι μεσα στον βρογχο. Οταν η παραμετρος ειναι λανθανουσα (False) τοτε θα σταματησει να εκτελει τις εντολες. Η εντολη repeat ... until πρωτα εκτελει τις εντολες που ειναι μεσα στον βρογχο και στο τελος ελεγχει τις παραμετρους του until. Οσο η παραμετρος της until ειναι λανθανουσα (False) η εκτελεση των εντολων του βρογχου συνεχιζεται και θα σταματησει μονο οταν η παραμετρος της until ειναι αληθης (True).

Στο όσο ... επανέλαβε, αρχικά ελέγχεται η συνθήκη. Αν είναι αληθής τότε εκτελείται το σύνολο των εντολών. Στη συνέχεια ελέγχεται εκ νέου η συνθήκη κι αν είναι αληθής τότε εκτελείται πάλι το σύνολο των εντολών. Όταν η συνθήκη γίνει ψευδής τότε τελειώνει η επανάληψη και συνεχίζεται ο αλγόριθμος με την εντολή που ακολουθεί το τέλος_επανάληψης. Στο μέχρις_ότου, αρχικά εκτελείται το σύνολο των εντολών. Στη συνέχεια ελέγχεται η συνθήκη κι αν είναι ψευδής τότε εκτελείται πάλι το σύνολο των εντολών. Όταν η συνθήκη γίνει αληθής τότε τελειώνει η επανάληψη κι ο αλγόριθμος συνεχίζει με την εντολή που ακολουθεί το μέχρις_ότου. Η βασική διαφορά με την όσο είναι η θέση της συνθήκης στη ροή εκτέλεσης των εντολών και το ότι στην μέχρισ_οτου οι εντολές θα εκτελεστούν σίγουρα μία φορά.

25. Ποιους τρόπους γνωρίζετε για την αναπαράσταση ενός αλγορίθμου; Δώστε μία σύντομη περιγραφή για τον καθένα.

1) Ελεύθερο κείμενο: Αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. Μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας την "αποτελεσματικότητα". 

2) Φυσική γλώσσα κατά βήματα: Στην περίπτωση αυτή χρειάζεται προσοχή, γιατί μπορεί να παραβιασθεί ο "καθορισμός". 

3) Διάγραμμα Διάγραμμα ροής : Αποτελείται από ένα σύνολο γεωμετρικών σχημάτων, όπου το καθένα δηλώνει μία συγκεκριμένη ενέργεια ή λειτουργία. Τα γεωμετρικά σχήματα ενώνονται μεταξύ τους με βέλη, που δηλώνουν τη σειρά εκτέλεσης των ενεργειών αυτών.

...Ένας αλγόριθμος μπορεί να αναπαρασταθεί με τους παρακάτω τρόπους:  Με ελεύθερο κείμενο (free text), που αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. Έτσι εγκυμονεί τον κίνδυνο ότι μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων, δηλαδή την αποτελεσματικότητα.  Με διαγραμματικές τεχνικές (diagramming techniques), που συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου.  Με διάγραμμα ροής (flow chart). Ωστόσο η χρήση διαγραμμάτων ροής για την παρουσίαση αλγορίθμων δεν αποτελεί την καλύτερη λύση, γι'αυτό και εμφανίζονται όλο και σπανιότερα στη βιβλιογραφία και στην πράξη.  Με φυσική γλώσσα (natural language) κατά βήματα. Στην περίπτωση αυτή χρειάζεται προσοχή, γιατί μπορεί να παραβιασθεί το τρίτο βασικό χαρακτηριστικό ενός αλγορίθμου, όπως προσδιορίσθηκε προηγουμένως, δηλαδή το κριτήριο του καθορισμού.  Με κωδικοποίηση (coding), δηλαδή με ένα πρόγραμμα που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο.

Οι τρόποι για την αναπαράσταση ενός αλγορίθμου είναι:

Το Ελεύθερο κείμενο (free text): Αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου.

Οι εντολές εκφράζονται με απλή καθημερινή γλώσσα και ελέυθερη ροή κειμενου.

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

Η Φυσική γλώσσα κατά βήματα (natural language): Ο αλγόριθμος εκφράζεται με τη χρήση απλής γλώσσας, στην οποία οι προτάσεις έχουν διαχωριστεί σε παραγράφους-βήματα και έχουν αριθμηθεί.Εγκυμονεί παραβίαση του κριτηρίου της καθοριστικότητας.

Οι Διαγραμματικές Τεχνικές (diagramming techniques): Γραφικός τρόπος παρουσίασης ενός αλγορίθμου.

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

Και τελος η Κωδικοποίηση (coding):Ένα πρόγραμμα γραμμένο είτε σε μία ψευδογλώσσα είτε σε κάποια γλώσσα προγραμματισμού που όταν εκτελεστεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο

..Υπαρχουν τεσσερις τροποι αναπαραστασης ενος αλγοριθμου.

- Ελεύθερο κείμενο (free text): Οι εντολές εκφράζονται με απλή καθημερινή γλώσσα και ελέυθερη ροή κειμενου.

- Φυσική γλώσσα κατά βήματα (natural language): Ο αλγόριθμος εκφράζεται με τη χρήση απλής γλώσσας, στην οποία οι προτάσεις έχουν διαχωριστεί σε παραγράφους-βήματα και έχουν αριθμηθεί.

- Διαγραμματικές Τεχνικές (diagramming techniques): Γραφικός τρόπος παρουσίασης ενός αλγορίθμου. Η πιο γνωστή τεχνική είναι το διάγραμμα ροής, στην οποία χρησιμοποιούνται ειδικά γεωμετρικά σχήματα, που το καθένα δηλώνει μία συγκεκριμένη απλή ενέργεια ή λειτουργία του αλγορίθμου. Τα σχήματα ενώνονται μεταξύ τους με βέλη που δηλώνουν τη σειρά εκτέλεσης των ενεργειών.

- Κωδικοποίηση (coding): Ένα πρόγραμμα γραμμένο είτε σε μία ψευδογλώσσα είτε σε κάποια γλώσσα προγραμματισμού που όταν εκτελεστεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο

26. Ποιες είναι οι διαφορές ανάμεσα στα συντακτικά και τα λογικά λάθη; Δώστε από ένα παράδειγμα στη γλώσσα προγραμματισμού C.

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

int main(){

int matrix [10];

for(int i=0;i<15;i++){

matrix[i]=i;

}

}

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

Παράδειγμα Συντακτικού Λάθους

int main(){

int x=20;

int y=5;

while(x<y){

printf("%d",z);

x=x-1;

}

}

Στη περίπτωση αυτή, λόγω του ότι μέσα στην printf() εμφανίζεται μια μεταβλητή η οποία δεν έχει αρχικοποιηθεί ο μεταγλωττιστής θα το αντιληφθεί και θα ορίσει ένα σφάλμα κατά τη μεταγλώττιση του προγράμματος.

Τα συντακτικά λάθη ανιχνεύονται κατά την διαδικασία της μεταγλώττισης ή διερμήνευσης.

Αφορούν παραβιάσεις του τυπολογικού και συντακτικού της γλώσσας. (π.χ. μία εντολή έχει γραφτεί συντακτικά λάθος).

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

...Τα συντακτικα λαθη προκυπτουν οταν ενα προγραμμα δεν συμπιπτει με την γραμματικη της γλωσσας προγραμματισμου που χρησιμοποιουμε και συνεπως ο compiler δεν μπορει να εκτελεσει το προγραμμα.

Τα λογικα λαθη ειναι οτιδιποτε αποτρεπει το προγραμμα απο το να επιστρεψει τα επιθυμειτα αποτελεσματα.

Τα μοντερνα IDE (integrated development environments) συνηθως υπογραμμιζουν τα συντακτικα λαθη οποτε και ειναι ευκολο να διορθωθουν. Αντιθετα, τα λογικα λαθη ειναι πολυ δυσκολοτερο να εντοπιστουν γιατι δεν ειναι αναγκαστικο το οτι αποτρεπουν το προγραμμα απο το να εκτελεστει. Ο χρηστης πρεπει να εξετασει διεξοδικα το προγραμμα εως οτου βρει που ειναι το λαθος.

Για παραδειγμα στην γλωσσα προγραμματισμου C ένα συντακτικο λάθος θα ήταν να προσπαθησουμε να καλεσουμε μια μεταβλητη χωρις να χρησιμοποιησουμε το ";" στο τελος:

x = 5(Λάθος)

y = 7; (Σωστό)

Ενα λογικο λαθος θα ηταν να εχουμε μια if statement και ενω θελουμε να ελεγξουμε αν το x ειναι μεγαλυτερο του 5 κατα λαθος να ελεγξουμε αν ειναι μεγαλυτερο του 50:

If (x>5)

(Θα εχουμε το επιθυμητο αποτελεσμα) printf("...");

Αντιθετα: If (x>50) (Το προγραμμα θα εκτελεστει αλλα δεν θα εχουμε το επιθυμητο αποτελεσμα)

...Τα συντακτικά λάθη οφείλονται σε παραβίαση των κανόνων της γραμματικής και του συντακτικού της γλώσσας προγραμματισμού ενώ τα λογικά λάθη οφείλονται είτε σε επιλογή λανθασμένου αλγόριθμου είτε σε λάθος στην κωδικοποίηση του αλγόριθμου Τα συντακτικά λάθη εντοπίζονται κατά τη διάρκεια μετάφρασης από το αντίστοιχο μεταφραστικό πρόγραμμα και ο προγραμματιστής ενημερώνεται με τα κατάλληλα μηνύματα ενώ στα λογικά λάθη διαπιστώνουμε ότι ένα πρόγραμμα δίνει λάθος αποτελέσματα κατά την εκτέλεση του Παράδειγμα συντακτικού λάθους C: ... For (i=0; I <10;i++ //Λείπει το κλείσιμο της παρένθεσης { printf("%d\n",i); }... Παράδειγμα λογικού λάθους C: ... For (i==0; I <10;i++ ) //Δεν αρχικοποιείται το ι στην τιμή 0 { printf("%d\n",i); }...

27. Tι εννοούμε με τους όρους LIFO (Last In First Out) και FIFO (First In First Out) και σε ποιες δομές δεδομένων βρίσκουν εφαρμογή;

Με τους όρους LIFO (Last In First Out) και FIFO (First In First Out) αναφερόμαστε στη διαχείριση των δεδομένων αναφορικά με τον τρόπο με τον οποίο αυτά αποθηκεύονται (εισάγονται) μέσα σε μια δομή δεδομένων και εν συνεχεία διαχειρίζονται (εξάγονται) από αυτήν. Πιο συγκεκριμένα, για τις δομές δεδομένων Στοίβα και Ούρα, όπου και οι ανωτέρω τεχνικές εισαγωγής και επεξεργασίας δεδομένων βρίσκουν εφαρμογή, ισχύουν τα παρακάτω.

Στη στοίβα τα δεδομένα που βρίσκονται στην κορυφή τα επεξεργαζόμαστε πρώτα και τα δεδομένα που βρίσκονται στο τέλος τα επεξεργαζόμαστε τελευταία. Η μέθοδος αυτή ονομάζεται LIFO(Last-In-First-Out).

Σε μια ουρά εξυπηρετούνται εκείνα τα δεδομένα που τοποθετήθηκαν στην ουρά πρώτα από όλα τα υπόλοιπα. Η μέθοδος αυτή ονομάζεται FIFO (First-In-First-Out). Σε αυτή τη δομή δεδομένων επιτρέπεται όλες οι εισαγωγές στοιχείων να γίνονται από το ένα άκρο, και όλες οι διαγραφές, από το άλλο. Κατά συνέπεια χρειαζόμαστε δύο δείκτες τον μπρος (head) και τον πίσω(tail).

Το LIFO (Last In First Out) σημάινει όταν βάζουμε κάτι σε μία ουρά, μπαίνει στην αρχή της και είναι πάλι το πρώτο που θα βγει.

Το FIFO (First In First Out) σημαίνει όταν κάτι μπαίνει στο τέλος μιας ουράς και περιμένει πρώτα να βγούν τα άλλα και στο τέλος να βγει και αυτό.

...Σε μια FIFO δομή δεδομένων, το πρώτο στοιχείο που εισάγεται στην ουρά θα είναι το πρώτο που θα αφαιρεθεί-εξυπηρετηθεί. Σε μια LIFO δομη δεδομενων, το τελευταιο στοιχειο που εισαγεται στην ουρα θα ειναι το πρωτο που θα αφαιρεθει-εξυπηρετηθει. Βρισκουν εφαρμογη στις δομες δεδομενων με μορφη queue (ουρα). Η ουρά (queue) στην πληροφορική είναι μια δομή δεδομένων με τη μορφή παρατεταμένης συλλογής.

Η LIFO(Last In First Out) χρησιμοποιείται στη δομή της στοίβας, και στην οποία τα δεδομένα που βρίσκονται στην κορυφή της στοίβας λαμβάνονται πρώτα ενώ αυτά που βρίσκονται στο βάθος της στοίβας λαμβάνονται τελευταία, αντίστοιχα στην εισαγωγή δεδομένων τα νέα δεδομένα εισάγονται στην κορυφή της δομής. Η FIFO(Firs In First Out) χρησιμοποιείται στη δομή της ουράς, και στην οποία όταν έχουμε εισαγωγή δεδομένων, τα δεδομένα πάνε στο πίσω μέρος της ουράς, ενώ όταν πρέπει να ανακτήσουμε κάποια δεδομένα, το κάνουμε από την αρχή (μπροστινό μέρος) της δομής.

28. Τι είναι οι στατικές και τι οι δυναμικές δομές δεδομένων; Ποιες οι διαφοές τους;

Οι δομές δεδομένων διακρίνονται σε δύο μεγάλες κατηγορίες: τις στατικές (static) και τις δυναμικές (dynamic).

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

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

Στατικές δομές: Αποθηκεύονται σε συνεχόμενες θέσεις μνήμης και έχουν σταθερό μέγεθος, το οποίο καθορίζεται στην αρχή του προγράμματος. Οι στατικές δομές υλοποιούνται με πίνακες.

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

Με δυναμικές δομές υλοποιούνται οι λίστες, τα δένδρα και οι γράφοι. Επισης, στις στατικες δομες πρεπει να οριζουμε το μεγεθος τους πριν την εκτελεση του προγραμματος. Στις δυναμικες δομες, μπορουμε να οριζουμε και να μετατρεπουμε το μεγεθος τους μεσα απο το προγραμμα.

...Στατικές δομές δεδομένων: το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού τους και κατά συνέπεια κατά τη στιγμή της μετάφρασης. Τα στοιχεία των στατικών δομών αποθηκεύονται σε συνεχόμενες θέσεις μνήμης Δυναμικές: οι δομές αυτές δεν έχουν σταθερό μέγεθος, αλλά ο αριθμός των κόμβων τους μεγαλώνει και μικραίνει καθώς στη δομή εισάγονται νέα δεδομένα αντίστοιχα, κατά την εκτέλεση του προγράμματος. Οι δυναμικές δομές δεν αποθηκεύονται σε συνεχόμενες θέσεις αλλά στηρίζονται στην τεχνική της λεγόμενης δυναμικής παραχώρησης μνήμης. Όλες οι σύγχρονες γλώσσες προγραμματισμού προσφέρουν την δυνατότητα της δυναμικής παραχώρησης μνήμης.

29. Να γραφεί πρόγραμμα σε C το οποίο θα δέχεται από το πληκτρολόγιο έναν ακέραιο. Εν συνεχεία θα υπολογίζει και θα εκτυπώνει το παραγοντικό αυτού του αριθμού. Για παράδειγμα με είσοδο 5 το πρόγραμμα θα υπολογίζει το 5! = 1 * 2 * 3 * 4 * 5 = 120 και θα εκτυπώνει στην οθόνη το 120.

#include <stdio.h>

int main() {

int n, i;

unsigned long factorial = 1;

printf("Enter an integer: ");

scanf("%d",&n);

if (n < 0)

printf("ERROR - Negative Number");

else{

for(i=1; i<=n; ++i){

factorial = factorial*i;

}

printf("Factorial of %d = %llu", n, factorial);

}

return 0;

}

.................................

#include

int main()

{

int c, n, fact = 1;

printf("Enter a number to calculate its factorial\n");

scanf("%d", &n);

for (c = 1; c <= n; c++)

fact = fact * c;

printf("Factorial of %d = %d\n", n, fact);

return 0;

}

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]) {

int arithmos, apotelesma, i;

for(;;)

{ //Εισαγωγή αριθμού

printf("Πληκτρολογήστε έναν ακέραιο αριθμό μεταξύ 1 και 7 (0 για Έξοδο):\n");

scanf("%d",&arithmos);

//'Ελεγχοι

if(arithmos == 0)

break;

if ((arithmos <1) || (arithmos > 7))

{

printf("\nΟ αριθμός που πληκτρολογήσατε είναι εκτός ορίων!\nΔοκιμάστε ξανά!\n");

continue;

}

//Επεξεργασία, υπολογισμός αποτελέσματος (παραγοντικού)

apotelesma = 1;

for (i = 1; i <= arithmos; i++)

apotelesma = apotelesma *i;

//Εκτύπωση αποτελέσματος

printf("Το παραγοντικό του αριθμού %d είναι : %d\n",arithmos, apotelesma);

}

printf("\nΑντίο σας!\n");

return 0;

}

30. Αναφέρατε πέντε, από τους βασικούς τύπους δεδομένων (Data Types) της Pascal ή C. Να αναφέρετε τα όριά τους (κατά προσέγγιση και όπου αυτά υπάρχουν) καθώς και ένα παράδειγμα από τον κάθε τύπο.

Ένας τύπος δεδοµένων είναι ένα σύνολο τιµών και ένα σύνολο λειτουργιών (πράξεων) που µπορούν να εφαρµοστούν σε αυτές τις τιµές. Ορίζουμε λοιπόν δύο βασικές κατηγορίες τύπων δεδομένων, αναφορικά, τους βασικούς τύπους δεδομένων (char, int, float, double), και τους σύνθετους τύπους δεδομένων "structs" (τύποι δεδομένων δηλαδή, που συντίθενται από συνδυασμό δύο ή περισσοτέρων βασικών τύπων δεδομένων π.χ. struct Time { int hours; int minutes; int seconds;};). Στη συνέχεια παρατίθεται μια σύντομη αναφορά στους βασικούς τύπους δεδομένων της C.

Βασικοί τύποι δεδομένων στη C

- int (ακέραιος - integer) Αναπαριστά ακέραιους αριθµούς, έχει μέγεθος 4 bytes και πεδίο τιµών -231.. +(231-1) δηλαδή περίπου : από [-2G..+2G] [-(δυο δισεκατοµµύρια .. +δυο δισεκατοµµύρια] Οι επιτρεπόμενες πράξεις είναι οι εξής: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασµός (*), διαίρεση διαίρεση (/) κλπ. Παράδειγμα int x=4;

- float (κινητής υποδιαστολής απλής ακρίβειας - floating point) Αναπαριστά τους πραγµατικούς αριθµούς, και έχει μέγεθος 4 bytes. Οι επιτρεπόμενες πράξεις είναι οι εξής:: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασµός (*), διαίρεση (/). Παράδειγμα float z=2.7;

- double (κινητής υποδιαστολής διπλής ακρίβειας - double precision) Τύπος δεδομένων παρόμοιος με τον τύπο δεδομένων µε float αλλά µε µεγαλύτερη ακρίβεια (περιέχει δηλ. διπλό αριθµό δεκαδικών ψηφίων απ' ότι η µεταβλητή float). Λόγω της μεγαλύτερης ακρίβειας έχει μέγεθος 8 bytes. Παράδειγμα double pi= 3,14159265;

- char (χαρακτήρας - character) Αναπαριστά ατοµικούς χαρακτήρες (Α-Ζ, a-z, 0-9, !@$%&#, ειδικά σύµβολα \n, κλπ.) και έχει μέγεθος 1 μέγεθος 1 byte. Κυριολεκτικές τιµές εσωκλείονται σε Κυριολεκτικές τιµές εσωκλείονται σε αποστρόφους, π.χ. ′Α′, ′ χ. ′Α′, ′a′, ′9′, ′ a′, ′9′, ′″′, ′ ′, ′*′, ′\n′, ′\′′, κτλ, και κάθε χαρακτήρας αντιστοιχεί σε ένα µοναδικό κωδικό όπου για τη C χρησιμοποιείται ο ASCII code. Παράδειγμα char letter='A';

5 απο τους βασικους τυπους δεδομενων της Pascal ειναι:

1) Integer (int), ευρος τιμης -32768 εως 32767, num1 : integer;

2) Real, ευρος τιμης 3.4x10-38 εως 3.4x1038 , num2: real;

3) Boolean, ευρος τιμης True-False, choice : Boolean;

4) Char, ευρος τιμης ειναι ολοι οι 8-bit χαρακτηρες (Unicode), a : char;

5) String, το default ευρος τιμης ειναι 1

31. Τι ονομάζουμε recursion (αναδρομή); α) Να γραφεί αναδρομική συνάρτηση (σε C) με όνομα power που να δέχεται σαν παραμέτρους δυο ακέραιους αριθμούς (a και b) και να επιστρέφει το αποτέλεσμα ab. Ισχύει: ab = a * a * a * ... * a (b φορές) π.χ. 35 = 3 * 3 * 3 * 3 * 3 (5 φορές) β) Περιγράψτε σχηματικά πως δουλεύει για α=3 και β=5

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

#include <stdio.h>

int power(int n1, int n2);

int main() {

int a, b, result;

printf("Enter base number: ");

scanf("%d",&a);

printf("Enter power number(positive integer): "); scanf("%d",&b);

result = power(a, b);

printf("%d^%d = %d", a, b, result);

return 0;

}

int power(int a, int b) {

if (b != 0){

return (a*power(a, b-1));

}

else {

return 1;

}

}

Στην συνέχεια παρατίθεται μια σχηματική επεξήγηση της λειτουργίας του κώδικα

Αναδρομη είναι η διαδικασια κατα την οποια μια συναρτηση καλεί, έμμεσα ή αμεσα, τον εαυτό της (την ιδια συναρτηση).

a)

#include <stdio.h>

int power(int n1, int n2);

int main()

{

int base, powerRaised, result;

printf("Βάση: ");

scanf("%d",&base);

printf("Δύναμη: ");

scanf("%d",&powerRaised);

result = power(base, powerRaised);

printf("%d^%d = %d", base, powerRaised, result);

return 0;

}

int power(int base, int powerRaised)

{

if (powerRaised != 0)

return (base*power(base, powerRaised-1));

else

return 1;

}

..................................

Αναδρομή στα μαθηματικά και την επιστήμη υπολογιστών είναι μια μέθοδος για τον ορισμό συναρτήσεων κατά την οποία η οριζόμενη συνάρτηση εφαρμόζεται στον ίδιο της τον ορισμό. #include <stdio.h>

#include <stdlib.h>

int ab(int a, int b)

{

int result;

if(b==0)

return 1;

else

{

b--;

result = ab(a,b)*a;

}

return result;

}

int main(int argc, char** argv) {

printf("%d\n",ab(3,5));

return 0;

}

Σχηματικά:

32. Να γραφεί αλγόριθμος ο οποίος να διαβάζει τα ονόματα 10 πωλητών μιας εταιρείας και να τα αποθηκεύει σε ένα πίνακα Α, και τις αντίστοιχες πωλήσεις αυτών των πωλητών το 2005 και να τις αποθηκεύει σε ένα πίνακα Β. Ο αλγόριθμος πρέπει να εκτυπώνει: α) Το μέσο όρο των πωλήσεων όλων των πωλητών, β) Το όνομα του πωλητή με τις μέγιστες πωλήσεις, γ) Το όνομα του πωλητή με τις μικρότερες πωλήσεις


33. A.Εξηγήστε σύντομα τι κάνει το ακόλουθο πρόγραμμα:

#include <stdio.h>

#include <math.h>

int main() {

int n; for (n=50;n!=60;n++) 

printf("%d \t %f \n",n,log(n));

return 0;

B. Αν στην for αντικαταστήσουμε τον αριθμό 60 με τον αριθμό 40 τι θα συμβεί;

Εκτυπώνεται ο λογάριθμος των τιμών από 50 έως 59; Προφανώς αν αντικατασταθεί το άνω φράγμα του βρόχου με μια τιμή η οποία δ με μια τιμή η οποία δεν πρόκειται να  τη φτάσουμε ποτε τότε δημιουργείται ατέρμων βρόχος. Οι υπολογισμοί που θα γίνουν είναι ο υπολογισμός των λογαρίθμων των τιμών στο εύρος [50, +∞). 

.....A.Το πρόγραμμα τυπώνει σε 2 στήλες:

1η στήλη: Οι αριθμοί από το 50 έως και το 59

2η στήλη: Οι αντίστοιχοι λογάριθμοι για κάθε έναν από τους αριθμούς από το 50 έως και το 59

32. Να γραφεί αλγόριθμος ο οποίος να διαβάζει τα ονόματα 10 πωλητών μιας εταιρείας και να τα αποθηκεύει σε ένα πίνακα Α, και τις αντίστοιχες πωλήσεις αυτών των πωλητών το 2005 και να τις αποθηκεύει σε ένα πίνακα Β. Ο αλγόριθμος πρέπει να εκτυπώνει: α) Το μέσο όρο των πωλήσεων όλων των πωλητών, β) Το όνομα του πωλητή με τις μέγιστες πωλήσεις, γ) Το όνομα του πωλητή με τις μικρότερες πωλήσεις

Algorithm sellers

INPUT: String Array sellers, Integer Array sales

OUTPUT: mean_sales, seller_with_max_sales,seller_with_min_sales

BEGIN

int A[] //seller names

int B[] //seller sales

Integers counter,max,min,position;

Float mean;

for i=1:1:10

print("enter seller credentials:")

A[i]=read(name);

print("enter seller sale:")

B[i]=read(sales);

end

//----- FIND MEAN SALES -------

for i=1:1:10

counter=counter+B[i];

end

mean=counter/10;

print("The mean sales are %d", mean);

//----- FIND SELLER WITH MAX SALES -------

max=B[0]

for i=1:1:10

if B[i]> max

max=B[i];

position=i;

endif

end

print("The seller with the max sales is %s", A[position]);

//----- FIND SELLER WITH MAX SALES -------

min=B[0]

for i=1:1:10

if B[i]< min

min=B[i];

position=i;

endif

end

print("The seller with the min sales is %s", A[position]);

END

...........................

Αλγόριθμος Άσκησης

Για ι από 1 μέχρι 10

Διάβασε Α[ι]

Τέλος_επανάληψης

Για ι από 1 μέχρι 10

Διάβασε Β[ι]

Τέλος_επανάληψης

Sum <- 0

Για ι από 1 μέχρι 10

Sum <- sum + Β[ι]

Τέλος_επανάληψης

Μο <-sum/10

Max <- B[i]

Για ι από 1 μέχρι 10

Αν Β[ι] > max τότε

Max <- Β[ι]

Μ_πωλητής <- Α[ι]

Τέλος_αν

Τέλος_επανάληψης

Εμφάνισε μ_πωλητής

Min <-Β[ι]

Για ι από 1 μέχρι 10

Αν Β[ι] <min τότε

Min <-B[i]

Ε_πωλητής <- Α[ι]

Τέλος_αν

Τέλος_επανάληψης

Εμφάνισε ε_πωλητής

Τέλος_Ασκ

33. A.Εξηγήστε σύντομα τι κάνει το ακόλουθο πρόγραμμα:

#include <stdio.h>

#include <math.h>

int main() {

int n; for (n=50;n!=60;n++)

printf("%d \t %f \n",n,log(n));

return 0;

B. Αν στην for αντικαταστήσουμε τον αριθμό 60 με τον αριθμό 40 τι θα συμβεί;

---Α.Εκτυπώνεται ο λογάριθμος των τιμών από 50 έως 59; Προφανώς αν αντικατασταθεί το άνω φράγμα του βρόχου με μια τιμή την οποία δεν πρόκειται να τη φτάσουμε ποτε τότε δημιουργείται ατέρμων βρόχος. Οι υπολογισμοί που θα γίνουν είναι ο υπολογισμός των λογαρίθμων των τιμών στο εύρος [50, +∞).

---B. Αν στην for αντικαταστήσουμε τον αριθμό 60 με έναν αριθμό ίσο ή μικρότερο του 50 (πχ 40) τότε δεν θα εκτελεστούν ποτέ οι εντολές της επανάληψης και το πρόγραμμα θα τερματίσει χωρίς να εμφανίσει τίποτα στην οθόνη.

a)Αρχικα καλουνται τα αρχεια stdio.h και math.h (headers). Επειτα δημιουργουμε την αρχικη συναρτηση main. Δηλωνουμε την μεταβλητη n τυπου integer.

Δημιουργουμε επαναληπτικη συναρτηση τυπου for η οποια αρχιζει οταν το n=50 και τρεχει αυξανοντας σε καθε κυκλο το n κατα 1 οσο το n δεν ειναι ισο με 60.

Σε καθε κυκλο την συναρτησης for θα τυπώνεται στην οθονη η τρέχουσα τιμη της μεταβλητης n και ο λογαριθμος της. Επειτα το προγραμμα τερματιζεται με την εντολη return 0; που σημανει το τελος του προγραμματος επιστρεφοντας μια μηδενικη τιμη.

b)Αφου καθε φορα η τιμη της n αυξανεται κατα 1 το προγραμμα δεν θα σταματησει ποτε αφου η τιμη της n δεν θα γινει ποτε 40

34. Στον ακόλουθο κώδικα τι θα εκτυπώσει η printf αν δώσουμε από το πληκτρολόγιο τις τιμές: -3 και 7 όταν μας ζητηθεί να εισάγουμε τιμές;

int n=-3,i,k;

float x=3.,y; printf("Dwse times: ");

scanf("%d%f",&i,&y);

k=3/5;

x=++n;

x*=i;

n=--k;

y=n%i;

printf("%d\t%d\t%d\t%f\t%f\n",n,i,k,x,y);

n=-1 i=-3 k=-1 x=6.000000 x=6.000000 y=-1.000000

.............

int n=-3,i,k;

float x=3.,y;

printf("Dwse times: ");

scanf("%d%f",&i,&y);

k=3/5;

x=++n;

x*=i;

n=--k;

y=n%i;

printf("%d\t%d\t%d\t%f\t%f\n",n,i,k,x,y);

-1 , -3 , -1 , 6.000000 , -1.

35. Να γραφεί πρόγραμμα που να δέχεται ένα διψήφιο ακέραιο αριθμό, και να επιστρέφει τον αριθμό ανεστραμμένο καθώς και το άθροισμα των ψηφίων του αριθμού (αν π.χ. ο χρήστης δώσει τον αριθμό 53, το πρόγραμμα πρέπει να επιστρέψει 35 και 8). Σημείωση: το πρόγραμμα πρέπει να ελέγχει αν ο αριθμός είναι διψήφιος και για την περίπτωση που δεν είναι να βγάζει μήνυμα λάθους.

#include <stdio.h>

int main(){

int num;

int number;

int count = 0;

while(count!=2){

printf("Enter an integer: ");

scanf("%d", &num);

number=num;

count=0;

while(number != 0){

number /= 10;

count++;

}

printf("Number of digits: %d\n\n\n", count);

if(count!=2){

printf("ERROR NOT A 2-Digit Number\n");

count=0;

}

}

reversεDigits(num);

getchar();

return 0;

}

int reverseDigits(int num){

int number=num;

printf("The number is: %d \n",num);

int rev_num = 0;

while(num > 0){

rev_num = rev_num*10 + num%10;

num = num/10;

}

printf("The revised is: %d \n",rev_num);

int a=number/10;

int b=number%10;

int c=a+b;

printf("the sum is: %d",c);

return rev_num;

}

.....#include <stdio.h>

#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {

int arithmos, psifio1, psifio2, apotelesma;

for(;;)

{

printf("\nEisagete enan dipsifio arithmo (0 gia exodo):\n");

scanf("%d",&arithmos);

if (arithmos == 0)

break;

if ((arithmos<10) || (arithmos>99))

{

printf ("\n O arithmos den einai dipsifios!\n Prospathiste xana!\n");

continue;

}

psifio1=arithmos%10;

psifio2=arithmos/10;

apotelesma = psifio1 * 10 + psifio2;

printf("\nO neos arithmos einai %d\n",apotelesma);

}

return 0;

}

36. Να γραφεί σε C η διαδικασία της γρήγορης ταξινόμησης (quick sort).

#include<stdio.h>

int main(){

int arr[] = {10, 7, 1, 5, 8, 9};

int n = sizeof(arr)/sizeof(arr[0]);

printf("\n Initial Array: ");

printArray( printArray(arr, n);

quickSort(a quickSort(arr, 0, n-1);

printf("\n \n Sorted Array: ");

printArray( printArray(arr, n);

return 0;

}

void swap(int* a, int* b){

int t = *a;

*a = *b;

*b = t;

}

int partition (int arr[], int low, int partition (int arr[], int low, int high){ int high){

int pivot = arr[high];

int i = (low - 1);

int j;

for (j = low; j <= high- 1; j++) {

if (arr[j] <= pivot){

i++;

swap(&arr[i swap(&arr[i], &arr[j]); &arr[j]);

}

}

swap(&arr[i + 1], &arr[high]);

return (i + 1);

}

void quickSort(int arr[], int low, int high){

if (low < high){

int pi = int pi = partition(a partition(arr, low, high); rr, low, high);

quickSort(arr, low, pi - 1);

quickSort(arr, pi + 1, high);

}

}

void printArray(int arr[], int size){

int i;

for (i=0; i < size; i++){

printf("%d ", arr[i]);

}

}

Αλγόριθμοι Ταξινόμησης 

Ο αλγόριθμος quicksort είναι ο αλγόριθμος ταξινόμησης που μάλλον χρησιμοποιείται περισσότερο από οποιονδήποτε άλλον.   

• Ο αλγόριθμος quicksort είναι μια μέθοδος ταξινόμησης του τύπου «διαίρει και βασίλευε» (divide and conquer).

• Λειτουργεί διαμερίζοντας ένα πίνακα σε δύο μέρη και ταξινομώντας αυτά τα μέρη, το ένα ανεξάρτητα από το άλλο.

• Η ακριβής θέση της διαμέρισης εξαρτάται από την αρχική σειρά των στοιχείων του πίνακα εισόδου.

• Μετά ενώνει τα δύο ταξινομημένα μέρη για να προκύψει ο ταξινομημένος πίνακας.

Η Διαμέριση

• Κατά τη διαμέριση, ο πίνακας αναδιατάσσεται έτσι ώστε να ισχύουν οι τρείς παρακάτω συνθήκες:

- Για κάποιο i, το στοιχείο a[i] βρίσκεται στην τελική του θέση μέσα στον πίνακα.

- Κανένα από τα στοιχεία a[1],...,a[i-1] δεν είναι μεγαλύτερο από το a[i].

- Κανένα από τα στοιχεία a[i+1],...,a[r] δεν είναι μικρότερο από το a[i]

Ο Βασικός Αλγόριθμος

• Φτάνουμε στην πλήρη ταξινόμηση κάνοντας πρώτα τη διαμέριση και μετά εφαρμόζοντας αναδρομικά τη μέθοδο στους δυο υποπίνακες που προκύπτουν.

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

Κώδικας σε C

void quicksort(Item a[], int l, int r)

{

int i;

if (r <= l) return;

i = partition(a, l, r);

quicksort(a, l, i-1);

quicksort(a, i+1, r);

}

int partition(Item a[], int l, int r)

{

int i = l-1, j = r; Item v = a[r];

for (;;)

{

while (less(a[++i], v)) ;

while (less(v, a[--j])) if (j == l) break;

if (i >= j) break;

exch(a[i], a[j]);

}

exch(a[i], a[r]);

return i;

Παρατηρήσεις για τη Συνάρτηση quicksort

• Κάθε κλήση quicksort(a, l, r) ταξινομεί τον υποπίνακα a[l:r] του πίνακα a.

• Αν ο πίνακας a έχει ένα ή λιγότερα στοιχεία, ο αλγόριθμος δεν κάνει τίποτε.

• Αλλιώς, καλείται η συνάρτηση partition, η οποία τοποθετεί το στοιχείο a[i] στη θέση του (το i είναι μεταξύ l και r) και αναδιατάσσει τα υπόλοιπα στοιχεία ώστε οι αναδρομικές κλήσεις που ακολουθούν να ολοκληρώσουν την ταξινόμηση.

37. Να ταξινομήσετε τον παρακάτω πίνακα με τις τεχνικές selection sort και bubble sort, περιγράφοντας αναλυτικά το κάθε βήμα της ταξινόμησης. 6 7 9 3 5 8

Sorting with Selection-Sort

initial:6, 7, 9, 3, 5, 8,

Step 1): 3, 7, 9, 6, 5, 8,

Step 2): 3, 5, 9, 6, 7, 8,

Step 3): 3, 5, 6, 9, 7, 8,

Step 4): 3, 5, 6, 7, 9, 8,

Step 5): 3, 5, 6, 7, 8, 9,

final: 3, 5, 6, 7, 8, 9,

Sorting with Bubble-Sort

initial:6, 7, 9, 3, 5, 8,

Step 1): 6, 7, 3, 5, Step 1): 6, 7, 3, 5, 8, 9,

Step 2): 6, 3, 5, 7, 8, 9,

Step 3): 3, 5, 6, 7, 8, 9,

Step 4): 3, 5, 6, 7, 8, 9,

Step 5): 3, 5, 6, 7, 8, 9,

Step 6): 3, 5, 6, 7, 8, 9,

Step 7): 3, 5, 6, 7, 8, 9,

final: 3, 5, 6, 7, 8, 9,

Αλγόριθμοι ταξινόμησης

38. Να γραφεί πρόγραμμα σε C που να αποθηκεύει ακέραιους αριθμούς από το πληκτρολόγιο σε έναν πίνακα διαστάσεων 5x5 και κατόπιν να εκτυπώνει: α. όλα τα στοιχεία του πίνακα β. όλα τα στοιχεία της κύριας διαγωνίου του πίνακα γ. όλα τα στοιχεία της αναστροφής διαγωνίου του πίνακα

# include <stdio.h>

int main(){

int i,j, element;

int n=5;

int A[n][n];

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("Give the element A[%d][%d]: ",i,j);

scanf("%d",&element);

A[i][j]=element;

printf("\n");

}

}

printf("\nThe Matrix A is: \n");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

printf("%d,",A[i][j]);

}

printf("\n");

}

printf("\nThe diagonal elements of Matrix A are:");

for(i=0;i<n;i++){

printf("%d,",A[i][i]);

}

printf("\nThe reverse-diagon printf("\nThe reverse-diagonal elements of Matrix A al elements of Matrix A are: "); are: ");

for(i=0;i<n;i++){

for(j=0;j<n;j++){

if(i+j==n-1){

printf("%d,",A[i][j]);

}

}

}

return 0;

}

.......#include <stdio.h>

#include <stdlib.h>

#define dim 5

int main(int argc, char *argv[]) {

int arithmoi[dim][dim];

int i,j;

for(i=0;i < dim; i++)

{

for (j = 0; j < dim; j++)

{

printf("\nEisagete akeraio arithmo gia tin thesi pinaka [%d %d]:",i,j);

scanf("%d",&arithmoi[i][j]);

}

}

for( i=0;i < dim;i++)

{

for (j = 0; j < dim; j++)

{

printf("%3d ",arithmoi[i][j]);

}

printf("\n");

}

printf("\n");

for( i=0;i < dim;i++)

{

for (j = 0; j < dim; j++)

{

if (i==j)

printf("\n%3d ",arithmoi[i][j]);

}

}

printf("\n");

for( i=0;i < dim;i++)

{

for (j = 0; j < dim; j++)

{

if (i+j==dim-1)

printf("\n%3d ",arithmoi[i][j]);

}

}

return 0;

}

39. Τι ενοούμε με τους όρους "Αλγόριθμος" και "Πρόγραμμα";

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

Ένα πρόγραμμα υπολογιστών είναι ουσιαστικά ένας αλγόριθμος που λέει στον υπολογιστή ποια συγκεκριμένα βήματα να εκτελέσει (σε ποια συγκεκριμένη σειρά) προκειμένου να επιτευχθεί ένας συγκεκριμένος στόχος, όπου οι εντολές αυτές έχουν μια αυστηρά συγκεκριμένη δομή ανάλογα με τη γλώσσα προγραμματισμού στην οποία υλοποιείται το πρόγραμμα.

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

Πρόγραμμα ειναι μια συγκεκριμένη ακολουθία εντολών τις οποίες πρέπει να εκτελέσει ένας υπολογιστής για να παραγάγει το επιθυμητό για το χρήστη αποτέλεσμα.

40. Τι ονομάζουμε δομή δεδομένων;

 Ένα σύνολο από στοιχεία στοιχεία δεδομένων αποτελεί δομή όταν υπάρχουν καθορισμένες σχέσεις μεταξύ των στοιχείων. Μια δομή δεδομένων ορίζεται ως η διαδικασία εισαγωγής και απομάκρυνσης στοιχείων με τρόπο ώστε όλη η δομή να μην αλλοιώνεται. Κάθε δομή δεδομένων έχει ως αφηρημένη έννοια συγκεκριμένο ορισμό, δηλαδή διαδικασία εισαγωγής/απομάκρυνσης στοιχείων, αλλά μπορεί να υλοποιείται σε έναν Η/Υ με διαφορετικούς τρόπους.

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

41. Σε ποιες κατηγορίες διακρίνονται τα προβλήματα με κριτήριο το είδος επίλυσης τους;

a) Προβλήματα Απόφασης: Η λύση σε αυτά τα προβλήματα είναι του τύπου «Ναι» και «Όχι»

b) Υπολογιστικά Προβλήματα: Για την επίλυση απαιτείται η διενέργεια υπολογισμών.

c) Προβλήματα Βελτιστοποίησης: Η λύση που ζητάμε είναι το βέλτιστο αποτέλεσμα για τα συγκεκριμένα δεδομένα.

Δομημένα, χαρακτηρίζονται εκείνα τα προβλήματα των οποίων η επίλυση προέρχεται από μια αυτοματοποιημένη διαδικασία.

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

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

Απόφασης, όπου η απόφαση που πρόκειται να ληφθεί σαν λύση του προβλήματος που τίθεται, απαντά σε ένα ερώτημα και πιθανόν αυτή η απάντηση να είναι ένα "Ναι" ή ένα "Όχι".

Υπολογιστικά, όπου το πρόβλημα που τίθεται απαιτεί τη διενέργεια υπολογισμών, για να μπορεί να δοθεί μία απάντηση στο πρόβλημα. Σε ένα υπολογιστικό πρόβλημα ζητάμε ναβρούμε τη τιμή της απάντησης που ικανοποιεί τα δεδομένα που παρέχει το πρόβλημα.Αναζήτηση (searching), κατά την οποία προσπελαύνονται οι κόμβοι μιας δομής, προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα.

42. Ποιες είναι οι βασικές λειτουργίες (ή πράξεις) επί των δομών δεδομένων;

a) Προσπέλαση: πρόσβαση σε ένα κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί το περιεχόμενό του.

b) Εισαγωγή: προσθήκη νέων κόμβων σε μία υπάρχουσα δομή.

c) Διαγραφή: αποτελεί το αντίστροφο της εισαγωγής, δηλαδή ένας κόμβος αφαιρείται από μία δομή.

d) Αναζήτηση: προσπελαύνονται οι κόμβοι μιας δομής, προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα.

e) Ταξινόμηση: οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα σειρά.

f) Αντιγραφή: όλοι οι κόμβοι ή μερικοί από τους κόμβους μίας δομής αντιγράφονται σε μία άλλη δομή.

g) Συγχώνευση: δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή.

h) Διαχωρισμός: αποτελεί την αντίστροφη πράξη της συγχώνευσης.

....1. Προσπέλαση (access), πρόσβαση σε ένα κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί το περιεχόμενό του.

2. Εισαγωγή (insertion), δηλαδή η προσθήκη νέων κόμβων σε μία υπάρχουσα δομή.

3. Διαγραφή (deletion), που αποτελεί το αντίστροφο της εισαγωγής, δηλαδή ένας κόμβος αφαιρείται από μία δομή.

4. Αναζήτηση (searching), κατά την οποία προσπελαύνονται οι κόμβοι μιας δομής, προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα.

5. Ταξινόμηση (sorting), όπου οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα σειρά.

6. Αντιγραφή (copying), κατά την οποία όλοι οι κόμβοι ή μερικοί από τους κόμβους μίας δομής αντιγράφονται σε μία άλλη δομή.

7. Συγχώνευση (merging), κατά την οποία δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή.

8. Διαχωρισμός (separation), που αποτελεί την αντίστροφη πράξη της συγχώνευσης

...Οι βασικές λειτουργίες (ή αλλιώς πράξεις) επί των δομών δεδομένων είναι οι ακόλουθες: Προσπέλαση (access): πρόσβαση σε έναν κόμβο με σκοπό να εξεταστεί ή να τροποποιηθεί το περιεχόμενό του. Π.χ. για να εμφανίσουμε την τιμή ενός στοιχείου ενός πίνακα ο οποίος είναι αποθηκευμένος στην μνήμη, πρέπει να «φέρουμε» την τιμή που αντιστοιχεί στο στοιχείο του πίνακα από την αντίστοιχη θέση μνήμης. Εισαγωγή (Insertion): η προσθήκη νέων κόμβων σε μία υπάρχουσα δομή. Π.χ. να «μεγαλώσουμε» έναν πίνακα 1xn κατά ένα στοιχείο, ώστε να γίνει 1x(n+1). Διαγραφή (Deletion): η αφαίρεση ενός κόμβου από την δομή δεδομένων. Π.χ. να «μικρύνουμε» έναν πίνακα 1xn κατά ένα στοιχείο, ώστε να γίνει 1x(n-1). Αναζήτηση (searching): η προσπέλαση των κόμβων μιας δομής προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μία δεδομένη ιδιότητα. Π.χ. η αναζήτηση σε έναν πίνακα 1xn ώστε να βρεθεί αριθμός που να διαιρείται ακριβώς με το 3. Ταξινόμηση (Sorting): η διάταξη των κόμβων μιας δομής κατά αύξουσα ή φθίνουσα σειρά. Π.χ. η διάταξη των αριθμών ενός πίνακα 1xn σε αύξουσα σειρά. Αντιγραφή (Copying): η αντιγραφή ενός ή περισσοτέρων κόμβων μίας δομής σε μία άλλη. Π.χ. το στοιχείο a(5,3) ενός πίνακα Α να γίνει ίσο με το στοιχείο b(7,2) ενός πίνακα Β. Συγχώνευση (merging): δύο ή περισσότερες δομές συγχωνεύονται σε μία ενιαία δομή. Π.χ. η πρόσθεση δύο πινάκων mxn. Διαχωρισμός (separation): διάσπαση μίας δομής δεδομένων σε δύο. Π.χ. η ανάλυση ενός πίνακα Α σε δύο πίνακες Β και Γ έτσι ώστε Α = Β + Γ.

43. Τι ενοούμε με τον όρο "πρόβλημα" και σε τι αναφερόμαστε με τον όρο "Ανάλυση Προβλήματος";

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

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

..Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι προφανής ούτε γνωστή. Η αντιμετώπιση του προβλήματος θα γίνει απλούστερη αν μπορέσουμε να αναλύσουμε το πρόβλημα σε άλλα απλούστερα. Τα επιμέρους προβλήματα πιθανό να μην είναι ιδιαίτερα λεπτομερή έτσι ώστε να επιτρέπουν την εύκολη αντιμετώπισή τους. Πρέπει λοιπόν κάθε ένα από αυτά να αναλυθεί σε ακόμα απλούστερα. Αν η ανάλυση του αρχικού προβλήματος θεωρείται επαρκής, η διάσπαση των επιμέρους προβλημάτων σε άλλα απλούστερα μπορεί να τερματιστεί. Ο παραπάνω τρόπος περιγραφής και ανάλυσης ενός προβλήματος γίνεται φραστικά. Ο ενδιαφερόμενος για την αντιμετώπιση του αρχικού προβλήματος, έχει πλέον μπροστά του να αντιμετωπίσει μια σειρά από επιμέρους προβλήματα, τα οποία στο σύνολο τους εκφράζουν και αντιστοιχούν στο αρχικό πρόβλημα. Η ανάλυση αυτή του προβλήματος σε άλλα απλούστερα αναδύει παράλληλα και τη δομή του προβλήματος. Για τη γραφική απεικόνιση της δομής ενός προβλήματος χρησιμοποιείται συχνότατα η διαγραμματική αναπαράσταση. Σύμφωνα με αυτή: το αρχικό πρόβλημα αναπαρίσταται από ένα ορθογώνιο παραλληλόγραμμο κάθε ένα από τα απλούστερα προβλήματα στα οποία αναλύεται ένα οποιοδήποτε πρόβλημα, αναπαρίσταται επίσης από ένα ορθογώνιο παραλληλόγραμμο τα παραλληλόγραμμα που αντιστοιχούν στα απλούστερα προβλήματα στα οποία αναλύεται ένα οποιοδήποτε πρόβλημα, σχηματίζονται ένα επίπεδο χαμηλότερα. Έτσι σε κάθε κατώτερο επίπεδο, δημιουργείται η γραφική αναπαράσταση των προβλημάτων στα οποία αναλύονται τα προβλήματα του αμέσως ψηλότερου επιπέδου.

44. Να αναφέρετε τις πιο συνηθισμένες τεχνικές σχεδίασης αλγορίθμων.

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

Στη διαίρει και βασίλευε το αρχικό σύνθετο πρόβλημα διασπάται σε μικρότερα επιμέρους προβλήματα της ίδιας φύσης με το αρχικό αλλά μικρότερα σε μέγεθος. Ένα παράδειγμα τέτοιας μεθόδου είναι η δυαδική αναζήτηση στην οποία η αναζήτηση ενός στοιχείου σε έναν πίνακα ανάγεται στην αναζήτηση του στοιχείου στο πάνω ή κάτω μισό του πίνακα. Αυτή η προσέγγιση εντάσσεται στη top-down μεθοδολογία, από πάνω προς τα κάτω δηλαδή από το σύνθετο στο απλό. 

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

Στην άπληστη μέθοδο επιχειρείται σε κάθε βήμα επίλυσης του προβλήματος η επιλογή που φαίνεται καλύτερη εκείνη τη στιγμή χωρίς να γίνεται προσπάθεια συνολικής θεώρησης του προβλήματος. Σε πολλές περιπτώσεις αυτή η προσέγγιση οδηγεί στην καλύτερη δυνατή λύση.  

1. Εξαντληση (bruteforce)

2. Απληστη μεθοδος (greedy method)

3. Διαιρε και βασιλευε (divide and conquer)

4. Δυναμικος προγραμματισμος (dynamic programming)

5. Οπισθοδρομηση (backtracking)

6. Διακλαδωση και περιορισμος (branch and bound

..Μέθοδος διαίρει και βασίλευε υποδιαιρούν ένα πρόβλημα σε μικρότερα υποπροβλήματα, που έχουν την ίδια τυποποίηση με το αρχικό πρόβλημα αλλά είναι μικρότερα σε μέγεθος. Με όμοιο τρόπο, τα υποπροβλήματα αυτά μπορούν να διαιρεθούν σε ακόμη μικρότερα υποπροβλήματα κοκ. Έτσι η επίλυση ενός προβλήματος έγκειται στη σταδιακή επίλυση των όσο το δυνατόν μικρότερων υποπροβλημάτων, ώστε τελικά να καταλήξουμε στη συνολική λύση του αρχικού ευρύτερου προβλήματος. Αυτή η προσέγγιση ονομάζεται από επάνω προς τα κάτω (top-down).  Μέθοδος δυναμικού προγραμματισμού Aντίστροφη φιλοσοφία δηλαδή με προσέγγιση από κάτω προς τα επάνω (bottoΟι πιο συνηθισμένες τεχνικές είναι η διαίρει και βασίλευε, ο δυναμικός προγραμματισμός και η άπληστη μέθοδος. Στη διαίρει και βασίλευε το αρχικό σύνθετο πρόβλημα διασπάται σε μικρότερα επιμέρους προβλήματα της ίδιας φύσης με το αρχικό αλλά μικρότερα σε μέγεθος. Ένα παράδειγμα τέτοιας μεθόδου είναι η δυαδική αναζήτηση στην οποία η αναζήτηση ενός στοιχείου σε έναν πίνακα ανάγεται στην αναζήτηση του στοιχείου στο πάνω ή κάτω μισό του πίνακα. Αυτή η προσέγγιση εντάσσεται στη top-down μεθοδολογία, από πάνω προς τα κάτω δηλαδή από το σύνθετο στο απλό. Στο δυναμικό προγραμματισμό αρχικά επιλύονται μικρότερα σε μέγεθος άρα απλούστερα στιγμιότυπα του αρχικού προβλήματος και μέσω της σύνθεσης αυτών επιχειρείται η επίλυση του αρχικού συνθετότερου προβλήματος. Στην άπληστη μέθοδο επιχειρείται σε κάθε βήμα επίλυσης του προβλήματος η επιλογή που φαίνεται καλύτερη εκείνη τη στιγμή χωρίς να γίνεται προσπάθεια συνολικής θεώρησης του προβλήματος. Σε πολλές περιπτώσεις αυτή η προσέγγιση οδηγεί στην καλύτερη δυνατή λύση.m - up). Πιο συγκεκριμένα, η φιλοσοφία των προβλημάτων αυτών είναι από την αρχή να επιλύονται τα μικρότερα προβλήματα και σταδιακά να επιλύονται τα μεγαλύτερα ως σύνθεση των απλούστερων. Δηλαδή, ένας τυπικός αλγόριθμος αυτής της τεχνικής ξεκινά με τα επιμέρους μικρότερου μεγέθους υποπροβλήματα, που επιλύονται με τη χρήση κάποιου κανόνα ή τύπου. Μάλιστα συνηθέστατα τα προσωρινά αποτελέσματα αποθηκεύονται σε ένα πίνακα ώστε να χρησιμοποιηθούν αργότερα χωρίς να απαιτείται να υπολογισθούν για δεύτερη ή τρίτη φορά κ.λπ. Στη συνέχεια οι επιμέρους αυτές λύσεις συνθέτουν την κατάληξη της τελικής λύσης του αρχικού προβλήματος. Άπληστη μέθοδος : Σε πολλά προβλήματα βελτιστοποίησης, όπου απαιτείται να βρεθεί η μέγιστη ή η ελάχιστη τιμή ενός μεγέθους, χρησιμοποιείται μία μέθοδος, που δεν βρίσκει πράγματι τη βέλτιστη λύση, αλλά σκοπός της είναι να την προσεγγίσει. Συνήθως, οι αλγόριθμοι αυτού του τύπου προχωρούν με βάση σταδιακές επιλογές που αφορούν στο βέλτιστο κάθε βήματος, χωρίς μέριμνα για το τελικό βέλτιστο. Έτσι η λειτουργία τους είναι παρόμοια με τις κινήσεις ενός παίκτη στο σκάκι που σκέφτεται και επιλέγει την επόμενη κίνηση χωρίς να τον απασχολούν οι επόμενες κινήσεις ούτε του αντιπάλου ούτε οι δικές του.

45. Ποια είναι τα χαρακτηριστικά ενός αλγορίθμου;

a) Είσοδος. Καμία, ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών

b) Έξοδος. Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν αλλο αλγόριθμο.

c) Καθοριστικότητα. Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. Λόγου χάριν, μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή.

d) Περατότητα. Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία (computational procedure).

e) Αποτελεσματικότητα. Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μία εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη.

1. Είσοδος(Input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο.

2. Έξοδος(Output):Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή (δεδομένων) ως αποτέλεσμα προς το χρήστη ή προς ένα άλλο αλγόριθμο.

3. Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της.

4. Περατότητα (Finiteness): Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του

5. Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή (και όχι σύνθετη). Δηλαδή μία εντολή δεν αρκεί να έχει ορισθεί αλλά πρέπει να είναι και εκτελέσιμη.

6. Επεκτασιμοτητα

...Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο που στοχεύουν στην επίλυση ενός προβλήματος. Χαρακτηριστικά ενός αλγόριθμου είναι:  Είσοδος: κάθε αλγόριθμος πρέπει να έχει καμία, μία ή περισσότερες τιμές δεδομένων ως είσοδο.  Έξοδος: ο αλγόριθμος πρέπει να παράγει τουλάχιστον ένα αποτέλεσμα, είτε προς τον χρήστη είτε προς ένα άλλο αλγόριθμο.  Καθοριστικότητα: τα βήματα του αλγορίθμου θα πρέπει να είναι σαφώς καθορισμένα ως προς τον τρόπο εκτέλεσης τους.  Περατότητα: ο αλγόριθμος πρέπει να τερματίζει μετά από ένα πεπερασμένο αριθμό βημάτων.  Αποτελεσματικότητα: κάθε εντολή του αλγορίθμου να είναι απλή και να είναι εκτέλεσιμη.

46. Με ποιους τρόπους πραγματοποιείται η περιγραφή ενός αλγορίθμου;

a) Ελεύθερο Κείμενο. Αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. Έτσι εγκυμονεί τον κίνδυνο ότι μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων, δηλαδή την αποτελεσματικότητα.

b) Διαγραμματικές Τεχνικές. Συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου. Από τις διάφορες διαγραμματικές τεχνικές που έχουν επινοηθεί, η πιο παλιά και η πιο γνωστή ίσως, είναι το διάγραμμα ροής (flow chart). Ωστόσο η χρήση διαγραμμάτων ροής για την παρουσίαση αλγορίθμων δεν αποτελεί την καλύτερη λύση, γι'αυτό και εμφανίζονται όλο και σπανιότερα στη βιβλιογραφία εμφανίζονται όλο και σπανιότερα στη βιβλιογραφία και στην πράξη. ι στην πράξη.

c) Φυσική Γλώσσα (κατά βήματα). Στην περίπτωση αυτή χρειάζεται προσοχή, γιατί μπορεί να παραβιασθεί το τρίτο βασικό χαρακτηριστικό ενός αλγορίθμου, όπως προσδιορίσθηκε προηγουμένως, δηλαδή το κριτήριο του καθορισμού. d) Κωδικοποίηση . Με ένα πρόγραμμα γραμμένο είτε σε μία ψευδογλώσσα είτε σε κάποια γλώσσα προγραμματισμού που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο

1. Ελεύθερο κείμενο (free text), που αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου.

2. Διαγραμματικές τεχνικές, (diagramming techniques), που συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου.

3. Φυσική γλώσσα (natural language) κατά βήματα.

4. Κωδικοποίηση (coding), δηλαδή με ένα πρόγραμμα γραμμένο είτε σε μία ψευδογλώσσα είτε σε κάποια γλώσσα προγραμματισμού που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο.

... με ελεύθερο κείμενο (free text), που αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. Έτσι μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας το τελευταίο χαρακτηριστικό των αλγορίθμων, δηλαδή την αποτελεσματικότητα.  με διαγραμματικές τεχνικές (diagramming techniques), που συνιστούν ένα γραφικό τρόπο παρουσίασης αλγορίθμου. Η πιο γνωστή από αυτές είναι το διάγραμμα ροής (flow chart). Ωστόσο η χρήση διαγραμμάτων ροής για την παρουσίαση αλγορίθμων δεν αποτελεί την καλύτερη λύση γι' αυτό και εμφανίζονται όλο και σπανιότερα στη βιβλιογραφία και πράξη.  με φυσική γλώσσα (natural language) κατά βήματα. Στην περίπτωση αυτή χρειάζεται προσοχή, γιατί μπορεί να παραβιασθεί το τρίτο βασικό χαρακτηριστικό ενός αλγορίθμου, όπως προσδιορίστηκε προηγουμένως δηλαδή το κριτήριο του καθορισμού.  με κωδικοποίηση (coding), δηλαδή με ένα πρόγραμμα που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο 

47. Ποια είναι τα χαρακτηριστικά που είναι απαραίτητα προκειμένου να θεωρήσουμε έναν αλγόριθμο πλήρη;

a) Είσοδος. Καμία, ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών

b) Έξοδος. Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν αλλο αλγόριθμο.

c) Καθοριστικότητα. Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. Λόγου χάριν, μία εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή.

d) Περατότητα. Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία (computational procedure).

e) Αποτελεσματικότητα. Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μία εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη.

1. Είσοδος(Input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο.

2. Έξοδος(Output):Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή (δεδομένων) ως αποτέλεσμα προς το χρήστη ή προς ένα άλλο αλγόριθμο.

3. Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της.

4. Περατότητα (Finiteness): Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του

5. Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή (και όχι σύνθετη). Δηλαδή μία εντολή δεν αρκεί να έχει ορισθεί αλλά πρέπει να είναι και εκτελέσιμη.

6. Επεκτασιμοτητα

...Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο που στοχεύουν στην επίλυση ενός προβλήματος. Χαρακτηριστικά ενός αλγόριθμου είναι:  Είσοδος: κάθε αλγόριθμος πρέπει να έχει καμία, μία ή περισσότερες τιμές δεδομένων ως είσοδο.  Έξοδος : ο αλγόριθμος πρέπει να παράγει τουλάχιστον ένα αποτέλεσμα, είτε προς τον χρήστη είτε προς ένα άλλο αλγόριθμο.  Καθοριστικότητα : τα βήματα του αλγορίθμου θα πρέπει να είναι σαφώς καθορισμένα ως προς τον τρόπο εκτέλεσης τους.  Περατότητα : ο αλγόριθμος πρέπει να τερματίζει μετά από ένα πεπερασμένο αριθμό βημάτων.  Αποτελεσματικότητα : κάθε εντολή του αλγορίθμου να είναι απλή και να είναι εκτέλεσιμη.

.. Είσοδος (input): τιμές δεδομένων που δίνονται ως εισόδοι στον αλγόριθμο.  Έξοδος (output): τιμή δεδομένων που δίνει ο αλγόριθμος ως αποτέλεσμα.  Καθοριστικότητα (definiteness): ο τρόπος εκτέλεσης μιας εντολής π.χ. αν σε μια διαίρεση, ο διαιρέτης είναι 0.  Περατότητα (finiteness): Ο αλγόριθμος να μπορεί να φτάσει την έξοδο του προγράμματος.  Αποτελεσματικότητα (effectiveness): Απλές, καθορισμένες εντολές και εκτελέσιμες 

48. Να αναφέρετε πόσα είναι τα είδη της δομής επιλογής.

Η διαδικασία της επιλογής περιλαμβάνει τον έλεγχο κάποιας συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής) και ακολουθεί η απόφαση εκτέλεσης κάποιας ενέργειας με βάση την τιμή της λογικής αυτής συνθήκης. Στη συνέχεια δίνονται δύο παραδείγματα ενεργειών με βάση κάποια συνθήκης επιλογής. Το πρώτο παράδειγμα αφορά στην εκτέλεση κάποιας ενέργειας όταν η συνθήκη είναι Αληθής, ενώ το δεύτερο παράδειγμα αφορά στην εκτέλεση μίας ενέργειας όταν η συνθήκη είναι Αληθής και κάποιας άλλης ενέργειας όταν η συνθήκη είναι Ψευδής.

1. Η Απλή Επιλογή

2. Η Σύνθετη Επιλογή

3. Η Πολλαπλή Επιλογή

4. Η Εμφωλευμένη Επιλογή

...Απλή, Σύνθετη, Πολλαπλή

49. Να αναφέρετε πόσα είναι τα είδη της δομής επανάληψης.

a) Επαναληπτικό σχήμα με έλεγχο επανάληψης στην αρχή

b) Επαναληπτικό σχήμα με έλεγχο επανάληψης στο τέλος

c) Επαναληπτικό σχήμα ορισμένων φορών επανάληψης

1. Εντολή «όσο... επανέλαβε (while... do)

2. Εντολή «μέχρις... ότου» (do... until)

3. Εντολή «για... από... μέχρι» (for)

... While: Όσο..επανάλαβε...Τέλος_επανάληψης.

FOR : Για....από...μέχρι... Τέλος_επανάληψης.

 Repeat until : Αρχή_επανάληψης...Μέχρις_Ότου.

50. Στη δομή δεδομένων τι είναι η στοίβα; Δώστε ένα παράδειγμα.

Η στοίβα είναι μία δομή δεδομένων στην οποία τα δεδομένα εισάγονται το ένα μετά το άλλο ενώ ο χρήστης έχει τη δυνατότητα να προσπελάσει μόνο το τελευταίο που έχει εισαχθεί ενώ το πρώτο στοιχείο που εισήχθη θα προσπελαστεί τελευταίο. Είναι μία δομή LIFO (Last In First Out). Η υλοποίηση μίας στοίβας μπορεί να γίνει απλούστερα χρησιμοποιώντας έναν μονοδιάστατο πίνακα χρησιμοποιώντας πάντοτε έναν δείκτη που να δείχνει το πρώτο στοιχείο της στοίβας που είναι και το τελευταίο που εισήχθη σ' αυτήν.

Οι βασικές πράξεις σε μια στοίβα είναι:

a) Empty (), επιστρέφει 1 αν Empty (), επιστρέφει 1 αν η στοίβα είναι άδεια ή 0 η στοίβα είναι άδεια ή 0 στην αντίθετη περίπτωση.

b) Push (a), τοποθετεί το στοιχείο Push (a), στην κορυφή της στοίβας

c) Top (), προσπελαύνει το στοιχείο που βρίσκεται στην κορυφή της στοίβας.

d) Pop (), προσπελαύνει και διαγράφει το στοιχείο που βρίσκεται στην κορυφή της στοίβας.

Στοίβα είναι μια αφηρημένη δομή δεδομένων που χρησιμοποιείται ως μια συλλογή στοιχείων με δύο βασικές λειτουργίες:

Push: προσθετει ενα στοιχειο στην συλλογη

Pop: αφαιρει το τελευταιο στοιχειο που προστεθηκε

51. Να αναφέρετε τα είδη της αναζήτησης και της ταξινόμησης των στοιχείων ενός πίνακα.

Αναζήτηση σε πίνακες

Σειριακή Αναζήτηση ή Γραμμική Αναζήτηση

Δυαδική Αναζήτηση Αναζήτηση με Παρεμβολή 

Ταξινόμηση σε Πίνακες

Ταξινόμηση με Εισαγωγή

Ταξινόμηση Φυσαλίδας

Ταξινόμηση Με Επιλογή

Ταξινόμηση Σωρού

Ταξινόμηση Με Συγχώνευση

Ταχεία Ταξινόμηση

Ταξινόμηση με διαμερισμό και αντιμετάθεση

Ειδη αναζήτησης:

1. Σειριακη αναζητηση (serial search)

2. Δυαδικη αναζητηση (binary search)

Ειδη ταξινομησης:

1. Ταξινομηση φυσαλιδας (bubble sort)

2. Ταξινομηση με επιλογη (selection sort)

3. Ταξινομηση δυο ταξινομημενων πινακων με συγχωνευση (merge sort)

4. Ταξινομηση με την χρηση καδων (bucket sort)

5. Γρηγορη ταξινομηση (quick sort)

...Η σειριακή αναζήτηση (serial search) και μία παραλλαγή της που μπορεί να εφαρμοστεί αν τα στοιχεία πάνω στα οποία γίνεται η αναζήτηση είναι ταξινομημένα. Θα δούμε και τη δυαδική αναζήτηση (binary search), η οποία είναι ο γρηγορότερος τρόπος για να κάνει κανείς αναζήτηση, εφαρμόζεται, όμως, μόνο αν τα στοιχεία πάνω στα οποία γίνεται η αναζήτηση είναι ταξινομημένα. Όσον αφορά την ταξινόμηση, ταξινόμηση με φυσαλίδα (bubble sort) , την ταξινόμηση με επιλογή (selection sort), την ταξινόμηση δύο ήδη ταξινομημένων πινάκων με συγχώνευση (merge sort), την ταξινόμηση ακέραιων αριθμών σε ένα ορισμένο εύρος με τη χρήση κάδων (bucket sort) και τη γρήγορη ταξινόμηση (quick sort) , η οποία είναι πράγματι γρήγορη, γρηγορότερη από κάθε άλλη.

52. Tι είναι RAM και πώς είναι δομημένη;

Γενικότερα με τον όρο RAM αναφερόμαστε στην κύρια ή κεντρική μνήμη ενός υπολογιστικού συστήματος αρχιτεκτονικής φον Νόιμαν, δηλαδή τη μνήμη στην οποία αποθηκεύονται προγράμματα και δεδομένα, προκειμένου είτε να εκτελεστούν είτε να υποστούν επεξεργασία αντίστοιχα.

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

Υπάρχουν δύο βασικοί τύποι RAM : η δυναμική RAM (DRAM) και η στατική RAM (SRAM). Η DRAM είναι η πιο κοινή μορφή αλλά πρέπει να «ανανεώνεται» (refresh) χιλιάδες φορές ανά δευτερόλεπτο, ενώ η SRAM δεν χρειάζεται κάτι τέτοιο. Η SRAM, ως διάταξη, είναι πιο δαπανηρή στην κατασκευή της και επομένως στην αγορά της σε σχέση με την DRAM.

Η RAM ειναι η μνημη οπου αποθηκευονται προγραμματα και δεδομενα τα οποια ειτε θα εκτελεστουν ή θα υποστουν επεξεργασια. Λέγεται μνήμη τυχαίας προσπέλασης επειδή επιτρέπει την πρόσβαση στα δεδομένα της, ανεξάρτητα της θέσης στην οποία βρίσκονται (τυχαία θέση). Τα δεδομένα μένουν αποθηκευμένα στην RAM για όσο χρόνο χρησιμοποιούνται από κάποιο λογισμικό ή από τον χρήστη. Μόλις περάσει αυτό το χρονικό διάστημα είτε αντικαθίστανται από άλλα δεδομένα, είτε διαγράφονται. Η μνήμη RAM «αδειάζει» μόλις απενεργοποιήσουμε τον υπολογιστή μας (ή όποια συσκευή διαθέτει RAM).

...Η κεντρική μνήμη(RAM) είναι μνήμη τυχαίας προσπέλασης στην οποία αποθηκεύονται οι εντολές ενός προγράμματος, τα δεδομένα και τα ενδιάμεσα αποτελέσματα της επεξεργασίας. Η κεντρική μνήμη χωρίζεται σε διακριτές θέσεις σε καθεμία από τις οποίες μπορεί αποθηκευτεί μία λέξη(word), δηλαδή ένας σταθερός αριθμός από δυαδικά ψηφία(bits). Κάθε θέση της μνήμης χαρακτηρίζεται μονοσήμαντα από τη διεύθυνση της, που είναι ένας δυαδικός αριθμός. Μπορούμε να προσομοιάσουμε την κεντρική μνήμη σαν ένα δισδιάστατο πίνακα, όπου σε κάθε θέση του αποθηκεύεται ένα μέρος των δεδομένων.

53. Πόσα είδη καταχωρητών υπάρχουν; Να αναφερθούν τουλάχιστον τρεις χαρακτηριστικοί καταχωρητές γενικής χρήσης.

Η ΚΜΕ περιέχει πολλά είδη καταχωρητών, τα οποία ταξινομούνται ανάλογα με το περιεχόμενό τους ή ανάλογα με τις διαδικασίες που επιτελούν.

Καταχωρητές Προσπελάσιμοι από τον Χρήστη (User Accessible Registers).

Χωρίζονται σε Καταχωρητές Δεδομένων και Καταχωρητές Διευθύνσεων.

Στους Καταχωρητές Δεδομένων (Data Registers) αποθηκεύονται αριθμητικές τιμές.

Στους Καταχωρητές Διευθύνσεων (Address Registers) αποθηκεύονται οι διευθύνσεις των

αποθηκευμένων δεδομένων.

Καταχωρητές Συνθήκης (Conditional Registers). Στους Καταχωρητές Συνθήκης

αποθηκεύονται λογικές τιμές.

Καταχωρητές Γενικής Χρήσης (General Purpose Registers). Στους Καταχωρητές

Γενικής Χρήσης μπορούν να αποθηκευθούν συνδυασμοί δεδομένων και διευθύνσεων

δεδομένων.

Καταχωρητές Κινητής Υποδιαστολής (Floating point registers). Εδώ αποθηκεύονται

αριθμοί κινητής υποδιαστολής.

Σταθεροί Καταχωρητές (Constant Registers). Στους Σταθερούς Καταχωρητές αποθηκεύονται τιμές που παραμένουν σταθερές, όπως το 0, το 1 κ ο 0, το 1 και το π (3,14..). αι το π (3,14..).

Τρεις χαρακτηριστικοί καταχωρητές είναι οι εξής:

• Ο $2 ή $v0 είναι ο καταχωρητής που επιστρέφει τις τιμές από τις συναρτήσεις που εκτελούνται στο πρόγραμμα.

• Ο $4 ή $a0 είναι ο καταχωρητής όπου αποθηκεύεται προσωρινά η μεταβλητή μιας συνάρτησης - ρουτίνας που πρόκειται να εκτελεστεί.

• Ο $6 ή $t0 είναι ο καταχωρητής που χρησιμοποιείται για προσωρινή αποθήκευση δεδομένων του βασικού προγράμματος ή ενός υποπρογράμματος.

Υπάρχουν 4 ειδη καταχωρητων:

1. Καταχωρητες γενικής χρησης

2. Καταχωρητες δεικτες

3. Καταχωρητες τμηματων

4. Καταχωρητης καταστασης

Οι καταχωρητες γενικής χρησης ειναι:

1. Συσσωρευτης - Accumulator (AX)

2. Βασης - Base (BX)

3. Μετρητης - Counter (CX)

4. Δεδομενων - Data (DX)

54. Τι είναι το bit, το byte και το word; Τι αναπαριστά το καθένα; Πως συνδέονται μεταξύ τους;

Το δυαδικό ψηφίο (bit) είναι η στοιχειώδης μονάδα πληροφορίας στην Επιστήμη Υπολογιστών. Ένα bit είναι η μικρότερη μικρότερη δυνατή ποσότητα πληροφορίας που μπορεί να αποθηκευτεί από μία δυαδική συσκευή, ή από άλλο φυσικό σύστημα το οποίο μπορεί να υπάρχει σε μία από δύο διακριτές καταστάσεις (π.χ. 0 και 1). Το byte (μπάιτ) είναι μονάδα μέτρησης ποσότητας πληροφορίας στα υπολογιστικά συστήματα, εμφανιζόμενη συνήθως στα διάφορα επίπεδα της ιεραρχίας μνήμης τους. Ένα byte ισοδυναμεί με 8 bit. Το byte μπορεί να αντιπροσωπεύσει τιμές από 0 έως και 255 στο δεκαδικό σύστημα. Το word στις γλώσσες προγραμματισμού της επιστήμης της πληροφορικής αναφέρεται σε μια αριθμοσειρά, η οποία χρησιμοποιείται ως μεταβλητή δυναμικότητας 32 bit, δηλαδή 4 Byte.

.......Το Bit και Byte είναι μονάδες μέτρησης ποσότητας πληροφορίας στα υπολογιστικά συστήματα. Το word ειναι η φυσικη μοναδα δεδομενων η οποια χρησιμοποιειται απο ενα συγκεκριμενο σχέδιο επεξεργαστή (ΚΜΕ). Το bit αναπαριστα ενα δυαδικο ψηφιο. Το byte αναπαριστα εναν δυαδικο αριθμο. To word αναπαριστα ενα κομματι δεδομενων σταθερου μεγεθους το οποιο το συνολο οδηγιων του επεξεργαστη χειριζεται σαν μοναδα. Το ενα byte αποτελειται απο 8 bits. Οι μοντερνοι επεξεργαστες συνηθως χειριζονται λεξεις που αποτελουνται απο 32 και 64 bit εξού και οι εκδοσεις των λογισμικων προγραμματων. (Windows 10 32-bit/64-bit)

... Bit (binary digit) - ένα ψηφίο του δυαδικού συστήματος, δηλαδή 0 ή 1. Αποτελεί την ελάχιστη ποσότητα πληροφορίας που μπορεί να αποθηκεύσει ένας η/υ. Μπορεί να πάρει δύο μόνο τιμές που τις συμβολίζουμε με 0-μηδέν ή 1-ένα Το Byte αντιπροσωπεύει ένα χαρακτήρα, που μπορεί να είναι ένα γράμμα, ένας αριθμός, ή κάποιο άλλο σύμβολο [π.χ. !, @, #, (κενό)]. Αποτελείται από 8 δυαδικά ψηφία (bits). Η word είναι μια ομάδα από bits εύρους 16 ως 64 bits ή διαφορετικά 2 ή 8 bytes. 

55. Να αναφέρετε τρία διαφορετικά είδη διευθυνσιοδότησης και δώστε σύντομα παραδείγματα.

Άμεση Διευθυνσιοδότηση

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

Απευθείας Διευθυνσιοδότηση

Μια πολύ απλή μορφή διευθυνσιοδότησης είναι η απευθείας διευθυνσιοδότηση, όπου το πεδίο διεύθυνσης περιέχει την ενεργό διεύθυνση του τελεστέου. Ο προφανής περιορισμός είναι ότι προσφέρει μόνο περιορισμένο χώρο διεύθυνσης.

Έμμεση Διευθυνσιοδότηση

Στην απευθείας διευθυνσιοδότηση, το μήκος του πεδίου διεύθυνσης είναι συνήθως μικρότερο από το μήκος λέξης, πράγμα που περιορίζει το πεδίο τιμών της διεύθυνσης. Μια λύση είναι να κάνουμε το πεδίο διεύθυνσης να αναφέρεται στην διεύθυνση μιας λέξης στην μνήμη, η οποία με την σειρά της θα περιέχει μια διεύθυνση πλήρους μήκους του τελεστέου. Αυτό είναι γνωστό ως έμμεση διευθυνσιοδότηση (indirect addressing).

1. Διευθυνσιοδοτηση με καταχωρητη

Add R2, R1 (Παραδειγμα)

2. Εμμεση διευθυνσιοδοτηση μεσω καταχωρητη

Add R2, (R1) (Παραδειγμα)

3. Διευθυνσιοδοτηση με δεικτη θεσης

Add R3, (R1 + R2)

56. Από τι εξαρτάται η τεχνική διαχείρισης της μνήμης ενός υπολογιστή;

Η τεχνική διαχείρισης μνήμης που χρησιμοποιούν τα λειτουργικά συστήματα εξαρτάται κυρίως από την Εικονική Μνήμη. Η τεχνική της εικονικής μνήμης είναι υπεύθυνη για την διατήρηση της σταθερότητας των λειτουργικών συστημάτων, αφήνοντας πάντα χώρο στην φυσική μνήμη (RAM), έτσι ώστε να εκτελούνται διεργασίες οι οποίες απαιτούν (στο σύνολό τους ή και η καθεμία) περισσότερη μνήμη RAM από αυτή που διαθέτει το υπολογιστικό σύστημα. Για τη σωστή διαχείριση της εικονικής μνήμης χρησιμοποιούνται διάφορες μέθοδοι. Η σελιδοποίηση είναι η πιο κοινά χρησιμοποιούμενη μέθοδος, γιατί συνήθως υποστηρίζεται από το υλικό των υπολογιστών. Δυο άλλες μέθοδοι που χρησιμοποιούνται, αλλά όχι τόσο ευρέως, είναι η κατάτμηση και η κατατμημένη σελιδοποίηση· η δεύτερη είναι συνδυασμός κατάτμησης και σελιδοποίησης.

Η τεχνικη διαχείρησης της μνημης ενος υπολογιστη εξαρταται απο τον διαθεσιμο χωρο μνημης που χρειαζεται την τρεχουσα στιγμη το συστημα ετσι ωστε να μπορει να τρεξει τα ενεργα προγραμματα με τον καλυτερο δυνατο τροπο.

Για αυτο η κατανομη της κυριας μνημη μπορει να ειναι στατικη (static allocation) ή δυναμικη (dynamic allocation).

Επισης υπαρχει η διαδικασια της ανταλλαγης (swapping) οπου ορισμενα προγραμματα/δεδομενα κρατουνται στην δευτερευουσα μνημη εως οτου χρειαστει να φορτωθουν στην κυρια η οποια θα τα επεξεργαστει.

Η εικονικη μνημη μπορει να διαιρεθει σε σελιδες και η φυσικη μνημη σε ενοτητες. Αυτη η τεχνικης διαχειρισης ονομαζεται σελιδοποιηση. Το κυριότερο μειονέκτημα της σελιδοποίησης είναι ότι κάθε διεργασία καταλαμβάνει περισσότερο χώρο από ότι χρειάζεται και κάποια τμήματα της μνήμης μένουν αχρησιμοποίητα. Αυτό το φαινόμενο ονομάζεται εσωτερικός κατακερματισμός (internal fragmentation).

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

57. Από τι εξαρτάται το μέγεθος της μνήμης που μπορεί να χρησιμοποιήσει ένας υπολογιστής;

Το κύριο ερώτημα, που σχετίζεται με το μέγεθος της μνήμης ενός υπολογιστή, είναι το πόσο είναι αρκετό. Η απάντηση είναι σχετικά απλή. Αν ένα υπολογιστικό σύστημα χρησιμοποιεί συνεχώς το μεγαλύτερο ποσοστό της μνήμης του, αυτό σημαίνει πως χρειάζεται αναβάθμιση. Άρα η βασική προϋπόθεση για να αποφασίσει κάποιος το μέγεθος της μνήμης του υπολογιστή του είναι κυρίως ο λόγος για τον οποίο θα χρησιμοποιηθεί ο υπολογιστής (internet surfing, gaming, online streaming κτλ), αλλά και τα ιδιαίτερα χαρακτηριστικά του (ταχύτητα επεξεργαστή, τεχνολογία και μέγεθος σκληρού δίσκου κ.α.).

Το μεγιστο μεγεθος μνημης RAM που μπορει να χρησιμοποιησει ενας υπολογιστης εξαρταται αρχικα απο το λειτουργικο του συστημα. Για παραδειγμα η τελευταια εκδοση των Windows 10 Home υποστηριζει εως 4GB για την εκδοση των 32-bit και ως 128GB για την εκδοση των 64-bit. Έπειτα ακολουθει η μητρικη καρτα. Παρα τον αριθμο των διαθεσιμων συνδεσεων για μνημη RAM, ο κατασκευαστης αναφερει το μεγιστο μεγεθος μνημης το οποιο μπορει να χρησιμοποιηθει απο την μητρικη καρτα. Τελος, ο επεξεργαστης. Και η Intel και η AMD αναφερουν ξεκαθαρα το μεγιστο μεγεθος μνημης που μπορει να χρησιμοποιησει ο επεξεργαστης. Η μνημη ROM σπανια αλλαζει αφου τα περιεχομενα της ειναι προεγκατεστημενα απο τον κατασκευαστη της μητρικης καρτα, οπου και την συνανταμε

58. Εξηγήστε γιατί αυξάνοντας την κεντρική μνήμη, κατά κανόνα, επιταχύνουμε τη λειτουργία του υπολογιστικού συστήματος.

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

Κεντρικη μνημη ειναι η RAM και η ROM. Η ROM κατα κανονα δεν μπορει να αυξηθει οποτε ο χρηστης πρεπει να αποφασισει ποση RAM χρειαζεται για να εχει το καλυτερο δυνατο αποτελεσμα.

Στην RAM αποθηκευονται τα δεδομενα τα οποια εκεινη την στιγμη επεξεργαζεται ο υπολογιστης. Αναλογα με την χρηση που κανει ο ιδιοκτητης στον υπολογιστη εξαρταται και το συνιστομενο μεγεθος RAM.

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

59. Να αναφερθούν περιληπτικά, ποια είναι τα κύρια μέρη από τα οποία αποτελείται ένας μικροεπεξεργαστής.

Ένας σύγχρονος μικροεπεξεργαστής αποτελείται από τις ακόλουθες μονάδες. • Μονάδα αποκωδικοποίησης (Decoding Unit) 

• Αριθμητική και Λογική Μονάδα (Arithmetic and Logical Unit, ALU): Η μονάδα στην οποία εκτελούνται μία προς μία οι αριθμητικές ή λογικές πράξεις, όπως υπαγορεύονται από τις εντολές που έχουν δοθεί στον υπολογιστή. 

• Καταχωρητές (Registers): Μικρά κελιά μνήμης στο εσωτερικό του επεξεργαστή, που χρησιμοποιούνται για την προσωρινή αποθήκευση των δεδομένων, καθώς αυτά υφίστανται επεξεργασία. Οι καταχωρητές διαφέρουν ανάλογα με τον τύπο του επεξεργαστή και τον κατασκευαστή, τόσο ως προς την οργάνωση όσο και ως προς τη χωρητικότητά τους. 

• Μονάδα ελέγχου (Control Unit): Ελέγχει τη ροή δεδομένων από και προς την ALU, τους καταχωρητές, τη μνήμη και τις περιφερειακές μονάδες εισόδου/εξόδου.

• Μονάδα προσκόμισης (Fetch Unit): Μεταφέρει τις εντολές από τη μνήμη στον επεξεργαστή.

• Μονάδα προστασίας (Protection Unit): Εξασφαλίζει το αποδεκτό της κάθε διεργασίας που εκτελεί ο επεξεργαστής, ώστε να μη τροποποιούνται δεδομένα που δεν πρέπει ή να μην εκτελούνται μη αποδεκτές εντολές, όπως π.χ. διαίρεση αριθμού με το μηδέν.

Ένας μικροεπεξεργαστής αποτελείται από τα εξής μέρη:

1. Αριθμητική και λογική μονάδα (ALU).

2. Μονάδα ελέγχου (CU)

3. Καταχωρητές

- Αριθμητική και λογική μονάδα Εκτελεί όλες τις αριθμητικές πράξεις(πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση) και λογικέςπράξεις (AND, OR, EXOR, INVERT) καθώς και ολισθήσεις.

- Μονάδα ελέγχου (CU) Η CU μέσα από τον μικροεπεξεργαστή ελέγχει, συγχρονίζει και επιβλέπει όλες τις μονάδες για μεταφορά δεδομένων. Χρησιμοποιείται για το συγχρονισμό όλων ένα εξωτερικό ρολόι.

- Καταχωρητές

Οι καταχωρητές, στο εσωτερικό της CPU, αποθηκεύουν δεδομένα ή διευθύνσεις. Αυτοί είναι 4 και ειναι ο αποαριθμητης προγραμματος,ο καταχωρητης εντολων, ο δεικτης στιβας και ο καταχωρητης καταστασης.

60. Το ψηφίο ισοτιμίας τι είδους πληροφορία δίνει και τι είδη ισοτιμίας έχουμε

Το ψηφίο ισοτιμίας (parity bit) είναι ένα ψηφίο της μορφής 0 ή 1 και προστίθεται πάντα στο τέλος μιας αριθμοσειράς για να δηλώσει αν το σύνολο των ψηφίων με τον αριθμό 1 στην αριθμοσειρά έχουν μονό ή ζυγό αριθμό. Ουσιαστικά αποτελεί την απλούστερη μορφή ελέγχου εγκυρότητας των δεδομένων. Υπάρχουν δύο είδη ισοτιμίας:

α) η άρτια ισοτιμία, όταν το πλήθος των ψηφίων 1 σε μια αριθμοσειρά έχει ζυγό αριθμό.

β) η περιττή ισοτιμία, όταν το πλήθος των ψηφίων 1 σε μια αριθμοσειρά έχει μονό αριθμό.

Το ψηφίο ισοτιμίας χρησιμοποιείται για τον εντοπισμό σφαλμάτων μετάδοσης. Το ψηφίο ισοτιμίας βασίζεται στην αποστολή ενός επιπλέον δυαδικού ψηφίου με τα υπόλοιπα δεδομένα. Κατά την αποστολή ο πομπός θέτει στο δυαδικό ψηφίο ισοτιμίας την τιμή 0 ή 1. Στο μεταφερόμενο μήνυμα μετράμε τα ψηφία με τιμή 1 και αν το πλήθος δεν είναι άρτιο (ψηφίο ισοτιμίας 0) ή αν το πλήθος δεν είναι περιττό (ψηφίο ισοτιμίας 1) τότε ανιχνεύεται σφάλμα μετάδοσης. Εξού και τα δυο ειδη ισοτιμιας που εχουμε ειναι η αρτια ισοτιμια και η περιττη ισοτιμια

...Περί της ύπαρξης λάθους στο byte. Υπάρχουν δύο είδη ισοτιμίας: 1. άρτια ισοτιμία 2. περριτή ισοτιμία

61. Ποια είδη διαμόρφωσης ενός σκληρού δίσκου γνωρίζετε και ποιο δίνει μεγαλύτερη ασφάλεια;

Δύο είδη διαμόρφωσης σκληρού δίσκου υπάρχουν: η γρήγορη και η κανονική. Η διαφορά της γρήγορης με την κανονική διαμόρφωση δίσκου είναι πως κατά την κανονική, μαζί με την διαγραφή των αρχείων, γίνεται ταυτόχρονα και έλεγχος για κατεστραμμένους τομείς στο δίσκο. Στη γρήγορη διαμόρφωση, αφαιρούνται μόνο τα αρχεία, χωρίς να γίνεται έλεγχος. Αυτό έχει σαν αποτέλεσμα η κανονική διαμόρφωση δίσκου σε ένα δίσκο μεγάλης χωρητικότητας να παίρνει ώρες. Αν ο δίσκος είναι σχετικά καινούριος και Το I/O Bus είναι ουσιαστικά ένα πλήθος από καλώδια, που λειτουργεί ως δίαυλος για την μεταφορά δεδομένων μεταξύ των μονάδων μέσα στον υπολογιστή. Το interrupt είναι μια τεχνική ελέγχου της δραστηριότητας εισόδου / εξόδου με την οποία μια περιφερειακή μονάδα περιφερειακή μονάδα ή τερματικό ή τερματικό που χρειάζεται να που χρειάζεται να στείλει ή στείλει ή να λάβει να λάβει μια δεδομένων μια δεδομένων στέλνει ένα σήμα, το οποίο θα ενεργοποιήσει ένα πρόγραμμα interrupt. Αλληλένδετα με το συνολικό interrupt σύστημα, οι επεξεργαστές ενεργοποιούν μια υπηρεσία interrupt. Η λειτουργία της οποίας θα εξαρτηθεί από τα επίπεδα διακοπής που έχουν τεθεί στον επεξεργαστή και των προτεραιοτήτων που εφαρμόζει. Η τεχνική interrupt απαιτεί πιο πολύπλοκο υλικό και λογισμικό, αλλά κάνει πολύ πιο αποτελεσματική χρήση του χρόνου και των δυνατοτήτων του υπολογιστή. Ο controller είναι ένα ψηφιακό κύκλωμα που διαχειρίζεται τη ροή δεδομένων προς και από την κύρια μνήμη του υπολογιστή. Ένας controller μπορεί να είναι ένα ξεχωριστό τσιπ ή να ενσωματωθεί σε ένα άλλο τσιπ, να τοποθετηθεί δηλαδή στην ίδια μήτρα ή να αποτελεί αναπόσπαστο τμήμα ενός μικροεπεξεργαστή. γενικά δεν έχετε προβλήματα μαζί του, η γρήγορη διαμόρφωση δίσκου είναι η καλύτερη  επιλογή. 

Τα δυο βασικα ειδη διαμορφωσης σκληρου δισκου ειναι το FAT32 και το NTFS. Γενικα το NTFS θεωρειται οτι παρεχει μεγαλυτερη ασφαλεια αφου μπορει να πραγματοποιηθει σε δισκους με μεγαλη χωρητικοτητα και εχει καλυτερες αποδοσεις απο το FAT32.

Ενας σκληρος δισκος ειναι καλυτερο να εχει διαμορφωθει στον τυπο NTFS αφου αυτο μας δινει την δυνατοτητα να πραγματοποιησουμε πολλες αλλαγες στα αρχεια που περιεχει οπως για παραδειγμα να κανουμε συμπιεση, κρυπτογραφηση, αλλαγη δικαιωματων προσβασης κλπ. Επισης ειναι η ασφαλεστερη επιλογη αφου οι σκληροι δισκοι τυπου NTFS ειναι δυσκολοτερο να διαβαστουν απο λογισμικα διαφορετικα των Windows. 62.

..Τα επικρατέστερα συστήματα αρχείων που χρησιμοποιούν τα Windows είναι το FAT στις διάφορες εκδοχές του - FAT, FAT32, exFAT - και το NTFS. Tα αρχεία στο NTFS διαθέτουν περισσότερα χαρακτηριστικά ασφαλείας, όπως τη δυνατότητα για ορισμό δικαιωμάτων πρόσβασης, τη δυνατότητα κρυπτογράφησης σε πραγματικό χρόνο, καθώς και τη δυνατότητα συμπίεσης.

62. Τι είναι τα Ι/0 bus, το interrupt; και τί ο Contrοller;

Το I/O Bus είναι ουσιαστικά ένα πλήθος από καλώδια, που λειτουργεί ως δίαυλος για την μεταφορά δεδομένων μεταξύ των μονάδων μέσα στον υπολογιστή.

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

Ο controller είναι ένα ψηφιακό κύκλωμα που διαχειρίζεται τη ροή δεδομένων προς και από την κύρια μνήμη του υπολογιστή. Ένας controller μπορεί να είναι ένα ξεχωριστό τσιπ ή να ενσωματωθεί σε ένα άλλο τσιπ, να τοποθετηθεί δηλαδή στην ίδια μήτρα ή να αποτελεί αναπόσπαστο τμήμα ενός μικροεπεξεργαστή.

Πολλές συσκευές I/O έχουν δύο διαφορετικά τμήματα: ένα ηλεκτρονικό και ένα μηχανικό. Το ηλεκτρονικό τμήμα, που είναι στην ουσία ένας επεξεργαστής, ονομάζεται ελεγκτής (controller) (ή adapter).

Οι δίαυλου εισόδου/ εξόδου (I/O Bus) επιτρέπουν την επικοινωνία συσκευών εισόδου/εξόδου με το υπόλοιπο σύστημα.

Interrupt ονομαζεται η διακοπη που θα προκαλεσει ο ελεγκτης (controller) ώστε να εκτελεστεί το κατάλληλο τμήμα του Λ.Σ. και να συνεχίσει την περαιτέρω επεξεργασία της κλήσης Ε/Ε.

 Interrupt : αίτηση διακοπής ή σήμα διακοπής είναι ένα σήμα διακοπής προς την ΚΜΕ που της ζητά να διακόψει την εκτέλεση του τρέχοντος προγράμματος και να εξυπηρετήσει την αίτηση κάποιας περιφερειακής συσκευής., δηλαδή να πραγματοποιήσει κάποια διαδικασία εισόδου/εξόδου. όταν οι διακοπές προέρχονται από κάποιο μέρος του υλικού, π.χ. το ποντίκι, τότε ονομάζονται διακοπές υλικού. Οι διακοπές που παράγονται από προγράμματα(π.χ., όταν ένα πρόγραμμα απαιτεί ανάγνωση από ένα CDROM), ονομάζονται διακοπές λογισμικού. O έλεγχος των διακοπών της τρέχουσας επεξεργασίας της ΚΜΕ γίνεται είτε μέσω κάποιου ειδικού προγράμματος είτε απευθείας από την ΚΜΕ.  Ι/0 bus Ο διάδρομος εισόδου-εξόδου(Ι/0 bus), διασυνδέει τις περιφερειακές μονάδες που υπάρχουν σε ένα υπολογιστικό σύστημα. Τα Ι/0 buses, δεν συνδέονται απευθείας με τον επεξεργαστή ή την μνήμη, αλλά συνδέονται μέσω ξεχωριστού προσαρμοστικού κυκλώματος το οποίο ρυθμίζει την επικοινωνία μεταξύ μονάδων διαφορετικής συχνότητας λειτουργίας.  Contrοller Είναι μια συσκευή που ελέγχει τη μεταγωγή των δεδομένων από τον Η/Υ στις περιφερειακές συσκευές. Για παράδειγμα , ο σκληρός δίσκος , το πληκτρολόγιο και ο εκτυπωτής απαιτούν την ύπαρξη ελεγκτή για τη λειτουργία τους. Οι ελεγκτές συνεργάζονται με τις αρτηρίες (διαδρόμους) μετάδοσης δεδομένων, γι αυτό και κάθε τύπος διαδρόμου έχει διαφορετικό τύπο ελεγκτή.

63. Τι είναι το ρολόι του υπολογιστή και σε τι χρησιμεύει;

Οι επεξεργαστές εκτελούν διαδοχικές στοιχειώδεις λειτουργίες με τη χρήση ενός ηλεκτρικού σήματος τετραγωνικού παλμού. Αυτό το ηλεκτρικό σήμα συγχρονισμού καλείται σήμα ρολογιού, επειδή παράγεται εξωτερικά του επεξεργαστή, από ένα ταλαντωτή που ονομάζεται ρολόι (clock). Το σήμα ρολογιού (ή χρονισμού) διαδίδεται μέσα από το δίαυλο ελέγχου και εναλλάσσεται περιοδικά μεταξύ μηδέν και ένα. Ο χρόνος που χρειάζεται το ρολόι για να μεταπηδήσει από το μηδέν στο ένα και πίσω στο μηδέν, ονομάζεται περίοδος ή κύκλος του ρολογιού.

Το ρολόι του υπολογιστη (το οποιο βρισκεται στην ΚΜΕ) είναι υπεύθυνο για τον συντονισμό των υπόλοιπων εξαρτημάτων και στελνει περιοδικά σήματα . Η περίοδος ανάμεσα σε δυο σήματα λέγεται κύκλος του ρολογιού . Όσο μικρότερη είναι η περίοδος τόσο ταχύτερος είναι ο μικροεπεξεργαστής.

Το ρολόι ενός υπολογιστή είναι το κύκλωμα που παράγει παλμούς ορισμένης συχνότητας με σκοπό το συγχρονισμό των λειτουργιών του επεξεργαστή. Σε κάθε κτύπο του ρολογιού η ΚΜΕ εκτελεί μια στοιχειώδη λειτουργία. 

64. Να αναφέρετε δύο διαφορετικούς τρόπους εισαγωγής στοιχείων από το πλκτρολόγιο (Με έλεγχο του περιεχομένου και χωρίς έλεγχο) σε γλώσσα assembly

Αν υποθέσουμε ότι θέλουμε να εισάγουμε τιμή 5 στον καταχωρητή $t0 τότε θα μπορούσαμε να το κάνουμε με δύο τρόπους:

a) li $t0,5 # χωρίς # χωρίς έλεγχο περιεχομένου

b) cmp $t0,0 #με έλεγχο #με έλεγχο περιεχομένου

je set

set li $t0,5

Οταν χρησιμοποιουμε γλωσσα assembly οι δυο διαφορετικοι τροποι να εισαγουμε στοιχεια απο το πληκτρολογιο ειναι το να γραψουμε μια εντολη ή να καταχωρησουμε αμεσως καποια τιμη στην μνημη.

Με τον πρωτο τροπο γινεται ελεγχος του περιεχομενου αφου αν υπαρχει καποιο λαθος ο compiler του προγραμματος που χρησιμοποιουμε για να γραψουμε τον κωδικα θα μας βγαλει σφαλμα.

Ο δευτερος τροπος γινεται χωρις ελεγχο γιατι δεν εισαγουμε καποια τιμη με την χρηση κωδικα αλλα αμεσα απο μονοι μας.

65. Να αναφέρετε δύο διαφορετικούς τρόπους απεικόνισης στοιχείων στην οθόνη με assembly.

Με την syscall 4 (print string) εκτυπώνουμε οποιαδήποτε συμβολοσειρά στην οθόνη.

Π.χ li $v0, 4

la $a0, msg

syscall

Με την syscall 1 (print integer) εκτυπώνουμε οποιαδήποτε αριθμοσειρά στην οθόνη.

Π.χ. li $v0, 1

move $a0, $t2 syscall 

Αναλογα με το προγραμμα που χρησιμοποιουμε για να γραψουμε κωδικα με την χρηση της γλωσσας assembly υπαρχουν δυο τροποι να απεικονισουμε στοιχεια στην οθονη. Αυτοι ειναι το να κοιταξουμε τις τιμες που εχουν οι καταχωρητες μετα την εκτελεση του

66. Τί είναι ένας κατάλογος, ποια στοιχεία γνωρίζετε για αυτόν και ποιες οι υποστηριζόμενες λειτουργίες του;

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

Α)Ο ίδιος ο κατάλογος είναι ένα αρχείο το οποίο ανήκει στο Λ.Σ. και στο οποίο έχουν πρόσβαση οι σχετικές ρουτίνες διαχείρισης αρχείων του Λ.Σ.

Β)Ο τρόπος αποθήκευσης των περιεχομένων ενός καταλόγου διαφέρει από σύστημα σε σύστημα.

• Κάποιες από τις πληροφορίες μπορεί να είναι αποθηκευμένες σε μία εγγραφή που παίζει το ρόλο επικεφαλίδας και σχετίζεται με το κάθε αρχείο του καταλόγου. 

- Μειώνει το ποσό μνήμης που χρειάζεται ο κατάλογος.

- Επιτρέπει την αποθήκευση όλου ή μεγάλου μέρους του στην κύρια μνήμη με επακόλουθο την αύξηση της ταχύτητας προσπέλασης στα περιεχόμενά του.

• Ο πιο απλός τρόπος είναι μία λίστα από στοιχεία, ένα στοιχείο για κάθε αρχείο του καταλόγου.

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

• Αναγκάζει τους χρήστες να βεβαιώνονται ότι το ίδιο όνομα δεν χρησιμοποιείται για περισσότερα από ένα αρχεία.

Γ)Ένα σύστημα καταλόγων πρέπει να υποστηρίζει κάποιες βασικές λειτουργίες, όπως:

- Αναζήτηση ενός αρχείου σε έναν κατάλογο, όταν ένας χρήστης ή μία εφαρμογή κάνει αναφορά σε αυτό το αρχείο.

- Δημιουργία καινούργιων αρχείων.

- Διαγραφή υπαρχόντων αρχείων.

- Μερική ή ολική παρουσίαση των περιεχομένων ενός καταλόγου (π.χ. ονομάτων αρχείων και πιθανόν κάποιων από τα ιδιοχαρακτηριστικά των αρχείων).

- Ενημέρωση των περιεχόμενων του καταλόγου (π.χ. αν αλλάξουν κάποια ιδιοχαρακτηριστικά ενός αρχείου).

...Στους υπολογιστές καλούμε κατάλογο ή φάκελο, ένα ειδικό αρχείο το οποίο περιέχει πληροφορίες για άλλα αρχεία και καταλόγους. Οι πληροφορίες αυτές είναι το όνομα , μέγεθος , τοποθεσία στην οποία βρίσκεται σε κάποιο δευτερεύον αποθηκευτικό μέσο, ημερομηνία δημιουργίας, δικαιώματα προσπέλασης, ιδιοκτήτης κτλ. Ένας κατάλογος που βρίσκεται καταχωρημένος σε έναν κατάλογο ονομάζεται υποκατάλογός του. Έτσι σχηματίζεται μια ιεραρχία καταλόγων, μια δενδροειδής δομή.  Δημιουργία νέου αρχείου.  Διαγραφή αρχείου από τη βοηθητική μνήμη.  Άνοιγμα αρχείου για πρόσβαση στα δεδομένα του.  Κλείσιμο αρχείου που ανοίχτηκε, προσπελάστηκε, τροποποιήθηκε.  Ανάγνωση δεδομένων ανοιχτού αρχείου.  Εγγραφή δεδομένων σ' ένα ανοιχτό αρχείο, στο τρέχων σημείο του.  Ανάγνωση ή τροποποίηση των χαρακτηριστικών ενός αρχείου.

67. Τι είναι Διαδοχική οργάνωση αρχείων (sequential) και τι Άμεση οργάνωση αρχείων;

Στη διαδοχική (sequential) οργάνωση οι εγγραφές του αρχείου έχουν μία ορισμένη διάταξη, σύμφωνα με τα περιεχόμενα κάποιου πεδίου, που χαρακτηρίζεται ως κλειδί της εγγραφής. Για παράδειγμα, σ' ένα αρχείο μαθητών με διαδοχική οργάνωση, οι εγγραφές έχουν διάταξη αύξουσα σύμφωνα με το περιεχόμενο του κλειδιού κωδικός. Η εγγραφή με κωδικό 85001 προηγείται της 85501 και αυτή της 86001 κλπ. Εάν για κλειδί ληφθεί το επίθετο, τότε η εγγραφή που αρχίζει από Α προηγείται αυτής που που αρχίζει από Β κλπ Η άμεση (direct) οργάνωση επιχειρεί να εκμεταλλευτεί τις δυνατότητες που προσφέρει ο δίσκος ή άλλες παρόμοιες μονάδες, που έχουν άμεση προσπέλαση σε κάθε φυσική εγγραφή της οποίας η διεύθυνση είναι γνωστή. Στα αρχεία αυτά οι εγγραφές αποθηκεύονται τυχαία στο δίσκο γι' αυτό, πολλές φορές, λέγονται και τυχαία (random) αρχεία. Το κλειδί κάθε φυσικής εγγραφής μετατρέπεται, τυχαία, με κάποιο αλγόριθμο σε φυσική διεύθυνση, δηλαδή κύλινδρο, ίχνος και τομέα. Η διαδικασία αυτή είναι γνωστή ως παραγωγή διευθύνσεων. 

Μερικές φορές η άμεση οργάνωση επιτρέπει την προσπέλαση σε μία λογική εγγραφή με βάση τη σχετική (relative) θέση της στο αρχείο (π.χ. 10η, 5η εγγραφή), που μετατρέπεται σε φυσική διεύθυνση . Τα αρχεία αυτά ορίζονται ως σχετικά (relative) αρχεία. Αν είναι ταξινομημένα ως προς κάποιο κλειδί υπάρχει δυνατότητα και διαδοχικής προσπέλασης. Οι εγγραφές των άμεσων αρχείων, γενικά, δεν συνδέονται με την προηγούμενη και την επόμενη εγγραφή, όπως συμβαίνει στα διαδοχικά αρχεία με ευρετήρια, που και αυτά διαθέτουν άμεση προσπέλαση εγγραφής 

68. Τι είναι τo αρχείo system.ini των windows;

Το SYSTEM.INI ήταν ένα αρχείο αρχικοποίησης (INI) που χρησιμοποιούνταν στις πρώτες εκδόσεις των Microsoft Windows (από 1.01 έως και Me) για να φορτώσει τα προγράμματα οδήγησης συσκευών και το προεπιλεγμένο πυρήνα των Windows (πρόγραμμα διαχείρισης ή Windows Explorer). Πολλές από αυτές τις ρυθμίσεις διατηρήθηκαν στα Windows 9x (95, 98 και Me), αν και τα αρχεία INI είχαν αρχίσει να καταργούνται σταδιακά υπέρ της Registry των Windows. Τα Windows NT 4.0, 2000, XP και Server 2003 εξακολουθούν να αναγνωρίζουν ορισμένες καταχωρήσεις του SYSTEM.INI προκειμένου να παρέχουν συμβατότητα προς τα πίσω με παλαιότερες εφαρμογές 16 bit. Τα Windows Vista και τα υπόλοιπα διαθέτουν επίσης το System.ini. 

Το αρχειο system.ini των Λ.Σ. τυπου Windows ειναι ενα αρχειο αρχικοποιησης το οποιο χρησιμοποιειται για να φορτωσει τους drivers των συνδεμενων συσκευων και την γραφικη αναπαρασταση των Windows (program manager ή file explorer) καθως και διαφορες αλλες ρυθμισεις συστηματος.

69. Ποια είναι τα δομικά μέρη του UNIX;

Βασικό συστατικό στοιχείο του λειτουργικού συστήματος Linux είναι ο πυρήνας ή kernel. Το kernel είναι το ενδιάμεσο στρώμα ανάμεσα στο υλικό και τον χρήστη ή τις εφαρμογές που εκτελεί ο χρήστης. Διαχειρίζεται τις συσκευές, τη μνήμη RAM και την CPU με τέτοιο τρόπο, ώστε να γίνεται η καλύτερη δυνατή χρήση τους.

Γύρω από το kernel, υπάρχουν τα κελύφη ή shells, τα οποία ανάλογα με τα προνόμια της εφαρμογής ή του χρήστη, του επιτρέπουν να πλησιάσει στις δυνατότητες που του παρέχει ο πυρήνας. Αυτό φυσικά γίνεται για λόγους ασφαλείας, ώστε μία λανθασμένη επιλογή να μην οδηγήσει το σύστημα σε κατάρρευση. Παράλληλα, είναι υπεύθυνο να ελέγχει και να δίνει προτεραιότητα στις διεργασίες, να μοιράζει τον χρόνο που θα έχει η καθεμία σε κάθε κύκλο στην CPU και ανάλογα με τις δυνατότητες του hardware να ελέγχει την πολυεπεξεργασία, δηλαδή την ταυτόχρονη εκτέλεση πολλαπλών εφαρμογών. Στο επίπεδο της μνήμης, παραχωρεί τον χώρο που χρειάζεται κάθε εφαρμογή και αποφασίζει τι θα στείλει στην εικονική μνήμη ή swap στον σκληρό δίσκο και πότε. 

Λειτουργικό σύστημα Unix https://iek-chaid.att.sch.gr/portal/images/stories/eyliko/unix_1_0.pdf

To UNIX αποτελείται από τα εξής hardware εξαρτήματα :

Το Κernel είναι ο πυρήνας του Συστήματος που ελέγχει το hardware και εκτελεί μια σειρά από βασικές λειτουργίες "low level".Tα άλλα συστατικά μέρη του UNIX καθώς και προγράμματα των χρηστών απευθύνονται στο Kernel για να εκτελέσει εντολές προς το σύστημα (system calls).

To SHELL (ειδικό utility) είναι ο εκτελεστής εντολών προς το UNIX, command interpreter

Utility Programs είναι commands που υποστηρίζουν μια σειρά δουλειές όπως την αντιγραφή αρχείων,text editing,calculations, αναπτυξη λογισμικού κ.α.

Τα User Programs είναι τα προγράμματα που αναπτύσουν οι χρήστες από την στιγμή που πάρουν θέση μέσα στο UNIX τότε δεν ξεχωρίζουν από το υπόλοιπο UNIX ή τις εντολές προς αυτό.

Το UNIX Kernel

Eκτελεί βασικές λειτουργίες του Συστήματος, τέτοιες που λέμε ότι είναι "κοντά" στη μηχανή ή αλλιώς λέμε ότι είναι low level. Aυτές οι λειτουργίες δημιουργούν το UNIX environment πάνω σε συγκεκριμένο Hardware.To πιο "κοντινό" τμήμα του βρίσκεται σε άμεση επαφή με το Hardware και έτσι "κρύβει" από τα άλλα εξαρτήματα του UNIX τη μηχανή καθιστώντας τα ανεξάρτητα της

70. Τι είναι το FAT και τι το NTFS σύστημα διαχείρισης αρχείων στο δίσκο;

Το FAT είναι το καθιερωμένο σύστημα αρχείων του λειτουργικού συστήματος DOS της

λειτουργικών συστημάτων (σειρά Windows) της εταιρείας. Αποτελεί αρκτικόλεξο των λέξεων

File Allocation Table (πίν File Allocation Table (πίνακας κατανομής ακας κατανομής αρχείων).

Το FAT είναι το βασικό σύστημα αρχείων του MS-DOS, των Windows 3.11 και των Windows

95 στην πρώτη εκδοσή τους. Αρχικά χρησιμοποιούνταν στους εύκαμπτους δίσκους των 5.25"

και μετέπειτα των 3.5". Αργότερα φορμάρονταν με αυτό και οι σκληροί δίσκοι. Είναι αρκετά

απλό σύστημα αρχείων και διαμορφώθηκε με τα τεχνολογικά δεδομένα τις εποχής που

σχεδιάστηκε. Τα περισσότερα λειτουργικά συστήματα το υποστηρίζουν ακόμα, αλλά έχει

ξεπεραστεί από τα νεότερα συστήματα αρχείων, όπως το NTFS. Κατά την μορφοποίηση του

σκληρού δίσκου δημιουργούνται το Master Boot Record (MBR), το πρωτεύον διαμέρισμα

(primary partition) και τα επεκταμένα διαμερίσματα (extended partitions).

Σε περιβάλλον MS-DOS υπήρχε η δυνατότητα του DoubleSpace, η συμπίεση δηλαδή του

σκληρού δίσκου για εξοικονόμηση δεδομένων. Μέσα σε ένα αρχείο συμπιέζονταν όλα τα

αρχεία. Αυτό ήταν αρκετά επικίνδυνο (για απώλεια δεδομένων λόγω αστοχίας) και αργό αλλά

">χρήσιμο, όταν ο χώρος αποθήκευσης δεδομένων ήταν περιορισμένος και ακριβός. 

Το DoubleSpace εγκαταλείφθηκε από το FAT32 αλλά με το NTFS η ιδέα επανήλθε, φυσικά με άλλα χαρακτηριστικά. 

To NTFS είναι το καθιερωμένο σύστημα αρχείων του λειτουργικού συστήματος Windows NT.

Έχει ενσωματωθεί και στις νεότερες νεότερες εκδόσεις αυτού του λειτουργικού συστήματος, δηλαδή στα Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008 και WindowsVista κτλ. Αποτελεί αρκτικόλεξο των λέξεων New Technology File System. ology File System.

Το σύστημα αρχείων NTFS έχει εκτοπίσει το προηγούμενο FAT ως το προτιμώμενο σύστημα

αρχείων για τα λειτουργικά συστήματα Windows της Microsoft. Ενσωματώνει αρκετές

βελτιώσεις σε σχέση με το FAT και το HPFS, όπως η καλύτερη υποστήριξη μεταδεδομένων

και η χρήση προχωρημένων δομών δεδομένων με σκοπό τη βελτίωση της απόδοσης, της

αξιοπιστίας και της εκμετάλλευσης του διαθέσιμου χώρου στο δίσκο, καθώς και επιπρόσθετες

προσθήκες που αφορούν την ασφάλεια προσθήκες του συστήματος.

Τα πλεονεκτήματα χρήσης του σε σχέση με το FAT και FAT32 προκύπτουν από τις

δυνατότητες του και είναι:

• ασφάλεια πρόσβασης με δικαιώματα σε φακέλους ή μεμονωμένα αρχεία.

• ανάκαμψη μετά από αστοχία γιατί η καταγραφή των transactions ολοκληρώνεται πριν

την εκτέλεσή τους

• μικρότερος κατακερματισμός αρχείων.

• δεν μπορούμε να ξεκινήσουμε το σύστημα με δισκέτες DOS (το οποίο είναι και

μειονέκτημα).

Το FAT (file allocation table) ειναι ενα table το οποιο ενα Λ.Σ. διατηρει σε εναν σκληρο δισκο και παρεχει εναν χαρτη των συμπλεγματων (η βασικη μοναδα λογικου χωρου αποθηκευσης σε ενα σκληρο δισκο) οπου ενα αρχειο εχει αποθηκευτει. Οταν ο χρηστης δημιουργει ενα καινουργιο αρχειο τοτε αυτο αποθηκευεται σε ενα ή περισσοτερα συμπλεγματα του σκληρου δισκου τα οποια δεν ειναι αναγκαιο να βρισκονται το ενα διπλα στο αλλο.

Το NTFS (new technology file system) ειναι το πο συγχρονο συστημα αρχειου το οποιο το Λ.Σ. Windows χρησιμοποιει για την αποθηκευση και ανακτηση αρχειων του σκληρου δισκου. Αυτο το συστημα διαχειρησης αρχειων ειναι το αντιστοιχο συστημα FAT των νεοτερων Λ.Σ. Windows και υποστηριζει σκληρους δισκους και μεγεθος αρχειων πολυ μεγαλυτερο απο πριν

71. Τί είναι ανάκτηση πληροφοριών και πόσα είδη υπάρχουν;

Η ανάκτηση πληροφοριών ή ανάκτηση πληροφορίας είναι το επιστημονικό πεδίο της πληροφορικής που μελετά την αποδοτική αναζήτηση πληροφοριών και κάθε τύπου δεδομένων μέσα σε έγγραφα και μεταδεδομένα σχετικά με έγγραφα, όπως επίσης και με την αναζήτηση σε βάσεις δεδομένων και στον Παγκόσμιο Ιστό (WWW). Μία εννοιολογική σύγχυση και μία πολύ εκτενής επικάλυψη υφίστανται στη χρήση των όρων ανάκτηση δεδομένων, ανάκτηση εγγράφων, ανάκτηση πληροφοριών και ανάκτηση κειμένου. Ωστόσο, καθένας από αυτούς τους όρους έχει τη δική του θεωρία και τις δικές του τεχνολογίες. Η ανάκτηση πληροφοριών στηρίζεται στη θεωρία των βάσεων δεδομένων, σε κατάλληλα υπολογιστικά συστήματα και σε μαθηματικές μεθόδους της τεχνητής νοημοσύνης, ενώ εφαρμόζεται στην επιστήμη πληροφόρησης και στον Παγκόσμιο Ιστό (μηχανές αναζήτησης). Υπάρχουν διάφορα μοντέλα ανάκτησης πληροφοριών, τα πιο σημαντικά από αυτά είναι τα πιθανοτικά μοντέλα, τα μοντέλα ανεστραμμένο αρχείου και τα Boolean μοντέλα. 

Ανάκτηση Πληροφορίας 2015 https://repfiles.kallipos.gr/html_books/246/Ch1.html#S4

Η Ανάκτηση Πληροφορίας (Information Retrieval) είναι η επιστημονική περιοχή που μελετά τα προβλήματα που σχετίζονται με την αναπαράσταση, την οργάνωση και την επεξεργασία στοιχείων πληροφορίας, με στόχο την αποτελεσματική και αποδοτική πρόσβαση των χρηστών σε αυτά. Αν και η γνωστική περιοχή της Ανάκτησης Πληροφορίας ξεκίνησε με τη μελέτη εγγράφων κειμένου (text), στη συνέχεια επεκτάθηκε και στη μελέτη άλλων τύπων δεδομένων, κάτι που επιβλήθηκε από τις ανάγκες των σύγχρονων εφαρμογών. Έτσι, σήμερα μπορούμε να χρησιμοποιούμε μεθόδους ανάκτησης για την πρόσβαση σε πολυμεσικά δεδομένα (όπως: εικόνα, ήχο, βίντεο) καθώς και σε δεδομένα διαθέσιμα μέσω του παγκόσμιου ιστού (world wide web). Λόγω της ποικιλομορφίας των τύπων δεδομένων στα οποία μπορεί να έχει ταυτόχρονα πρόσβαση ο χρήστης, θεωρούμε στη συνέχεια ότι η κάθε είδους πληροφορία είναι γενικώς αποθηκευμένη με τη μορφή εγγράφων (documents). Θα θεωρήσουμε ότι ο όρος έγγραφο είναι ισοδύναμος με τον όρο έγγραφο κειμένου (text document). Ο ενδιαφερόμενος αναγνώστης μπορεί να ανατρέξει στη διεθνή βιβλιογραφία σχετικά με την ανάκτηση άλλων τύπων δεδομένων, όπως εικόνα, ήχο και βίντεο.

Ανάκτηση Πληροφορίας

Ορισμός Ανάκτηση Πληροφορίας (Information Retrieval) - (IR) • είναι η εύρεση υλικού κυρίως εγγράφων (documents) αδόμητης φύσης(*) (unstructured) που συνήθως έχουν τη μορφή κειμένου (text) • το οποίο ικανοποιεί μια ανάγκη πληροφόρησης (information need) • από μεγάλες συλλογές (συνήθως αποθηκευμένες σε υπολογιστές)

Μοντέλα Ανάκτησης Ι (Retrieval Models) 2007

Ανάκτηση Δεδομένων (Information Retrieval)

Ανάκτηση πληροφορίας σημειώσεις διαλέξεων https://delab.csd.auth.gr/courses/c_ir/irbook.pdf

72. Τι είναι ένα κατακερματισμένο αρχείο και τι δεικτοδοτούμενο; Αναφέρατε τι γίνεται με τις εγγραφές των αρχείων σε κάθε μία από τις παραπάνω κατηγορίες.

Τα κατακερματισμένα αρχεία (hash files) είναι μια αριθμητική αναπαράσταση δεδομένων και δεν είναι εύκολο για τον άνθρωπο να ερμηνεύσει. Ένα κατακερματισμένo αρχείo είναι ένα αρχείο που έχει μετατραπεί σε αριθμητική συμβολοσειρά με μαθηματικό αλγόριθμο. Αυτά τα δεδομένα μπορούν να γίνουν κατανοητά μόνο αφού έχουν αποκρυπτογραφηθεί με συγκεκριμένο κλειδί κατακερματισμού. Η διαδικασία του hashing είναι η μαθηματική μετατροπή μιας αλυσίδας χαρακτήρων σε μια μικρότερη τιμή που συνήθως ονομάζεται κλειδί κατακερματισμού. Αυτή η νέα τιμή αντιπροσωπεύει την αρχική συμβολοσειρά χαρακτήρων μετά την κρυπτογράφηση της. Το Hashing χρησιμοποιείται συχνά σε βάσεις δεδομένων ως μέθοδος δημιουργίας ενός ευρετηρίου. Επειδή οι hashed τιμές είναι μικρότερες από τις αριθμοσειρές του αρχείου, η βάση δεδομένων μπορεί να εκτελεί ταχύτερα τις λειτουργί δεδομένων μπορεί να εκτελεί ταχύτερα τις λειτουργίες ανάγνωσης και γραφής. ς ανάγνωσης και γραφής. Το δεικτοδοτούμενο αρχείο είναι ένα αρχείο δεδομένων με συγκεκριμένους δείκτες που επιτρέπουν την εύκολη και γρήγορη τυχαία πρόσβαση σε οποιαδήποτε εγγραφή του αρχείου δεδομένου πάντα ενός συγκεκριμένου κλειδιού-δείκτη. Το κλειδί πρέπει να είναι τέτοιο ώστε να αναγνωρίζει μονοσήμαντα μια εγγραφή. Εάν υπάρχουν περισσότεροι από ένα από ένα δείκτη, οι υπόλοιποι ονομάζονται εναλλακτικοί δείκτες δημιουργούνται μαζί με το αρχείο και διατηρούνται από το σύστημα

Κατακερματισμένα αρχεία (Hashed files)

Κατακερματισμένα Αρχεία

Κατακερματισμός (hashing) είναι μία τεχνική που εντοπίζει μια εγγραφή ενός αρχείου απευθείας από το κλειδί της αντιστοιχίζοντας το με τη διεύθυνση της εγγραφής μέσω κάποιας συνάρτησης.  Το αρχείο που εφαρμόζει τη μέθοδο κατακερματισμού λέγεται κατακερματισμένο αρχείο.  Η συνάρτηση που καθορίζει τη διεύθυνση της εγγραφής από το κλειδί της λέγεται συνάρτηση κατακερματισμού.  Δεν απαιτείται ευρετήριο - με αποτέλεσμα η μέθοδος να είναι πιο αποτελεσματική από αυτήν που χρησιμοποιεί ευρετήριο αντί για συνάρτηση.

Στα κατακερματισμένα αρχεία δεν υπάρχει ευρετήριο

Τον ρόλο του ευρετηρίου τον αναλαμβάνει μια συνάρτηση που δέχεται ένα κλειδί και το αντιστοιχεί σε μια διεύθυνση

Ευρετηριασμένα αρχεία (indexed files)

 Ένα ευρετηριασμένο αρχείο αποτελείται από ένα αρχείο δεδομένων και ένα ευρετήριο

 Το ευρετήριο είναι ένα μικρό αρχείο με δύο πεδία: το κλειδί της εγγραφής και την αντίστοιχη διεύθυνσή της

 Το αρχείο δεδομένων είναι ένα ακολουθιακό αρχείο που περιέχει τις εγγραφές

 Προσπέλαση

 Φορτώνεται στην μνήμη όλο το αρχείο ευρετήριο

 Ερευνώνται οι εγγραφές του ευρετηρίου με έναν αποδοτικό αλγόριθμο αναζήτησης

 Ανακτάται η διεύθυνση της εγγραφής

 Χρησιμοποιείται η διεύθυνση για να ανακτηθεί η κατάλληλη εγγραφή δεδομένων

Κατακερματισμός και αποκατακερματισμός (fragmentation and defragmentation)

73. Πρέπει να ανακτήσετε το αρχείο mad.ben, σε ένα υπολογιστή με Λ/Σ Linux. Έχει κρατηθεί αντίγραφο ασφαλείας του στο αρχείο Βackup.tar. Με τη χρήση ποιάς/ποιών εντολής/ών θα το κάνετε;

Η εντολή που πρέπει να χρησιμοποιηθεί είναι tar -xf Backup.tar - C / mad.ben 

...# tar -xf Backup.tar //αποσυμπιέζει το αρχειο backup 

# find / -name mad.ben // βρίσκει το αρχειο mad

Χρήση λειτουργικού Unix/Linux εκπαιδευτικές σημειώσεις https://dsphinx.plug.gr/linux_el/unix-linux_usage-ver-1-18.pdf

Ανάκτηση Ανοικτών Αρχείων στο Linux

Το σημαντικότερο που πρέπει να θυμόμαστε από αυτό το άρθρο είναι ότι το Linux δεν σβήνει το inode ενός αρχείου όσο το αρχείο χρησιμοποιείται (όσο δηλαδή υπάρχουν file descriptors που δείχνουν σε αυτό). Το μόνο που σβήνεται άμεσα όταν γράψουμε rm (ή unlink() μέσα από κώδικα C) είναι το directory entry που αντιστοιχεί σε αυτό το inode. Παρεμπιπτόντως, αυτός είναι και ο λόγος που μπορούμε να αναβαθμίσουμε το μεγαλύτερο μέρος μιας διανομής Linux χωρίς reboot. Οι υπάρχουσες διεργασίες συνεχίζουν να χρησιμοποιούν τις παλιές βιβλιοθήκες παρόλο που αυτές είναι θεωρητικά "σβησμένες" από το δίσκο, μέχρι να ολοκληρωθεί η εκτέλεσή τους.

74. Ποίος είναι ο πιο εύκολος τρόπος να εισάγετε μία λίστα εντολών από τη γραμμή εντολών στα Linux;

Ανοίγουμε ένα παράθυρο Tερματικού (terminal). Αν έχουμε Ubuntu, θα το βρούμε στο μενού Εφαρμογές > Βοηθήματα. Εναλλακτικά, στο γραφικό περιβάλλον Gnome, μπορούμε να τρέξουμε το Tερματικό πατώντας Alt+F2 και γράφοντας: gnome-terminal.

ελληνικό φόρουμ για το Linux 

Eισαγωγή στο Linux Ένας πρακτικός οδηγός

75. Τί είναι το partial backup στα Linux;

Στο partial Backup αντί να αντιγράφει ολόκληρα αρχεία, μπορεί κανείς να περιορίσει το αντίγραφο ασφαλείας μόνο σε μπλοκ ή bytes μέσα σε ένα αρχείο που έχει αλλάξει σε μια δεδομένη χρονική περίοδο. Αυτή η τεχνική μπορεί να χρησιμοποιήσει σημαντικά λιγότερο χώρο αποθήκευσης στο μέσο δημιουργίας αντιγράφων ασφαλείας, αλλά απαιτεί υψηλό επίπεδο πολυπλοκότητας για την ανασύσταση των αρχείων σε μια περίπτωση αποκατάστασης (recovery). 

A partial backup is any operating system backup short of a full backup, taken while the database is open or shut down.

Different types of backup in linux. Full backup means backing up everything. Incremental backup means backing up everything that has changed since last full backup. Differential seems to be another name for incremental.

76. Πόσα μέρη (partitions) χρειάζεται για να εγκαταστήσετε τα Linux; Ποια θα είναι αυτά και τί θα εγκατασταθεί στο κάθε ένα από αυτά;

Χρειάζονται τουλάχιστον δύο partitions το primary partition (/) και τουλάχιστον όσο είναι η μνήμη RAM για το swap partition. Το primary partition είναι υπεύθυνο για την εκκίνηση (boot) του λειτουργικού συστήματος και την ομαλή του λειτουργία, δεδομένου ότι εκεί είναι αποθηκευμένα τα βασικά του αρχεία (root directory). Το swap partition λειτουργεί κυρίως σε περίπτωση υπερχείλισης στη μνήμη (RAM). Εάν η κεντρική μνήμη γεμίσει εντελώς, τυχόν πρόσθετες εφαρμογές θα εκκινήσουν από το SWAP partition και όχι από τη μνήμη. Αυτό ακούγεται σαν ένας εύκολος τρόπος για να αυξήσει κάποιος το ποσό της χρησιμοποιήσιμης μνήμης χωρίς να έχει περισσότερη μνήμη RAM, αλλά αυτό δεν συμβαίνει. Η RAM είναι το ιδανικό υλικό για μνήμη επειδή είναι εξαιρετικά γρήγορο, σε αντίθεση με τους σκληρούς δίσκους οι οποίοι, είναι σχετικά αργοί. 

Εγκατάσταση Linux με Ξεχωριστά Partitions

Linux για αρχάριους/Κατατμήσεις (Partitions)

Υπάρχουν τριών ειδών κατατμήσεων (partitions):

  • Πρωτεύουσες κατατμήσεις (Primary partitions)
  • Εκτεταμένες κατατμήσεις (Extended partitions). Οι συγκεκριμένες είναι τυπικά και αυτές primary partition, αλλά χρησιμοποιούνται για ειδικό σκοπό και για αυτό τα διαχωρίζουμε.
  • Λογικές κατατμήσεις (Logical partitions)

Αυτά που χρησιμοποιούμε συνήθως είναι τα primary partitions, τα οποία όμως έχουν τον εξής περιορισμό:κάθε σκληρός δίσκος μπορεί να έχει μέχρι τέσσερα primary partitions.

Σε περίπτωση που θέλουμε να δημιουργήσουμε περισσότερα από τέσσερα partitions τότε σημειώνουμε το ένα από τα primary partitions ως extended. Η δήλωση αυτή θα πρέπει να γίνει κατά τη δημιουργία του partition καθώς δε μπορεί να γίνει αλλαγή ενός primary partition σε extended μετά την δημιουργία του.

Κάθε extended partition λειτουργεί σαν ένας εικονικός σκληρός δίσκος, ο οποίος λειτουργεί αυτόνομα από τα υπόλοιπα partitions και τον οποίο μπορούμε να χωρίσουμε περαιτέρω σε όσα partitions θέλουμε. Τα partitions που «μπαίνουν» μέσα σε ένα extended partition ονομάζονται logical και δεν υπάρχει κανένας περιορισμός στον αριθμό τους, απλώς η συνολική τους χωρητικότητα θα πρέπει να είναι ίση ή μικρότερη από τη χωρητικότητα του extended partition. Έτσι λοιπόν, αν χρειαζόμαστε να χωρίσουμε το σκληρό μας δίσκο σε πχ εφτά τμήματα τότε θα πρέπει να δημιουργήσουμε τρία primary και ένα extended partition, το οποίο θα περιέχει τα υπόλοιπα τέσσερα (logical) partitions που χρειαζόμαστε.

77. Τι σημαίνει παροχέτευση (spooling) και ποια τα πλεονεκτήματα αυτής της τεχνικής στα Λειτουργικά Συστήματα;

 Όταν μια διεργασία εκτελείται από τον δίσκο και γράφει σε αυτόν (και όχι απευθείας στις συσκευές E/E). Ομοίως, όταν κάτι πρέπει να τυπωθεί στον εκτυπωτή τοποθετείται πρώτα στο δίσκο και από εκεί στέλνεται στον εκτυπωτή. Αυτή η τεχνική ονομάζεται spooling (Simultaneous Peripheral Operation On-Line). Ο δίσκος χρησιμοποιείται ως ένας τεράστιος buffer. Οι λειτουργίες Ε/Ε μιας διεργασίας μπορεί να εκτελείται ενώ η cpu χρησιμοποιείται για την εκτέλεση μιας άλλης διεργασίας, το οποίο συνεπάγεται πιο αποδοτική χρήση της cpu και των συσκευών Ε/Ε. Η τεχνική αυτή επιτρέπει επίσης την υλοποίηση αποδοτικών και καθιερωμένων (σήμερα) τεχνικών, όπως τη χρονοδρομολόγηση διεργασιών. Ένα σύνολο (pool) διεργασιών προς εκτέλεση είναι αποθηκευμένες στο δίσκο. Το σύστημα μπορεί να επιλέξει ποια θα εκτελέσει στη συνέχεια.

Spooling = είναι η τεχνική βάση της οποίας σε ένα δίκτυο δεδομένα που κυκλοφορούν με διαφορετικούς ρυθμούς μετάδοσης, εξυπηρετούνται με μια σειρά προτεραιότητας. Μια απλή εφαρμογή του spooling είναι στις ουρές εξυπηρέτησης εκτυπώσεων

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα pages.cs.aueb.gr/courses/epl131/files/Ch03_Operating_Systems.pdf

Παροχέτευση (spooling) ● Η παροχέτευση είναι µία τεχνική για την αποδοχή της πρόσβασης πολλών διεργασιών σε έναν κοινό πόρο. ● Αναβάλει την αιτούµενη διεργασία για µία προσφορότερη στιγµή. - Κάνει ένα µη κοινόχρηστο πόρο να φαίνεται κοινόχρηστος. ●Αγνοεί τις τεχνικές του αποκλεισµού

Επισκόπηση Λ.Σ. www.it.uom.gr/teaching/moss/episkopisi-13.pdf

Παροχέτευση (Spooling): Οι εργασίες προς εκτέλεση φορτώνονται στη δευτερεύουσα μνήμη. O επόπτης επιλέγει την επόμενη εργασία από την ουρά των αποθηκευμένων εργασιών, την μεταφέρει στην κύρια μνήμη και αρχίζει την εκτέλεσή της. Η σειρά εκτέλεσης δεν είναι απαραίτητα η σειρά φόρτωσης στη δευτερεύουσα μνήμη (δρομολόγηση δέσμης εργασιών). Μόλις τελειώνει η εκτέλεση της τρέχουσας εργασίας, αποθηκεύει τα αποτελέσματά της και φορτώνει την επόμενη εργασία. Κάθε χρονική στιγμή, υπάρχει μόνο μια εργασία που είναι φορτωμένη και εκτελείται από το σύστημα.

Διαχείριση E/E (I/O management)

Πλεονεκτήματα SPOOLing ƒ αποφυγή καθυστερήσεων λόγω αργών συσκευών ε/ε ƒ αποφυγή συναγωνισμού όταν υπάρχουν λιγότερες αφιερωμένες συσκευές από όσες απαιτούν οι διεργασίες ƒ ομοιόμορφη κατανομή του φόρτου στις αφιερωμένες συσκευές ƒ συνέχιση εκτέλεσης διεργασιών όταν οι συσκευές είναι υπό επιδιόρθωση ή αποσυνδεμένες ƒ ελάττωση πιθανότητας να συμβεί αδιέξοδο ƒ ευκολότερη λήψη πολλών αντιγράφων του ίδιου αρχείου ƒ ομαδοποίηση των πληροφοριών ƒ οι δίσκοι χρησιμοποιούνται πιο αποτελεσματικά Δίνεται η εντύπωση στους χρήστες ότι καθένας διαθέτει την δική του (εικονική) συσκευή

78. Αναφέρετε τί γνωρίζετε για την προστασία φακέλων σε σύστημα UNIX. Πόσες κατηγορίες χρηστών υπάρχουν, πόσα ψηφία λαμβάνει κάθε πεδίο και τι σημαίνει το κάθε ψηφίο ανάλογα με την τιμή που λαμβάνει;

Η φιλοσοφία της διαχείρισης δικαιωμάτων αρχείων και φακέλων σε σύστημα Unix διαχωρίζει τους χρήστες σε τρεις ομάδες: • Ιδιοκτήτης (user ή owner): πρόκειται για το χρήστη που δημιούργησε το αρχείο (εκτός αν έχει γίνει αλλαγή ιδιοκτήτη). • Ομάδα (group): πρόκειται για τους χρήστες που ανήκουν στην ίδια ομάδα με τον ιδιοκτήτη. Ο κάθε χρήστης μπορεί να ανήκει σε περισσότερες από μία ομάδες. ότερες από μία ομάδες. • Άλλοι (others): όλοι οι υπόλοιποι χρήστες.

Tα είδη των δικαιωμάτων είναι: • Ανάγνωση: αυτό το δικαίωμα δίνει στο χρήστη που το έχει τη δυνατότητα να εμφανίσει τα περιεχόμενα του αρχείου ή του φακέλου. Επίσης, δίνει το δικαίωμα αντιγραφής σε άλλη τοποθεσία. • Εγγραφή: οι χρήστες που έχουν δικαιώματα εγγραφής μπορούν να τροποποιήσουν τα περιεχόμενα του αρχείου ή του φακέλου (π.χ. να δημιουργήσουν ένα νέο αρχείο μέσα στο φάκελο). Επίσης, το δικαίωμα εγγραφής επιτρέπει τις λειτουργίες της μετακίνησης, της διαγραφής και της μετονομασίας. • Εκτέλεση: αφορά εκτελέσιμα αρχεία (για παράδειγμα αρχεία που αντιστοιχούν σε εντολές). Φυσικά, κάθε χρήστης μπορεί να αλλάξει τα δικαιώματα μόνο των αρχείων των οποίων είναι ιδιοκτήτης, με την εξαίρεση του χρήστη root ο οποίος είναι ο ανώτερος χρήστης του συστήματος και έχει δικαίωμα να τροποποιήσει τα πάντα. 

Δικαιώματα χρήσης αρχείων - chmod

Το Unix υποστηρίζει ένα σύστημα δικαιωμάτων για την προστασία των αρχείων. Τα δικαιώματα ουσιαστικά είναι ο μηχανισμός με τον οποίο το Unix καθορίζει τι μπορεί να κάνει ο οποιοσδήποτε σε ένα αρχείο. 

Όταν λέμε «ο οποιοσδήποτε», εννοούμε τρεις κατηγορίες χρηστών: 

1. ο ίδιος ο χρήστης 

2. οι υπόλοιποι χρήστες που ανήκουν στην ίδια ομάδα εργασίας με τον χρήστη 

3. οι χρήστες των υπολοίπων ομάδων 

Τα δικαιώματα που υποστηρίζονται είναι τριών ειδών: 

1. ανάγνωσης (read). Αν σε ένα αρχείο έχει παραχωρηθεί αυτό το δικαίωμα, τότε η αντίστοιχη κατηγορία μπορεί να δει τα περιεχόμενα του αρχείο ΜΟΝΟ, αλλά δεν μπορεί να τα αλλάξει. 

2. εγγραφής (write). Η παραχώρηση αυτού του δικαιώματος σημαίνει ότι η αντίστοιχη κατηγορία μπορεί να τροποποιήσει τα δεδομένα. 

3. εκτέλεσης (execute). Δικαίωμα εκτέλεσης σημαίνει ότι το αρχείο μπορεί να εκτελεστεί, αν είναι εκτελέσιμο. 

Στην περίπτωση καταλόγων η παραχώρηση του δικαιώματος αυτού είναι απαραίτητη αν θέλουμε να επιτρέπουμε σε κάποιον να μπορεί να εισέλθει στον κατάλογο (με την εντολή cd). 

Για κάθε μία από τις προαναφερθείσες κατηγορίες χρηστών θα πρέπει να ορίζεται χωριστά τι δικαιώματα θα έχουν επί ενός αρχείου. Όπως είναι αυτονόητο, τα δικαιώματα τους θα είναι συνδυασμός των παραπάνω. 

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

79. Μια εκτεταμένη λίστα πληροφοριών αρχείων - καταλόγων θα άρχιζε από drwxrwxrwx με πιθανότητα παύλας σε μερικούς από τους παραπάνω χαρακτήρες. Αναλύστε τι σημαίνουν.

Η λίστα θα εμφανιζόταν πιθανότατα κάπως έτσι d-rwxrwxrwx. Ουσιαστικά μας υποδεικνύει ότι σε αυτόν τον κατάλογο και οι τρεις ομάδες χρηστών χρηστών έχουν και τα τρία είδη δικαιωμάτων. Δηλαδή όλοι μπορούν να κάνουν Ανάγνωση(r) - Εγγραφή(w) - Εκτέλεση(x) σε αυτόν το φάκελο ή αρχείο.

Drwx-owner

Rwx-owner group

Rwx-users

Αν έχει παύλα στην αρχή δεν αυτό το δικαίωμα

Η πρώτη στήλη αποτελείται από 10 χαρακτήρες.

Ο πρώτος χαρακτήρας μας πληροφορεί για το αν πρόκειται για αρχείο ή κατάλογο (ένα - σημαίνει αρχείο κι ένα d σημαίνει κατάλογος).

Οι επόμενοι 9 χαρακτήρες δείχνουν τα δικαιώματα προσπέλασης (permissions) του αρχείου ή καταλόγου.

Τα δικαιώματα αυτά μπορεί να είναι:

α) δικαίωμα ανάγνωσης (read - συμβολίζεται με το γράμμα "r"),

β) δικαίωμα εγγραφής (write - συμβολίζεται με το γράμμα "w"),

γ) δικαίωμα εκτέλεσης (execute - συμβολίζεται με "x").

Οι 3 πρώτοι από τους 9 χαρακτήρες δείχνουν τα δικαιώματα του χρήστη που είναι ιδιοκτήτης του αρχείου ή καταλόγου και ο οποίος φαίνεται στην τρίτη στήλη.

Αν π.χ. έχει όλα τα δικαιώματα, οι χαρακτήρες αυτοί θα είναι "rwx", ενώ αν έχει μόνον δικαίωμα ανάγνωσης και εγγραφής, θα είναι "rw-".

Οι επόμενοι 3 χαρακτήρες δείχνουν τα δικαιώματα των χρηστών που ανήκουν στο group που εμφανίζεται στην τέταρτη στήλη.

Οι τελευταίοι 3 χαρακτήρες δείχνουν τα δικαιώματα των υπόλοιπων χρηστών (others)

80. Ποιο ρόλο επιτελεί το Λειτουργικό Σύστημα σε έναν υπολογιστή; Τι θα γινόταν αν δεν υπήρχε αυτό;

Ως λειτουργικό σύστημα (ΛΣ) χαρακτηρίζεται μία συλλογή βασικών προγραμμάτων, η οποία ελέγχει τη λειτουργία του υπολογιστή συνολικά και χρησιμοποιείται ως υπόβαθρο για την εκτέλεση όλων των υπόλοιπων προγραμμάτων, τη διαχείριση των περιφερειακών συσκευών και την εξασφάλιση της επικοινωνίας μεταξύ χρήστη και υπολογιστή. Στην πράξη πρόκειται για ένα επίπεδο λογισμικού που μεσολαβεί μεταξύ του υλικού και των εκτελούμενων προγραμμάτων σε έναν ηλεκτρονικό υπολογιστή. Αποτελείται από ένα σύνολο μηχανισμών μέσω των οποίων επιτυγχάνεται αυτόματη διαχείριση των πόρων ενός υπολογιστή και ελεγχόμενη κατανομή τους στις εκτελούμενες εφαρμογές, έτσι ώστε οι τελευταίες να είναι σε θέση να προσπελάσουν εύκολα τους πόρους και τις συσκευές του συστήματος χωρίς να χρειάζεται να γνωρίζουν με ακρίβεια τη δομή του υποκείμενου υλικού, αλλά και ώστε πολλαπλές εφαρμογές να μπορούν να εκτεχρονα χωρίς να έρχονται σε διένεξη μεταξύ τους ή με τον υπολογιστή. Αν δεν υπήρχε το λειτουργικό σύστημα τότε θα έπρεπε ο χρήστης, κάθε φορά που θέλει να χρησιμοποιήσει μια περιφερειακή συσκευή ή έναν πόρο ενός δικτύου ή ακόμα και ένα πρόγραμμα, να φορτώνει τα αντίστοιχα προγράμματα μόνος του στη μνήμη του υπολογιστή ή να υλοποιεί προγραμματιστικά προγραμματιστικά τις κατάλληλες κατάλληλες διασυνδέσεις. διασυνδέσεις. Κάτι τέτοιο συνέβαινε τη δεκαετία του '50 στους πρώτους υπολογιστές, όμως στις μέρες μας με την πληθώρα συσκευών και προγραμμάτων που χρησιμοποιούμε είναι κάτι ακατόρθωτο.

....Ένα λειτουργικό σύστημα είναι ένα πρόγραμμα το οποίο ελέγχει την εκτέλεση των προγραμμάτων-εφαρμογών και ενεργεί ως ενδιάμεσο μεταξύ των εφαρμογών και του υλικού μέρους του υπολογιστή. Αν δεν υπήρχε δεν θα μπορουσε να εκτελεί προγράμματα και διεργασίες.,Διαχειρίζεται μονάδες Ι/Ο.

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

81. Να αναφέρετε ονομαστικά τα κυριότερα μέρη ενός Λειτουργικού Συστήματος (ΛΣ).Τι γνωρίζετε για τον πυρήνα και το ρόλο του σε ένα ΛΣ;

Ένα Λειτουργικό Σύστημα αποτελείται από τα εξής στοιχεία: Α) Τον Πυρήνα (Kernel) Εάν το λειτουργικό σύστημα είναι ένας ενδιάμεσος μεταξύ του χρήστη και του υλικού, ο πυρήνας (Kernel) είναι το μέρος εκείνο που βρίσκεται πλησιέστερα στο υλικό. Επιτελεί δηλαδή τον ρόλο του ενδιάμεσου «κρίκου» μεταξύ του υλικού και του υπόλοιπου λειτουργικού συστήματος. Επειδή εξαρτάται από το υλικό, ένα μέρος του έχει γραφεί στη γλώσσα μηχανής που κατανοεί η ΚΜΕ του υπολογιστή. Είναι το πρόγραμμα που φορτώνεται πρώτο, όταν ξεκινάει η λειτουργία του υπολογιστικού συστήματος. Επίσης, με ειδικούς μηχανισμούς (σηματοφορείς, ουρές μηνυμάτων) ρυθμίζει την επικοινωνία και το συγχρονισμό μεταξύ των διεργασιών, τις οποίες και διανέμει στον ή στους κατάλληλους επεξεργαστές. Άλλωστε ο πυρήνας ονομάζεται και «ελεγκτής της κυκλοφορίας». Για παράδειγμα, αν δύο διεργασίες πρέπει να χρησιμοποιήσουν τον ίδιο πόρο -π.χ. να διαβάσουν ένα κοινό αρχείο- θα πρέπει να συντονίσουν την εκτέλεσή τους για να αποτραπεί εμπλοκή του συστήματος. H διαχείριση και επικοινωνία των διεργασιών είναι απαραίτητη, ώστε όλα τα προγράμματα να εκτελούνται και να τρέχουν τρέχουν «δίκαια». «δίκαια». Είναι ανεπιθύμητο ανεπιθύμητο το πρόγραμμα πρόγραμμα ενός χρήστη να εκτελείται με τρόπο που να παραμελούνται τα προγράμματα των άλλων χρηστών, οι οποίοι θα πρέπει να περιμένουν. Αντίθετα, κάποια προγράμματα -όπως π.χ. ο έλεγχος επικοινωνιών δικτύου απαιτείται να εκτελούνται συχνότερα ή κατά προτεραιότητα από άλλα. Τα ζητήματα αυτά τα αυτά τα αντιμετωπίζει ο πυρήνας του λειτουργικού. Β) Το Σύστημα Αρχείων (File System) Γ) Τον Διερμηνευτή Εντολών Διερμηνευτή Εντολών (Command Interperter (Command Interperter) ή Φλοιό (Shell) Οι υπηρεσίες που προσφέρουν αυτά τα στοιχεία είναι: • Έλεγχος και συντονισμός των διαδικασιών εισόδου, εξόδου και επεξεργασίας • Διαχειρίζονται την ΚΜΕ και τη μνήμη του Υπολογιστή • Ενεργοποιούν διάφορα προγράμματα (π.χ. τους μεταφραστές, προγράμματα οδήγησης) • Διαμοιράζουν τους πόρους (υλικό και λογισμικό) αν αυτοί χρησιμοποιούνται από διάφορους υπολογιστές (π.χ. Printer) • Δημιουργούν ένα φιλικό περιβάλλον επικοινωνίας ανάμεσα στο χρήστη και τον Η/Υ

Ένα Λ.Σ. αποτελείται από τα παρακάτω τμήματα:

α) Τον Πυρήνα (Kernel) Είναι το κυριότερο τμήμα ενός Λ.Σ. Το τμήμα αυτό φορτώνεται πρώτο στην κύρια μνήμη και εκτελείται συνέχεια καθ'ολη τη διάρκεια λειτουργίας του Η/Υ. Ο Πυρήνας είναι ο κύριος υπεύθυνος για τη συνεργασία του λογισμικού με το υλικό του Η/Υ.

β) Το Σύστημα Αρχείων : Είναι το τμήμα του Λ.Σ. που διαχειρίζεται τα αρχεία (ονοματοδοσία, καταχώρηση, ανάκτηση) και φροντίζει επίσης τη διάθεση τους στους χρήστες.

γ) Το Διερμηνευτή Εντολών(Command Interpreter) ή Φλοιό(shell). Είναι το τμήμα που αναλαμβάνει να δέχεται και να δίνει στο σύστημα του Η/Υ τις απαιτήσεις (εντολές) του χρήστη, καθώς επίσης μεταφέρει στο χρήστη μηνύματα από το σύστημα. Το τμήμα αυτό δημιουργεί το περιβάλλον επικοινωνίας χρήστη-υπολογιστή

Μέρη Λειτουργικού Συστήματος

Ποια είναι η δομή ενός λειτουργικού συστήματος ;

Ένα ΛΣ αποτελείται από τα παρακάτω τμήματα:

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

β) Τη διεπαφή χρήστη (user interface) : αναλαμβάνει να δέχεται και να δίνει στο σύστημα του υπολογιστή τα αιτήματα (εντολές) του χρήστη και επίσης να μεταφέρει στο χρήστη μηνύματα από το σύστημα. Το τμήμα αυτό δημιουργεί το περιβάλλον επικοινωνίας χρήστη - υπολογιστή και μπορεί να υλοποιηθεί με περιβάλλον γραμμής εντολών ή με γραφικό περιβάλλον ή και με τους δύο τρόπους.

γ) Το Σύστημα Αρχείων (File System) : διαχειρίζεται τα αρχεία (ονοματοδοσία, καταχώριση, ανάκτηση κ.λπ.) και φροντίζει επίσης για τη διάθεσή τους στους χρήστες,

δ) Τα βοηθητικά προγράμματα (Utilities) : βοηθούν στη διαχείριση του συστήματος.

82. Αναλύστε τι είναι το FTP, τι το HTTP και ποια η χρήση τους στο Διαδίκτυο.

Ο File Transfer Protocol (FTP), ( Πρωτόκολλο Αρχείων) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλo σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο TCP/IP (δίκτυα όπως internet ή intranet). Ο υπολογιστής που τρέχει εφαρμογή FTP client μόλις συνδεθεί με τον server μπορεί να εκτελέσει ένα πλήθος διεργασιών όπως ανέβασμα αρχείων στον server, κατέβασμα αρχείων από τον server, μετονομασία ή διαγραφή αρχείων από τον server κ.ο.κ. Το πρωτόκολλο είναι ένα ανοιχτό πρότυπο. Είναι δυνατό κάθε υπολογιστής που είναι συνδεδεμένος σε ένα δίκτυο, να διαχειρίζεται αρχεία σε ένα άλλο υπολογιστή του δικτύου, ακόμη και εάν ο δεύτερος διαθέτει διαφορετικό διαφορετικό λειτουργικό σύστημα. Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (HyperText Transfer Protocol, HTTP) είναι ένα πρωτόκολλο επικοινωνίας. Αποτελεί το κύριο πρωτόκολλο που χρησιμοποιείται στους φυλλομετρητές του Παγκοσμίου Ιστού για να μεταφέρει δεδομένα ανάμεσα σε έναν διακομιστή (server) και έναν πελάτη (client).

Το File Transfer Protocol (FTP) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο TCP/IP (δίκτυα όπως internet ή intranet). Ο υπολογιστής που τρέχει εφαρμογή FTP client μόλις συνδεθεί με τον server μπορεί να εκτελέσει ένα πλήθος διεργασιών όπως ανέβασμα αρχείων στον server, κατέβασμα αρχείων από τον server, μετονομασία ή διαγραφή αρχείων από τον server κ.ο.κ. Το πρωτόκολλο είναι ένα ανοιχτό πρότυπο. Είναι δυνατό κάθε υπολογιστής που είναι συνδεδεμένος σε ένα δίκτυο, να διαχειρίζεται αρχεία σε ένα άλλο υπολογιστή του δικτύου, ακόμη και εάν ο δεύτερος διαθέτει διαφορετικό λειτουργικό σύστημα.

Το HyperText Transfer Protocol - HTTP είναι ένα πρωτόκολλο επικοινωνίας. Αποτελεί το κύριο πρωτόκολλο που χρησιμοποιείται στους φυλλομετρητές του Παγκοσμίου Ιστού για να μεταφέρει δεδομένα ανάμεσα σε έναν διακομιστή (server) και έναν πελάτη (client). Υποστηρίζει τη μεταφορά εκτός από κείμενο, φωτογραφιών, animation,κλπ.

 To FTP(file transfer protocol) είναι ένα πρωτόκολλο μεταφοράς αρχείων, μέσω του οποίου συνδεόμαστε σε κάποιο λογαριασμό και έχουμε τη δυνατότητα να μεταφέρουμε και να διαχειριστούμε αρχεία που βρίσκονται σε κάποιον απομακρυσμένο υπολογιστή.

 Το Hypertext Transfer Protocol(HTTP) είναι πρωτόκολλο που χρησιμοποιείται για τη μεταφορά πληροφοριών στο World Wide Web. Μια διεύθυνση HTTP(ένα είδος Uniform Resource Locator(URL) έχει τη μορφή: https://www.edu.ellak.gr/ 

83 Να δώσετε τους ορισμούς για τα τρία είδη επικοινωνίας: απλή (simplex), αμφίδρομη μη ταυτόχρονη (half duplex) και αμφίδρομη ταυτόχρονη (full duplex). Ποιες είναι οι ομοιότητες και ποιες οι διαφορές τους;

Στη μονόδρομη μετάδοση η πληροφορία μεταφέρεται μόνο προς τη μία κατεύθυνση. Η ροή των δεδομένων είναι από τον πομπό προς το δέκτη και δεν μπορεί να αντιστραφεί. Τυπικά παραδείγματα μονόδρομης μετάδοσης είναι η αποστολή δεδομένων στον εκτυπωτή, η ραδιοφωνική εκπομπή, η τηλεοπτική εκπομπή, η αποστολή δεδομένων σε συστήματα καταγραφής (logging system) κλπ. Μη ταυτόχρονη αμφίδρομη μετάδοση (Half Duplex) Στην περίπτωση αυτή, η ροή της πληροφορίας είναι είτε προς τη μία είτε προς την άλλη κατεύθυνση, αλλά όχι ταυτόχρονα. Κάποια χρονική στιγμή t0 τα δεδομένα κινούνται από τον υπολογιστή Α προς τον υπολογιστή Β. Μια επόμενη χρονική στιγμή Γ, η ροή των δεδομένων είναι από τον υπολογιστή Β προς τον Α. Η μη ταυτόχρονη αμφίδρομη μετάδοση είναι ευρύτατα χρησιμοποιούμενη. 0 χρόνος καθυστέρησης για την αλλαγή της κατεύθυνσης ροής των δεδομένων ονομάζεται turnaround t ν δεδομένων ονομάζεται turnaround time. Αμφίδρομη μετάδοση (Full D Αμφίδρομη μετάδοση (Full Duplex) Σ' αυτή τη μορφή της επικοινωνίας η πληροφορία κινείται ταυτόχρονα και προς τις δύο κατευθύνσεις. Δηλαδή, την ίδια χρονική στιγμή ο σταθμός λαμβάνει δεδομένα και συγχρόνως εκπέμπει δεδομένα. Σε ορισμένες περιπτώσεις υπάρχουν διαφορετικά κυκλώματα λήψης και εκπομπής. Σε άλλες περιπτώσεις δημιουργούνται λογικά κανάλια (για λήψη και εκπομπή) στο ίδιο μέσο μετάδοσης. Η αμφίδρομη μετάδοση είναι ευρύτατα διαδεδομένη στην επικοινωνία υπολογιστικών συστημάτων. Φυσικά, στην αμφίδρομη μετάδοση δεν υπάρχει χρονική καθυστέρηση για αλλαγή της κατεύθυνσης ροής των δεδομένων.

1.Μετάδοση μιας κατεύθυνσης ή μονόδρομη (Simplex)

Σε αυτή τη μετάδοση τα δεδομένα μεταφέρονται προς μία κατεύθυνση (δηλ. η φορά των δεδομένων δεν μπορεί να αντιστραφεί )πχ αποστολή data από Η/Υ σε εκτυπωτή.

Simplex

Η/Υ(πομπός) (εκτυπωτής δέκτης)

Εσωτ.modem

2.Μετάδοση διπλής εναλλακτικής κατεύθυνσης (Half Duplex)

Σε αυτή τη μετάδοση τα δεδομένα μεταφέρονται είτε προς τη μία κατεύθυνση είτε προς την άλλη. Δηλαδή στέλνει ο πομπός στον δέκτη είτε στη κατεύθυνση είτε στην άλλη.

Σε αυτή τη μετάδοση απαιτείται έλεγχος του μέσου μετάδοσης για την αποφυγή ταυτόχρονής αποστολής δεδομένων και από τους 2 σταθμούς. Η μετάδοση αυτή χρησιμοποιείται για επικοινωνία Η/Υ με τερματικό

Η/Υ Η/Υ(τερματικό)

Half Duplex

3.Ταυτόχρονη μετάδοση διπλής κατεύθυνσης (Full Duplex )

Σε αυτή τη μετάδοση τα δεδομένα μεταδίδονται ταυτόχρονα και προς τις 2 κατευθύνσεις Δηλ. οι 2 σταθμοί στέλνουν και λαμβάνουν τα δεδομένα ταυτόχρονα χρησιμοποιώντας 2 γραμμές. Η επικοινωνία αυτή χρησιμοποιείται για επικοινωνία Η/Υ.

H/Y H/Y 

84. Να εξηγήσετε πώς λειτουργούν οι υπηρεσίες με σύνδεση (connection oriented services) και πώς οι υπηρεσίες χωρίς σύνδεση (connectionless services). Να δώσετε από ένα αντιπροσωπευτικό παράδειγμα για τον κάθε τύπο υπηρεσίας.

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

Λογισμικό δικτύων pppt             Επικοινωνίες δεδομένων ερωτήσεις-απαντήσεις

Connection oriented services: Δημιουργείται σύνδεση πριν από τη μετάδοση των δεδομένων τα οποία τοποθετούνται στο ένα άκρο της σύνδεσης και λαμβάνονται στο άλλο άκρο της σύνδεσης με την ίδια ακριβώς σειρά που τοποθετήθηκαν. Connectionless services: Κάθα πακέτο μεταφέρει την πλήρη διεύθυνση προορισμού και δρομολογείται μέσα στο δίκτυο ανεξάρτητα από τα υπόλοιπα. 

85 Να δώσετε ορισμό της έννοιας "μεταγωγή πακέτου". Να περιγράψετε τις 2 μεθόδους προώθησης πακέτων.

Αποτελεί παραλλαγή μηνύματος. Η πληροφορία τεμαχίζεται σε περισσότερα του ενός πακέτου μετά πακέτου μετάδοσης. Εμφανίζεται με δύο παραλλαγές στην τεχνική:

1. Χρήση αυτοδύναμου πακέτου (datagram).Οι ενδιάμεσοι κόμβοι ανταλλάσουν κατάλληλα τα πακέτα που δρομολογούνται, ώστε αυτά να φτάσουν στον προορισμό τους έστω και από διαφορετικούς δρόμους. Δεν έχει αξιοπιστία (πχ. χρήση UDP πρωτοκόλλου).

2. Χρήση νοητού κυκλώματος (VC). Αποτελεί µια προδιαγραμμένη νοητή διαδρομή που ακολουθούν τα πακέτα μέσα σε ένα δίκτυο για να φτάσουν στον προ ουν στον προορισμό τους.

Η μεταγωγή πακέτου (packet switching) είναι μια τεχνική, που χρησιμοποιείται σε δίκτυα επικοινωνίας, με σκοπό να προωθηθεί μια πληροφορία από ένα πομπό σε ένα δέκτη. Στη μεταγωγή πακέτου τα προς μετάδοση μηνύματα τεμαχίζονται σε πακέτα μικρού αριθμού bytes. Τυπικό μέγιστο μήκος πακέτου είναι τα 1000 bytes. Κάθε πακέτο περιέχει τμήμα της ωφέλιμης πληροφορίας του χρήστη και επιπλέον μια διεύθυνση προορισμού (destination address) και ένα αριθμό σειράς (seqυence nυmber). Κάθε κόμβος του δικτύου, που λέγεται και κόμβος μεταγωγής πακέτου (Packet Switching Node, PSN), χρησιμοποιεί τη διεύθυνση προορισμού του πακέτου, για να αποφασίσει σε ποιον κόμβο θα το προωθήσει. Οι αριθμοί σειράς των πακέτων χρησιμοποιούνται από το σταθμό προορισμού, για να επανακατασκευάσει το αρχικό μήνυμα από τα κομμάτια που, που έχει λάβει μέσα στα πακέτα.

1. Τα προς μετάδοση μηνύματα τεμαχίζονται σε πακέτα μικρού αριθμού bytes. Μέγιστο μήκος 1000 bytes. 

 2. Κάθε πακέτο περιέχει διεύθυνση προορισμού, αριθμό σειράς. 

3. Κάθε κόμβος λέγεται κόμβος μεταγωγής πακέτου (PSN Packet Switcing Node)

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

 Οι δύο μέθοδοι μεταγωγής πακέτου

Αυτοδύναμο Πακέτο Κάθε πακέτο ακολουθεί τον δικό του δρόμο. Η επιλογή του δρόμου εξαρτάται από τον αριθμό των πακέτων 

Νοητό κύκλωμα Πριν αρχίσει η ανταλλαγή επιλέγεται η καλύτερη διαδρομή. Αυτή η διαδρομή ακολουθούν όλα τα πακέτα από την έναρξη έως τον τερματισμό. Δίκτυα Hellaspac   

Τεχνολογία Δικτύων Υπολογιστών 

86. Τι είναι η τεχνική Frame Relay και ποιες ανάγκες καλύπτει;

Το Frame Relay, είναι σύγχρονη τεχνολογία γρήγορης μεταγωγής πακέτων μεταβλητού μεγέθους. Σε αυτή την τεχνολογία έχουν αφαιρεθεί αρκετές λειτουργίες ελέγχου οι οποίες δεν είναι απαραίτητες σε αξιόπιστο και ασφαλές ψηφιακό περιβάλλον. Επίσης, έχει προδιαγραφεί η διεπαφή μεταξύ τερματικής συσκευής (DTE) και δικτύου (DCE). Τα δίκτυα τεχνολογίας Frame Relay είναι αρκετά δημοφιλή γιατί εκτελούν πολύ πιο γρήγορα από άλλα συστήματα μεταγωγής πακέτου βασικές λειτουργίες προώθησης πακέτων. Αυτό συμβαίνει επειδή με τη χρήση μόνιμων νοητών κυκλωμάτων είναι εκ των προ εκ των προτέρων καθορισμένη η διαδρομή που θα ακολουθήσουν τα πακέτα μιας σύνδεσης από άκρη σε άκρη. Δεν είναι ανάγκη να υπάρχουν συσκευές που να τεμαχίζουν και να επανασυναρμολογούν τα πακέτα ή να αποφασίζουν για την καλύτερη για την καλύτερη δια δρομή. Επίσης, τα δίκτυα Frame Relay είναι δυνατό να παρέχουν στους χρήστες τους εύρος ζώνης ανάλογα με τις ανάγκες τους. Υποστηρίζουν ταχύτητες από 64 Kbps έως 2,048 Mbps. Η τιμολόγηση της χρήσης του δικτύου Frame Relay εξαρτάται από το επιθυμητό εύρος ζώνης. Για την πρόσβαση τοπικού δικτύου σε δίκτυο Frame Relay απαιτείται μισθωμένη ψηφιακή γραμμή για τη σύνδεση με τον πλησιέστερο κόμβο, δρομολογητής με κάρτα Frame Relay και συσκευή CSU/DSU για τον μετασχηματισμό του ψηφιακού σήματος.Η υπηρεσία Frame Relay είναι οικονομικότερη από τη χρήση αφιερωμένων γραμμών, όταν πρόκειται να διασυνδεθούν αρκετά τοπικά δίκτυα σε πολλές απομακρυσμένες περιοχές. Απαιτείται λιγότερο υλικό στα κεντρικά γραφεία του χρήστη- πελάτη της υπηρεσίας, αφού αρκεί μία μόνο γραμμή Ε1/Τ1 (μεταξύ του πελάτη και του παροχέα παροχέα της υπηρεσίας) για το σύνολο των απαιτούμενων γραμμών. Ακόμη, ο φορέας της υπηρεσίας είναι υπεύθυνος για τη διαχείριση και καλή λειτουργία του δικτύου Frame Relay, αντίθετα με τις αφιερωμένες γραμμές, όπου υπεύθυνος είναι ο χρήστης-πελάτης.

Το Frame relay είναι μια τεχνολογία δικτύου ευρείας περιοχής που καθορίζει τα φυσικά επίπεδα και τα στρώματα ζεύξης δεδομένων των ψηφιακών τηλεπικοινωνιακών καναλιών, χρησιμοποιώντας μια μεθοδολογία μεταγωγής πακέτων. Οι πάροχοι δικτύου χρησιμοποιούν συνήθως το Frame Relay για μετάδοση φωνής (VoFR) και δεδομένων μεταξύ τοπικών δικτύων (LAN) σε ένα δίκτυο ευρείας περιοχής (WAN). Κάθε τελικός χρήστης αποκτά μια ιδιωτική γραμμή (ή μισθωμένη γραμμή) σε έναν κόμβο αναμετάδοσης πλαισίου. Το δίκτυο Relay Frame χειρίζεται τη μετάδοση μέσω μιας διαδρομής που αλλάζει συχνά και είναι διαφανής σε όλα τα πρωτόκολλα WAN που χρησιμοποιούνται σε μεγάλο βαθμό από τον τελικό χρήστη. Είναι λιγότερο ακριβό από τις μισθωμένες γραμμές και αυτό είναι ένας λόγος για τη δημοτικότητά του. 

87. Τι ονομάζουμε επικοινωνία δεδομένων;

Μετάδοση δεδομένων, είναι η φυσική μεταφορά των δεδομένων σε απόσταση (ψηφιακή ροή bit) από σημείο προς-σημείο ή από σημείο σε πολλά σημεία (point-to-multipoint) χρησιμοποιώντας ένα μέσο μετάδοσης.

Παραδείγματα τέτοιων μέσων μετάδοσης είναι σύρματα χαλκού, οπτικές ίνες, ασύρματα μέσα επικοινωνίας, και μέσα αποθήκευσης. Τα δεδομένα μεταφέρονται χρησιμοποιώντας είτε ακτινοβολία, ηλεκτρικά σήματα (μεταβολές τάσης), ραδιοκύματα, μικροκύματα ή υπέρυθρη ακτινοβολία Το είδος δεδομένων που μπορούν να μεταδοθούν μπορεί να ανήκουν σε συνεχόμενο πεδίο τιμών - να είναι δηλαδή αναλογικά σήματα, είτε να έχουν διακριτές τιμές, να είναι ψηφιακά σήματα.

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

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

88. Ποια είναι τα κύρια στοιχεία μετάδοσης των δεδομένων;

Έχουμε την Σειριακή Μετάδοση. Εδώ τα bit στέλνονται το ένα μετά το άλλο μέσα από το κανάλι (μέσο)μετάδοσης. Έχουμε την Παράλληλη Μετάδοση. Εδώ τα bit αποστέλλονται ταυτόχρονα (ομαδικά), (ομαδικά), μέσα από πολλαπλά κανάλια μετάδοσης. Έχουμε την Ασύγχρονη Μετάδοση. Εδώ τα δεδομένα που αποστέλλονται έχουν την την μορφή χαρακτήρων. Τέλος έχουμε την Σύγχρονη Μετάδοση. Εδώ οι οι χαρακτήρες ομαδοποιούνται σε blocks.

 Πηγή: Παράγει τα δεδομένα προς μετάδοση  Πομπός: Μετατρέπει τα δεδομένα σε κατάλληλη μορφή προς μεταφορά (κωδικοποίηση - encoding)  Σύστημα μετάδοσης: Μπορεί να είναι ένας απλός τύπος καλωδίου ή ένα πολύπλοκο δίκτυο.  Δέκτης: Λαμβάνει τα εισερχόμενα δεδομένα και τα μετατρέπει σε κατανοητή μορδή (αποκωδικοποίηση)  Προορισμός: Λήπτης των δεδομένων

89. Ποιους βασικούς τύπους καλωδίων συνεστραμμένων ζευγών γνωρίζετε και ποιες είναι οι διαφορές τους;

UTP: Αθωράκιστο καλώδιο συνεστραμμένων ζευγών. Αποτελείται από 4 ζεύγη συνεστραμμένων αγωγών που καλύπτονται μόνο από μονωτικό περίβλημα (εσωτερικό και εξωτερικό). εξωτερικό).

FTP: Θωρακισμένο με φύλλο αλουμινίου. Εδώ τα 4 ζεύγη αγωγών θωρακίζονται με φύλλο αλουμινίου κάτω από το εξωτερικό περίβλημα.

STP: Θωρακισμένο με STP: Θωρακισμένο με μεταλλικό πλέγμα. μεταλλικό πλέγμα. Eδώ κάτω από το Eδώ κάτω από το εξωτερικό περίβλημα υπάρχει μπλεντα εξωτερικό περίβλημα υπάρχει μπλενταζ χαλκού ζ χαλκού για τη θωράκιση του καλωδίου

SFTP: Θωρακισμένο με μεταλλικό πλέγμα + με φύλλο αλουμινίου.

SSTP: Θωράκιση πλέγματος συνολικά και θωράκιση αλουμινίου σε κάθε ζεύγος.

 UTP (unshielded twisted pair): Το TP σημαίνει Twisted Pair, δηλαδή τα καλώδια είναι χωρισμένα σε 4 ζεύγη τα οποία είναι πλεγμένα μεταξύ τους ώστε να μειώνονται οι παρεμβολές. Το U σημαίνει unshielded δηλαδή δεν υπάρχει καμία θωράκιση. Συνεπώς υπάρχει μόνο το εξωτερικό προστατευτικό και η μόνωση στο κάθε καλωδιάκι αλλά τίποτα άλλο. Είναι κατάλληλο για καλωδίωση δικτύων μέχρι ένα GBps, αλλά όχι για τα δίκτυα 10ΜΒ σε περίπτωση μεγάλων αποστάσεων.  FTP: θωρακισμένο με φύλλο αλουμινίου. Εδώ τα 4 ζεύγη αγωγών θωρακίζονται με φύλλο αλουμινίου κάτω από το εξωτερικό περίβλημα.  STP: θωρακισμένο με μεταλλικό πλέγμα. Εδώ κάτω από το εξωτερικό περίβλημα υπάρχει μπλενταζ χαλκού για τη θωράκιση του καλωδίου  SFTP: θωρακισμένο με πλέγμα αλλά και με φύλλο αλουμινίου.  SSTP: θωράκιση πλέγματος συνολικά και θωράκιση αλουμινίου σε κάθε ζεύγος..

UTP (Unshielded Twisted Pair - Αθωράκιστο Συνεστραμμένο Ζεύγος): Το πιο συνηθισμένο για τηλεφωνικό δίκτυο, για δίκτυα σχολικών εργαστηρίων, για δίκτυο στο σπίτι. Δεν παρέχει καμιά προστασία από θορύβους αλλά είναι το πιο πρακτικό. STP (Shielded Twisted Pair - Θωρακισμένο Συνεστραμμένο Ζεύγος): Ενίσχυση στο θόρυβο και στις παρεμβολές. FTP (Foiled Twisted Pair): Αθωράκιστο κι επικαλούμενο με μεταλλικά φύλλα. SFTP (Shielded Foiled Twisted Pair): Θωρακισμένο κι επικαλούμενο με μεταλλικά φύλλα.

90. Ποιες είναι οι βασικές αιτίες θορύβου στην επικοινωνία δεδομένων;

Ηλεκτροµαγνητικές παρεµβολές από γραµµές τροφοδοσίας συσκευών

Παρεμβολές ραδιοσυχνοτήτων από έντονα ηλεκτρομαγνητικά πεδία κεραιών εκποµπής

Ενδογενής θόρυβος από ατέλειες των συστηµάτων μετάδοσης

Θόρυβος στις επικοινωνίες είναι η παρουσία τυχαίων, απρόβλεπτων, και ανεπιθύμητων παρεμβολών, που μπορεί να συγκαλύψουν το μεταδιδόμενο σήμα πληροφοριών κατά την λήψη και αναπαραγωγή του. Αιτίες θορύβου:  Εξωτερικός Θόρυβος (external noise) o Ηλεκτρομαγνητικές συσκευές που βρίσκονται κοντά στο σύστημα επικοινωνίας , όπως είναι για παράδειγμα κεραίες, radar, κλπ o Ατμοσφαιρικά φαινόμενα, όπως είναι για παράδειγμα οι κεραυνοί, οι οποίοι χαρακτηρίζονται από τη δημιουργία έντονου ηλεκτρικού ή ηλεκτρομαγνητικού πεδίου, που επηρεάζει τη μετάδοση των δεδομένων  Eσωτερικός θόρυβος (internal noise): Έχει ως αίτιο δημιουργίας του, το ίδιο το μέσο μετάδοσης.  

91. Να αναφέρετε τα Αναλογικά Σήματα με τα χαρακτηριστικά τους.

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

92. Να αναφέρετε τα Ψηφιακά Σήματα με τα χαρακτηριστικά τους.

Ψηφιακά είναι τα σήματα που λαμβάνουν μόνο διακριτές (συγκεκριμένες) τιμές στη διάρκεια του χρόνου. Το ψηφιακό σήμα ορίζεται σαν συνάρτηση του χρόνου που μπορεί να παίρνει τιμές από συγκεκριμένο σύνολο τιμών. Στο δυαδικό ψηφιακό σήμα μπορεί να παίρνει 2 τιμές. 

93. Σε ποια περίπτωση απαιτείται η μετατροπή του ψηφιακού σήματος σε αναλογικό και το αντίστροφο;

Το σήμα του Η/Υ είναι ψηφιακό. Το σήμα στις γραμμές του ΟΤΕ είναι αναλογικό. Από τον πομπό στο δέκτη χρειάζεται το σήμα να περάσει από τις τηλεφωνικές γραμμές του ΟΤΕ και να καταλήξει πάλι στον Η/Υ του παραλήπτη. Γι' αυτό χρειάζεται η μετατροπή του ψηφιακού σήματος σε αναλογικό και στο τέλος η επαναμετατροπή του αναλογικού σήματος σε ψηφιακό. Αυτή τη δουλειά κάνει το MODEM (Modulator - Demodulator / Διαπ Demodulator / Διαποδιαμορφωτής)

Οι Η/Υ μπορούν να ανταλλάξουν δεδομένα μέσω αναλογικού τηλεφωνικού δικτύου, μετατρέποντας το ψηφιακό σήμα σε αναλογικό (modulation). Το σήμα μεταφέρεται μέσω των τηλεφωνικών γραμμών στον προορισμό του. Προκειμένου να γίνει κατανοητό από τον Η/Υ πρέπει να επανέλθει στην αρχική ψηφιακή του μορφή Η διαδικασία μετατροπής του αναλογικού σήματος σε ψηφιακό, ονομάζεται αποδιαμόρφωση σήματος (demodulation) 

94. Ποιες είναι οι βασικές διαφορές σύγχρονης και ασύγχρονης μετάδοσης δεδομένων;

1.Στην ασύγχρονη μετάδοση οι χαρακτήρες μεταδίδονται ανεξάρτητα ο ένας από τον άλλο, ενώ στην σύγχρονη οι χαρακτήρες ομαδοποιούνται σε Block. 2. Η σύγχρονη μετάδοση συνοδεύεται από ένα σήμα χρονισμού που συνοδεύει την Data και το λέμε Clock. 3. Στην σύγχρονη μετάδοση δεν υπάρχει κενός χρόνος (IDLE) μεταξύ του τελευταίου Bit και του επόμενου πρώτου Bit, όπως υπάρχει στην σύγχρονη. 

95. Ποιες είναι οι διαφορές μεταγωγής μηνύματος και μεταγωγής πακέτων;

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

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

96. Πώς ανταλλάσσουν τα δεδομένα ένας πομπός και ένας δέκτης, σε συνάρτηση με το χρόνο; Δώστε ένα παράδειγμα.

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

a. SIMPLEX (Μονής Κατεύθυνσης) κατά τον οποίο οι πληροφορίες κινούνται μόνιμα προς μια κατεύθυνση. Δηλαδή η μία μεριά συνεχώς εκπέμπει και η άλλη συνεχώς λαμβάνει. b. HALF DUPLEX (Αμφίδρομη Επικοινωνία). Η αποστολή δεδομένων γίνεται είτε προς τη μία ,είτε προς την άλλη μεριά όχι όμως ταυτόχρονα. c. FULL DUPLEX ( Ταυτόχρονη Επικοινωνία). Τα δεδομένα μεταδίδονται ταυτόχρονα και προς τις δύο κατευθύνσεις. 

97. Ποια ετικέτα θα χρησιμοποιήσω για να κάνω τη λέξη Επικοινωνία σύνδεσμο για την αποστολή μηνυμάτων μέσω ηλεκτρονικού ταχυδρομείου στην ηλεκτρονική διεύθυνση webmaster@test.gr ;

<a href="webmaster@test.gr">Επικοινωνία</a>

........................

<address>

<a href="mailto : webmaster@test.gr">Επικοινωνία<a/> εισάγει email σύνδεσμο στη λέξη Επικοινωνία.

</address>

(το address δεν είναι απαραίτητο)

ή

<!DOCTYPE html>

<html>

<body>

<address>

Written by <a href="mailto:webmaster@example.com">Jon Doe</a>.<br>

Visit us at:<br>

Example.com<br>

Box 564, Disneyland<br>

USA

</address>

</body>

</html>

98. Τι θα εμφανίσει ο παρακάτω κώδικας:<HTML> <HEAD> <TITLE> Άσκηση </TITLE> <SCRIPT LANGUAGE="JavaScript"> window.alert ("Αυτό είναι το μήνυμα 1");

Ο εν λόγω κώδικας θα ανοίξει μια σελίδα ενός φυλλομετρητή (browser), όπου θα τοποθετήσει στη γραμμή τίτλου τη λέξη «Άσκηση» και αυτόματα θα εμφανίσει ένα pop-up παράθυρο που θα γράφει «Αυτό είναι το μήνυμα1».

Θα εμφανιστει σελιδα με τίτλο Άσκηση και θα ανοίγει παράθυρο με "Αυτό είναι το μηνυμα 1". 

99. Πώς εισάγουμε γραφικά με την HTML; Πρέπει το "αρχείο γραφικού" να βρίσκεται στο ίδιο σύστημα ή μπορεί να είναι εξωτερικό; Τι επιτυγχάνουν οι παράμετροι ALIGN, HEIGHT, WIDTH, CAPTION;

Για την παρουσίαση ενός γραφικού αρχείου σε μία ιστοσελίδα χρησιμοποιείται η ετικέτα . Η ετικέτα αυτή περιέχει πάντα την παράμετρο SRC= "μονοπάτι/αρχείο εικόνας”, η οποία και δηλώνει το μονοπάτι όπου είναι αποθηκευμένη η εικόνα, καθώς και το αρχείο ψηφιακής εικόνας που θα χρησιμοποιηθεί.  Οι παράμετροι width και height ορίζουν τις διαστάσεις της εικόνας σε pixels. Συνήθως ταυτίζονται με τις πραγματικές διαστάσεις της εικόνας. Όμως αν χρειάζεται η εικόνα να εμφανιστεί με μικρότερες ή μεγαλύτερες διαστάσεις προσαρμόζονται ανάλογα οι ιδιότητες width και height. Η παράμετρος align Καθορίζει την στοίχιση της εικόνας με το κείμενο που είναι δίπλα σε αυτήν. Οι τιμές που μπορεί να πάρει είναι οι εξής: baseline, top, middle, bottom, absmiddle, absbottom, left, right. Με την παράμετρο caption τοποθετούμε λεζάντα στο γραφικό μας αρχείο.

....Η ετικέτα εισαγωγής εικόνων είναι η img. Στην ετικέτα εκτός από το όνομα της εικόνας που εισάγεται με το όρισμα src υπάρχουν και άλλα ορίσματα. Οι εικόνες μπορεί να είναι και εξωτερικές και γίνεται αναφορά σε αυτές μέσω της διευθύνσεως τους π.χ. hhtp://www.oeek.gr/pic1.gif.  … : το θέμα(τίτλος) της εικόνας.  Align : αφορά τη στοίχιση της εικόνας σε σχέση με το κείμενο. Η στοίχιση μπορεί να είναι δεξιά,αριστερά, στο κέντρο, επάνω και κάτω.  Height , Width: Τα ορίσματα Height και Width αναφέρονται στο ύψος και στο πλάτος της εικόνας αντίστοιχα. Smiley face The  tag defines an image in an HTML page. The  tag has two required attributes: src and alt. Note: Images are not technically inserted into an HTML page, images are linked to HTML pages. The  tag creates a holding space for the referenced image.

100. Με ποιούς τρόπους μπορούμε να εισάγουμε κείμενο σε μια ιστοσελίδα; (Αναφέρατε τουλάχιστον δύο τρόπους).

Γράφοντας απευθείας από το πληκτρολόγιο στο επίπεδο του <body> ή κάνοντας αντιγραφή από κάποιο άλλο έγγραφο και επικόλληση στην ιστοσελίδα που μας ενδιαφέρει. 

Εισαγωγή στην HTML και τα CSS 

Εισαγωγή κειµένου.

Για να εισάγετε κείµενο σε µία σελίδα html, αρκεί να χρησιµοποιήσετε το tag <p> (ή απλά να πληκτρολογήσετε το κείµενo).

∆ηλαδή:

<p> Εισάγετε το κείµενο σας εδώ </p>

<p> Και να συνεχίσετε εδώ</p>

Σηµειώνεται πως το tag <p> δηµιουργεί παραγράφους µε µία κενή γραµµή ανάµεσα σε αυτές. Στο παραπάνω παράδειγµα το αποτέλεσµα σε µία ιστοσελίδα θα ήταν:

Εισάγετε το κείµενο σας εδώ

Και να συνεχίσετε εδώ

Αν θέλουµε το αποτέλεσµα να µην είναι αυτό που φαίνεται παραπάνω, αλλά απλά να συνεχίζει το κείµενο στην αµέσως επόµενη γραµµή, π.χ.

Κείµενο

Χωρίς κενή γραµµή ανάµεσα.

Τότε, θα έπρεπε να χρησιµοποιηθεί το tag <br> (το tag br δεν κλείνει, δηλαδή δεν υπάρχει το </br>). Ο κώδικάς µας, θα ήταν:

<p>Κείµενο<br>Χωρίς κενή γραµµή ανάµεσα.</p>

Επίσης το tag <p> παίρνει την παράµετρο align µε τιµές left ή right ή center ή justify (π.χ.

<p align="center">) που αφορούν στη στοίχιση του κειµένου.

Υπάρχουν περιπτώσεις στις οποίες µπορεί να µην χρησιµοποιήσουµε το tag <p> για να εισάγουµε κείµενο παρά µόνο να γράψουµε το κείµενο ως έχει µέσα στον κώδικα. Σε αυτές τις περιπτώσεις για να στοιχίσουµε το κείµενό µας χρησιµοποιούµε το tag <div> µε τις παραµέτρους που αναφέρθηκαν παραπάνω και το οποίο επίσης  κλείνει µόλις εισαχθεί το περιεχόµενο. Π.χ. <div align="right">Κείµενο</div

101. Εξηγήστε τι λειτουργίες εκτελούν οι παρακάτω HTML εντολές/παράμετροι (όταν αναφέρονται σε HTML πίνακες) <CAPTION>, <TH>, COLSPAN, ROWSPAN, ALIGN, VALIGN.

<CAPTION>: Μας δίνει τη δυνατότητα να τοποθετήσουμε λεζάντα στο πίνακά μας.

<TH>: ορίζουμε επικεφαλίδες στον πίνακα. Το κείμενο που βρίσκετε μέσα στις ετικέτες <th> και </th> εμφανίζεται με bold χαρακτήρες.

COLSPAN : Δημιουργεί συγχώνευση στηλών.

ROWSPAN : Δημιουργεί συγχώνευση γραμμών.

ALIGN: Καθορίζει την στοίχιση των δεδομένων ενός κελιού ή μιας στήλης ενός πίνακα.

VALIGN: Δημιουργεί κάθετη στοίχιση των δεδομένων ενός κελιού ή μιας στήλης ενός πίνακα.

....<table>

<caption>Monthly savings</caption>

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>$100</td>

</tr>

</table>

 <caption>...</caption> : το θέμα(τίτλος) του πίνακα.

 <ΤΗ>...</ΤΗ> : ορίζει επικεφαλίδες σε πίνακα.

 < COLSPAN>: χρησιμοποιείται για να ορίσουμε το κελί ενός πίνακα να έχει μεγαλύτερο μέγεθος από μια στήλη, π.χ. COLSPAN=2. Είναι όρισμα του <TD> ή του <ΤΗ>.

 ROWSPAN : χρησιμοποιείται για να ορίσουμε το κελί ενός πίνακα να έχει μεγαλύτερο μέγεθος από μια

Μια γραμμή, π.χ. ROWSPAN=2. Είναι όρισμα του <TD> ή του <ΤΗ>.

 ALIGN : Αφορά τη στοίχιση του κειμένου. Έχουμε τη δυνατότητα να στοιχίσουμε ένα κείμενο δεξιά,αριστερά ή στο κέντρο.

 VALIGN: αφορά την κάθετη στοίχιση κειμένου. VALIGN=TOP, VALIGN=MIDDLE(μέση), VALIGN=ΒΟΤΤΟΜ.

 Use the HTML <table> element to define a table

 Use the HTML <tr> element to define a table row

 Use the HTML <td> element to define a table data

 Use the HTML <th> element to define a table heading

 Use the HTML <caption> element to define a table caption

 Use the CSS border property to define a border

 Use the CSS border-collapse property to collapse cell borders

 Use the CSS padding property to add padding to cells

 Use the CSS text-align property to align cell text

 Use the CSS border-spacing property to set the spacing between cells

 Use the colspan attribute to make a cell span many columns

 Use the rowspan attribute to make a cell span many rows

 Use the id attribute to uniquely define one table

102. Τί είναι οι σημάνσεις επικεφαλίδας; Ποιό είναι, ως προεπιλογή, το μεγαλύτερο μέγεθος επικεφαλίδας; Το Heading 1 ή το Heading 6;

Οι HTML επικεφαλίδες είναι κείμενο που εμφανίζεται με μεγάλα γράμματα και χρησιμοποιούνται για την μορφοποίηση κειμένου. Οι επικεφαλίδες ορίζονται από τις ετικέτες <h1> , <h2> , <h3> , <h4> , <h5> και <h6> . Με την <h1> ορίζουμε την μεγαλύτερη ετικέτα ενώ με την <h6> την μικρότερη.

Σχεδιασμός WEB και Παραγωγή Ψηφιακού Περιεχομένου

Το HTML έχει 6 επικεφαλίδες- headings : <h1>, <h2>,<h3>,<h4>,<h5> και <h6>

Οι διάφορες επικεφαλίδες έχουν διαφορετική σημασία και διαφορετικό μέγεθος.

Η <h1> είναι η μεγαλύτερη και πιο σημαντική επικεφαλίδα ενώ η <h6> είναι η μικρότερη και λιγότερο σημαντική.

Έτσι η σειρά είναι: <h1> > <h2> > <h3> > <h4> > <h5> > <h6>.

Είναι σημαντικό να χρησιμοποιείτε τις επικεφαλίδες για να δομείτε το έγγραφο. Για παράδειγμα, η κύρια επικεφαλίδα πρέπει να είναι μέσα σε ένα <h1> tag, ένας τίτλος σε <h2> tag και ένας υπότιτλός σε <h3> tag 

This is heading 1

This is heading 2

This is heading 3

This is heading 4

This is heading 5

This is heading 6

Headings are defined with the <h1> to <h6> tags.

<h1> defines the most important heading. <h6> defines the least important heading.

<h1>This is heading 1</h1>

<h2>This is heading 2</h2>

<h3>This is heading 3</h3>

<h4>This is heading 4</h4>

<h5>This is heading 5</h5>

<h6>This is heading 6</h6>

Search engines use the headings to index the structure and content of your web pages.

Users skim your pages by its headings. It is important to use headings to show the document structure.

<h1> headings should be used for main headings, followed by <h2> headings, then the less important <h3>, and so on.

Note: Use HTML headings for headings only. Don't use headings to make text BIG or bold. 

103. Αναφέρατε δύο τεχνολογίες κατασκευής στατικών ιστοσελίδων (Static web pages) και τέσσερις δυναμικών ιστοσελίδων (Dynamic web pages). Ποιά είναι η διαφορά των στατικών ιστοσελίδων από τις δυναμικές ιστοσελίδες;

Οι στατικές ιστοσελίδες είναι ουσιαστικά απλά ηλεκτρονικά "έγγραφα". Μπορούν να περιέχουν κείμενα, φωτογραφίες, συνδέσμους (links), αρχεία για download, κινούμενα σχέδια (animated graphics). Είναι κατάλληλες κυρίως για την δημιουργία "μόνιμων/στατικών παρουσιάσεων", όπου δεν υπάρχει συχνά η ανάγκη να τροποποιείται το περιεχόμενό τους. Δηλαδή, θα μπορούσε να χρησιμοποιηθεί μια στατική ιστοσελίδα για την γενική παρουσίαση μιας επιχείρησης και των προϊόντων ή υπηρεσιών της. Οι τεχνολογίες που χρησιμοποιούνται είναι συνήθως η HTML και η XML. Οι δυναμικές ιστοσελίδες, μπορεί στην εμφάνιση, σε πολλές περιπτώσεις, να μην έχουν μεγάλη διαφορά με τις στατικές, όμως οι δυνατότητές είναι πολύ περισσότερες, από πολλές πλευρές, καθώς στην περίπτωση αυτή ουσιαστικά πρόκειται για μία εφαρμογή (πρόγραμμα), και όχι ένα απλό ηλεκτρονικό έγγραφο. Συνήθως, οι δυναμικές ιστοσελίδες, χρησιμοποιούν κάποια βάση δεδομένων (database), όπου αποθηκεύουν πληροφορίες και απ' όπου αντλούν το περιεχόμενό τους, ανάλογα με το τι ζητάει ο χρήστης/επισκέπτης σε κάθε του "κλικ". Η χρήση των βάσεων δεδομένων, είναι αυτή που επιτρέπει την εύκολη προσθαφαίρεση περιεχομένου στις δυναμικές ιστοσελίδες, καθώς δεν απαιτείται να επεξεργάζεται κανείς κάθε φορά την ίδια την ιστοσελίδα, αλλά απλά να διαχειρίζεται έμμεσα το περιεχόμενο στην βάση δεδομένων και οι υπόλοιπες διαδικασίες γίνονται αυτοματοποιημένα από τον "μηχανισμό" της ιστοσελίδας. Γενικά, αυτό που προσφέρουν οι δυναμικές ιστοσελίδες, είναι μεγαλύτερη αλληλεπίδραση του χρήστη με την σελίδα π.χ. να προσθέτει τα σχόλια του στην σελίδα, αλλά και πολλές ευκολίες στον διαχειριστή του περιεχομένου της ιστοσελίδας π.χ. τον ιδιοκτήτη της σελίδας. Οι τεχνολογίες που χρησιμοποιούνται στις δυναμικές ιστοσελίδες είναι η PHP, η Flash, η .NET, MySQL κ.α.

....Στατικές ιστοσελίδες Οι στατικές ιστοσελίδες εμφανίζουν τις ίδιες ακριβώς πληροφορίες κάθε φορά που κάποιος τις επισκέπτεται. Οι στατικές ιστοσελίδες δεν χρειάζεται να είναι απλό κείμενο. Μπορούν να διαθέτουν λεπτομερή σχεδιασμό πολυμέσων, ακόμη και βίντεο. Ωστόσο, κάθε επισκέπτης σε αυτήν τη σελίδα θα δέχεται ακριβώς το ίδιο κείμενο, σχέδιο πολυμέσων ή βίντεο κάθε φορά που επισκέπτεται τη σελίδα μέχρι να αλλάξετε τον πηγαίο κώδικα αυτής της σελίδας.

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

Οι στατικές δεν αλλάζουν περιεχόμενο και διάταξη (layout) με οποιοδήποτε αίτημα εκτός και αν ο προγραμματιστής αναβαθμίσει (update) τη σελίδα. Μια απλή HTML σελίδα είναι παράδειγμα στατικού περιεχομένου. τεχνολογία HTML, CSS

Οι δυναμικές προσαρμόζουν το περιεχόμενο και/ή την εμφάνισή τους σύμφωνα με την καταχώρηση/αλληλεπίδραση ή τις αλλαγές του τελικού χρήστη στο περιβάλλον προγραμματισμού (χρήστης, ώρα, τροποποιήσεις στη βάση δεδομένων, κτλ) Το περιεχόμενο μπορεί να αλλάζει στον υπολογιστή του τελικού-χρήστη με τη χρήση των γλωσσών προγραμματισμού που εκτελούνται στον υπολογιστή του χρήστη (JavaScript, VBScript, Actionscript, etc.). Το περιεχόμενο στις δυναμικές σελίδες συχνά μεταφράζεται στον εξυπηρετητή (server) μέσω γλωσσών προγραμματισμού που εκτελούνται στον εξυπηρετητή (Perl, PHP, ASP, JSP, ColdFusion, .NET κτλ). τεχνολογία PHP, JAVASCRIPT.......... ..........

Τα εργαλεία και οι τεχνολογίες που χρησιμοποιούνται περιλαμβάνουν μεταξύ άλλων:

  • Γλώσσες σήμανσης: HTML, XHTML, XML
  • Γλώσσες φύλλων ύφους: CSS, XML
  • Σενάρια στον πελάτη (Client-side scripting): JavaScript
  • Σενάρια στον εξυπηρετητή (Server-side scripting): PHP, ASP, Perl, Ruby/Ruby on Rails
  • Τεχνολογίες βάσεων δεδομένων: MySQL, PostgreSQL, Microsoft SQL Server
  • Τεχνολογίες πολυμέσων: Flash, Silverlight

104. Με ποιόν τρόπο μπορώ να προσθέσω μια γραμμή θέματος (Subject) σε μια σύνδεση email (mailto);

Το subject για να προστεθεί σε μια σύνδεση email θα πρέπει να χρησιμοποιηθεί ως παράμετρος της εντολής mailto. Για παράδειγμα αν θέλουμε να ορίσουμε το θέμα (subject) testθα πρέπει να γράψουμε ως εξής:

<a href="mailto:emailname@yourdomain.com? subject=test">The text of subject=test">The text of your link</a> your link</a>

....<a href="mailto:example@email.com?subject=Email%20Subject">your anchor text</a>

mailto = Ενημερώνει τον πελάτη email στον οποίο θα στείλει το email.

subject = Αυτό θα βάλει ένα μήνυμα στη γραμμή θέματος του email.

body = Με αυτήν την επιλογή μπορείτε να τοποθετήσετε ένα μήνυμα στο σώμα του email.

% 20 = αφήνει κενό μεταξύ λέξεων

105. Ποιες ετικέτες θα χρησιμοποιήσουμε σε κάθε μία από τις παρακάτω περιπτώσεις για να εμφανιστεί η λέξη ""Παράδειγμα"":i. μόνο έντονα γραμμένη ii. έντονα και υπογραμμισμένη iii. μόνο υπογραμμισμένη iv. έντονα, πλάγια και υπογραμμισμένη.

Για το παράδειγμα που δίνεται θα χρησιμοποιήσουμε τις εξής ετικέτες:

i. <b>Παράδειγμα</b>

ii. <b><u> Παράδειγμα </b></u>

iii. <u> Παράδειγμα </u>

iv. <b><i><u> <b><i><u> Παράδειγμα </b></i></u> </b></i></u>

 i. μόνο έντονα γραμμένη

<b> Παράδειγμα</b>

 ii. έντονα και υπογραμμισμένη

<b><u> Παράδειγμα</u></b>

 iii. μόνο υπογραμμισμένη

<u> Παράδειγμα</u>

 iv. έντονα, πλάγια και υπογραμμισμένη.

<b><i><u> Παράδειγμα</u></i></b> 

106. Τι κάνει η εντολή <BODY BACKGROUND = "bgimage.gif">; Πώς μπορούμε να αλλάξουμε το χρώμα τού φόντου σε ένα HTML κείμενο; Δώστε την εντολή που κάνει το φόντο πράσινο. Δώστε επίσης την εντολή που κάνει το φόντο 50% πράσινο και 50% μπλέ.

Η εντολή <BODY BACKGROUND = "bgimage.gif"> θα τοποθετήσει στο φόντο της ιστοσελίδας τη φωτογραφία από το αρχείο bgimage.gif. Για να αλλάξουμε χρώμα φόντου σε ένα HTML κείμενο χρησιμοποιούμε την εντολή <BODY BGCOLOR=όνομα χρώματος>. Για να κάνουμε κάνουμε το φόντο 50% πράσινο πράσινο και 50% μπλε θα χρησιμοποιήσουμε χρησιμοποιήσουμε την εντολή  <BODY bgcolor="rgb(0,127,127)">΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄΄

.....H εντολή <BODY BACKGROUND = "bgimage.gif"> εισάγει την εικόνα bgimage.gif ως φόντο της HTML σελίδας.

Η αλλαγή χρώματος φόντου γίνεται με την εντολή <Body bgcolor="#008000">,δηλ. με το όρισμα bgcolor.

Η εντολή <body bgcolor=#00FF00> θέτει το χρώμα του φόντου ως πράσινο.

Η εντολή <body bgcolor=#008080> θέτει το χρώμα φόντου συνδυασμό πράσινου και μπλε 50% πράσινο σημαίνει τον αριθμό 128 στο δεκαδικό για το πράσινο, συνεπώς 80στο δεκαεξαδικό.

Αντίστοιχα συμβαίνει και με το μπλε.

Αντίστοιχα συμβαίνει και με το μπλε.συνεπώς προκύπτει ο συνδυασμός 00(RED) 80(Green) 80(Blue).

Η εντολή για να αλλάξουμε το φόντο σε πρασινο είναι: <body bgcolor="green" >

Η εντολή για να αλλάξουμε το φόντο 50% πράσινο και 50% μπλε είναι <body bgcolor="0Χ7777" >

107. Ποια είναι η λειτουργία της ετικέτας <div>; Τι λειτουργίες κάνουν οι ιδιότητές της align, class και id;

Η ετικέτα <DIV>...</DIV> (Document Division element), λειτουργεί με την παράμετρο ALIGN και αναφέρεται σε ένα τμήμα σελίδας, δηλαδή σε μια σειρά από επικεφαλίδες ή παραγράφους συνολικά (δηλαδή δεν χρειάζεται να επαναλάβουμε την παράμετρο ALIGN σε κάθε μια από τις ετικέτες). Το τμήμα της σελίδας που θα στοιχηθεί με την <DIV> μπορεί να περιέχει και ετικέτες εισαγωγής εικόνων.

Το id χρησιμοποιείται για να καθορίσει ένα στυλ για ένα και μοναδικό στοιχείο. Ο επιλογέας id χρησιμοποιεί το χαρακτηριστικό id του στοιχείου στην HTML και ορίζεται με "#". Το id είναι μοναδικό για κάθε στοιχείο και θα είναι συγκεκριμένο σε αυτό το στοιχείο. Ενώ το class χρησιμοποιείται για να καθορίσει ένα στυλ για μια ομάδα στοιχείων. Μπορείτε να χρησιμοποιήσετε το ίδιο class σε διαφορετικά στοιχεία που σημαίνει ότι μπορείτε να εφαρμόσετε λίγες ιδιότητες του css σε περισσότερα από ένα στοιχεία χρησιμοποιώντας το ίδιο class.

...Η ετικέτα <div> ορίζει ένα τμήμα στο HTML έγγραφο. Ένα τμήμα ομαδοποιεί τα περιεχόμενα που είναι μέσα στις ετικέτες <div>...</div> ώστε να μπορούμε να ορίζουμε ένα ενιαίο στυλ (χρώμα, γραμματοσειρά, στοίχιση) με την ιδιότητα style.

The <div> tag defines a division or a section in an HTML document.

The <div> tag is used to group block-elements to format them with CSS.

<div>

<h3>This is a heading</h3>

<p>This is a paragraph.</p>

</div>

align : Το χαρακτηριστικό ευθυγράμμισης καθορίζει την οριζόντια ευθυγράμμιση του περιεχομένου μέσα σε ένα στοιχείο <div>.

Class :Με την ιδιότητα class ορίζουμε στυλ (Cascading Style Sheets - CSS) για τα στοιχεία της σελίδας μας. Με την βοήθεια της CSS ορίζουμε την εμφάνιση (το χρώμα, το μέγεθος, κτλ.) των στοιχείων της σελίδας.

id : Ο id selector χρησιμοποιείτε για να καθορίσει την μορφοποίηση ενος μοναδικού στοιχείου

108. Δώστε τις HTML εντολές που υλοποιούν τον παρακάτω πίνακα:

Είναι λάθος

<table height="200" width="500" border="1">

<tr>

<td width="500">Ιανουάριος</td>

<td width="500" align="center"top">1</td> ">1</td>

<td width="500"></td>

<td width="500">< width="500"></td>

</tr>

<tr>

<td align="center">Φεβρουάριος</td>

<td></td>

<td align="center>2 valign="top">2</td> <td></td>

</tr>

<tr>

<td align="center">Μάρτιος</td>

<td></td>

<td></td>

<td align="center>3 valign="top">3</td>

</tr>

</table> 

Εισαγωγή στην HTML Εισαγωγή πινάκων

Εισαγωγή πινάκων

Για να δηµιουργήσουµε ένα πίνακα σε µία σελίδα χρησιµοποιούµε το tag <table>. To tag table παίρνει κάποιες παραµέτρους (µη υποχρεωτικές):

Π.χ <table width="200" height="200" border="1" bordercolor="#999999"

background="images/square.jpg" bgcolor="#666666">

Width: το πλάτος του πίνακα σε pixels (µπορεί για σχεδιαστικούς λόγους να εκφραστεί και σαν ποσοστό. Π.χ. width="80%" σηµαίνει πλάτος το 80% της οθόνης που καταλαµβάνει ο web browser.

Height : Το ύψος του πίνακα σε pixels (µπορεί επίσης να εκφραστεί σαν ποσοστό αλλά δεν υποστηρίζεται από όλους τους browsers)

Border : Το πάχος των περιθωρίων σε pixels

Align : Η στοίχιση του πίνακα στην οθόνη

Cellpadding: H απόσταση οποιουδήποτε στοιχείου εισαχθεί σε κελί του πίνακα (π.χ. κείµενο) από την άκρη της γραµµής του κελιού

Cellspacing: H απόσταση της γραµµής του κελιού από την άκρη του πίνακα.

Bordercolor: Το χρώµα του περιθωρίου του πίνακα.

Background : Μία εικόνα που µπορεί να χρησιµοποιηθεί ως φόντο του πίνακα

Bgcolor: το χρώµα του φόντου του πίνακα.

Το tag <table> αφού εισαχθούν τα περιεχόµενα του κλείνει </table>.

Περιεχόµενα του tag αυτού είναι τα tags <tr> και <td> τα οποία επίσης πρέπει να κλείνουν </tr> & </td>

H υλοποίηση των γραµµών ενός πίνακα γίνεται µέσα από το tag <tr> ενώ η υλοποίηση των στηλών του πίνακα µέσα από το tag <td>

Π.χ. ο παρακάτω κώδικας δηµιουργεί έναν πίνακα µε 2 γραµµές και 2 στήλες

<table width="300" >

<tr> πρώτη γραµµή του πίνακα

<td></td> πρώτη στήλη του πίνακα

<td></td> δεύτερη στήλη του πίνακα

</tr> τέλος της πρώτης γραµµής του πίνακα

<tr> δεύτερη γραµµή του πίνακα

<td></td> πρώτη στήλη της δεύτερης γραµµής του πίνακα

<td></td> δεύτερη στήλη της δεύτερη γραµµής του πίνακα

</tr> τέλος της δεύτερης γραµµής του πίνακα

</table> τέλος του πίνακα

Το tag <td> είναι αυτό στο οποίο εισάγεται το περιεχόµενο του κελιού.

Π.χ. <td><img src="images/square.jpg" width="400" height="267" border="0"></td> , θα εισήγαγε µία εικόνα ως περιεχόµενο του κελιού.

Το tag αυτό παίρνει κάποιες παραµέτρους:

Π.χ. <td width="80" height="120" bordercolor="#990000"

background="images/square.jpg" bgcolor="#CCCCCC">

Η έννοια των παραµέτρων του tag <td> είναι αντίστοιχη µε τις παραµέτρους του πίνακα απλά προστίθεται η παράµετρος valign που παίρνει τιµές top,middle,bottom,baseline η οποία αφορά στην κατακόρυφη στοίχιση του περιεχοµένου του κελιού του πίνακα

109. Τι είναι οι επώνυμες άγκυρες (Named Anchors), και σε ποιούς τύπους ιστοσελίδων χρησιμοποιούνται; Αναφέρατε ένα παράδειγμα.

Ένα στοιχείο ονομάζεται άγκυρα επειδή οι οι web designers μπ designers μπορούν να το χρησιμοποιήσουν για να «αγκυροβολήσουν» μια διεύθυνση URL σε κάποιο κείμενο σε μια ιστοσελίδα. Όταν οι χρήστες προβάλλουν την ιστοσελίδα σε ένα πρόγραμμα περιήγησης, μπορούν να κάνουν κλικ στο κείμενο αυτό για να ενεργοποιήσουν το σύνδεσμο και να επισκεφτούν τη σελίδα του οποίου η διεύθυνση URL βρίσκεται στη σύνδεση.

Στην HTML, μια άγκυρα μπορεί να είναι είτε η προέλευση (το κείμενο της άγκυρας) είτε το τέλος (προορισμού) μιας υπερσύνδεσης. Με τις ιδιότητες HTML name ή id, το στοιχείο στο οποίο έχουμε θέσει μια άγκυρα γίνεται στόχος. Ένα URL μπορεί να συνδεθεί με αυτόν τον στόχο μέσω ενός αναγνωριστικού θραύσματος.

....Δημιουργία Άγκυρας (Anchor) Ο δεσμός άγκυρας (anchor) μάς μεταφέρει σ' ένα άλλο σημείο της ίδιας ιστοσελίδας. Για να δημιουργήσουμε έναν τέτοιο δεσμό, πρώτα επιλέγουμε το σημείο στο οποίο θέλουμε να πάμε, που αποκαλείται επώνυμη άγκυρα (named anchor), και επιλέγουμε Named Anchor από το μενού Insert ή πατάμε τα πλήκτρα Control+Alt+A ή επιλέγουμε το εργαλείο Insert Named Anchor του πίνακα Invisibles της παλέτας αντικειμένων. Στο πλαίσιο διαλόγου Named Anchor και στο πλαίσιο κειμένου Anchor Name δίνουμε ένα όνομα στην επώνυμη άγκυρα. Οι επώνυμες άγκυρες ανήκουν στα αόρατα στοιχεία (invisible elements) του DreamWeaver, που για να τα δούμε, πρέπει να επιλέξουμε Invisible Elements από το μενού View ή να πατήσουμε τα πλήκτρα Control+Shift+I. Το εικονίδιο μιας επώνυμης άγκυρας είναι μια άγκυρα με χρυσό περίβλημα. Μπορούμε να επιλέξουμε το σύμβολο μιας επώνυμης άγκυρας και να αλλάξουμε το όνομά της από τον Property Inspector. Για να δημιουργήσουμε έναν δεσμό προς μια επώνυμη άγκυρα, επιλέγουμε το κείμενο που θα αποτελέσει τον δεσμό προς την επώνυμη άγκυρα και εισάγουμε το όνομα της επώνυμης άγκυρας με το σύμβολο # μπροστά του στο πλαίσιο κειμένου Link του Property Inspector. Μπορούμε να χρησιμοποιήσουμε επώνυμες άγκυρες και προς άλλες ιστοσελίδες ή URL που θέλουμε να συνδέσουμε. Απλά προσθέτουμε το σύμβολο # και το όνομα της επώνυμης άγκυρας στο τέλος της διεύθυνσης. Για να δημιουργήσουμε έναν δεσμό προς μια επώνυμη άγκυρα, μπορούμε αφού επιλέξουμε το κείμενο του δεσμού, να σύρουμε το εικονίδιο Point to File, που βρίσκεται δεξιά από το πλαίσιο κειμένου Link και έχει στρογγυλό σχήμα, πάνω σε μια επώνυμη άγκυρα. Το όνομα επώνυμης άγκυρας μαζί με το πρόθεμα # θα εμφανισθεί μέσα στο πλαίσιο κειμένου Link. 

110. Με ποιόν τρόπο μπορούμε να τοποθετήσουμε κείμενο πάνω σε μια εικόνα;

Υπάρχουν ορισμένοι browsers που δεν υποστηρίζουν την εμφάνιση γραφικών με αποτέλεσμα να μην εμφανίζονται οι εικόνες που τοποθετούμε στις σελίδες μας. Η χρήση της ιδιότητας alt έχει σαν αποτέλεσμα σε έναν τέτοιο browser να εμφανίζεται αντί της εικόνας, το κείμενο το οποίο ορίζεται με την ιδιότητα. Συνήθως το κείμενο αυτό περιγράφει την εικόνα έτσι ώστε ο χρήστης που δεν μπορεί να την δει, να πάρει μια ιδέα για το τι απεικονίζετε σε αυτήν. Το alt είναι τα τρια πρώτα γράμματα από την λέξη alternative.

Αν θέλουμε να βάλουμε κείμενο πάνω στην εικόνα και αυτό να εμφανίζεται πάντα τότε θα πρέπει να χρησιμοποιήσουμε κάποιο πρόγραμμα επεξεργασίας εικόνων. Το πιο εύκολο και γρήγορο είναι το paint των windows. Ανοίγουμε την εικόνα που θέλουμε μέσα από το εν λόγω πρόγραμμα και το μόνο που μας μένει να κάνουμε είναι να πατήσουμε από τα εργαλεία που βρίσκονται αριστερά, το κουμπί με το γράμμα Α ή αλλιώς την επιλογή κείμενο. Γράφουμε ότι θέλουμε μέσα στο πλαίσιο που θα επιλέξουμε  μόλις πατήσουμε το A και στην συνέχεια πατάμε από το μενού "Αρχείο" και "Αποθήκευση"

..Ο τρόπος για να βάλουμε ένα κείμενο πάνω σε μία εικόνα είναι καταρχήν να δημιουργήσουμε ένα div που θα περιέχει την εικόνα μαζί με το κείμενο. Στη συνέχεια η css να περιέχει την ιδιότητα position για την ενότητα div να έχει οριστεί ως relative, οπότε ορίζοντας την ίδια ιδιότητα (position) για το αντικείμενο που περιέχει το κείμενο σε absoluteμε τις css ιδιότητες top, left, bottom, right μπορούμε να το τοποθετήσουμε όπου θέλουμε.

Οι εικόνες στην html

Οι εικόνες στην html τοποθετούνται χρησιμοποιώντας κώδικα HTML όπως στο παράδειγμα που ακολουθεί:

Κείμενο Spectacular Mountain

<!DOCTYPE html>

<html>

<body>

<h2>Spectacular Mountain</h2>

<img src=»pic_mountain.jpg» alt=»Mountain View» style=»width:304px;height:228px;»>

</body>

</htm

Το αποτέλεσμα φαίνεται στην εικόνα:  at: https://html.gr/ikones-stin-html/

Σύνταξη εικόνων HTML 

Στη γλώσσα HTML οι εικόνες παρουσιάζονται χρησιμοποιώντας την ετικέτα . Η ετικέτα  είναι κενή, δηλαδή περιέχιε μόνο χαρακτηριστικά (attributes), και δεν περιέχει ετικέτα κλεισίματος. Το χαρακτηριστικό src attribute καθορίζει τη διεύθυνση URL (διεύθυνση web address) της εικόνας: »some_text»

Το χαρακτηριστικό alt 

Το χαρακτηριστικό alt μας επιτρέπει αν δηλώσουμε ένα εναλλακτικό κείμενο για την εικόνα. Το εναλλακτικό αυτό κείμενο θα εμφανιστεί εάν για οποιαδήποτε αιτία η εικόνα δεν καταφέρει να φτάσει στο φυλλομετρητή του χρήστη. Υπάρχουν πολλές αιτίες για τις οποίες η εικόνα μπορεί να μην καταφέρει να φτάσει στο φυλλομετρητή του χρήστη. Πιθανώς λόγω αργής σύνδεσης. Πιθανώς λόγω σφάλματος στο χαρακτηριστικό src. Πιθανώς επειδή ο χρήστης χρησιμοποιεί screen reader. Εάν ο φυλλομετρητής δεν βρει την εικόνα, τότε θα εμφανίσει το εναλλακτικό κείμενο που δηλώθηκε στο χαρακτηριστικό alt. Ακολουθεί παράδειγμα που δείχνει τη χρήση του χαρακτηριστικού alt για τις εικόνες στην html:

<!DOCTYPE html>

<html>

<body>

<p>If a browser cannot find an image, it will display the alternate text:</p>

<img src=»wrongname.gif» alt=»HTML5 Icon» style=»width:128px;height:128px;»>

</body>

</html> 

111. Τι είναι το CSS (Cascading Style Sheet) και με ποιούς τρόπους μπορεί να ενσωματωθεί σε μια ιστοσελίδα; (αναφέρατε τουλάχιστον δύο τρόπους)

Η CSS (Cascading Style Sheets-Διαδοχικά Φύλλα Στυλ) ή (αλληλουχία φύλλων στυλ) είναι μια γλώσσα υπολογιστή που χρησιμοποιείται δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας και γενικότερα ενός ιστοτόπου. Η CSS είναι μια γλώσσα υπολογιστή προορισμένη να αναπτύσσει στυλιστικά μια ιστοσελίδα δηλαδή να διαμορφώνει περισσότερα χαρακτηριστικά, χρώματα, στοίχιση και δίνει περισσότερες δυνατότητες σε σχέση με την html. Για μια όμορφη και καλοσχεδιασμένη ιστοσελίδα η χρήση της CSS κρίνεται ως απαραίτητη. Δύο τρόποι σύνδεσή τους με την HTML είναι οι εξής:

Μέθοδος 1: Εξωτερική Μέθοδος 1: Εξωτερική σύνδεση σύνδεση - External (link to a style sheet)

Ο πρώτος τρόπος, που είναι αυτός που συνιστάται να χρησιμοποιούμε, είναι ένας σύνδεσμος (link) προς ένα εξωτερικό αρχείο φύλλου στυλ (external stylesheet). Ένα εξωτερικό αρχείο φύλλου στυλ (external style sheet) είναι απλά ένα αρχείο κειμένου (text file) που έχει επέκταση (extension) .css. Μπορούμε να το τοποθετήσουμε (upload) στον Web server, όπως όλα τα άλλα αρχεία.

Για παράδειγμα, ας υποθέσουμε ότι το αρχείο μας style sheet έχει όνομα style.css και βρίσκεται στον φάκελο style. Για να δημιουργήσουμε έναν σύνδεσμο (link) από το HTML έγγραφο, που είναι το default.htm, προς το αρχείο του style sheet, που είναι το style.css, θα πρέπει να γράψουμε τον εξής κώδικα :

<link rel="stylesheet" type="text/css" href="style/style.css" />

Μέθοδος 2 : In-line (attribute style)

Ο άλλος τρόπος με τον οποίο μπορούμε να εφαρμόσουμε ένα CSS σ' ένα HTML κείμενο είναι να χρησιμοποιήσουμε την ιδιότητα (attribute) style της HTML. Το είδαμε ήδη προηγουμένως με το κόκκινο χρώμα φόντου και μπορεί ν με το κόκκινο χρώμα φόντου και μπορεί να εφαρμοσθεί α εφαρμοσθεί ως εξής:

<html>

<head>

<title>Παράδειγμα</title>

</head>

<body>

<p>Αυτή είναι μια κόκκινη σελίδα</p>

</body>

</html>

Το πρότυπο css είναι μία γλώσσα υπολογιστή που ανήκει στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για την εύκολη μαζική μορφοποίηση μια ιστοσελίδας ή ολόκληρου ιστοτόπου.

Υπάρχουν δύο τρόποι να εισάγουμε αυτό το πρότυπο.

Στον πρώτο τρόπο οι εντολές css ενσωματώνονται στο html αρχείο. Οι κατάλληλες εντολές περιλαμβάνονται ανάμεσα στους κωδικούς:

Όλο αυτό το τμήμα θα πρέπει να περιλαμβάνεται μεταξύ των κωδικών <HEAD> και </HEAD> του αρχείου html.

<STYLE TYPE="TEXT/CSS">

και

</STYLE> .

Στο δεύτερο τρόπο, δημιουργούμε ένα ξεχωριστό αρχείο με τις κατάλληλες εντολές, το οποίο και καλείται από τα αρχεία html. Σ' αυτήν την περίπτωση, στο αρχείο html εισάγουμε, πάλι μεταξύ <HEAD> και </HEAD>, την εντολή:

<LINK REL="stylesheet" TYPE="TEXT/CSS" href="/filename.css">

όπου τώρα το αρχείο filename.css περιέχει απλά τις εντολές, με την ίδια μορφή που έχουν όταν ενσωματώνονται στο html αρχείο.

112. Δώστε τον ορισμό του Hyperlink (Υπερσύνδεση) και εξηγήστε ποιό θα είναι το αποτέλεσμα του ορισμού των κάτωθι target: _self, _parent, _blank και _top όταν αυτά θα ενσωματωθούν σε ένα Hyperlink.

Σε ηλεκτρονικό περιβάλλον ως σύνδεσμος (link) ή και υπερσύνδεσμος (hyperlink) ονομάζεται η σύνδεση (αναφορά ή παραπομπή) μεταξύ των κόμβων του υπερκειμένου. Συνήθως είναι μια λέξη ή φράση, μαρκαρισμένη με χρωματισμό μπλε και με υπογράμμιση, ή ακόμη και μια εικόνα, που εντοπίζεται στο ηλεκτρονικό κείμενο μιας ιστοσελίδας στο διαδίκτυο και περιέχει την εντολή να «μεταφέρει» τον χρήστη σε άλλη σχετική ιστοσελίδα, από τον κόμβο προέλευσης στον κόμβο προορισμού.

Όταν ορίζουμε στην HTML την εντολή για έναν υπερσ έχουμε τη δυνατότητα να της αποδώσουμε τις εξής ιδιότητες: Self: Ανοίγει την σελίδα στο ίδιο πλαίσιο το οποίο έγινε κλικ.

Blank: Ανοίγει την σελίδα σε νέο παράθυρο. Αφού πατήσετε τον σύνδεσμο, ανοίγει ένα νέο

παράθυρο του browser στο οποίο θα εμφανιστε;i την σελίδα.

Parent: Ανοίγει την σελίδα στο "πατρικό πλαίσιο ".

Top: ανοίγει την σελίδα στο ίδιο αγνοώντας τα πλαίσια που τυχόν υπάρχουν.

...Hyperlink: Οι υπερσύνδεσμοι είναι δεσμοί που συνδέονται με κείμενα και γραφικά σε ιστοσελίδες και σε έγγραφα και οι οποίοι βοηθούν να γίνεται απευθείας μετάβαση σε άλλη ιστοσελίδα, χωρίς να χρειαστεί να πληκτρολογηθεί το URL. Κείμενο που σχετίζεται με υπερσύνδεσμο, έχει καθιερωθεί να εμφανίζεται σε μπλε, υπογραμμισμένο φόντο. Για να ενεργοποιηθεί ο υπερσύνδεσμος, πρέπει να γίνει "κλικ" στο κείμενο ή το γραφικό της ιστοσελίδας.

Ο περιηγητής έχει τη δυνατότητα να ερμηνεύει τον υπερσύνδεσμο, να εντοπίζει και στη συνέχεια να εμφανίζει τη σελίδα αυτόματα.

Τα αποτελέσματα με τη χρήση των παρακάτω target _self : ο υπερσύνδεσμος θα ανοίξει στο παράθυρο που βρισκόμαστε. _parent : ο υπερσύνδεσμος θα ανοίξει σε γονικό πλαίσιο (το χρησιμοποιούμε μόνο όταν έχουμε frames _blank : ο υπερσύνδεσμος θα ανοίξει σε καινούργιο παράθυρο του περιηγητή ή σε καινούργια καρτέλα αυτού. _top : ο υπερσύνδεσμος θα ανοίξει σε όλο το πλάτος και το μήκος του ενεργού παραθύρου 

113. Αναφέρατε τον ορισμό του Χάρτη Εικόνας (Image Map). Ποιο εργαλείο χάρτη εικόνας σάς επιτρέπει να σχεδιάσετε ακανόνιστα σχήματα;

Στην HTML και XHTML, ένας image map είναι ένας κατάλογος συντεταγμένων που σχετίζονται με μια συγκεκριμένη εικόνα και δημιουργήθηκε για να συνδέσει περιοχές της εικόνας σε διαφορετικούς προορισμούς ή κείμενα (σε αντίθεση με έναν κανονικό σύνδεσμο εικόνας, στον οποίο συνδέεται ολόκληρη η περιοχή της εικόνας ένα μόνο προορισμό).

Κατάλληλα εργαλεία για τη δημιουργία Χαρτών Εικόνας είναι τα: Adobe Dreamweaver, το KImageMapEditor (ή KDE), και το imagemap plugin που έχει η εφαρμογή GIMP

Eίναι μια διαδικασία με την οποία μπορούμε να δημιουργήσουμε πεδία με δυνατότητα κλικ σε μια εικόνα και να τις συνδέσουμε σε διαφορετικούς προορισμούς.

Η επέκταση ImageMap επιτρέπει χάρτες εικόνων με δυνατότητα κλικ. Ένας χάρτης εικόνας είναι μια λίστα συντεταγμένων σε μια συγκεκριμένη εικόνα, η οποία συνδέει περιοχές της εικόνας με πολλούς προορισμούς (σε αντίθεση με έναν κανονικό σύνδεσμο εικόνας, στον οποίο ολόκληρη η περιοχή της εικόνας συνδέεται με έναν μόνο προορισμό). Για παράδειγμα, ένας χάρτης του κόσμου μπορεί να έχει υπερ-σύνδεση σε κάθε χώρα με περαιτέρω πληροφορίες για τη συγκεκριμένη χώρα. Η πρόθεση ενός χάρτη εικόνας είναι να παρέχει έναν εύκολο τρόπο σύνδεσης διαφόρων τμημάτων μιας εικόνας χωρίς να χωρίζει την εικόνα σε ξεχωριστά αρχεία εικόνας.

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

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

Το GIMP είναι ένα εργαλείο επεξεργασίας φωτογραφίας πολλών λειτουργικών. 

Πώς κατασκευάζουμε image maps

HTML Χάρτες Γραφικών (Image Maps)

www.it.uom.gr/project/htmlman/pages/perishtml.htm 

ΜΑΘΗΜΑΤΑ HTML

www.it.uom.gr/project/html2/Lessons.html

114. Ποια είναι η χρήση της παραμέτρου Cell Padding για έναν πίνακα μιας ιστοσελίδας και ποια της παραμέτρου Cell Spacing.

Το CELLSPACING είναι το πλάτος των εικονοστοιχείων (pixel) μεταξύ των επιμέρους κελιών δεδομένων στον πίνακα. (Το πάχος των γραμμών που παράγει το πλέγμα του πίνακα). Η προεπιλογή είναι μηδέν. Εάν το BORDER είναι ρυθμισμένο στο 0, οι γραμμές CELLSPACING θα είναι αόρατες.

Το CELLPADDING αναφέρεται στην απόσταση εικονοστοιχείων μεταξύ των περιεχομένων των κελιών και του πλαισίου του πίνακα. Η προεπιλογή για αυτήν την ιδιότητα είναι επίσης μηδέν. Αυτή η λειτουργία δεν χρησιμοποιείται συχνά, αλλά μερικές φορές είναι χρήσιμη όταν έχουν ενεργοποιηθεί και είναι εμφανή τα πλαίσια και θέλετε το περιεχόμενο να είναι "μακριά" από το περίγραμμα για μια πιο ευδιάκριτη προβολή. Το CELLPADDING είναι αόρατο, ακόμα και με την ιδιότητα BORDER ενεργοποιημένη.

HTML πίνακες

Περιθώρια περιεχομένου από το περίγραμμα (Cell Padding) 

Η ιδιότητα cell padding καθορίζει το περιθώριο ανάμεσα στο περιεχόμενο του κελιού και στα περιγράμματα του κελιού. Εάν δεν καθορίσουμε τιμή για το cell padding, τότε τα περιεχόμενα των κελιών του πίνακα θα παρουσιάζονται χωρίς περιθώρια.

Το cell spacing καθορίζει την απόσταση μεταξύ των κελιών.

HTML Table Padding & Spacing

Το Cell padding (μαζί με το Cell Spacing ) είναι ένας όροι που χρησιμοποιούνται στη γλώσσα HTML. Όταν χρησιμοποιούνται σε συνδυασμό με το στοιχείο πίνακα, καθορίζουν το διάστημα μεταξύ του περιγράμματος ενός κελιού πίνακα και των περιεχομένων του.

115. Οι περισσότερες ιστοσελίδες χρησιμοποιούν εικόνες και γραφικά για την αναπαράσταση πληροφοριών. Περιγράψτε τα τρία βασικότερα είδη εικόνων (GIF, JPEG, PNG) και εξηγήστε για το καθένα απ' αυτά τα πλεονεκτήματα χρήσης του σε μια ιστοσελίδα.

Κάθε είδος εικόνας έχει τα πλεονεκτήματα του και επιλέγεται κάθε φορά ανάλογα με τη χρήση που θέλουμε να κάνουμε γενικότερα αλλά και ειδικότερα στις ιστοσελίδες μας.

Η τεχνολογία JPEG είναι ο κατάλληλος τύπος αρχείου για αποθήκευση φωτογραφιών ή εικόνων που αποτελούνται από πολλά χρώματα. Χρησιμοποιεί πολύπλοκο αλγόριθμο συμπίεσης που επιτρέπει διαβαθμισμένα να μικραίνει το μέγεθος του αρχείου με την ανάλογη (μικρή) απώλεια στην ποιότητα της εικόνας.

Δεν είναι κατάλληλο για γραφικά, banner, εικόνες με κείμενο ή ξεκάθαρα σχήματα αφού η μικρή κατά τα άλλα απώλεια θα φαίνεται έντονα στα όρια των γραμμών και της εναλλαγής σχημάτων. Προγράμματα όπως το Adobe Photoshop μπορούν εύκολα να παράγουν το αρχείο που θέλουμε.

Τα αρχεία GIF χρησιμοποιούνται όταν η εικόνα αποτελείται από ευδιάκριτα σχήματα και έχει λίγα χρώματα. Έτσι και αλλιώς τα αρχεία GIF υποστηρίζουν μέχρι 256 χρώματα. Από αυτό το στοιχείο και μόνο καταλαβαίνουμε πως δεν είναι κατάλληλα αρχεία για φωτογραφίες. Επίσης ένας άλλος λόγος είναι ότι οι φωτογραφίες έχουν πολλά (άπειρα) πιθανά χρώματα και αποχρώσεις ενώ δεν έχουν ευδιάκριτα σχήματα. Συμπερασματικά λοιπόν προκύπτει πως μια φωτογραφία δεν πρέπει να αποθηκευτεί ως αρχείο GIF. Ένα άλλο γραφικό όμως π.χ. ένα διαφημιστικό banner το οποίο είναι απλό και έχει ένα απλό φόντο και ένα κείμενο θα έχει μικρότερο μέγεθος ως αρχείο GIF. Ο αλγόριθμος συμπιέσεως είναι πολύ απλός, όταν όμως συναντήσει μια μικρή παλέτα από χρώματα γίνεται πολύ αποδοτικός.

Το βασικό χαρακτηριστικό - πλεονέκτημα των αρχείων GIF δεν είναι το μέγεθος. Μπορεί να συνδυάσει - συμπεριλάβει περισσότερες των 1 εικόνες και να δημιουργήσει αυτό animated GIF , δηλαδή μια κινούμενη εικόνα. Όλοι έχουν δει στο διαδίκτυο εικόνες που κινούνται ή εναλλάσσονται πιο σωστά. Ένα τρόπος για να δημιουργηθούν είναι τα προγράμματα που παράγουν animated GIF αρχεία.

Οι εικόνες GIF υποστηρίζουν και την διαφάνεια ( transparency ) . Δηλαδή ένα μέρος της εικόνας να μην έχει περιεχόμενο και στην θέση του να φαίνεται ότι υπάρχει από πίσω. Οι εικόνες PNG αναπτύχθηκαν με σκοπό παρόμοιο με αυτόν των αρχείων GIF. Έχουν μικρό μέγεθος σε ξεκάθαρα σχήματα, δεν είναι κατάλληλη μορφή για αποθήκευση φωτογραφιών αλλά υπερτερούν όσον αφορά την δυνατότητα της διαφάνειας. Η δυνατότητα των αρχείων GIF για τέλεια αποτύπωση διαφανών εικόνων είναι περιορισμένη ενώ αντίστοιχα το αποτέλεσμα με την χρήση των αρχείων PNG μπορεί να είναι τέλειο. Άρα το δυνατό σημείο των αρχείων PNG είναι η ικανότητα στον τομέα της διαφάνειας ( transparency ).

Το jpg χρησιμοποιείται ευρέως για στο διαδίκτυο για φωτογραφικές εικόνες και αυτό γιατί μας δίνει πολύ περισσότερες λεπτομέρειες και συγχρόνως έχει και μικρή χωρητικότητα. Οι εικόνες PNG πολύ συχνά χρησιμοποιούνται για την δημιουργία των λογοτύπων που ενέχει διαφάνεια και ξεθώριασμα. Ο τύπος αρχείων GIF, χρησιμοποιείται σε κινούμενα σχέδια καθώς και για λογότυπα με πλακάτα χρώματα.Λόγω του ότι ο τύπος αρχείων εικόνων GIF δεν έχει απώλειες, μπορεί να χρησιμοποιηθεί στις περιπτώσεις που χρειάζεται να διατηρηθούν οι αυστηρές γραμμές στην τυπογραφία και στα γεωμετρικά σχήματα.

116. Διατυπώστε τη συνάρτηση swap_image() σε Javascript που δέχεται ως ορίσματα α) το id του αντικειμένου που θέλουμε να διαχειριστούμε και β) το path της εικόνας "pic2.jpg" που θα χρησιμοποιήσουμε ως rollover image. Προσδιορίστε τι είναι το HTML αντικείμενο που καλεί τη συνάρτηση.

Αρχικά πρέπει να ορίσουμε το script στο head της HTML.

......

<html>

<head>

<script type="text/javascript">

function changeImage(ImageID,ImageFileName) {

ImageFileName = ImageFileName + '/pic2.jpg';

document.getElementById(ImageID).src = ImageFileName;

} </script>

</head>

<body>

<img src="images/pic1.jpg" id= "TestID"

/>

</body>

117. Διατυπώστε τη συνάρτηση check_form() σε Javascript, που ελέγχει εάν τα πεδία username και password της HTML φόρμας "form1" δεν είναι κενά. Εάν κάποιo από αυτά είναι κενό, να ανοίγει ένα message box με την αντίστοιχη ειδοποίηση στον client.

function check_form(){

if(document.form1.username. form1.username.value== "" value== "" ||

document.form1.password.value==){

window.alert ("Username or password is empty");

}

}

<html>

<head>

<title>WebCheatSheet - JavaScript Tutorial</title>

<script >

function validateFormOnSubmit(theForm) {

var reason = "";

reason += validateEmpty(theForm.username);

reason += validateEmpty(theForm.pwd);

if (reason != "") {

alert("Some fields need correction:\n" + reason);

return false;

}

return true;

}

function validateEmpty(fld) {

var error = "";

if (fld.value.length == 0) {

fld.style.background = 'Yellow';

error = "The required field has not been filled in.\n"

} else {

fld.style.background = 'White';

}

return error;

}

</script>

</head>

<body>

<h1>WebCheatSheet - JavaScript Tutorial</h1>

<form acti>

<table summary="Demonstration form">

<tbody>

<tr>

<td><label for="username">Your user name:</label></td>

<td><input size="35" maxlength="50" type="text"></td>

</tr>

<tr>

<td><label for="pwd">Your password</label></td>

<td><input size="35" maxlength="25" type="password"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input value="Send" type="submit" ></td>

<td>&nbsp;</td>

</tr>

</tbody>

</table>

</form>

</body>

</html>

118. Διατυπώστε τον κώδικα για να διαβάσετε το cookie "user" και εάν αυτό υπάρχει, τυπώστε στο browser " Hello..." και ό,τι περιέχει το cookie, αλλιώς αποθηκεύσατε το cookie "user" με τιμή "Unknown visitor" και διάρκεια ζωής 1 ώρα.

<?php

if(isset($_COOKIE["user"])){

echo"Hello...".$_COOKIE["user"];

}else{

setcookie("user", "Unknown visitor",tim visitor",time()+3600,"/");

}

?>

<!DOCTYPE html>

<html>

<head>

<script>

function setCookie(cname,cvalue,exmins) {

var d = new Date();

d.setTime(d.getTime() + (exmins*60*1000));

var expires = "expires=" + d.toGMTString();

document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";

}

function getCookie(cname) {

var name = cname + "=";

var decodedCookie = decodeURIComponent(document.cookie);

var ca = decodedCookie.split(';');

for(var i = 0; i < ca.length; i++) {

var c = ca[i];

while (c.charAt(0) == ' ') {

c = c.substring(1);

}

if (c.indexOf(name) == 0) {

return c.substring(name.length, c.length);

}

}

return "";

}

function checkCookie() {

var user=getCookie("user1");

if (user != "") {

alert("Welcome again " + user);

} else {

setCookie("user1", "unknown user", 60);

}

}

</script>

</head>

<body >

</body>

</html>

ΔΙΕΚ ΑΙΓΙΝΑΣ 2021 - 2023 ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ
Υλοποιήθηκε από τη Webnode Cookies
Δημιουργήστε δωρεάν ιστοσελίδα! Αυτή η ιστοσελίδα δημιουργήθηκε με τη Webnode. Δημιουργήστε τη δική σας δωρεάν σήμερα! Ξεκινήστε