Σύγχρονες γλώσσες προγραμματισμού με δυνατότητες εκτέλ σης σε $ενϊρύη% περιβάλλον

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σύγχρονες γλώσσες προγραμματισμού με δυνατότητες εκτέλ σης σε $ενϊρύη% περιβάλλον"

Transcript

1 Τ.Ε.Ι ΚΑΒΑΛΑΣ ΣΧΟΛΗ: ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σύγχρονες γλώσσες προγραμματισμού με δυνατότητες εκτέλ σης σε $ενϊρύη% περιβάλλον Εισηγητής: κοςστ. Παπαδημητρίου Σπουδαστής: Βασίλειος Μπακάλης Α.Ε.Μ.: 1429 ΚΑΒΑΛΑ 2010

2 / / -τ r λ r r ^ r Σύγχρονες γλώσσες προγραμματισμού με δυνατότητες εκτέλεσης σε Scripting περιβάλλον - ι -

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

4 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1ο 1.1 Τι είναι μια γλώσσα προγραμματισμού; Κοινά χαρακτηριστηκά... 8 ΚΕΦΑΛΑΙΟ 2 ο 1.2 Περιοχές προβλήματος Γλώσσες κελύφους (Εντολή) Επεξεργασία κειμένων και αποτελέσματα εκθέσεων Μαθηματικά και στατιστικές Γλώσσες κόλλας και προγραμματισμός γενικού σκοπού Γλώσσες επέκτασης ΚΕΦΑΛΑΙΟ 3 ο 1.3 Προγραμματισμός World Wide Web Προγράμματα της CGI Ενσωματωμένα από πλευράς προγράμματα Προγράμματα πλευράς πελάτη Java Applets XML και XMHTML...50 ΚΕΦΑΛΑΙΟ 4 ο 1.4 Καινοτόμα χαρακτηριστικά γνωρίσματα Ονόματα και πεδία Χειρισμός συνόλου και σκεδίων Αριθμιτικοί τύποι Προσανατολισμός Αντικειμένου...81 ΚΕΦΑΛΑΙΟ 5 ο 1.5 Συνοπτικές και τελικές παρατηρήσεις ΒΙΒΛΙΟΓΡΑΦΙΑ

5 ΠΡΟΛΟΓΟΣ Οι παραδοσιακές γλώσσες προγραμματισμού προορίζονται πρώτιστα για την κατασκευή των ανεξάρτητων εφαρμογών: προγράμματα που δέχονται κάποιο είδος της εισαγωγής, τα χειρίζονται με κάποιο καλά κατανοητό τρόπο, και παράγουν το κατάλληλο αποτέλεσμα. Αλλά οι περισσότερες πραγματικές χρήσεις των υπολογιστών απαιτούν το συντονισμό πολλαπλών προγραμμάτων. Ένα μεγάλο θεσμικό σύστημα μισθοδοτικών καταστάσεων, παραδείγματος χάριν, πρέπει να επεξεργαστεί τα στοιχεία χρονικής υποβολής εκθέσεων από τους αναγνώστες καρτών, τα ανιχνευμένα έντυπα, και τη χειρωνακτική είσοδο (πληκτρολογίων), εκτελούν χιλιάδες ερωτήσεις βάσεων δεδομένων, επιβάλει τις εκατοντάδες των νομικών και θεσμικών κανόνων, δημιουργεί ένα εκτενές ίχνος χαρτιού για την τήρηση αρχείων, ελέγχει, προετοιμασία φορολογικών, τύπωση επιταγών πληρωμής και επικοινωνία με τους κεντρικούς υπολογιστές γύρω στον κόσμο για τη σε απευθείας σύνδεση άμεσης κατάθεσης, φορολογική παρακράτηση, συσσώρευση συντάξιμων, ιατρική ασφάλεια, και ούτω καθεξής. Αυτοί οι στόχοι είναι πιθανό να περιλάβουν τις δεκάδες ή τις εκατοντάδες των χωριστά εκτελέσιμων προγραμμάτων. Ο συντονισμός μεταξύ αυτών των προγραμμάτων θα απαιτήσει δοκιμές και παραδοχές, τους βρόχους, τις μεταβλητές και τους τύπους, τις υπορουτίνες και τα αυτοαφαιρούμενα είδη των λογικών εργαλείων που μια συμβατική γλώσσα παρέχει μέσα σε μια εφαρμογή. Σε μια πολύ μικρότερη κλίμακα, ένας γραφίστας ή ένας φωτορεπόρτερ μπορεί συνήθως να μεταφορτώσει τις εικόνες από μια ψηφιακή κάμερα να τις μετατρέψει σε μια αγαπημένη μορφή, να περιστρέψει τις εικόνες που γυρίστηκαν στον κάθετο προσανατολισμό, κάτω δείγματα αυτών να δημιουργήσουν εικονίδια αναζητήσημης έκδοσης, να τους συντάξει σε ευρετήριο κατά ημερομηνία, θέμα και ιστόγραμμο χρώματος, να τα κρατήσει εφεδρεία σε απόμακρο αρχείο και έπειτα να επανεκκινήσει την μνήμη της κάμερας. Η εκτέλεση αυτών των βημάτων με το χέρι είναι πιθανό να είναι και κουραστική και επιρρεπής σε λάθη. Σε παρόμοιο πνεύμα, η δημιουργία, μιας δυναμικής ιστοσελίδας μπορεί να απαιτήσει την επικύρωση και την έγκριση, τη συμβούλευση βάσεων δεδομένων, το χειρισμό εικόνας, τη απόμακρη επικοινωνία, και την ανάγνωση και το γράψιμο του κειμένου HTML. Όλα αυτά τα σενάρια προτείνουν μια ανάγκη για προγράμματα που συντονίζουν άλλα προγράμματα. Είναι φυσικά δυνατό να γραφτεί ο κώδικας συντονισμού στην Java, το C, ή κάποια άλλη συμβατική γλώσσα, αλλά είναι όχι πάντα εύκολο. Οι συμβατικές γλώσσες τείνουν να τονίσουν την αποδοτικότητα, τη συντηρησιμότητα, τη φορητότητα, και τη στατική ανίχνευση των λαθών. Τα συστήματα τύπων τους τείνουν να χτιστούν γύρω από τέτοιου επιπέδου hardware έννοιες όπως τους σταθερού μεγέθους ακέραιους αριθμούς, αιωρούμενου σημείου αριθμούς, χαρακτήρες, και σειρές. Σε αντίθεση οι γλώσσες προγραμματισμού τείνουν να τονίσουν την ευελιξία, τη γρήγορη ανάπτυξη, την τοπική προσαρμογή, και το δυναμικό (χρόνος εκτέλεσης) έλεγχο. Τα συστήματα τύπων τους, επιπλέον, τείνουν να αγκαλιάσουν τέτοιες υψηλού επιπέδου έννοιες όπως πίνακες, σχέδια, καταλόγους, και αρχεία. Οι γλώσσες προγραμματισμού γενικού σκοπού όπως το Perl και το Python καλούνται μερικές φορές γλώσσες κόλλας, επειδή είχαν ως αρχικό σκοπό να κολλήσουν τα υπάρχοντα προγράμματα να χτιστεί μαζί ένα μεγαλύτερο σύστημα. Με την αύξηση του World Wide Web, οι γλώσσες προγραμματισμού έχουν κερδίσει νέα διάκριση στην δημιουργία του δυναμικού περιεχομένου. Επίσης χρησιμοποιούνται ευρέως ως γλώσσες επέκτασης, οι οποίες επιτρέπουν στο χρήστη να προσαρμόσει ή να επεκτείνει τη λειτουργία των προγραμματιζόμενων εργαλείων. Εξετάζουμε την ιστορία και τη φύση του προγραμματισμού λεπτομερέστερα στην παράγραφο

6 Γυρίζουμε έπειτα στην παράγραφο 1.2 σε μερικές από τις περιοχές προβλήματος στις οποίες ο προγραμματισμός χρησιμοποιείται ευρέως. Αυτές περιλαμβάνουν την ερμηνεία εντολής (κέλυφος), την επεξεργασία κειμένων και την παραγωγή εκθέσεων, τα μαθηματικά και τις στατιστικές, το συντονισμό προγράμματος γενικού σκοπού, και διαμόρφωση και επέκταση. Στην παράγραφο 1.3 θεωρούμε διάφορες μορφές προγραμματισμού που χρησιμοποιούνται στο World Wide Web, συμπεριλαμβανομένων των προγραμμάτων της CGI, της επεξεργασίας από πλευρά παροχέα και την πλευρά του πελάτη των προγραμμάτων που ενσωματώνονται σε ιστοσελίδες, τα applets της Java, και XSLT. Τέλος, στην παράγραφο 1.4, εξετάζουμε μερικά από πιό ενδιαφέροντα γλωσσικά γνώρισμα, κοινά για πολλές γλώσσες προγραμματισμού, τα οποία τα διακρίνουν από τους παραδοσιακότερους επικρατόντες ξαδέρφους τους. Εξετάζουμε μερικώς την ονομασία, και τη δακτυλογράφηση τον χειρισμό σειράς και σχεδίων και υψηλού επιπέδου δομημένα στοιχεία. Δεν θα παράσχουμε μια λεπτομερή εισαγωγή σε οποιαδήποτε γλώσσα προγραμματισμού, αν και θα εξετάσουμε τα συγκεκριμένα παραδείγματα αρκετά.. Στο μεγαλύτερο μέρος αυτής της εργασίας, η έμφαση θα δοθεί από τις παρακάτω έννοιες

7 ΚΕΦΑΛΑΙΟ Τι είναι μια γλώσσα προγραμματισμού; Οι σύγχρονες γλώσσες προγραμματισμού έχουν δύο κύρια σύνολα προγόνων. Σε ένα σύνολο είναι οι διερμηνείς ή τα κέλυφος εντολής της παραδοσιακής batch και του τερματικού (γραμμής εντολών) υπολογισμού. Στο άλλο σύνολο είναι διάφορα εργαλεία για την επεξεργασία κειμένων και το αποτέλεσμα εκθέσεων. Τα παραδείγματα στο πρώτο σύνολο περιλαμβάνουν το JCL της IBM, το διερμηνέα εντολής MS-DOS, και τη Unix sh και csh τις οικογένειες κελύφους. Τα παραδείγματα στο δεύτερο σύνολο περιλαμβάνουν RPG της IBM, και της Unix sed και awk. Από αυτούς εξελιγμένο Rexx, αναδομημένος εκτεταμένος εκτελεστής της IBM, που χρονολογεί από το 1979, και Perl, που επινοήθηκε αρχικά από τον Larry Wall προς το τέλος της δεκαετίας του '80 και τώρα της ευρύτατα χρησιμοποιημένης γλώσσας προγραμματισμού γενικού σκοπού. Άλλες γλώσσες γενικού προγραμματισμού περιλαμβάνουν Tcl ( γαργάλημα ), Python, το Ruby, VBScript (για τα παράθυρα) και AppleScript (για τη Mac). Με την αύξηση του World Wide Web στα τέλη της δεκαετίας του '90,το Perl υιοθετήθηκε ευρέως για τη δευτερεύουσα προγραμματισμού Ιστού κεντρικών υπολογιστών, στην οποία ένας κεντρικός υπολογιστής δικτύου εκτελεί ένα πρόγραμμα (στη μηχανή του κεντρικού υπολογιστή) να παραχθεί το περιεχόμενο μιας σελίδας. Ένας πρώτος ενθουσιώδης του προγραμματισμού Ιστού ήταν ο Rasmus Lerdorf, ο οποίος δημιούργησε μια συλλογή προγραμμάτων για την πρόσβαση διαδρομής στην προσωπική αρχική σελίδα του. Αρχικά γραπτά σε Perl αλλά σύντομα ξανασχεδιασμένα ως ολοκληρωμένη και ανεξάρτητη γλώσσα, αυτά τα προγράμματα εξελίχθηκαν στα PHP, τώρα η δημοφιλέστερη πλατφόρμα για τον υπολογιστής-δευτερεύουσα προγραμματισμού Ιστού. Οι ανταγωνιστές της PHP περιλαμβάνουν JSP (σελίδες κεντρικών υπολογιστών της Java) και, στις πλατφόρμες της Microsoft, VBScript. Για τον προγραμματισμό στον υπολογιστή πελατών, όλες οι σημαντικές μηχανές αναζήτησης εφαρμόζουν JavaScript, μια γλώσσα που αναπτύχθηκε από την εταιρία Netscape στα μέσα της δεκαετία του '90 και που τυποποιήθηκε από το ECMA (το ευρωπαϊκό σώμα προτύπων) το 1999 [ECM99]. Στο κλασικό έγγραφό του για το προγραμματισμός [Ous98], ο John Ousterhout, ο δημιουργός του Tcl, σημειώνει ότι οι γλώσσες προγραμματισμού υποθέτουν ότι μια συλλογή των χρήσιμων συστατικών υπάρχει ήδη σε άλλες γλώσσες. Προορίζονται όχι για το γράψιμο των εφαρμογών από την αρχή αλλά μάλλον για το συνδυασμό των συστατικών

8 ΣΧΕΔΙΑΣΜΟΣ & ΕΦΑΡΜΟΓΗ Προγραμματισμού στις πλατφόρμες της Microsoft Όπως σε διάφορες άλλες πτυχές του υπολογισμού, η Microsoft τείνει να στηριχθεί στην εσωτερικά αναπτυγμένη τεχνολογία στον τομέα των γλωσσών προγραμματισμού. Οι περισσότερες από τις αιτήσεις προγραμματισμού της είναι βασισμένες σε VBScript, μια διάλεκτος Visual Basic. Συγχρόνως, η Microsoft έχει αναπτύξει μια πολύ γενική διεπαφή προγραμματισμού ( πρόγραμμα παραθύρων) που εφαρμόζεται ομοιόμορφα από το λειτουργικό σύστημα (οικοδεσπότης προγραμμάτων παραθύρων [WSH]), τον κεντρικό υπολογιστή δικτύου (ενεργές σελίδες κεντρικών υπολογιστών [ASP]), και τη μηχανή αναζήτησης του Internet Explorer. Μια εφαρμογή προγραμμάτων παραθύρων JScript, η έκδοση της επιχείρησης JavaScript, έρχεται στις μηχανές παραθύρων, αλλά οι γλώσσες όπως Perl και Python μπορούν να εγκατασταθούν επίσης και να χρησιμοποιηθούν να οδηγήσουν την ίδια διεπαφή. Πολλές άλλες εφαρμογές της Microsoft, συμπεριλαμβανομένου του ολόκληρου πακέτου προγραμμάτων Office, χρησιμοποιούν VBScript ως γλώσσα επέκτασης, αλλά για αυτές το πλαίσιο εφαρμογής (Visual Basic για τις εφαρμογές [VBA]) δεν τις καθιστά εύχρηστες προς άλλες γλώσσες αντ' αυτού. Λαμβάνοντας υπόψη το μερίδιο της Microsoft στην αγορά υπολογισμού υπολογιστών γραφείου, το VBScript είναι μια από τις ευρύτατα χρησιμοποιημένες γλώσσες προγραμματισμού. Δεν χρησιμοποιείται σχεδόν ποτέ σε άλλες πλατφόρμες, εντούτοις, ενώ οι Perl, Tcl, Python, και PHP, και άλλα βλέπουν σημαντική χρήση στα Windows. Για tov προγραμματισμό από πλευράς παροχέα, το PHP υπερισχύει αυτήν την περίοδο: από το Φεβρουάριο του 2005, περίπου 69% των ιστοχώρων 59 εκατομμυρίων δικτυακών τόπων που ερευνήθηκαν από την Netcraft LTD έτρεχαν τον ανοικτής πηγής κεντρικό υπολογιστή δικτύου Apache, και οι περισσότεροι από αυτούς, με ενεργό περιεχόμενο, χρησιμοποιούσαν το PHP. Ο κεντρικός υπολογιστής πληροφοριών Διαδικτύου της Microsoft (IIS) ήταν δεύτερος μετά το Apache, με 21% των περιοχών, και πολλές από εκείνες εγκατέστησαν το PHP επίσης από πλευράς πελατειακού προγραμματισμού, όπου το Internet Explorer ελέγχει περίπου 70% της αγοράς μηχανών αναζήτησης, οι περισσότεροι διαχειριστές ιστοχώρου χρειάζονται το περιεχόμενό τους να είναι ορατό στο άλλο 30%. Ο Explorer υποστηρίζει JavaScript (JScript), αλλά άλλες μηχανές αναζήτησης δεν υποστηρίζουν VBScript. Ο Ousterhout προβλέπει το μέλλον στο οποίο οι προγραμματιστές στηρίζονται όλο και περισσότερο στις γλώσσες προγραμματισμού για την κορυφαία δομή των συστημάτων τους, όπου η σαφήνεια, η ικανότητα επαναχρησιμοποίησης, και η ευκολία της ανάπτυξης είναι κρίσιμες. Οι παραδοσιακές γλώσσες συστημάτων όπως C, C++, ή Java, υποστηρίζει, θα χρησιμοποιηθούν για τα ανεξάρτητα, επαναχρησιμοποιήσιμα τμήματα συστημάτων, τα οποία υπογραμμίζουν τους σύνθε υς αλγορίθμους ή την ταχύτητα εκτέλεσης. Κατά γενικό κανόνα του αντίχειρα, προτείνει ότι ο κώδικας μπορεί να αναπτυχθεί 5 έως 10 φορές γρηγορότερα σε μια γλώσσα προγραμματισμού αλλά θα τρέξει 10 έως 20 χρόνους γρηγορότερα σε μια παραδοσιακή γλώσσα συστημάτων. Μερικοί συντάκτες διατηρούν τον όρο προγραμματισμού για τις γλώσσες κόλλας που χρησιμοποιούνται να συντονίσουν τα πολλαπλάσια προγράμματα. Στην κοινή χρήση, εντούτοις, ο προγραμματισμός είναι μια ευρύτερη και ασαφέστερη έννοια. Περιλαμβάνει σαφώς τον προγραμματισμό Ιστού. Για τους περισσότερους συντάκτες περιλαμβάνει επίσης τις γλώσσες επέκτασης

9 Πολλοί αναγνώστες θα εξοικειωθούν με τις Visual Basic μακροεντολές του Microsoft Office και των σχετικών εφαρμογών. Άλλοι μπορούν να εξοικειωθούν με την ψευδοβασισμένη γλώσσα επέκτασης του συντάκτη κειμένων emacs. Διάφορες γλώσσες, συμπεριλαμβανομένων των Tcl, Rexx, Python, και των διαλέκτων Guile και Elc του Scheme, σχεδιάζουν τις εφαρμογές κατά τέτοιο τρόπο ώστε μπορούν να ενσωματωθούν σε ένα μεγαλύτερο πρόγραμμα και να χρησιμοποιηθούν να επεκτείνουν τα χαρακτηριστικά γνωρίσματά τους. Η επέκταση ήταν στην πραγματικότητα ο αρχικός σκοπός του Tcl. Σε παρόμοιο πνεύμα, διάφορες ευρέως χρησιμοποιημένες εμπορικές εφαρμογές παρέχουν τις ιδιόκτητες γλώσσες επέκτασής τους. Για τον γραφικό προγραμματισμό (GUI) ενδιάμεσων με τον χρήστη, το κουτί εργαλείων Tk, που σχεδιάζεται αρχικά για τη χρήση με Tcl, έχει ενσωματωθεί σε διάφορες γλώσσες προγραμματισμού, συμπεριλαμβανομένου Perl, Python, και του Ruby. Κάποιος μπορεί να δει επίσης το XSLT (εκτατοί γλωσσικοί μετασχηματισμοί stylesheet) ως γλώσσα προγραμματισμού, αν και κάπως διαφορετική από τις άλλες που εξετάζονται σε αυτό το κεφάλαιο. Το XSLT είναι μέλος της αυξανόμενης οικογένειας (γλώσσα επεκτάσιμης σήμανσης) των εργαλείων XML. Το εξετάζουμε περαιτέρω στην παράγραφο της Κοινά χαρακτηριστικά Ενώ είναι δύσκολο να καθοριστούν ακριβώς οι γλώσσες προγραμματισμού, υπάρχουν διάφορα χαρακτηριστικά που τείνουν να έχουν από κοινού. Και ειδική και διαλογική χρήση. Μερικές γλώσσες προγραμματισμού (ειδικότερα το Perl) χρησιμοποιούν έναν επιτόπιο μεταγλωττιστή που επιμένει στην ανάγνωση ολόκληρου του προγράμματος πηγής προτού παραγάγει το οποιοδήποτε αποτέλεσμα. Οι περισσότερες άλλες γλώσσες, εντούτοις, είναι πρόθυμες να συντάξουν ή να ερμηνεύσουν την εισαγωγή τους, γραμμή προς γραμμή. Τα Rexx, Python, Tcl, Guile, το Ruby και (με ένα βραχύ πρόγραμμα αρωγών) θα δεχτούν όλες τις εντολές από το πληκτρολόγιο. Οικονομία της έκφρασης. Να υποστηρίξουν τη γρήγορη ανάπτυξη και τη διαλογική χρήση, οι γλώσσες προγραμματισμού τείνουν να απαιτήσουν ένα ελάχιστο boilerplate. Μερικοί κάνουν τη βαριά χρήση της στίξης και των πολύ κοντών προσδιοριστικών (το Perl είναι πασίγνωστο για αυτό), ενώ άλλοι (π.χ., Rexx, Tcl, και AppleScript) τείνουν να είναι περισσότερο όπως οι Άγγλοι, με πολλά μέρη τους σαν λέξεις και όχι πολλά σημεία στίξης. Όλη η προσπάθεια γίνεται να αποφευχθούν οι εκτενείς δηλώσεις και η κορυφαία δομή κοινή για τις συμβατικές γλώσσες. Όπου ένα τετριμμένο πρόγραμμα μοιάζει με αυτό στην Java: ΠΑΡΑΔΕΙΓΜΑ 1.1. Τετριμμένα προγράμματα στις συμβατικές και γλώσσες προγραμματισμού. class Hello { public static void main(string[] args) { System.out.println("Hello, world!"); } } και σαν αυτό στην Ada: - 8 -

10 with ada.text_io; use ada.text_io; procedure hello is begin put_line("hello, world!"); end hello; στις Perl, Python, η Ruby είναι απλό: print "Hello, world!\n" ΣΧΕΔΑΣΜΟΣ & ΕΦΑΡΜΟΓΗ Σύνταξη των ερμηνευμένων γλωσσών Αρκετές φορές σε αυτό το κεφάλαιο θα κάνουμε να παραπεμφθεί στον μεταγλωττιστή για μια γλώσσα προγραμματισμού. Όπως ότι είδαμε στα παραδείγματα 1.6 και 1.7, οι διερμηνείς δεν εργάζονται σχεδόν ποτέ με τον κωδικό πηγής, ένας προηγούμενος μεταφραστής αντικαθιστά αρχικά εκείνη την πηγή με κάποιο είδος ενδιάμεσης μορφής. Για τις περισσότερες εφαρμογές οι περισσότερες από τις γλώσσες που περιγράφονται σε αυτό το κεφάλαιο, είναι αρκετά σύνθετες στο μπροστινό τους μέρος να αξίζουν το όνομα μεταγλωττιστής. Οι ενδιάμεσες μορφές είναι χαρακτηριστικές αντιπροσωπεύσεις του κώδικα ψηφιολέξεων ενθυμίζουσες εκείνες της Java. ΣΧΕΔΑΣΜΟΣ & ΕΦΑΡΜΟΓΗ Κανονικές εφαρμογές Επειδή εφαρμόζονται με τους διερμηνείς, οι γλώσσες προγραμματισμού, τείνουν να είναι εύκολες στη μεταφορά από το ένα μηχάνημα στο άλλο, ουσιαστικά ευκολότερο από τους μεταγλωττιστές για τους οποίους κάποιος πρέπει να γράψει μια νέα γεννήτρια κώδικα. Λαμβάνοντας υπόψη έναν εγγενή μεταγλωττιστή για τη γλώσσα στην οποία ο διερμηνέας γράφεται, το μόνο δύσκολο μέρος (και μπορεί πράγματι να είναι δύσκολο) είναι να εφαρμοστούν οποιεσδήποτε απαραίτητες τροποποιήσεις στο μέρος του διερμηνέα που παρέχει τη διεπαφή στο λειτουργικό σύστημα. Συγχρόνως, η ευκολία μεταφοράς ενός διερμηνέα σημαίνει ότι διάφορες γλώσσες προγραμματισμού, συμπεριλαμβανομένων των Perl, Python, Tcl, και του Ruby, έχουν μια ενιαία ευρέως χρησιμοποιημένη εφαρμογή, η οποία χρησιμεύει ως ο de facto γλωσσικός καθορισμός. Διαβάζοντας ένα βιβλίο σε Perl, είναι δύσκολο να ειπωθεί πώς ένα λεπτό πρόγραμμα θα συμπεριφερθεί. Σε περίπτωση αμφιβολίας, κάποιος μπορεί να πρέπει να το δοκιμάσει. Το Rexx και JavaScript εμφανίζονται να είναι τα μοναδικά μεταξύ των ευρέως χρησιμοποιημένων γλωσσών προγραμματισμού που έχουν έναν επίσημο καθορισμό που κωδικοποιείται από ένα σώμα διεθνών προτύπων και έναν ανεξάρτητο από οποιαδήποτε εφαρμογή. (Τα sed, awk, και sh έχουν τυποποιηθεί επίσης από POSIX [Int03b], αλλά κανένας από αυτούς δεν έχει την πολυπλοκότητα των Perl, Python, Tcl, ή του Ruby.) - 9 -

11 Έλλειψη δηλώσεων απλοί κανόνες πεδίου. Οι περισσότερες γλώσσες προγραμματισμού διανέμουν με τις δηλώσεις, και παρέχουν απλούς κανόνες να κυβερνηθεί το πεδίο των ονομάτων. Σε μερικές γλώσσες (π.χ., Perl) όλα είναι σφαιρικά εξ ορισμού, οι προαιρετικές δηλώσεις μπορούν να χρησιμοποιηθούν να περιορίσουν μια μεταβλητή σε ένα τοποθετημένο πεδίο. Σε άλλες γλώσσες (π.χ., PHP και Tcl), όλα είναι τοπικά εξ ορισμού σφαιρικά πρέπει να εισαχθούν ρητά. Το Python υιοθετεί τον ενδιαφέροντα κανόνα ότι κάθε μεταβλητή που ορίζει μια αξία είναι τοπική στο φραγμό στον οποίο η ανάθεση εμφανίζεται. Η ειδική σύνταξη απαιτείται να ορίσει μια μεταβλητή σε ένα περιβάλλον πεδίο. Εύκαμπτη δυναμική δακτυλογράφηση. Για την τήρηση των ελλείψεων δηλώσεων, οι περισσότερες γλώσσες προγραμματισμού δακτυλογραφούνται δυναμικά. Σε μερικές (π.χ., PHP, Python, Ruby, και σχέδιο), ο τύπος μιας μεταβλητής ελέγχεται αμέσως πριν από τη χρήση. Σε άλλες (π.χ. Rexx, Perl, και Tcl ), μια μεταβλητή θα ερμηνευθεί διαφορετικά στα διαφορετικά πλαίσια. Παραδείγματος χάριν στο Perl $a = "4"; print $a. 3. "\n"; print $a + 3. "\n"; #. is concatenation # + is addition θα εκτυπώσει 43 7 ΠΑΡΑΔΕΙΓΜΑ 1.2. Εξαναγκασμός προγράμματος σε Perl Αυτή η βασισμένη στα συμφραζόμενα ερμηνεία είναι παρόμοια με τον εξαναγκασμό, εκτός από το ότι δεν υπάρχει απαραιτήτως μια έννοια του φυσικού τύπου από τον οποίο ένα objectmust μετατρέπεται οι διάφορες πιθανές ερμηνείες μπορούν όλες να είναι εξίσου φυσικές. Θα έχουμε περισσότερους που λένε για το πλαίσιο σε Perl στην παράγραφο της Εύκολη πρόσβαση σε άλλα προγράμματα. Οι περισσότερες γλώσσες προγραμματισμού παρέχουν έναν τρόπο να ζητηθεί από το ελλοχεύον λειτουργικό σύστημα να τρέξει ένα άλλο πρόγραμμα, ή να εκτελέσει κάποια λειτουργία άμεσα. Στις γλώσσες προγραμματισμού, εντούτοις, αυτά τα αιτήματα είναι πιο θεμελιώδη, και έχουν αμεσότερη υποστήριξη. Το Perl, είναι ένα, παρέχει καλά πάνω από 100 ενσωματωμένες εντολές που έχουν πρόσβαση στις λειτουργίες λειτουργικών συστημάτων για την εισαγωγή και το αποτέλεσμα, το χειρισμό αρχείων και καταλόγου, τη διαχείριση διαδικασιών, την πρόσβαση βάσεων δεδομένων, τις υποδοχές, την επικοινωνία εσωτερικής διεργασίας και το συγχρονισμό, την προστασία και την έγκριση, το ρολόι χρόνοημέρας, και την επικοινωνία δικτύων. Αυτές οι ενσωματωμένες εντολές είναι γενικά κομμάτι ευκολότερο να χρησιμοποιηθούν από τις αντίστοιχες κλήσεις βιβλιοθηκών στις γλώσσες όπως το C. Περίπλοκος χειρισμός ταιριάσματος σχεδίων και σειράς. Συνεχίζοντας με το κληροδότημα επεξεργασίας κειμένου και παραγωγής αναφορών και να διευκολύνουν το χειρισμό της κειμενικών εισαγωγής και του αποτελέσματος για τα εξωτερικά προγράμματα, οι γλώσσες προγραμματισμού τείνουν να έχουν εξαιρετικά πλούσιες λειτουργίες για το ταίριασμα σχεδίων, την αναζήτηση, και το χειρισμό σειράς. Χαρακτηριστικά αυτές είναι βασισμένες στις εκτεταμένες κανονικές εκφράσεις. Συζητάμε αυτές περαιτέρω στην παράγραφο της

12 Υψηλού επιπέδου τύποι στοιχείων. Οι υψηλού επιπέδου τύποι στοιχείων όπως τα σύνολα, τις τσάντες, τα λεξικά, τους καταλόγους και tuples είναι όλο και περισσότερο κοινοί στις τυποποιημένες συσκευασίες βιβλιοθηκών των συμβατικών γλωσσών προγραμματισμού. Μερικές γλώσσες (ειδικότερα C++) επιτρέπουν στους χρήστες να επαναπροσδιορίσουν τους τυποποιημένους χειριστές επενθημάτων να καταστήσουν αυτούς τους τύπους τόσο εύχρηστους όσο οι πιο πρωτόγονοι, υλικοκεντρικοί τύποι. Οι γλώσσες προγραμματισμού πηγαίνουν ένα βήμα περαιτέρω με την οικοδόμηση των υψηλού επιπέδου τύπων, στη σύνταξη και τη σημασιολογία της ίδιας της γλώσσας. Στις περισσότερες γλώσσες προγραμματισμού, παραδείγματος χάριν, είναι κοινό να υπάρχει μια σειρά που συντάσσεται από τις σειρές χαρακτήρα, με μια ελλοχεύουσα εφαρμογή βασισμένη σε πίνακες hash. Η αποθήκευση είναι αμετάβλητα απορρίμματα συλλεχθέντα. Ένα μεγάλο μέρος της ραγδαίας αλλαγής στις γλώσσες προγραμματισμού σήμερα εμφανίζεται στις γλώσσες προγραμματισμού. Αυτό μπορεί να αποδοθεί σε διάφορες αιτίες, συμπεριλαμβανομένης της συνεχούς αύξησης του Ιστού, του δυναμισμού της κοινότητας ανοικτής πηγής, και της συγκριτικά χαμηλής επένδυσης που απαιτείται να δημιουργήσει μια νέα γλώσσα προγραμματισμού. Όπου μια συνταγμένη, βιομηχανική ποιοτική γλώσσα όπως την Java ή C# απαιτεί μια πολυετή επένδυση από μια πολύ μεγάλης ομάδας προγραμματισμού, ένας μόνο ταλαντούχος σχεδιαστής, που εργάζεται μόνος, μπορεί να δημιουργήσει μια χρησιμοποιήσιμη εφαρμογή μιας νέας γλώσσας προγραμματισμού μόνο σε ένα ή δύο έτη. Οφειλόμενες εν μέρει σε αυτήν την γρήγορη αλλαγή, οι νεότερες γλώσσες προγραμματισμού ήταν σε θέση να ενσωματώσουν μερικές από τις πιο καινοτόμες έννοιες στο γλωσσικό σχέδιο. Το Ruby, παραδείγματος χάριν, έχει ένα ομοιόμορφο πρότυπο αντικειμένου (σαν Smalltalk), τα αληθινά iterators (όπως Clu), τις φέτες σειράς (όπως το FORTRAN 90), το δομημένο χειρισμό εξαίρεσης, τη πολλαπλή ανάθεση, και την αντανάκλαση. Το Python παρέχει επίσης αρκετά από αυτά τα χαρακτηριστικά γνωρίσματα, μαζί με τις ανώνυμες πρώτης τάξεως λειτουργίες, όπως τις κατανοήσεις καταλόγων Haskell. 1.2 Περιοχές προβλήματος ΚΕΦΑΛΑΙΟ 2 Μερικές γλώσσες γενικού σκοπού -Scheme και Visual Basic ιδιαιτέρως- χρησιμοποιούνται ευρέως για τον προγραμματισμό. Αντιθέτως, μερικές γλώσσες προγραμματισμού, συμπεριλαμβανομένου των Perl, Python, και του Ruby, προορίζονται από τους σχεδιαστές τους για χρήση γενικού σκοπού, με χαρακτηριστικά γνωρίσματα που προορίζονται να υποστηρίξουν ευρύτερο προγραμματισμό : ενότητες, χωριστή σύνταξη, αντανάκλαση, περιβάλλοντα ανάπτυξης προγράμματος, και ούτω καθεξής. Ως επί το πλείστον, οι γλώσσες προγραμματισμού τείνουν να δουν την κύρια χρήση τους στις καθορισμένες με σαφήνεια περιοχές προβλήματος. Εξετάζουμε μερικές από αυτούς στις ακόλουθες υποενότητες Γλώσσες Κελύφους (Εντολή) Στις ημέρες της διάτρητης κάρτας υπολογισμού, οι απλές γλώσσες εντολής επέτρεπαν στο χρήστη να πρόγραμματίσει την επεξεργασία μιας στίβας καρτών. Μια κάρτα ελέγχου στην αρχή της στίβας, παραδείγματος χάριν, έδειχνε ότι οι επερχόμενες κάρτες αντιπροσώπευσαν ένα πρόγραμμα που συντάσσεται, ή ίσως μια συμβολική γλώσσα (Assembly) για τον ίδιο τον μεταγλωττιστή, ή εισαγωγή

13 για ένα πρόγραμμα που συντάχθηκε ήδη, αποθηκεύτηκε στον δίσκο. Μια κάρτα ελέγχου που ενσωματώθηκε αργότερα στη στίβα, να εξετάσει τη θέση εξόδων του πρόσφατα εκτελεσμένου προγράμματος και να επιλέξει τι να κάνει έπειτα, βάσιζεται στο εάν εκείνο το πρόγραμμα ολοκληρώθηκε επιτυχώς. Λαμβάνοντας υπόψη τη γραμμική φύση μιας στίβας καρτών, εντούτοις (κάποιος δεν μπορεί σε γενική εφεδρία), οι γλώσσες εντολής για την επεξεργασία κατά δεσμίδες τείνουν να μην είναι πολύ περίπλοκες. Το JCL, παραδείγματος χάριν, δεν έχει καμία δομή επανάληψης Με την ανάπτυξη της διαλογικής κατανομής χρόνου στη δεκαετία του '60 αρχές της δεκαετίας του '70, οι γλώσσες εντολής έγιναν περιπλοκότερες. Ο Louis Pouzin έγραψε έναν απλό διερμηνέα εντολής για CTSS, το Συμβατό Σύστημα Κατανομής Χρόνου στο MIT, το 1963 και το Όταν η εργασία άρχισε στο εφαλτήριο σύστημα Multics το 1964,ο Pouzin σκιαγράφησε το σχέδιο μιας εκτεταμένης γλώσσας εντολής, με την αναφορά και την των μηχανισμών προσπέλασης δηλώσεων, για τους οποίους έπλασε τον όρο κέλυφος. Η επόμενη εφαρμογή που χρησιμεύει ως η έμπνευση για τον Ken Thompson στο σχέδιο του αρχικού κελύφους της Unix το Στα μέσα της δεκαετίας του '70 ο Stephen Bourne και ο John Mashey επέκτειναν ξεχωριστά το κέλυφος Thompson με τη ροή ελέγχου και τις μεταβλητές. Το σχέδιο του Bourne υιοθετήθηκε ως πρότυπο της Unix, που παίρνουν τη θέση (και το όνομα) του κελύφους Thompson, sh. Προς το τέλος της δεκαετίας του '70 ο Bill Joy ανέπτυξε το αποκαλούμενο κέλυφος C (csh), εμπνευσμένος τουλάχιστον εν μέρει με τη σύνταξη Mashey και την εισαγωγή των σημαντικών αυξήσεων για τη διαλογική χρήση, συμπεριλαμβανομένης της ιστορίας, τα ψευδώνυμα, και τον έλεγχο εργασίας. Η έκδοση tcsh του csh προσθέτει συντάκτη γραμμών εντολών και την ολοκλήρωση εντολής. Ο David Korn ενσωμάτωσε αυτούς τους μηχανισμούς σε έναν άμεσο απόγονο του κελύφους Bourne, ksh, το οποίο είναι πολύ παρόμοιο με το τυποποιημένο κέλυφος POSIX [Int03b]. Το δημοφιλές πάλι κέλυφος Bourne, bash, είναι μια ανοικτή έκδοση πηγής ksh. Ενώ το tcsh είναι ακόμα δημοφιλές σε μερικά τέταρτα, τα ksh/bash/posix SH είναι ουσιαστικά καλύτερα για το γράψιμο των προγραμμάτων κελύφους και συγκρίσιμα για τη διαλογική χρήση. Εκτός από τα χαρακτηριστικά γνωρίσματα που σχεδιάζονται για τη διαλογική χρήση, που δεν θα εξετάσουμε περαιτέρω εδώ, οι γλώσσες κελύφους παρέχουν έναν πλούτο μηχανισμών για τον χειρισμό, τα ονόματα αρχείων, τα επιχειρήματα, και τις εντολές, και να κολλήσουν μαζί με άλλα προγράμματα. Τα περισσότερα από αυτά τα χαρακτηριστικά γνωρίσματα διατηρούνται από τις γενικότερες γλώσσες προγραμματισμού. Εξετάζουμε μερικές από αύτες εδώ, χρησιμοποιώντας τη σύνταξη bash. Η συζήτηση αναγκαστικά απλοποιεί βαρέως τα πλήρη στοιχεία που μπορούν να βρεθούν στη σελίδα bash man, ή στις διάφορες απευθείας οδηγίες σύνδεσης. Όνομα αρχείου και μεταβλητή επέκταση Οι περισσότεροι χρήστες ενός κελύφους της Unix εξοικειώνονται με την επέκταση μπαλαντέρ των ονομάτων αρχείων. Η ακόλουθη εντολή θα απαριθμήσει όλα τα αρχεία στον τρέχοντα κατάλογο των οποίων τα ονόματα τελειώνουν σε.pdf. ΠΑΡΑΔΕΙΓΜΑ 1.3. Μπαλαντέρ και globbing ls *.pdf

14 Το κέλυφος επεκτείνει το σχέδιο *.pdf σε έναν κατάλογο όλων των ονομάτων που ταιριάζουν. Εάν υπάρχουν τρεις από τους (πείτε fig1.pdf, fig2.pdf, και fig3.pdf), το αποτέλεσμα είναι ισοδύναμο με ls fig1.pdf fig2.pdf fig3.pdf Η επέκταση ονομάτων αρχείου καλείται μερικές φορές globbing, μετά από την αρχική εντολή glob που την εφάρμοσε η Unix. Εκτός από τους μπαλαντέρ *, κάποιος μπορεί συνήθως να διευκρινίσει ότι αδιαφορώ ή εναλλακτικά χαρακτήρες ή υποσειρές. Το σχέδιο fig?.pdf θα ταιριάξει με (επεκταθεί σε) οποιοδήποτε αρχείο με έναν μονό χαρακτήρα μεταξύ τουg και της τελείας. Το σχέδιο fig?.pdf [0 9] θα απαιτήσει εκείνο τον χαρακτήρα ναείναι ένα ψηφίο. Το σχέδιο fig3. {eps, pdf} θα ταιριάξει και με fig3.eps και fig3.pdf. Η επέκταση ονομάτων αρχείου είναι ιδιαίτερα χρήσιμη στους βρόχους. Τέτοιοι βρόχοι μπορούν να δακτυλογραφηθούν άμεσα από το πληκτρολόγιο, ή να ενσωματωθούν στα προγράμματα προοριζόμενα για την πιό πρόσφατη εκτέλεση. Υποθέστε, παραδείγματος χάριν, ότι επιθυμούμε να δημιουργήσουμε τις εκδόσεις PDF όλων των EPS αριθμών μας: ΠΑΡΑΔΕΙΓΜΑ 1.4. Για τους βρόχους στο κέλυφος for fig in *.eps do ps2pdf $fig done Η δομή for κανονίζει για την μεταβλητή του κελύφους fig να αναλάβει τα ονόματα στην επέκταση *.eps, ένα κάθε φορά, στις διαδοχικές επαναλήψεις του βρόχου. Το σημάδι δολαρίων στη γραμμή 3 αναγκάζει την αξία του fig να επεκταθεί στην εντολή ps2pdf προτού να εκτελεσθεί. (Κατά τρόπο ενδιαφέροντα, ps2pdf είναι το ίδιο ένα πρόγραμμα κελύφους που καλεί το διερμηνέα PostScript gs.) Τα προαιρετικά στηρίγματα μπορούν να χρησιμοποιηθούν να χωρίσουν ένα μεταβλητό όνομα από την ακολουθία των χαρακτήρων, όπως σε $ CP $foo {foo} _backup. Οι πολλαπλάσιες εντολές μπορούν να εισαχθούν σε μια ενιαία γραμμή εάν χωρίζονται από τις άνω τελείες. Ο ακόλουθος, παραδείγματος χάριν, είναι ισοδύναμος με το βρόχο στο προηγούμενο παράδειγμα. ΠΑΡΑΔΕΙΓΜΑ 1.5. Ολόκληρος ένας βρόχος σε μια γραμμή for fig in *.eps; do ps2pdf $fig; done Δοκιμές, ερωτήσεις, και όροι Ο βρόχος του προηγούμενου παραδείγματος θα εκτελέσει ps2pdf για κάθε EPS αρχείο στον τρέχοντα κατάλογο. Υποθέστε, εντούτοις, ότι έχουμε ήδη μερικά αρχεία PDF, και μόνο θέλουμε να δημιουργήσουμε αυτα που λείπουν. for fig in *.eps do target=${fig%.eps}.pdf if [ $fig -nt $target ] then

15 ps2pdf $fig fi done ΠΑΡΑΔΕΙΓΜΑ 1.6. Υπό όρους δοκιμές στο κέλυφος Η τρίτη γραμμή αυτού του προγράμματος είναι μια μεταβλητή ανάθεση. Η έκφραση ${fig%.eps} μέσα στη δεξιά πλευρά επεκτείνει την αξία του fig με οποιοδήποτε ακολουθούμενο.eps να αφαιρείται. Οι παρόμοιες ειδικές επεκτάσεις μπορούν να χρησιμοποιηθούν να εξετάσουν ή να τροποποιήσουν την αξία μιάς μεταβλητής σε πολλούς διαφορετικούς τρόπους. Τις τετράγωνες αγκύλες στη γραμμή τέσσερα οριοθετούν μια υπό όρους δοκιμή. O χειριστής - nt ελέγχει να δει εάν το αρχείο που ονομάζεται από τον αριστερό τελεστή του είναι νεώτερο από το αρχείο που ονομάζεται από το δεξιό τελεστή του (ή εάν ο αριστερός τελεστής υπάρχει αλλά ο δεξιός όχι). Οι παρόμοιοι χειριστές ερώτησης αρχείων μπορούν να χρησιμοποιηθούν να ελέγξουν πολλές άλλες ιδιότητες των αρχείων. Οι πρόσθετοι χειριστές μπορούν να χρησιμοποιηθούν για τις συγκρίσεις αριθμητικής ή σειράς. 4 Το PostScript είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από την Adobe Systems, ΙΝΟ.για την περιγραφή των εικόνων και των εγγράφων (την εξετάζουμε πάλι στην πλαϊνή μπάρα ). Τοποθετημένο σε κάψα PostScript (EPS) είναι μια περιορισμένη μορφή PostScript προοριζόμενη για τους αριθμούς που πρόκειται να ενσωματωθούν σε άλλα έγγραφα. Η φορητή μορφή εγγράφου (PDF, επίσης από την Adobe) είναι μια ανεξάρτητη μορφή αρχείου που συνδυάζει ένα υποσύνολο PostScript με τους μηχανισμούς ενσωμάτωσης και συμπίεσης γραμματοσειρών. Είναι αυστηρά λιγότερο ισχυρό από το PostScript από μια υπολογιστική προοπτική, αλλά πιό φορητό, και γρηγορότερο και ευκολότερο να αποδώσει. Δίαυλοι και επαναπροσανατολισμός ΠΑΡΑΔΕΙΓΜΑ 1.7. Μια από τις κύριες καινοτομίες της Unix ήταν η δυνατότητα να αλυσοδεθούν οι εντολές μαζί, διοχετεύοντας με σωλήνες το αποτέλεσμα της μιας στην εισαγωγή των επόμενων. Όπως τα περισσότερα κελύφη, bash χρησιμοποιεί τον κάθετο ςχαρακτήρα φραγμών (I) ναδείξει έναν δίαυλο. Ναμετρήσουμε τον αριθμό αριθμών σωλήνων στον κατάλογό μας, χωρίς διάκριση μεταξύ των εκδόσεων EPS και PDF, θα δακτυλογραφήσουμε for fig in *; do echo ${fig%.*}; done Isort -u Iwc -l Εδώ η πρώτη εντολή, βρόχου for, τυπώνει τα ονόματα όλων των αρχείων με τις επεκτάσεις (σημειοεπιθηματικές ) να έχουν αφαιρεθεί. Η εντολή echo μέσα στο βρόχο τυπώνει απλά τα επιχειρήματά της. Η εντολή sort-u μετά από το βρόχο αφαιρεί τα αντίγραφα, και η εντολή wc -l μετρά τις γραμμές. Όπως τα περισσότερα κελύφη, η bash επίσης επιτρέπει στο αποτέλεσμα να κατευθυνθεί σε ένα αρχείο, ή την εισαγωγή που διαβάζεται από ένα αρχείο. Να δημιουργήσουμε έναν κατάλογο αριθμών, θα δακτυλογραφήσουμε for fig in *; do echo ${fig%.*}; done Isort -u > all_figs ΠΑΡΑΔΕΙΓΜΑ 1.8. Επαναπροσανατολισμός αποτέλεσματος

16 ΣΧΕΔΑΣΜΟΣ & ΕΦΑΡΜΟΓΗ Ενσωματωμένες εντολές στο κέλυφος Οι εντολές στο κέλυφος λαμβάνουν γενικά τη μορφή μιας ακολουθίας λέξεων, η πρώτη της οποίας είναι το όνομα της εντολής. Οι περισσότερες εντολές είναι εκτελέσιμα προγράμματα, που βρίσκονται στους καταλόγους για την πορεία αναζήτησης του κελύφους. Ένας μεγάλος αριθμός, εντούτοις (περίπου 50 στο bash) είναι εντολές ενσωματωμένες, που το κέλυφος αναγνωρίζει και εκτελεί το ίδιο, παρά την έναρξη ενός εξωτερικού προγράμματος. Κατά τρόπο ενδιαφέροντα, διάφορες εντολές που είναι διαθέσιμες ως χωριστά προγράμματα αναπαράγονται ως ενσωματωμένες, είτε χάριν της αποδοτικότητας είτε να παρέχουν την πρόσθετη σημασιολογία. Οι υπό όρους δοκιμές, παραδείγματος χάριν, υποστηρίχθηκαν αρχικά από την εξωτερική εντολή δοκιμής (για την οποία οι τετράγωνες αγκύλες είναι συντακτική ζάχαρη), αλλά αυτές εμφανίζονται αρκετά συχνά στα προγράμματα που η ταχύτητα εκτέλεσης βελτιώθηκε σημαντικά όταν προστέθηκε μια ενσωματωμένη έκδοση. Σε αντίθεση, η εντολή kill δεν χρησιμοποιείται πολύ συχνά, η ενσωματωμένη έκδοση επιτρέπει στην διαδικασία να προσδιοριστεί από τον μικρό ακέραιο αριθμό ή τα συμβολικά ονόματα από το μηχανισμό ελέγχου εργασίας του κελύφους. Η εξωτερική έκδοση υποστηρίζει μόνο τα μακρύτερα και συγκριτικά ασήμαντα προσδιοριστικά διαδικασίας που παρέχονται από το λειτουργικό σύστημα. Το σημάδι μεγαλύτερο από δείχνει τον επαναπροσανατολισμό αποτέλεσματος. Εάν διπλασιαστεί (είδος - u >> all_figs) αναγκάζει το αποτέλεσμαναεπισυναφθεί στο διευκρινισμένο αρχείο, παρά την επικάλυψη του προηγούμενου περιεχομένου. Σε παρόμοιο πνεύμα, το σημάδι λιγότερο από δείχνει επαναπροσανατολισμό εισαγωγής. Υποθέστε ότι θέλουμε να τυπώσουμε τον κατάλογο όλων των αριθμών μας σε μια γραμμή, που χωρίζονται από τα διαστήματα, αντί σε πολλαπλές γραμμές. Σε ένα σύστημα της Unix μπορούμε να δακτυλογραφήσουμε: tr \n < all_figs Αυτή η επίκληση της τυποποιημένης εντολής tr μετατρέπει όλους τους χαρακτήρες αλλαγών γραμμής σε διαστήματα. Επειδή το tr γράφτηκε ως απλό φίλτρο, δεν δέχεται έναν κατάλογο αρχείων στη γραμμή εντολής διαβάζει μόνο την τυποποιημένη εισαγωγή. Για οποιοδήποτε πρόγραμμα εκτέλεσης Unix, το λειτουργικό σύστημα παρακολουθεί έναν καταλόγο ανοικτών αρχείων. Από τη σύμβαση, η τυποποιημένη εισαγωγή και το τυποποιημένο αποτέλεσμα (stdin και stdout) είναι αριθμοί αρχείων 0 και 1. Το αρχείο αριθμόυ 2 είναι εκ παραδοχής τυποποιημένο λάθος (stderr), στο οποίο τα προγράμματα είναι υποτιθέμενα να τυπώσουν τα διαγνωστικά μηνύματα λάθους. Ένα από τα πλεονεκτήματα της οικογένειας των κελύφων sh πέρα από την οικογένεια csh είναι η δυνατότητα να επαναπροσανατολίσει stderr και άλλος ανοικτά ανεξάρτητα αρχεία του stdin και stdout. Εξετάστε, παραδείγματος χάριν, το πρόγραμμα ps2pdf. Κάτω από

17 κανονικές περιστάσεις αυτό το πρόγραμμα λειτουργεί σιωπηλά. Εάν αντιμετωπίσει ένα λάθος, εντούτοις, τυπώνει ένα μήνυμα στο stdout και εγκαταλείπει. Αυτή η παραβίαση της σύμβασης (το μήνυμα πρέπει να πάει στο stderr) είναι αβλαβής όταν επικαλείται η εντολή από το πληκτρολόγιο. Εάν ενσωματώνεται σε ένα πρόγραμμα, εντούτοις και το αποτέλεσμα του προγράμματος κατευθύνεται σε ένα αρχείο, το μήνυμα λάθους μπορεί να καταλήξει στο αρχείο αντί στην οθόνη, και να περάσει απαρατήρητο από το χρήστη. Με το bash μπορούμε να δακτυλογραφήσουμε: ps2pdf my_fig.eps 1>&2 ΠΑΡΑΔΕΙΓΜΑ 1.9. Επαναπροσανατολισμός του stderr και stdout Εδώ 1>&2 σημαίνουν κάνε το ps2pdf να στείλει το αρχείο 1 (stdout) στο ίδιο μέρος όπου το περιβάλλον πλαίσιο θα έστελνε κανονικά το αρχείο 2 (stderr). Τέλος, όπως τα περισσότερα κελύφη, bash επιτρέπουν στο χρήστη να παρέχει την εισαγωγή σε μια ευθύγραμμη εντολή: tr \n <<END list of input lines END ΠΑΡΑΔΕΙΓΜΑ 1.10 Heredocs (ευθύγραμμη εισαγωγή) Το <<END δείχνει ότι οι επόμενες γραμμές εισαγωγής, μέχρι μια γραμμή που περιέχει μόνο το END, πρόκειται να παρασχεθούν ως εισαγωγή στο tr. Τέτοια ευθύγραμμη εισαγωγή (παραδοσιακά αποκαλούμενη εδώ έγγραφο ) σπάνια χρησιμοποιείται αμφίδρομα, αλλά είναι ιδιαίτερα χρήσιμη στα προγράμματα κελύφους. Αναφορά και επέκταση Τα κελύφη παρέχουν χαρακτηριστικά αρκετών αναφέρομενων μηχανισμών στις ομάδες λέξεις μαζί στις σειρές. Τα μονά (προς τα εμπρός) αποσπάσματα εμποδίζουν το όνομα αρχείου και τη μεταβλητή επέκταση στο αναφερμένο κείμενο, και την αναγκάζουν να αντιμετωπιστούν ως μεμονωμένη λέξη, ακόμα κι αν περιέχει το άσπρο διάστημα. Τα διπλά αποσπάσματα αναγκάζουν επίσης το περιεχόμενο να αντιμετωπιστεί ως μεμονωμένη λέξη, αλλά δεν εμποδίζει την επέκταση. Κατά συνέπεια foo=bar single= $foo double="$foo" echo $single $double θα τυπώσει $foo bar. ΠΑΡΑΔΕΙΓΜΑ Ενιαία και διπλά αποσπάσματα

18 Διάφορες άλλες δομές αγκυλών στο bash ομαδοποιούν το μέσα κείμενο, για διάφορους λόγους. Οι κατάλογοι εντολής εσωκλειόμενοι σε παρένθεση περνούν σε ένα subshell για αξιολόγηση. Εάν η παρένθεση ανοίγματος προηγείται από ένα σημάδι δολαρίων, το αποτέλεσμα του τοποθετημένου καταλόγου εντολής επεκτείνεται στο περιβάλλον πλαίσιο for fig in $(cat my_figs); do ps2pdf ${fig}.eps; done ΠΑΡΑΔΕΙΓΜΑ Subshells Εδώ η cat είναι η τυποποιημένη εντολή τύπωσης του περιεχόμενου ενός αρχείου. Τα περισσότερα κελύφη χρησιμοποιούν προς τα πίσω τα ενιαία αποσπάσματα για τον ίδιο σκοπό (' cat my_figs '). Η bash υποστηρίζει αυτήν την σύνταξη επίσης, για οπίσθια συμβατότητα. Οι κατάλογοι εντολής που εσωκλείονται στις αγκύλες αντιμετωπίζονται από το bash ως ενιαία μονάδα. Μπορούν να χρησιμοποιηθούν, παραδείγματος χάριν, για να επαναπροσανατολίσουν το αποτέλεσμα μιας ακολουθίας εντολών: { date; ls; } >> file_list ΠΑΡΑΔΕΙΓΜΑ Αναφερόμενα στις αγκύλες πλαίσια μεσα στο κέλυφος Αντίθετα από τους κατάλογους, οι εντολές που εσωκλείονται στις αγκύλες εκτελούνται από το τρέχον κέλυφος. Από μια προοπτική γλωσσών προγραμματισμού, οι παρενθέσεις και οι αγκύλες συμπεριφέρονται ανάποδα από τον τρόπο που κάνουν στο C: οι παρενθέσεις εισάγουν ένα τοποθετημένο δυναμικό πεδίο στο bash, ενώ οι αγκύλες είναι καθαρά για την ομαδοποίηση. Εν μέρη, οι μεταβλητές που ορίζονται, οι νέες τιμές μέσα στο a, ο κατάλογος εντολής θα επανέλθουν στις προηγούμενες τιμές τους μόλις ολοκληρώσει ο κατάλογος την εκτέλεση. ΠΑΡΑΔΕΙΓΜΑ Όταν δεν περιβάλλονται από το άσπρο διάστημα, οι αγκύλες εκτελούν τον βασιζόμενο στο σχέδιο καταλόγο αποτελεσμάτων, κατά τρόπο παρόμοιο με την επέκταση ονομάτων αρχείου αλλά χωρίς τη σύνδεση στο σύστημα αρχείων. Παραδείγματος χάριν, τυπωμένες οι echo abc12xyz abc34xyz abc56xyz abc { } xyz. Επίσης, δεδομένου ότι έχουμε δει, οι αγκύλες χρησιμεύουν για να οριοθετήσουν τα μεταβλητά ονόματα όταν προηγείται η αγκύλη ανοίγματος από ένα σημάδι δολαρίων. Στο παράδειγμα 1.6 χρησιμοποιήσαμε τις τετράγωνες αγκύλες για να εσωκλείσουμε μια υπό όρους έκφραση.οι διπλές τετράγωνες αγκύλες εξυπηρετούν έναν παρόμοιο σκοπό, αλλά με περισσότερη, όπως στην C, σύνταξη έκφρασης, και χωρίς επέκταση ονομάτων αρχείου. Οι διπλές παρενθέσεις χρησιμοποιούνται για να εσωκλείσουν τους αριθμητικούς υπολογισμούς, πάλι με, όπως στην C, σύνταξη. Η παρεμβολή των εντολών στο $ () ή τα ανάποδα εισαγωγικά, τα σχέδια μέσα σε {}, και οι αριθμητικές εκφράσεις μέσα σε (()) είναι όλες οι εξεταζόμενες μορφές επέκτασης, ανάλογως με την επέκταση των ονομάτων αρχείου και τη μεταβλητή επέκταση. Ο διαχωρισμός των σειρών στις λέξεις θεωρείται επίσης μορφή επέκτασης, όπως είναι η αντικατάσταση, σε ορισμένα πλαίσια, των χαρακτήρων tilde (~) με το όνομα του εγχώριου καταλόγου του χρήστη. Όλοι που λέγονται, μας δίνουν επτά διαφορετικά είδη επέκτασης στο bash. Όλες οι διάφορες δομές αγκυλών έχουν κανόνες μέσα σ υς οποίους τα είδη επέκτασης εκτελούνται. Οι

19 κανόνες προορίζονται να είναι όσο το δυνατόν πιό διαισθητικοί, αλλά δεν είναι ομοιόμορφοι στα κατασκευάσματα. Η επέκταση ονομάτων αρχείου, παραδείγματος χάριν, δεν εμφανίζεται μέσα [[]] - βαλμένη σε παρένθεση όροι. Ομοίως, ένας διπλός χαρακτήρας αποσπάσματος μπορεί να εμφανιστεί μέσα σε μια διπλός-αναφερμένη σειρά εάν δραπετεύσει με μια αντίστροφη κάθετο, αλλά ένας ενιαίος χαρακτήρας αποσπάσματος μπορεί να μην εμφανιστεί μέσα σε μια ενιαία-αναφερμένη σειρά. Λειτουργίες Οι χρήστες μπορούν να καθορίσουν τις λειτουργίες στο bash εκείνο το έπειτα εργάζονται όπως τις ενσωματωμένες εντολές. Πολλοί χρήστες, παραδείγματος χάριν, καθορίζουν ll ως συντομότερος δρόμος για το LS - λ, το οποίο απαριθμεί τα αρχεία στον τρέχοντα κατάλογο με το μακροχρόνιο σχήμα: : function ll () { ls -l } ΠΑΡΑΔΕΙΓΜΑ Καθορισμένες από το χρήστη λειτουργίες κελύφους Μέσα στη λειτουργία, $1 αντιπροσωπεύουν την πρώτη παράμετρο, $2 αντιπροσωπεύουν τη δεύτερη, και ούτω καθεξής. Στον καθορισμό του ll, αντιπροσωπεύει τον ολόκληρο κατάλογο παραμέτρου. Οι λειτουργίες μπορούν να είναι αυθαίρετα σύνθετες. In particular^ bash υποστηρίζει και τις τοπικές μεταβλητές και επαναδρομολογήσεις. Τα κελύφη στην οικογένεια csh παρέχουν έναν πιό πρωτόγονο ς μηχανισμό ψευδωνύμων που λειτουργεί μέσω της μακροεπέκτασης. Συνθήκη #! Όπως σημειώνεται ανωτέρω, οι εντολές κελύφους μπορούν να διαβαστούν από ένα αρχείο προγραμμάτων. Για να τους εκτελέσει στο τρέχον κέλυφος, κάποιος χρησιμοποιεί την εντολή τελεία :. my_script ΠΑΡΑΔΕΙΓΜΑ 1.16 Συνθήκη #! στα αρχεία προγραμμάτων. όπου my_script είναι το όνομα του αρχείου. Πολλά λειτουργικά συστήματα, συμπεριλαμβανομένων των περισσότερων εκδόσεων της Unix, επιτρέπουν σε κάποιον να κάνει ένα πρόγραμμα να λειτουργήσει ως εκτελέσιμο πρόγραμμα, έτσι ώστε οι χρήστες μπορούν απλά να δακτυλογραφήσουν ΣΧΕΔΑΣΜΟΣ & ΕΦΑΡΜΟΓΗ Μαγικοί αριθμοί

20 Όταν ο πυρήνας της Unix καλείται να εκτελέσει ένα αρχείο (μέσω της κλήσης συστημάτων execve), ελέγχει τις πρώτες πρώτες ψηφιολέξεις του αρχείου για έναν μαγικό αριθμό που δείχνει τον τύπο του αρχείου. Μερικές τιμές αντιστοιχούν στις άμεσα εκτελέσιμες μορφές αρχείου αντικειμένου. Κάτω από τα Linux, παραδείγματος χάριν, οι πρώτες τέσσερις ψηφιολέξεις ενός αρχείου αντικειμένου είναι 0x7f45_4c46 (delelf στο ASCII). Κάτω από το Mac OS Χ είναι 0xfeed_face. Εάν οι πρώτες δύο ψηφιολέξεις είναι 0x2321 (#! στο ASCII), ο πυρήνας υποθέτει ότι το αρχείο είναι ένα πρόγραμμα, και διαβάζει τους επόμενους χαρακτήρες για να βρεί το όνομα του διερμηνέα.. Η σύμβαση #! στη Unix είναι ο κύριος λόγος που η περισσότερη γλωσσική χρήση προγραμματισμού # ως οριοθετεί σχόλιο ανοίγματος. Οι πρόωρες εκδόσεις του sh χρησιμοποίησαν την εντολή κανένας-op (:) ως τρόπο να εισαγάγουν τα σχόλια. Το κέλυφος C του Joy εισήγαγε το #, όπου τροποποιήθηκαν μερικές εκδόσεις του sh για να προωθήσουν το csh, όταν ζητούμένο να εκτελέσει ένα πρόγραμμα που εμφανίστηκε να αρχίζει με ενα σχόλιο κελύφους C. Αυτός ο μηχανισμός εξελίχθηκε στο γενικότερο μηχανισμό που χρησιμοποιήθηκε σε πολλές (εν τούτοις όχι όλοι)τις σήμερινες παραλλαγές της Unix. Δύο βήματα απαιτούνται. Κατ' αρχάς, το αρχείο πρέπει να χαρακτηριστεί εκτελέσιμο στα μάτια του λειτουργικού συστήματος. Στη Unix κάποιος δακτυλογραφεί chmod +x my_script. Δεύτερον, το αρχείο πρέπει να είναι μονοπεριγραφικό με τέτοιο τρόπο ώστε να επιτρέπει στο λειτουργικό σύστημα να πει ποιο κέλυφος (ή άλλος διερμηνέας) θα καταλάβει το περιεχόμενο. Κάτω από τη Unix, το αρχείο πρέπει να αρχίσει με τους χαρακτήρες #!, ακολουθούμενος από το όνομα του κελύφους. Το χαρακτηριστικό πρόγραμμα bash αρχίζει έτσι με #!/bin/bash Η διευκρίνιση του πλήρους ονόματος πορειών είναι ένα χαρακτηριστικό γνώρισμα ασφάλειας: προσδοκά τη δυνατότητα ότι ο χρήστης μπορεί να έχει μια πορεία αναζήτησης, για τις εντολές στις οποίες κάποιο άλλο πρόγραμμα που ονομάζεται bash,εμφανίζεται πριν από το κέλυφος. (Δυστυχώς, η απαίτηση για τα πλήρη ονόματα πορειών κάνει τις γραμμές#! μη φορητές, δεδομένου ότι τα κέλυφος και άλλοι διερμηνείς μπορούν να εγκατασταθούν σε διαφορετικές θέσεις σε διαφορετικές μηχανές.) ΕΛΕΓΞΑΤΕ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΣΑΣ 1. Δώστε έναν εύλογο καθορισμό μιας πρότασης της γλώσσας προγραμματισμού. 2. Απαριθμήστε τους κύριους τρόπους με τους οποίους οι γλώσσες προγραμματισμού διαφέρουν από τις συμβατικές γλώσσες συστημάτων. 3. Από ποια δύο κύρια σύνολα προγόνων κατάγονται οι σύγχρονες γλώσσες προγραμματισμού ; 4. Ποια δημιουργία της ΙΒΜ θεωρείται γενικά ως πρώτη γλώσσα προγραμματισμού γενικού σκοπού; 5. Ποια είναι η δημοφιλέστερη γλώσσα για την από πλευρά παροχέα προγραμματισμού Ιστού; 6. Πώς η έννοια του πλαισίου σε Ρογ! διαφέρει από τον εξαναγκασμό;

21 7. Τι είναι σφαιροποίηση; Τι είναι ένας μπαλαντέρ; 8. Τι είναι ένας δίαυλος στη Unix; Τι είναι επαναπροσανατολισμός; 9. Περιγράψτε τα τρείς τυποποιημένες I/O ροές που παρέχονται σε κάθε διαδικασία της Unix. 10. Εξηγήστε τη σημασία της σύμβασης #! στα προγράμματα κελύφους της Unix Επεξεργασία κειμένων και αποτέλεσμα εκθέσεων Οι γλώσσες της Shell τείνουν να προσανατολιστούν βαριά στις σειρές. Οι εντολές είναι σειρές, που αναλύονται στους καταλόγους λέξεων. Οι μεταβλητές εκτιμούνται ανά σειρά. Οι μεταβλητοί μηχανισμοί επέκτασης επιτρέπουν στο χρήστη να εξαγάγουν τα προθέματα, τα επιθήματα, ή τις αυθαίρετες υποσειρές. Η αλληλουχία υποδεικνύεται από την απλή αντιπαράθεση. Υπάρχει επιμερισμός αναφερόμενος στις συμβάσεις. Λίγες συμβατικότερες γλώσσες έχουν παρόμοια υποστήριξη για τις σειρές. # label ( target for branch ): :top /<[hh] [ 123]>.*\[hH] [ 123]>/ { h sa(<v[hh] [123] >\) /\1/ s/ Λ.*\ (<[hh] [123] >\) Λ1/ p g s/<v[hh] [123] > // } b top ;# match whole heading ;# save copy of pattern space ;# delete text after closing tag ;# delete text before closing tag ;# print what remains ;# retrieve saved pattern space ;# delete closing tag ;# and branch to top of script /<[hh] [123]>/ { N b top } d ;# match opening tag (only) ;# extend search to next line ;# and branch to top of script ;# if no match at all, delete Σχήμα 1.1 Πρόγραμμα σε sed για να εξαγάγει τις επιγραφές από ένα αρχείο HTML. Το πρόγραμμα υποθέτει ότι οι ανοιγόμενες και κλείνουσες ετικέττες αντιστοιχούνται καταλλήλως και ότι οι επιγραφές δεν τοποθετούνται. Συγχρόνως, οι γλώσσες κελύφους δεν προορίζονται σαφώς για το είδος του χειρισμού κειμένων που εκτελείται συνήθως στους συντάκτες όπως ο emacs ή vi. Η αναζήτηση και η αντικατάσταση ιδιαίτερα, λείπει και πολλοί άλλοι στόχοι που οι συντάκτες ολοκληρώνουν με μια ενιαία πληκτρολόγηση - εισαγωγή, διαγραφή, αντικατάσταση, υποστήριγμα-που ταιριάζουν με, προς τα εμπρός και οπίσθια κίνηση - θα ήταν αδέξιοι να εφαρμόσουν, ή δεν έχουν απλά κανένα νόημα, στα πλαίσια του κελύφους. Για τον επαναλαμβανόμενο χειρισμό κειμένων είναι φυσικό να θελήσει να αυτοματοποιήσει τη διαδικασία έκδοσης. Τα εργαλεία για να ολοκληρώσουν αυτόν τον στόχο αποτελούν τη δεύτερη κύρια κατηγορία προγόνων για τις σύγχρονες γλώσσες προγραμματισμού

22 Sed Σαν ενα απλό παράδειγμα επεξεργασίας κειμένων, εξετάστε το πρόβλημα για όλες τις επιγραφές από μια ιστοσελίδαχ (ένα αρχείο HTML). Αυτές είναι σειρές που οριοθετούνται από <H1>... </H1>, <H2>... </H2>, και < H 3>. ετικέττες </H3>. ΠΑΡΑΔΕΙΓΜΑ Εξαγωγή των επιγραφών HTML με το sed Ολοκληρώνοντας αυτόν τον στόχο σε έναν συντάκτη όπως το emacs, vil, ή ακόμα και το Microsoft Word είναι απλό αλλά κουραστικό : κάποιος πρέπει να ψάξει για μια ετικέττα ανοίγματος, να διαγράψει το προηγούμενο κείμενο, να αναζητήσει μια κλεισίματος, να χαρακτηρίσει την τρέχουσα θέση (ως αφετηρία για την επόμενη διαγραφή), και να επαναλάβει. Ένα πρόγραμμα που θα εκτελέσει αυτούς τους στόχους σε sed, ο συντάκτης ρευμάτων της Unix, εμφανίζεται στο σχήμα 1. Ο κώδικας αποτελείται από μια κεφαλίδα και τρεις εντολές, από τις οποίες οι δύο είναι σύνθετες. Η πρώτη σύνθετη εντολή τυπώνει την πρώτη επιγραφή που βρίσκεται, ενδεχομένως, στη μερίδα της εισαγωγής που εξετάζεται αυτήν την περίοδο (το sed το καλεί διάστημα σχεδίων). Η δεύτερη σύνθετη εντολή επισυνάπτει μια καινούργια γραμμή στο διάστημα σχεδίων οπότε περιέχει ήδη μια ετικέττα επιγραφής ανοίγματος. Οι δύο σύνθετες εντολές και αρκετές από τις υποεντολές, χρησιμοποιούν τα κανονικά σχέδια έκφρασης, που οριοθετούνται από τις καθέτους. Θα συζητήσουμε για αυτά τα σχέδια περαιτέρω στην παράγραφο της Η τρίτη εντολή (το απομονωμένο d) απλά διαγράφει την τρέχουσα γραμμή. Επειδή κάθε σύνθετη εντολή τελειώνει με έναν κλάδο πίσω στην κορυφή του προγράμματος, ο δεύτερος θα εκτελέσει μόνο εάν ο πρώτος δεν εκτελεστεί, και η διαγραφή θα εκτελέσει μόνο εάν καμία σύνθετη δεν εκτελεστεί. Η κληρονομιά συντακτών του sed είναι σαφής σε αυτό το παράδειγμα. Οι εντολές είναι γενικά ένας χαρακτήρας μακροχρόνιος, και δεν υπάρχει καμία μεταβλητή - καμία κατάσταση οποιουδήποτε είδους πέρα από το μετρητή και το κείμενο προγράμματος που εκδίδεται. Αυτοί οι περιορισμοί κάνουν το sed καταλληλότερο στα προγράμματα μιας γραμμής, χαρακτηριστικά εισαγμένα κατά λέξη από το πληκτρολόγιο με διακόπτη γραμμής εντολών -e. Ο ακόλουθος, παραδείγματος χάριν, θα διαβάσει από την τυποποιημένη εισαγωγή, θα διαγράψει τις κενές γραμμές, και (σιωπηρά) θα τυπώσει τις γραμμές nonblank στο τυποποιημένο αποτέλεσμα. sed -e /A[[:space:]]*$/d ΠΑΡΑΔΕΙΓΜΑ Προγράμματα ένας-γραμμών στο sed Εδώ το Λαντιπροσωπεύει την αρχή της γραμμής και το $ αντιπροσωπεύει το τέλος. Η έκφραση [[: space:]] ταιριάζει με οποιοδήποτε χαρακτήρα άσπρου διαστήματος στον τοπικό χαρακτήρα - set, για να επαναληφθεί σε έναν αυθαίρετο αριθμό χρόνων, όπως υποδεικνύεται από το αστέρι Kleene (*). Το d δείχνει τη διαγραφή. Οι μη διαγραμμένες γραμμές είναι τυπωμένες εξ ορισμού. Awk Σε μία προσπάθεια να εξεταστούν οι περιορισμοί του sed, ο Alfred Aho, ο Peter Weinberger, και ο Brian Kernighan σχεδίασαν το awk το 1977 (το όνομα είναι βασισμένο στα αρχικά γράμματα των επωνύμων τους). Το Awk είναι υπό κάποια έννοια ένας εξελικτικός σύνδεσμος μεταξύ των συντακτών ρευμάτων όπως το sed και των ολοκληρωμένων γλωσσών προγραμματισμού. Διατηρεί γραμμή sed στο

23 πρότυπο φίλτρων του υπολογισμού, αλλά επιτρέπει στο χρήστη να δραπετεύσει αυτό το πρότυπο όταν επιδιώκεται και αντικαθιστά τις εντολές έκδοσης ενιαίου χαρακτήρα με τη σύνταξη ενθυμίζουσα την C. Το Awk παρέχει (τις χωρίς τύπο) μεταβλητές και ποικίλα δομών ροής ελέγχου, συμπεριλαμβανομένων των υπορουτινών. Ένα πρόγραμμα awk αποτελείται από μια ακολουθία σχεδίων, κάθε μια από τις οποίες έχει μια σχετική δράση. Για κάθε γραμμή εισαγωγής, ο διερμηνέας εκτελεί σε σειρά τις ενέργειες, των οποίων τα σχέδια αξιολογούν αληθινά. Ένα παράδειγμα με ένα ενιαίο ζευγάρι σχέδιου δράσης εμφανίζεται στο σχήμα 2. ΠΑΡΑΔΕΙΓΜΑ 1.19 που εξάγει τις επιγραφές HTML με το awk Εκτελεί ουσιαστικά τον ίδιο στόχο με το πρόγραμμα sed του σχήματος 1. Οι γραμμές που δεν περιέχουν καμία ετικέττα ανοίγματος αγνοούνται. Σε μια γραμμή με μια ετικέττα ανοίγματος, διαγράφουμε οποιοδήποτε κείμενο προηγείται της επιγραφής. Τυπώνουμε έπειτα τις γραμμές έως ότου βρίσκουμε την κλείνουσα ετικέττα και επαναλαμβάνουμε εάν υπάρχει μια άλλη ετικέττα ανοίγματος στην ίδια γραμμή. Πέφτουμε πίσω στον κύριο βρόχο του διερμηνέα όταν είμαστε καθαροί από οποιαδήποτε επιγραφή. Διάφορες συμβάσεις μπορούν να είναι φανερές σε αυτό το παράδειγμα. Η τρέχουσα γραμμή εισαγωγής είναι διαθέσιμη στην ψευδομεταβλητή $0. Η λειτουργία getline διαβάζει σε αυτήν την μεταβλητή εξ ορισμού. Η λειτουργία substr (s, α, β) εξάγει τη μερίδα της σειράς s που αρχίζει στη θέση a και με το μήκος b. Εάν το b παραλείπεται, τα αποσπασματικά τρεξίματα μερίδας στο τέλος των όρων του s., Οι συνθήκες, όπως τα σχέδια, μπορούν να χρησιμοποιήσουν τις κανονικές εκφράσεις. Μπορούμε να δούμε ένα παράδειγμα στον βρόχο do... while. Εξ ορισμού, οι κανονικές εκφράσεις ταιριάζουν έναντι του $0. Ίσως οι δύο σημαντικότερες καινοτομίες του awk είναι τομείς και συνειρμικές σειρές, καμία από τις οποες δεν εμφανίζεται στο σχήμα 1.2. Όπως στο κέλυφος,το awk αναλύει κάθε γραμμή εισαγωγής σε μια σειρά λέξεων (τομείς). Εξ ορισμού αυτοί οριοθετούνται από το άσπρο διάστημα, αν και ο χρήστης μπορεί να αλλάξει αυτήν την συμπεριφορά δυναμικά κοντά ορίζει ing μια κανονική έκφραση στο ενσωματωμένο μεταβλητό FS (διαχωριστής τομέων). /[hh] [123] >/ { # execute this block in line contains an opening tag Do { open_tag = match ($0, /<[hh] [123]>/) $0 = substr ($0, open tag) #delete texte before opening tag # $0 is the current input line While )!/<\/[hh] [123]>/) { # print interior lines print # in their entirety } close_tag = match ($0, /<\/[hh] [123]>/) +4 print substr ($0, 0, close_tag) #print through closing tag $0 = substr ($0, close_tag +1) #delete through closing tag } while (/<[hh] [123] >/) # repeat if more opening tags }

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό Υπολογιστικά συστήματα: Στρώματα 1 ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Εισαγωγή στο Unix Περιεχόμενα Εισαγωγή 2 Εισαγωγή

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ IMAGO F3000 Συνοπτική περιγραφή Αυτοί οι ελεγκτές διαδικασίας χτίζονται σε ένα σχεδιασμό επεκτάσιμης μονάδας, και είναι κατάλληλοι για τον έλεγχο ρύθμιση λειτουργίας, ψησίματος, καπνίσματος και ελέγχου

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

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

Διαβάστε περισσότερα

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

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

Διαβάστε περισσότερα

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 22 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

Διαβάστε περισσότερα

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9. 2 ημιουργία νέου εγγράφου... 17. 3 Το σύστημα Βοήθειας του Office...

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9. 2 ημιουργία νέου εγγράφου... 17. 3 Το σύστημα Βοήθειας του Office... Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9 2 ημιουργία νέου εγγράφου... 17 3 Το σύστημα Βοήθειας του Office... 31 4 Μετακίνηση σε έγγραφο και προβολές εγγράφου... 37 5 Επιλογή

Διαβάστε περισσότερα

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τμημα Πληροφορικης και Τηλεματικης Τσάμη Παναγιώτα ΑΜ: 20833 ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Άσκηση 1 Αθήνα 13-12-2011 Αναφορά Ενότητα 1 A Δημιουργήστε στο φλοιό 3 εντολές (alias) που η

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΣΤΟΧΟΙ: 1. Λογισμικό 2. Λογισμικό Λειτουργικού Συστήματος 3. Προσαρμοστικό Γραφικών Χρήστη 4. Λογισμικών Εφαρμογών 5. Διαφορά Μεταξύ Λογισμικού Λειτουργικού Συστήματος Και

Διαβάστε περισσότερα

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

Διαβάστε περισσότερα

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις

Διαβάστε περισσότερα

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

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

Διαβάστε περισσότερα

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

Διαβάστε περισσότερα

Πρόσβαση στην NetLibrary.

Πρόσβαση στην NetLibrary. ΝetLibrary Η δικτυακή-ηλεκτρονική βιβλιοθήκη (ΝetLibrary) μας παρέχει πρόσβαση στην συλλογή των ηλεκτρονικών βιβλίων της Κεντρικής Βιβλιοθήκης του Πανεπιστημίου Ιωαννίνων. Επιλέγουμε με το δείκτη μας το

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22 ΕΝΟΤΗΤΑ 5 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Βάσεις δεδομένων και Microsoft Access... 9 92 Microsoft Access... 22 93 Το σύστημα Βοήθειας του Microsoft Office... 32 94 Σχεδιασμός βάσης δεδομένων

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

Διαβάστε περισσότερα

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ 1. ΕΙΣΑΓΩΓΗ ΚΑΙ ΠΡΩΤΑ ΒΗΜΑΤΑ 10 2. ΕΡΓΑΣΙΑ ΜΕ ΚΕΙΜΕΝΑ 20 3. ΜΟΡΦΟΠΟΙΗΣΗ 15

ΚΕΦΑΛΑΙΑ 1. ΕΙΣΑΓΩΓΗ ΚΑΙ ΠΡΩΤΑ ΒΗΜΑΤΑ 10 2. ΕΡΓΑΣΙΑ ΜΕ ΚΕΙΜΕΝΑ 20 3. ΜΟΡΦΟΠΟΙΗΣΗ 15 Vellum Open Office Web Authoring Professional Certificate Πιστοποιητικό ανάπτυξης εφαρµογών διαδικτύου µε εξειδίκευση στην γλώσσα Open Office Vellum Global Educational Services Σελίδα 1 από 1 Vellum Open

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Υπολογιστικό Κέντρο Βιβλιοθηκών Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005 Σύντομο εγχειρίδιο χρήσης και λειτουργιών Εισαγωγή Το παρόν κείμενο στόχο

Διαβάστε περισσότερα

Περιοχή εργασίας. Τμ. Γραφιστικής (Γραφιστική με Η/Υ - In Design) 2

Περιοχή εργασίας. Τμ. Γραφιστικής (Γραφιστική με Η/Υ - In Design) 2 Περιοχή εργασίας A. Παράθυρο εγγράφου B. Συγκέντρωση πινάκων συμπτυγμένων σε εικονίδια Γ. Γραμμή τίτλου πίνακα Δ. Γραμμή μενού E. Γραμμή επιλογών Στ. Παλέτα εργαλείων Ζ. Κουμπί σύμπτυξης σε εικονίδια Η.

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα...

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα... Κ. Π Α Π Α Ρ Ρ Ι Ζ Ο Σ M A T L A B 6. 5 Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ρ Ο Λ Ο Γ Ο Σ............. v Κ Ε Φ Α Λ Α Ι Ο 1 Β Α Σ Ι Κ Ε Σ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Ε Σ Τ Ο Υ M A T L A B 1 1.1 ΠΡΑΞΕΙΣ ΚΑΙ ΑΡΙΘΜΗΤΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ

Διαβάστε περισσότερα

Οδηγός Χρήσης Η-Βιβλίων EBSCO ΒΙΒΛΙΟΘΗΚΗ & ΚΕΝΤΡΟ ΠΛΗΡΟΦΟΡΗΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΥΚΩΣΙΑΣ

Οδηγός Χρήσης Η-Βιβλίων EBSCO ΒΙΒΛΙΟΘΗΚΗ & ΚΕΝΤΡΟ ΠΛΗΡΟΦΟΡΗΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΥΚΩΣΙΑΣ Οδηγός Χρήσης Απρίλιος, 2014 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΑ ΗΛΕΚΤΡΟΝΙΚΑ ΒΙΒΛΙΑ ΤΗΣ EBSCO... 3 1. ΑΠΑΙΤΗΣΕΙΣ ΣΥΣΤΗΜΑΤΟΣ... 3 ΕΓΚΑΤΑΣΤΑΣΗ ADOBE DIGITAL EDITIONS... 3 2. ΑΝΑΖΗΤΗΣΗ Η-ΒΙΒΛΙΩΝ... 4

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Χρήσιμες και σύντομες οδηγίες για τη χρήση του Word σε επιστημονικά κείμενα

Χρήσιμες και σύντομες οδηγίες για τη χρήση του Word σε επιστημονικά κείμενα Χρήσιμες και σύντομες οδηγίες για τη χρήση του Word σε επιστημονικά κείμενα Αν και χρησιμοποιούμε πάνω από είκοσι χρόνια επεξεργαστές κειμένου (ας θυμηθούμε τα πρωτοπόρα Wordstar και WordPerfect) πολλοί

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα ΥΠΟΛΟΓΙΣΤΕΣ Ι ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ Ένα πρώτο πρόγραμμα Κατασκευάστε πρόγραμμα που θα εμφανίζει στην οθόνη τη λέξη: PROGRAM FIRST C Αυτό είναι ένα απλό υπόδειγμα προγράμματος. 1 2 Από τι αποτελείται ένα

Διαβάστε περισσότερα

Boot Camp Οδηγός εγκατάστασης και διαμόρφωσης

Boot Camp Οδηγός εγκατάστασης και διαμόρφωσης Boot Camp Οδηγός εγκατάστασης και διαμόρφωσης Περιεχόμενα 3 Εισαγωγή 4 Επισκόπηση εγκατάστασης 4 Βήμα 1: Έλεγχος για ενημερώσεις 4 Βήμα 2: Προετοιμασία του Mac για τα Windows 4 Βήμα 3: Εγκατάσταση των

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Εισαγωγή στην Fortran ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 FORTRAN: Ιστορική Αναδρομή 1954 1957, πρώτος

Διαβάστε περισσότερα

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

Διαβάστε περισσότερα

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

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

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

Διαβάστε περισσότερα

Βιβλιοθήκη Πανεπιστημίου Κύπρου. Οδηγός εκτυπώσεων

Βιβλιοθήκη Πανεπιστημίου Κύπρου. Οδηγός εκτυπώσεων Βιβλιοθήκη Πανεπιστημίου Κύπρου Οδηγός εκτυπώσεων 19/7/2015 Περιεχόμενα Πίνακας εικόνων... 2 Σκοπός... 3 Διαδικασία εκτύπωσης... 3 Πίνακας εικόνων Εικόνα 1: Η κεντρική οθόνη του προγράμματος Microsoft

Διαβάστε περισσότερα

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε! Θέλετε να μάθετε πως μπορείτε να έχετε πρόσβαση στις 5250 οθόνες μέσω browser, χωρίς αλλαγή στις υπάρχουσες εφαρμογές και χωρίς εγκατάσταση στον client? Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Διαβάστε περισσότερα

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων... Περιεχόμενα Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...22 Περιβάλλον ηλεκτρονικού υπολογιστή...23 Επιφάνεια εργασίας...26

Διαβάστε περισσότερα

Κεφάλαιο 1.Εντολές κίνησης

Κεφάλαιο 1.Εντολές κίνησης Προγραμματίζω με το ΒΥΟΒ 1 Κεφάλαιο 1.Εντολές κίνησης Από το μάθημα της Φυσικής γνωρίζουμε ότι κίνηση σημαίνει αλλαγή της θέσης ενός αντικειμένου. Οι εντολές κίνησης που μας παρέχει το ΒΥΟΒ χωρίζονται

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) Υλικό Hardware Λογισμικό Software... κώδικας ΥΛΙΚΟ Κάθε ηλεκτρονικό, ηλεκτρικό και μηχανικό μέρος του Η/Υ. ΛΟΓΙΣΜΙΚΟ Προγράμματα,δηλαδή οδηγίες γιατοτιπρέπεινακάνειοη/υ. Λειτουργικό Σύστημα Είναι ένα βασικό

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

Διαβάστε περισσότερα

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

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΟΡΓΑΝΩΣΗΣ ΓΡΑΦΕΙΟΥ. Helpdesk ΕΙΔΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΕΘΝΙΚΟΥ ΣΤΡΑΤΗΓΙΚΟΥ ΠΛΑΙΣΙΟΥ ΑΝΑΦΟΡΑΣ Υπηρεσία Ολοκληρωμένου Πληροφοριακού Συστήματος ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΟΡΓΑΝΩΣΗΣ ΓΡΑΦΕΙΟΥ Helpdesk Σύντομη περιγραφή λειτουργίας Έκδοση 1 Μάιος 2011

Διαβάστε περισσότερα

Το περιβάλλον προγραμματισμού MicroWorlds Pro

Το περιβάλλον προγραμματισμού MicroWorlds Pro Μενού επιλογών Το περιβάλλον προγραμματισμού MicroWorlds Pro Γραμμή εργαλείων Επιφάνεια εργασίας Περιοχή Καρτελών Κέντρο εντολών Εικόνα 2.1: Το περιβάλλον της MicroWorlds Pro. Καρτέλες Οι πρώτες εντολές

Διαβάστε περισσότερα

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

Google Apps για το Office 365 για επιχειρήσεις

Google Apps για το Office 365 για επιχειρήσεις Google Apps για το Office 365 για επιχειρήσεις Πραγματοποίηση της μετάβασης Το Office 365 για επιχειρήσεις έχει διαφορετική εμφάνιση από το Google Apps. Για το λόγο αυτό, όταν συνδεθείτε, θα δείτε αυτήν

Διαβάστε περισσότερα

Μοντελοποίηση Συστημάτων

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

Διαβάστε περισσότερα

Ανακαλύπτω. Ο υπολογιστής στην πράξη!

Ανακαλύπτω. Ο υπολογιστής στην πράξη! ΔΗΜΟΣΙΑ ΚΕΝΤΡΙΚΗ ΒΙΒΛΙΟΘΗΚΗ ΛΕΒΑΔΕΙΑΣ ΣΥΛΛΟΓΟΣ «ΦΙΛΟΙ ΒΙΒΛΙΟΘΗΚΗΣ ΛΙΒΑΔΕΙΑΣ» Κατερίνα Κεράστα 2014 Α Μαθαίνω τον υπολογιστή μου Ανακαλύπτω Ο υπολογιστής στην πράξη! Ο υπολογιστής στην πράξη! Επιφάνεια

Διαβάστε περισσότερα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ : Πληροφορική Κατεύθυνσης ΤΑΞΗ : Β Αρ. σελίδων : 11 Ηµεροµηνία : 10/6/2008 Ώρα Έναρξης : 7:45 π.µ ιάρκεια : 2 ώρες Ονοµατεπώνυµο :...Τµήµα : Αριθµός :...Βαθµός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

Διαβάστε περισσότερα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΛΥΚΕΙΟ ΑΡΧ. ΜΑΚΑΡΙΟΥ Γ - ΔΑΣΟΥΠΟΛΗ ΣΧΟΛΙΚΟ ΕΤΟΣ 2014-2015 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΗΜΕΡΟΜΗΝΙΑ: 10 /6 / 2015 ΒΑΘΜΟΣ:... ΤΑΞΗ: Β ΧΡΟΝΟΣ: 2 ώρες ΥΠ. ΚΑΘΗΓΗΤΗ:...

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

IR-100 Προγραμματιζόμενο Τηλεχειριστήριο Οδηγίες Χρήσης

IR-100 Προγραμματιζόμενο Τηλεχειριστήριο Οδηγίες Χρήσης IR-100 Προγραμματιζόμενο Τηλεχειριστήριο Οδηγίες Χρήσης 1. Περιεχόμενα 1.Περιεχόμενα 2.Δομή των οδηγιών χρήσης 3.Αρχική εγκατάσταση του προϊόντος 3.1.Περιγραφή του συστήματος 3.2.Εγκατάσταση της συσκευής

Διαβάστε περισσότερα

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

Διαβάστε περισσότερα

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Σενάριο 17: Παιχνίδι μνήμης με εικόνες Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ΤΕΧΝΙΚΩΝ ΥΠΗΡΕΣΙΩΝ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΑΙ ΔΙΚΤΥΩΝ ΔΙΕΥΘΥΝΣΗ ΔΙΚΤΥΩΝ ΚΑΙ ΜΗΧΑΝΟΡΓΑΝΩΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΟΡΓΑΝΩΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ΤΕΧΝΙΚΩΝ ΥΠΗΡΕΣΙΩΝ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΑΙ ΔΙΚΤΥΩΝ ΔΙΕΥΘΥΝΣΗ ΔΙΚΤΥΩΝ ΚΑΙ ΜΗΧΑΝΟΡΓΑΝΩΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΟΡΓΑΝΩΣΗΣ w: http://www.admin.upatras.gr/dkm/pub/main.aspx e: tmx@upatras.gr

Διαβάστε περισσότερα

2.1 Windows XP. 2.2 Επιφάνεια εργασίας. 2.3 Γραμμή εργασιών 1/10

2.1 Windows XP. 2.2 Επιφάνεια εργασίας. 2.3 Γραμμή εργασιών 1/10 2.1 Windows XP 1. Τι είναι τα Windows XP; 2. Τι εννοούμε με τον όρο λειτουργικό σύστημα; 3. Αναφέρετε μερικά άλλα λειτουργικά συστήματα που κυκλοφορούν στην αγορά. 4. Αναφέρετε μερικά από τα βοηθητικά

Διαβάστε περισσότερα

Εργαστήριο Εφαρμοσμένης Πληροφορικής

Εργαστήριο Εφαρμοσμένης Πληροφορικής Τμήμα Φυσικής - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Εργαστήριο Εφαρμοσμένης Πληροφορικής Ομάδα Α. Προετοιμασία Αναφοράς Εργασία-2: Σύνθεση αναφοράς Σύνθεση Αναφοράς http://eep.physics.auth.gr Τι περιέχει

Διαβάστε περισσότερα

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

Διαβάστε περισσότερα

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα...11 Πρόλογος του καθηγητή Γεωργίου Δουκίδη...13 ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15 ΚΕΦΑΛΑΙΟ 1. Η ΕΠΙΧΕΙΡΗΣΗ...17 Ορισμός της έννοιας της επιχείρησης και οι μορφές

Διαβάστε περισσότερα

4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ)

4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) 4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) ΠΡΟΟΙΜΙΟ 4 η Ενότητα Στην 4 η Ενότητα ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) έχουμε δημιουργήσει

Διαβάστε περισσότερα

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53 Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53 Περιεχόμενα 1. 1. Διαδικασία των Windows 8 2. Απαιτήσεις συστήματος 3. Προετοιμασία 2. 3. 4. 5. με τη 6. 1. Εξατομίκευση 2. Ασύρματο 3.

Διαβάστε περισσότερα

ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή. Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo

ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή. Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo Εμπλεκόμενες έννοιες «Γραφή» και άμεση εκτέλεση εντολής. Αποτέλεσμα εκτέλεσης εντολής.

Διαβάστε περισσότερα

[2] Υπολογιστικά συστήματα: Στρώματα. Τύποι δεδομένων. Μπιτ. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

[2] Υπολογιστικά συστήματα: Στρώματα. Τύποι δεδομένων. Μπιτ. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό Υπολογιστικά συστήματα: Στρώματα 1 ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Αναπαράσταση δεδομένων 2 Τύποι δεδομένων Τα δεδομένα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

Χαρτογράφηση με Ανοιχτό Λογισμικό GIS

Χαρτογράφηση με Ανοιχτό Λογισμικό GIS Χαρτογράφηση με Ανοιχτό Λογισμικό GIS Δημιουργία Θεματικού Χάρτη με το QGIS Δρ. Σταμάτης Καλογήρου Σεμινάριο στα πλαίσια του 1oυ Συνεδρίου Χωρικής Ανάλυσης Χαροκόπειο Πανεπιστήμιο, 17-18 Μαΐου 2013 Αυτό

Διαβάστε περισσότερα

ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ

ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ ΑΤΕΙ ΚΑΒΑΛΑΣ ΠΑΡΑΡΤΗΜΑ ΔΡΑΜΑΣ ΤΜΗΜΑ ΔΑΣΟΠΟΝΙΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΦΥΣΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΔΑΣ ΜΑΡΙΟΣ 2008 ΕΥΧΑΡΙΣΤΙΕΣ Στον κ. Ι. Τάκο για την καθοδήγηση του σε όλη

Διαβάστε περισσότερα

Υπηρεσίες υλοποίησης ΗΡ: Υπηρεσία εγκατάστασης

Υπηρεσίες υλοποίησης ΗΡ: Υπηρεσία εγκατάστασης Φύλλο δεδομένων Υπηρεσίες υλοποίησης ΗΡ: Υπηρεσίες για υπολογιστές και εκτυπωτές ΗΡ Πλεονεκτήματα υπηρεσίας Εγκατάσταση υπολογιστών και εκτυπωτών ήδη διαμορφωμένων για τις ανάγκες του τμήματος IT και των

Διαβάστε περισσότερα

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Μανώλης Κιαγιάς, MSc Aiolos Project Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Χανιά, 2015 2 (C) 2014 Μανώλης Κιαγιάς, manolis@freebsd.org Το παρόν έργο διατίθεται υπό τους όρους της Άδειας: Αναφορά

Διαβάστε περισσότερα

Εγκατάσταση της έκδοσης 5.30

Εγκατάσταση της έκδοσης 5.30 Μελίσσια, 23 Φεβρουαρίου 2010 Εγκατάσταση της έκδοσης 5.30 Περιεχόμενα Φακέλου Ο φάκελος που παραλάβατε περιέχει 1 CD και τις οδηγίες που διαβάζετε. Αντίγραφα Ασφαλείας Λόγω των μετασχηματισμών που θα

Διαβάστε περισσότερα

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

Προσδιορισμός εγκυρότητας παραστατικών

Προσδιορισμός εγκυρότητας παραστατικών Προσδιορισμός εγκυρότητας παραστατικών Βασίλης Πρεβελάκης AEGIS RESEARCH Ένα μεγάλο πρόβλημα που υπάρχει στην Ελληνική αγορά είναι αυτό των πλαστών παραστατικών και συγκεκριμένα τιμολογίων, αποδείξεων

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

Ζευς Οδηγίες Διαχείρισης Ψηφοφορίας

Ζευς Οδηγίες Διαχείρισης Ψηφοφορίας Ζευς Οδηγίες Διαχείρισης Ψηφοφορίας Ομάδα Ανάπτυξης Συστήματος Ζευς 18 Οκτωβρίου 2012 Το παρόν κείμενο περιγράφει τη διαχείριση ψηφιακών ψηφοφοριών μέσω του συστήματος Ζευς. Απευθύνεται καταρχήν στον διαχειριστή

Διαβάστε περισσότερα