expr 2+2 expr 14.1*6 expr (3 > 4) (6 <= 7) button.b -text "Hello, world!" -command exit pack.b ΕΙΣΑΓΩΓΗ ΣΤΗΝ TCL TK

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

Download "expr 2+2 expr 14.1*6 expr (3 > 4) (6 <= 7) button.b -text "Hello, world!" -command exit pack.b ΕΙΣΑΓΩΓΗ ΣΤΗΝ TCL TK"

Transcript

1 ΕΙΣΑΓΩΓΗ ΣΤΗΝ TCL TK Η Tcl είναι µια µικρή γλώσσα προγραµµατισµού µε σκοπό να ενσωµατωθεί σε άλλα προγράµµατα. Το Tk είναι ένα κουτί εργαλείων συστηµάτων Χ windows που παρέχει τις γραφικές εγκαταστάσεις ενδιάµεσων µε τον χρήστη σχετικά µε Tcl. Και οι δύο εφαρµογές αναπτύχθηκαν από τον John Ousterhout στο πανεπιστήµιο της Καλιφόρνιας στο Μπέρκλευ. Για να τρέξετε µια εφαρµογή TCL πρέπει να εγκαταστήσετε το TCL κέλυφος(tcl shell) στο σύστηµά σας. Για παράδειγµα αν δώσετε την εντολή : expr 2+2 η TCL δίνει το αποτέλεσµα 4. Η παραπάνω εφαρµογή είναι µια από τις πιο απλές εφαρµογές στην TCL. Η πρώτη λέξη σε µια εντολή TCL είναι το όνοµά της εντολής και ακολουθούν τα διάφορα ορίσµατα. Η λέξη expr που χρησιµοποιήσαµε είναι µια από τις εντολές πυρήνα της TCL. Κάθε εντολή TCL επιστρέφει ένα αποτέλεσµα. Στο παραπάνω παράδειγµα την τιµή της έκφρασης. Συνήθως σε κάθε γραµµή γράφουµε µια εντολή αλλά έχουµε τη δυνατότητα σε µια γραµµή να έχουµε περισσότερες από µια εντολές αν τις χωρίσουµε µε " ; ". Εκτός από τις βασικές πράξεις µε την expr έχουµε και άλλες δυνατότητες όπως φαίνεται στα παρακάτω παραδείγµατα : expr 14.1*6 expr (3 > 4) (6 <= 7) Για να φύγετε από το TCL κέλυφος πληκτρολογήστε την εντολή : exit Παρόλο που η TCL παρέχει ένα πλήρες σύνολο από προγραµµατιστικά χαρακτηριστικά όπως µεταβλητές, loops και συναρτήσεις, έχει σκοπό να χρησιµοποιηθεί ως µέρος εφαρµογών και όχι ως µοναδικό προγραµµατιστικό περιβάλλον Το Tk παρέχει ένα ιδιαίτερα ενδιαφέρον σύνολο εντολών που χρησιµοποιούνται µαζί µε τα προγραµµατιστικά εργαλεία της TCL. Για την δηµιουργία Tk εφαρµογών χρησιµοποιούµε µια εφαρµογή που ονοµάζεται wish, η οποία είναι παρόµοια µε το κέλυφος της TCL αλλά περιέχει επιπλέον και τις εντολές που ορίστηκαν για το Tk button.b -text "Hello, world!" -command exit pack.b Για παράδειγµα αν πληκτρολογήσουµε τις παραπάνω εντολές θα δηµιουργηθεί ένα κουµπί (button) το οποίο γράφει "Hello, world!" και όταν το πατήσουµε ενεργοποιείται η εντολή exit και φεύγουµε από την εφαρµογή. Οι λέξεις button, pack είναι εντολές Tk. Οι εντολές TCL και Tk έχουν ακριβώς την ίδια δοµή. Η εντολή pack είναι υπεύθυνη για την εµφάνιση του button µε το όνοµα.b σε αυτή την περίπτωση.

2 ΣΥΝΤΑΞΗ ΤΗΣ ΓΛΩΣΣΑΣ TCL Η σύνταξη της Tcl αποτελείται περίπου από µερικούς κανόνες που καθορίζουν πώς αναλύονται οι εντολές. Η σύνταξη της Tcl είναι η ίδια για κάθε εντολή. Ένα πρόγραµµα Tcl αποτελείται από µια ή περισσότερες εντολές. Οι εντολές χωρίζονται από τις αλλαγές γραµµής ή τα ελληνικά ερωτηµατικά. Παραδείγµατος χάριν ο παρακάτω κώδικας : set a 24 set b 15 είναι ένα πρόγραµµα µε δύο εντολές που χωρίζονται από έναν χαρακτήρα αλλαγής γραµµής. Το ίδιο πρόγραµµα θα µπορούσε να γραφτεί σε µια γραµµή χρησιµοποιώντας για διαχωριστή το ελληνικό ερωτηµατικό set a 24; set b 15 Κάθε εντολή αποτελείται από µια ή περισσότερες λέξεις, όπου η πρώτη λέξη είναι το όνοµα µιας εντολής και οι πρόσθετες λέξεις είναι ορίσµατα της εντολής. Οι λέξεις χωρίζονται από τα κενά διαστήµατα. Κάθε µία από τις εντολές στα παραπάνω παραδείγµατα έχει τρεις λέξεις. Μπορεί να υπάρχει οποιοσδήποτε αριθµός λέξεων σε µια εντολή. ΜΕΤΑΒΛΗΤΕΣ Η TCL επιτρέπει την αποθήκευση τιµών σε µεταβλητές και τη χρήση τους στις διάφορες εντολές. Για παράδειγµα η εντολή: set a 44 δίνει στην µεταβλητή a την τιµή 44 και µε τη βοήθεια της expr δίνοντας την εντολή: expr $a*4 παίρνουµε το αποτέλεσµα 176 Παρατηρούµε ότι για να αποδοθεί στη µεταβλητή a η τιµή της κατά τον υπολογισµό µιας έκφρασης που την περιέχει χρησιµοποιούµε µπροστά από αυτην το σύµβολο $. H TCL επίσης επιτρέπει σε µια µεταβλητή να πάρει την τιµή µιας έκφρασης όπως φαίνεται στο παρακάτω παράδειγµα. set a 44 set b [expr $a*4] Η µεταβλητή b παίρνει την τιµή της έκφρασης expr $a*4 και ισούται µε 176. Μια απλή µεταβλητή της Tcl αποτελείται από δύο µέρη: ένα όνοµα και µια τιµή. Τόσο το όνοµα όσο και η τιµή µπορούν να είναι αυθαίρετα string. Παραδείγµατος χάριν, είναι δυνατό να ονοµαστεί µια µεταβλητή xyz!#22.στην πράξη τα ονόµατα µεταβλητών αρχίζουν συνήθως µε ένα γράµµα και αποτελούνται από έναν συνδυασµό γραµµάτων, ψηφίων, και χαρακτήρων. Οι µεταβλητές µπορούν να δηµιουργηθούν, να διαβαστούν, και να τροποποιηθούν µε καθορισµένη εντολή, η οποία παίρνει ένα ή δύο ορίσµατα. Το πρώτο όρισµα είναι το όνοµα της µεταβλητής και το δεύτερο, εάν υπάρχει, είναι µια νέα τιµή για τη µεταβλητή: set a {Eggs: $2.18/dozen Eggs: $2.18/dozen set a Η πρώτη εντολή δηµιουργεί µια νέα µεταβλητή a και την θέτει ίση µε Eggs: $2.18/dozen. Το αποτέλεσµα της εντολής είναι η τιµή της µεταβλητής. Η δεύτερη εντολή έχει ένα όρισµα a. Με αυτήν την µορφή επιστρέφει απλά την τρέχουσα τιµή της µεταβλητής. Η τρίτη εντολή αλλάζει την τιµή του a σε 44 και επιστρέφει την νέα τιµή. Οι µεταβλητές της Tcl

3 µπορούν να χρησιµοποιηθούν για να αντιπροσωπεύσουν πολλά πράγµατα, όπως ακέραιους αριθµούς, αριθµούς κινητής υποδιαστολής, ονόµατα,κατάλογους, τα οποία αποθηκεύονται πάντα ως string. Αυτή η χρήση µιας ενιαίας αντιπροσώπευσης για όλες τις τιµές επιτρέπει στις διαφορετικές τιµές να χειρίζονται µε τον ίδιο τρόπο και να επικοινωνούν εύκολα. Οι µεταβλητές της Tcl δηµιουργούνται αυτόµατα όταν ορίζονται οι τιµές τους. εν υπάρχουν τύποι µεταβλητών οπότε δε χρειάζεται να ορίζονται πρώτα όπως συµβαίνει σε άλλες διαδικαστικές γλώσσες. Η εντολή UNSET Η εντολή unset καταστρέφει τις µεταβλητές. Παίρνει οποιοδήποτε αριθµό ορισµάτων, κάθε ένα από τα οποία είναι µια µεταβλητή, και έχει ως αποτέλεσµα να αφαιρούνται όλες οι µεταβλητές που ακολουθούν την εντολή unset. Οποιαδήποτε προσπάθεια διαβάσµατος κάποιας από τις κατεστραµένες µεταβλητές θα είναι αποτυχηµένη. Τα ορίσµατα της unset µπορούν να είναι είτε απλές µεταβλητές, είτε στοιχεία πίνακα, είτε ολόκληροι πίνακες, όπως στο ακόλουθο παράδειγµα: unset a earnings(january) b Σε αυτήν την περίπτωση οι µεταβλητές a και b αφαιρούνται εξ ολοκλήρου όπως και το στοιχείο January του πίνακα earnings. Ο πίνακας earnings συνεχίζει να υπάρχει µετά από την εντολή unset. Εάν τα a ή b είναι ένας πίνακας όλα τα στοιχεία του πίνακα αφαιρούνται και φυσικά και ο πίνακας. Η εντολή RENAME Με την εντολή rename µπορούµε να αλλαξουµε το όνοµα µια µεταβλητης,όπως φαίνεται στο παρακάτω παράδειγµα: set x rename x a Έτσι µετονοµάζουµε τη µεταβλητή x σε a. Αν στην εντολή rename δεν δώσουµε δεύτερο όρισµα τότε διαγράφουµε τη µεταβλητή που είναι ως πρώτο όρισµα. rename x Έτσι διαγράφεται η µεταβλητή x. ΑΝΤΙΚΑΤΑΣΤΑΣΗ Η Tcl παρέχει τρεις µορφές αντικατάστασης: αντικατάσταση µεταβλητής, αντικατάσταση εντολής και backslash αντικατάσταση. Κάθε αντικατάσταση αναγκάζει µερικούς από τους αρχικούς χαρακτήρες µιας λέξης να αντικατασταθούν µε κάποια άλλη τιµή. Οι αντικαταστάσεις µπορούν να εµφανιστούν σε οποιαδήποτε λέξη µιας εντολής, συµπεριλαµβανοµένου του ονόµατος εντολής και µπορεί να υπάρξει οποιοσδήποτε αριθµός αντικαταστάσεων µέσα σε µια µεµονωµένη λέξη. Η πρώτη µορφή αντικατάστασης είναι η αντικατάσταση µεταβλητής. Προκαλείται από έναν χαρακτήρα δολάριο $ και δίνει τη δυνατότητα σε µια µεταβλητή να χρησιµοποιηθεί σε µια παράσταση. Παραδείγµατος χάριν, εξετάστε τις ακόλουθες εντολές : set kgrams 20

4 expr $kgrams* Η πρώτη εντολή θέτει την αξία των µεταβλητών kgrams σε 20. Η δεύτερη εντολή υπολογίζει το αντίστοιχο βάρος σε λίµπρες µε τον πολλαπλασιασµό της αξίας των kgrams µε Αυτό γίνεται χρησιµοποιώντας την αντικατάσταση µεταβλητής. Η έκφραση $kgrams αντικαθίσταται µε την τιµή της µεταβλητής kgrams, έτσι ώστε το λαµβανόµενο από τη διαδικασία όρισµα της εντολής expr είναι 20* Η αντικατάσταση µεταβλητής µπορεί να εµφανιστεί οπουδήποτε µέσα σε µια εντολή όπως φαίνεται στην ακόλουθη εντολή : set result 20;set base 40 expr $result*$base Η δεύτερη µορφή αντικατάστασης παρεχόµενη από την Tcl είναι η αντικατάσταση εντολής. Η αντικατάσταση εντολής αναγκάζει ένα µέρος ή όλη την εντολή να αντικατασταθεί µε το αποτέλεσµα µιας άλλης εντολής Tcl. Η αντικατάσταση εντολής πραγµατοποιείται όπως φαίνεται στο παρακάτω παράδειγµα: set kgrams 20 set lbs [expr $kgrams*2.2046] Εδώ η εντολή expr εκτελείται δίνοντας αποτέλεσµα , το οποίο είναι η τιµή που θέτουµε στην µεταβλητή lbs. Η τελευταία µορφή αντικατάστασης στην Tcl είναι η backslash αντικατάσταση. Χρησιµοποιείται για να παρεµβάλει ειδικούς χαρακτήρες όπως οι αλλαγές γραµµής στις λέξεις και επίσης για να παρεµβάλει τους χαρακτήρες όπως [ και το $ χωρίς αυτά να αντιµετωπίζονται ως χαρακτήρες κλειδιά από την Tcl. Παραδείγµατος χάριν, εξετάστε την ακόλουθη εντολή : set msg Eggs:\$2.18/dozen\nGasoline:\$1.49/gallon Eggs:$2.18/dozen Gasoline:$1.49/gallon Υπάρχουν δύο backslash ακολουθούµενες από το $ µε αποτέλεσµα οι χαρακτήρες δολαρίων να αντιµετωπίζονται όπως τους συνηθισµένους χαρακτήρες (δεν προκαλούν την αντικατάσταση µεταβλητής). Η backslash ακολουθούµενη από το n αντικαθίσταται µε έναν χαρακτήρα αλλαγής γραµµής. Ο παρακάτω πίνακας απαριθµεί τις σηµαντικότερες ακολουθίες backslash που υποστηρίζονται από την Tcl : Ακολουθία backslash Αντικαθίσταται µε \n νέα γραµµή \t Tab \space κενός χαρακτήρας \a ηχητικό µήνυµα \b backspace \v κάθετο Tab

5 Αντικατάσταση Μεταβλητών Προηγούµενα εισάγαµε τη χρήση του χαρακτήρα $ για την αντικατάσταση των µεταβλητών από τις τιµές τους. Αυτό το τµήµα περιγράφει το µηχανισµό λεπτοµερέστερα. Η αντικατάσταση µεταβλητής προκαλείται από την παρουσία ενός χαρακτήρα $ σε µια εντολή Tcl. Οι χαρακτήρες µετά από το δολάριο $ θεωρούνται ως µεταβλητό όνοµα, και αντικαθίστανται από την τιµή της µεταβλητής. Η Tcl παρέχει τρεις µορφές αντικατάστασης µεταβλητής. Μέχρι τώρα έχετε δει µόνο την απλούστερη µορφή, η οποία χρησιµοποιείται όπως φαίνεται παρακάτω : set a 2 expr $a+2 Με αυτήν την µορφή το δολάριο $ ακολουθείται από ένα όνοµα µεταβλητής. Η δεύτερη µορφή αντικατάστασης µεταβλητής επιτρέπει στα στοιχεία πίνακα να αντικατασταθούν από την τιµή τους. Αυτή η µορφή είναι όπως την πρώτη εκτός από το ότι το µεταβλητό όνοµα ακολουθείται αµέσως από ένα όνοµα στοιχείου εσωκλειόµενο σε παρένθεση. Παραδείγµατος χάριν, εξετάστε τις ακόλουθες εντολές : set esoda(january) 100 set esoda(february) 200 set Total [expr $esoda(january)+$esoda(february) Έχουµε τον πίνακα µε το όνοµα esoda και δύο τιµές του. Χρησιµοποιούµε το $ για να πάρουµε τις τιµές των δύο στοιχείων του πίνακα. Η τελευταία µορφή αντικατάστασης χρησιµοποιείται για απλές µεταβλητές όπου το όνοµα της µεταβλητής ακολουθείται από ένα γράµµα ή αριθµό ή underscore. Παραδείγµατος χάριν, υποθέστε ότι επιθυµείτε να περάσετε µια τιµή όπως 100m (όπου µε το m δηλώνουµε τα millimeters) σε µια εντολή ως όρισµα. Εάν προσπαθείτε να αντικαταστήσετε τη µεταβλητή τιµή µε µια µορφή όπως $sizem η Tcl θα µεταχειριστεί το m ως τµήµα του µεταβλητού ονόµατος. Για να ξεπεράσετε αυτό το πρόβληµα µπορείτε να εσωκλείσετε το µεταβλητό όνοµα σε αγκύλες όπως στις ακόλουθες εντολές : set size 100 button.a -width ${sizem pack.a Με τις παραπάνω εντολές µπορούµε να καθορίσουµε το πλάτος του παραθύρου που δηµιουργούµε σε millimeters. Ο µηχανισµός αντικατάστασης µεταβλητών της Tcl προορίζεται για να χειριστεί τις πιό απλές καταστάσεις.υπάρχουν περιπτώσεις όπου καµία από τις ανωτέρω µορφές αντικατάστασης δεν επιτυγχάνει την επιθυµητή επίδραση. Οι πιο περίπλοκες καταστάσεις µπορούν να αντιµετωπιστούν µε µια ακολουθία εντολών. ΣΧΟΛΙΑ Εάν ο πρώτος µη-κενός χαρακτήρας µιας εντολής είναι ο χαρακτήρας # όλοι οι χαρακτήρες που ακολουθούν µέχρι την αρχή της επόµενης εντολής θεωρούνται ως σχόλια και απορρίπτονται. Σηµειώστε ότι ο χαρακτήρας # πρέπει να εµφανιστεί σε µια θέση όπου η Tcl

6 αναµένει τον πρώτο χαρακτήρα µιας εντολής. Εάν ο χαρακτήρας # εµφανίζεται οπουδήποτε αλλού αντιµετωπίζεται ως συνηθισµένος χαρακτήρας που αποτελεί µέρος µιας έκφρασης : # This is a comment set b 101; # This is a comment Ο τελευταίος χαρακτήρας # αντιµετωπίζεται ως χαρακτήρας σχολίου, δεδοµένου ότι εµφανίζεται αµέσως αφότου ολοκληρωθεί µία εντολή µε ελληνικό ερωτηµατικό. ΠΙΝΑΚΕΣ Εκτός από τις απλές µεταβλητές η Tcl παρέχει επίσης τους πίνακες. Ένας πίνακας είναι µια συλλογή στοιχείων, κάθε ένα από τα οποία είναι µια µεταβλητή µε το όνοµά της και την τιµή της. Το όνοµα ενός στοιχείου πίνακα έχει δύο µέρη : το όνοµα του πίνακα και το όνοµα του στοιχείου. Τα στοιχεία πίνακα αναφέρονται για παράδειγµα µε τη µορφή esoda(january) όπου το όνοµα του πίνακα είναι το esoda και ακολουθείται από το όνοµα του στοιχείου σε παρένθεση (January).Οι πίνακες µπορούν να χρησιµοποιηθούν οπουδήποτε όπως και οι απλές µεταβλητές. Για παράδειγµα : set esoda(january) set esoda(february) set esoda(january) Η πρώτη εντολή δηµιουργεί έναν πίνακα που ονοµάζεται esoda, εάν αυτός δεν υπάρχει ήδη. Κατόπιν δηµιουργεί ένα στοιχείο January µέσα στον πίνακα και του ορίζει την τιµή Η δεύτερη εντολή ορίζει µια τιµή στο στοιχείο February του πίνακα και η τρίτη εντολή επιστρέφει την τιµή του στοιχείου January. Πολυδιάστατοι Πίνακες Η Tcl υποστηρίζει µόνο µονοδιάστατους πίνακες, αλλά οι πολυδιάστατοι πίνακες µπορούν να προσοµοιωθούν µε τη σύνδεση πολλαπλών δεικτών σε ένα µοναδικό στοιχείο. Το παρακάτω πρόγραµµα προσοµοιώνει ένα δισδιάστατο πίνακα : set pinakas(1,1) 100 set pinakas(1,2) 200 set pinakas(1,3) 300 set i 1 set j 2 set stoixeio $pinakas($i,$j) Ο pinakas είναι ένας πίνακας µε τρία στοιχεία των οποίων τα ονόµατα είναι "1,1", "1,2" και "1,3". Ο πίνακας συµπεριφέρεται ακριβώς σαν να ήταν ένας δισδιάστατος πίνακας. Ειδικότερα, η αντικατάσταση µεταβλητής πραγµατοποιείται έτσι ώστε οι τιµές του i και του j να συνδυάζονται δίνοντας αυτός ο συνδυασµός ένα στοιχείο κάθε φορά.

7 ιαχείριση Πίνακα Η εντολή array παρέχει πληροφορίες για τα στοιχεία που έχουν οριστεί σε έναν πίνακα. Οι πληροφορίες παρέχονται µε διάφορους τρόπους, ανάλογα µε το πρώτο όρισµα που παίρνουµε στην εντολή. Η εντολή array size επιστρέφει έναν αριθµό που προσδιορίζει πόσα στοιχεία υπάρχουν σε έναν πίνακα ενώ η εντολή array names επιστρέφει έναν κατάλογο µε τα ονόµατα των στοιχείων ενός πίνακα : set nomisma(france) franc set nomisma(greatbritain) pound set nomisma(germany) mark array size nomisma 3 array names nomisma GreatBritain Germany France Για κάθε µια από αυτές τις εντολές το τελικό όρισµα πρέπει να είναι το όνοµα του πίνακα που µας ενδιαφέρει. ΕΚΦΡΑΣΕΙΣ Οι εκφράσεις συνδυάζουν τις τιµές µε τους τελεστές για να παράγουν νέες τιµές. Παραδείγµατος χάριν, η έκφραση 4+2 περιέχει δύο τελεστέους, 4 και 2, και ένα τελεστή +. Πολλές εντολές της Tcl αναµένουν ένα ή περισσότερα από τα ορίσµατά τους να είναι εκφράσεις. Η απλούστερη εντολή είναι η expr, η οποία υπολογίζει το αποτέλεσµα της πράξης που ορίζουν τα ορίσµατά της. Για παράδειγµα : expr {(2+4) * 3.6 Ένα άλλο παράδειγµα είναι η εντολή if, η οποία αφού αξιολογεί το πρώτο της όρισµα χρησιµοποιεί το αποτέλεσµα για να αποφασίσει αν πρέπει να πραγµατοποιηθεί το δεύτερο όρισµά της : if $x<2 then {set x 2 ΟΙ ΕΝΤΟΛΕΣ INCR ΚΑΙ APPEND Οι εντολές incr και append παρέχουν απλούς τρόπους αλλαγής της τιµής µιας µεταβλητής. Η incr παίρνει δύο ορίσµατα, τα οποία είναι το όνοµα µιας µεταβλητής και ένας ακέραιος αριθµός, ο οποίος προστίθεται στην τιµή της µεταβλητής. Για παράδειγµα : set x 4 incr x 2 Ο αριθµός µπορεί να έχει είτε θετική είτε αρνητική τιµή. Μπορεί επίσης να παραλειφθεί, οπότε σε αυτή την περίπτωση θεωρείται ο αριθµός 1 : set x 4 incr x Η αρχική τιµή της µεταβλητής και ο αριθµός που προστίθεται πρέπει να είναι ακέραιοι αριθµοί σε δεκαδικό, οκταδικό ή δεκαεξαδικό σύστηµα.

8 Η εντολή append προσθέτει κάποιο κείµενο στο τέλος µιας µεταβλητής. Παίρνει δύο ορίσµατα, τα οποία είναι το όνοµα της µεταβλητής και το νέο κείµενο που θα προστεθεί. Επισυνάπτει το νέο κείµενο στη µεταβλητή και επιστρέφει τη νέα τιµή της µεταβλητής. set x hello append x Kavala ΤΕΛΕΣΤΕΣ ΚΑΙ ΠΡΟΤΕΡΑΙΟΤΗΤΑ Η παρακάτω λίστα απαριθµεί όλους τους τελεστές που υποστηρίζονται στις εκφράσεις της Tcl. -a Αντίθετος του a!a Λογικό NOT: 1 αν το a είναι µηδέν, 0 σε άλλη περίπτωση ~a Συµπλήρωµα του a a*b a/b Πολλαπλασιασµός a και b ιαίρεση a µε b a%b Ακέραιο υπόλοιπο κατά τη διαίρεση a µε b a+b a-b Πρόσθεση a και b Αφαίρεση του b από το a a<<b Κύλιση του αριθµού a κατά b bits προς τα αριστερά a>>b Κύλιση του αριθµού a κατά b bits προς τα δεξιά a<b 1 αν a µικρότερο του b, αλλιώς 0 a>b 1 αν a µεγαλύτερο του b, αλλιώς 0 a<=b 1 αν a µικρότερο ή ίσο του b, αλλιώς 0 a>=b 1 αν a µεγαλύτερο ή ίσο του b, αλλιώς 0 a==b 1 αν a ίσο του b, αλλιώς 0 a!=b 1 αν a διάφορο του b, αλλιώς 0 a&b Παράγει µια τιµή της οποίας κάθε δυαδικό ψηφίο είναι 1 αν και τα δύο αντίστοιχα δυαδικά ψηφία των δύο τελεστέων είναι 1

9 a^b Αποκλειστικό or. Παράγει µια τιµή της οποίας κάθε δυαδικό ψηφίο είναι 1, µόνο αν το ένα ή το άλλο από τα αντίστοιχα δυαδικά ψηφία των δύο τελεστέων είναι 1 a b OR. Παράγει µια τιµή της οποίας κάθε δυαδικό ψηφίο είναι 1, αν ένα ή και τα δύο αντίστοιχα δυαδικά ψηφία των δύο τελεστέων είναι 1 a&&b Λογικό AND : 1 αν τα a και b διάφορα του 0, αλλιώς 0 a b Λογικό OR : 1 αν το a ή το b διάφορο του 0, αλλιώς 0 a?b:c Επιλογή : αν a διάφορο του 0 τότε b, αλλιώς c Οι τελεστές µε την υψηλότερη προτεραιότητα εµφανίζονται στο πάνω τµήµα της λίστας και όσο προχωράµε έχουν και µικρότερη προτεραιότητα, τα κενά κελιά στον πίνακα χωρίζουν τις οµάδες τελεστών των διαφόρων προτεραιοτήτων. Παραδείγµατος χάριν, η έκφραση 4*2<7 ισούται µε 0 επειδή ο τελεστής * έχει υψηλότερη προτεραιότητα από τον τελεστή <. Χρησιµοποιώντας παρενθέσεις µπορούµε να ορίσουµε εµείς την προτεραιότητα µε την οποία θα πραγµατοποιηθούν οι πράξεις σε µια έκφραση. Οι τελεστές µε την ίδια προτεραιότητα εκτελούνται από αριστερά προς τα δεξιά. Παραδείγµατος χάριν, είναι το ίδιο όπως (10-4)+3. ΜΑΘΗΜΑΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Οι εκφράσεις Tcl υποστηρίζουν διάφορες µαθηµατικές συναρτήσεις, όπως οι sin και exp. Οι µαθηµατικές συναρτήσεις εκτελούνται ως εξής : expr {2*sin($x) expr {hypot($x, $y) + $z Στον παρακάτω πίνακα φαίνονται οι µαθηµατικές συναρτήσεις που υποστηρίζονται από την TCL : Συνάρτηση Αποτέλεσµα abs(x) Απόλυτη τιµή του x. acos(x) Τόξο του συνx στο διάστηµα 0 έως π. asin(x) Τόξο του ηµx στο διάστηµα -π/2 έως π /2. atan(x) Τόξο της εφx στο διάστηµα -π/2 έως π /2. atan2(x,y) Τόξο της εφ(x/y) στο διάστηµα -π/2 έως π /2. ceil(x) Ο µικρότερος ακέραιος που είναι µεγαλύτερος από το x. cos(x) Συνηµίτονο του x.

10 cosh(x) Yπερβολικό συνx. double(i) Μετατροπή σε πραγµατικό αριθµό του ακεραίου i. exp(x) e εις την x. floor(x) Ο µεγαλύτερος ακέραιος που είναι µικρότερος από το x. fmod(x,y) Υπόλοιπο της διαίρεσης x/y. hypot(x,y) Τετραγωνική ρίζα του (x2 + y2 ). int(x) Μετατροπή του x σε ακέραιο. log(x) Φυσικός λογάριθµος του x. log10(x) Λογάριθµος του x µε βάση το 10. pow(x,y) Η δύναµη x εις την y. round(x) Η ακέραια τιµή του x που προκύπτει από στρογγυλοποίηση. sin(x) Ηµίτονο του x. sinh(x) Υπερβολικό ηµx. sqrt(x) Τετραγωνική ρίζα του x. tan(x) Εφαπτοµένη του x. tanh(x) Υπερβολική εφx. ΑΚΡΙΒΕΙΑ Κατά τη διάρκεια της αξιολόγησης µιας έκφρασης η Tcl αντιπροσωπεύει τους ακέραιους αριθµούς εσωτερικά µε τον τύπο int της C, ο οποίος παρέχει τουλάχιστον 32 bit ακρίβειας στις περισσότερες µηχανές. Οι πραγµατικοί αριθµοί αντιστοιχούν µε τους double της C, που συνήθως αναπαρίστανται από 64 bit τιµές χρησιµοποιώντας τα ieee πρότυπα κινητής υποδιαστολής. Οι αριθµοί µετατρέπονται σε string µόνο όταν είναι απαραίτητο όπως για παράδειγµα όταν χρησιµοποιούνται σε µια εντολή expr. Όταν µια πραγµατική τιµή µετατρέπεται σε string µόνο τα δώδεκα πιο σηµαντικά ψηφία διατηρούνται εξ ορισµού : expr { Εάν θα επιθυµούσατε περισσότερα ψηφία να εµφανίζονται µπορείτε να χρησιµοποιήσετε την εντολή tcl_precision ως γενική µεταβλητή µε τον επιθυµητό αριθµό σηµαντικών ψηφίων : set tcl_precision 15 expr { Η µεταβλητή tcl_precision χρησιµοποιείται όχι µόνο για την εντολή expr αλλά οπουδήποτε σε µια εφαρµογή Tcl όπου ένας πραγµατικός αριθµός µετατρέπεται σε string.

11 ΚΑΝΟΝΙΚΕΣ ΚΑΙ ΕΚΤΑΚΤΕΣ ΕΠΙΣΤΡΟΦΕΣ ΣΤΗΝ TCL Μια εντολή Tcl µπορεί να ολοκληρωθεί µε διάφορους τρόπους. Μια κανονική επιστροφή που είναι η πιο συνηθισµένη περίπτωση σηµαίνει ότι η εντολή ολοκληρώνεται επιτυχώς και η επιστροφή περιλαµβάνει το αποτέλεσµα της εφαρµογής που εκτελέσαµε. Η Tcl υποστηρίζει επίσης τις έκτακτες επιστροφές από τις εντολές. Η συχνότερη µορφή έκτακτης επιστροφής είναι ένα λάθος. Όταν µια επιστροφή λάθους εµφανίζεται, σηµαίνει ότι η εντολή δεν µπορούσε να ολοκληρώσει την προοριζόµενη λειτουργία της. Η εντολή αποβάλλεται και οποιεσδήποτε εντολές που ακολουθούν στον κώδικα αγνοούνται. Μια επιστροφή λάθους περιλαµβάνει ένα string προσδιορίζοντας το λάθος στην εφαρµογή. Παραδείγµατος χάριν, η ακόλουθη καθορισµένη εντολή παράγει ένα λάθος επειδή έχει πάρα πολλά ορίσµατα : set state Kavala Drama wrong # args: should be "set varname?newvalue?" Στην παραπάνω περίπτωση είναι απαραίτητα τα διπλά εισαγωγικά, αφού η τιµή της µεταβλητής αποτελείται από περισσότερες από µία λέξεις. Το µήνυµα λάθους δεν είναι πάντοτε το ίδιο, αλλά διαφέρει από λάθος σε λάθος. Παραδείγµατος χάριν, η εντολή expr δέχεται οποιοδήποτε αριθµό ορισµάτων αλλά απαιτεί µια ιδιαίτερη σύνταξη διαφορετικά παράγει λάθος, όπως για παράδειγµα αν δεν κλείσει η παρένθεση : expr 3 * (20+4 syntax error in expression "3 * (20+4" ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΑΙΟΙ Οι τελεσταίοι έκφρασης είναι ακέραιοι αριθµοί ή πραγµατικοί αριθµοί. Οι ακέραιοι αριθµοί ορίζονται συνήθως στο δεκαδικό σύστηµα, αλλά εάν ο πρώτος χαρακτήρας είναι 0 (µηδέν) ο αριθµός διαβάζεται στο οκταδικό σύστηµα (η βάση 8) και εάν οι πρώτοι δύο χαρακτήρες είναι 0x, ο αριθµός διαβάζεται σε δεκαεξαδικό (βάση 16). Παραδείγµατος χάριν, ο 335 είναι ένας δεκαδικός αριθµός, ο 0517 είναι ένας οκταδικός αριθµός µε την ίδια αξία, και ο 0x14f είναι ένας δεκαεξαδικός αριθµός µε την ίδια αξία. Οι πραγµατικοί τελεσταίοι µπορούν να οριστούν όπως και στην Ansi C, συµπεριλαµβανοµένων και των ακόλουθων παραδειγµάτων : e+16 6E4 3. ΠΡΟΣΒΑΣΗ ΣΕ ΑΡΧΕΙΑ Αυτό το κεφάλαιο περιγράφει τις εντολές της Tcl που αφορούν στα αρχεία. Οι εντολές σας επιτρέπουν να διαβάσετε ή να γράψετε αρχεία κατά σειρά ή µε ένα τυχαίο τρόπο. Επίσης σας επιτρέπουν να ανακτήσετε πληροφορίες για τα αρχεία που κρατούνται από το σύστηµα, όπως η ώρα της τελευταίας πρόσβασης. Τέλος µπορούν να χρησιµοποιηθούν για τον χειρισµό των ονοµάτων των αρχείων. Για παράδειγµα µπορείτε να αφαιρέσετε την επέκταση ενός ονόµατος αρχείου ή να βρείτε τα ονόµατα όλων των αρχείων που ταιριάζουν µε ένα συγκεκριµένο δείγµα. Ονόµατα Αρχείων Τα ονόµατα των αρχείων καθορίζονται στην Tcl χρησιµοποιώντας την απλή σύνταξη του UNIX. Για παράδειγµα το όνοµα αρχείου x/y/z αναφέρεται σε αρχείο που ονοµάζεται z, που είναι τοποθετηµένο σε ένα κατάλογο που ονοµάζεται y, ο οποίος µε τη σειρά του είναι

12 τοποθετηµένος σε ένα κατάλογο που ονοµάζεται x, και ο οποίος πρέπει να είναι στον τρέχοντα κατάλογο στον οποίο δουλεύουµε. Το όνοµα αρχείου /top αναφέρεται σε ένα αρχείο top στον αρχικό κατάλογο. Επίσης µπορείτε να χρησιµοποιήσετε το σύµβολο ~ για να καθορίσετε ένα όνοµα αρχείου σχετικό µε ένα συγκεκριµένο κατάλογο του χρήστη. Για παράδειγµα το όνοµα ~ouster/mbox αναφέρεται σε ένα αρχείο µε τον όνοµα mbox στον κατάλογο του χρήστη ouster και το όνοµα ~/mbox αναφέρεται σε ένα αρχείο που ονοµάζεται mbox στον κατάλογο του χρήστη που τρέχει στο Tcl script. Αυτοί οι κανόνες αντιστοιχούν σε όλες τις εντολές της Tcl που παίρνουν ονόµατα αρχείων ως ορίσµατα. Βασικό Αρχείο I/O Οι εντολές Tcl για τα αρχεία I/O είναι παρόµοιες µε τις διαδικασίες της τυπικής βιβλιοθήκης Ι/Ο της C, και στα ονόµατα και στην συµπεριφορά. Παρακάτω φαίνεται ένα script που καλείται tgrep που παρουσιάζει τα περισσότερα από τα βασικά χαρακτηριστικά του αρχείου Ι/Ο : #!/usr/local/bin/tclsh if {$argc!= 2 { else { error "Usage: tgrep pattern filename" set f [open [lindex $argv 1] r] set pat [lindex $argv 0] while {[gets $f line] >= 0 { close $f if [regexp $pat $line] {puts stdout $line Αυτό το script συµπεριφέρεται πολύ σαν το πρόγραµµα grep του UNIX: µπορείτε να το καλέσετε από το κελί σας µε δυο ορίσµατα, ένα δείγµα κανονικής έκφρασης και ένα όνοµα αρχείου, και θα τυπώσει όλες τις σειρές του αρχείου που ταιριάζουν µε το δείγµα. Όταν εκτελείται η tclsh εξετάζει το script και κάνει τα ορίσµατα γραµµής εντολών διαθέσιµα σαν ένα κατάλογο στην µεταβλητή argv, µαζί µε το µήκος αυτού του καταλόγου στην µεταβλητή argc. Αφού σιγουρευτεί ότι έλαβε αρκετά ορίσµατα το script καλεί την εντολή open. Η open παίρνει δυο ορίσµατα, το όνοµα του αρχείου και την µέθοδο πρόσβασης. Η µέθοδος πρόσβασης παρέχει πληροφορίες όπως για το αν θα διαβάζεται το αρχείο ή θα γράφεται, και αν θα θέλετε να ενσωµατώσετε το αρχείο ή να το προσπελάσετε από την αρχή. Η µέθοδος πρόσβασης µπορεί να έχει µια από τις παρακάτω τιµές : r Άνοιγµα µόνο για διάβασµα. Το αρχείο πρέπει να υπάρχει ήδη. Αυτή είναι η προεπιλογή σε περίπτωση που δεν καθορίζεται η µέθοδος πρόσβασης. r+ Άνοιγµα για διάβασµα και εγγραφή. Το αρχείο πρέπει να υπάρχει ήδη. w Άνοιγµα µόνο για εγγραφή. Μετατρέπει το αρχείο να υπάρχει ήδη, αλλιώς δηµιουργεί ένα νέο άδειο αρχείο. w+ Άνοιγµα για διάβασµα και εγγραφή. Μετατρέπει το αρχείο να υπάρχει ήδη αλλιώς δηµιουργεί ένα νέο άδειο αρχείο. a Άνοιγµα για εγγραφή µόνο και τοποθέτηση της αρχικής θέσης πρόσβασης στο τέλος του αρχείου. Αν το αρχείο δεν υπάρχει τότε δηµιουργεί ένα νέο άδειο αρχείο.

13 a+ Άνοιγµα του αρχείου για διάβασµα και εγγραφή και τοποθέτηση της αρχικής θέσης πρόσβασης στο τέλος του αρχείου. Αν το αρχείο δεν υπάρχει τότε δηµιουργεί ένα νέο άδειο αρχείο. Η εντολή open επιστρέφει ένα string όπως για παράδειγµα file3 αναγνωρίζει το ανοιγµένο αρχείο. Αυτός ο αναγνωριστής χρησιµοποιείτε όταν καλούνται άλλες εντολές για να χειριστεί το άνοιγµα του φακέλου, όπως η gets, η puts και η close. Υπάρχουν τρεις αναγνωριστές αρχείων ο stdin, ο stdout και ο stderrror οι οποίοι αναφέρονται στα τυπικά κανάλια εισόδου, εξόδου και λάθους για την διαδικασία στην οποία εκτελείται το Tcl script. Μετά το άνοιγµα του αρχείου στο οποίο γίνεται το ψάξιµο, το tgrep script διαβάζει µια σειρά του αρχείου την φορά µε την εντολή gets. Η gets παίρνει κανονικά δυο ορίσµατα έναν αναγνωριστή αρχείων και το όνοµα µιας µεταβλητής. ιαβάζει την επόµενη γραµµή του ανοιγµένου αρχείου, αποθηκεύει την γραµµή στην ονοµασµένη µεταβλητή και επιστρέφει το σύνολο του αριθµού των χαρακτήρων που αποθηκεύτηκαν στην µεταβλητή. Αν το τέλος του αρχείου φτάσει πριν διαβαστούν χαρακτήρες τότε η gets αποθηκεύει ένα άδειο string στην µεταβλητή και επιστρέφει -1. Για κάθε γραµµή του αρχείου το tgrep script αντιστοιχίζει την γραµµή του δείγµατος και την τυπώνει µε την puts αν ταιριάζουν. Η εντολή puts παίρνει δυο ορίσµατα, που είναι ένας αναγνωριστής αρχείου και ένα string για να τυπωθεί. Η puts προσθέτει έναν χαρακτήρα αλλαγής γραµµής στο τέλος του string και εξάγει την σειρά στο δοσµένο αρχείο. Το script χρησιµοποιεί τον αναγνωριστή stdout έτσι ώστε η σειρά να τυπωθεί σαν τυπική έξοδος. Όταν η tgrep φτάσει στο τέλος του αρχείου τότε η gets επιστρέφει -1, και έτσι τελειώνει ο βρόχος while. Το script στη συνέχεια κλείνει το αρχείο µε την εντολή close, πράγµα που απελευθερώνει τους πόρους που σχετίζονταν µε το ανοιγµένο αρχείο. Στα περισσότερα συστήµατα υπάρχει ένα όριο στο ποσά αρχεία µπορούν να είναι ανοιγµένα την ίδια στιγµή από µια εφαρµογή, όποτε είναι σηµαντικό να κλείνετε τα αρχεία αµέσως µόλις τελειώσετε το διάβασµα ή την εγγραφή σε αυτά. Στο παραπάνω παράδειγµα η εντολή close είναι περιττή διότι το αρχείο θα κλείσει αυτόµατα από τη στιγµή που θα τελειώσει η εφαρµογή. Ο Τρέχων Κατάλογος Εργασίας Η Tcl παρέχει δυο εντολές που βοηθούν στη διαχείριση του τρέχοντα καταλόγου εργασίας: την pwd και cd. Η pwd δε παίρνει κανένα όρισµα και επιστρέφει ολόκληρο το path name του τρέχοντος καταλόγου εργασίας. Η cd παίρνει ένα όρισµα και µετατρέπει τον τρέχοντα κατάλογο εργασίας στην τιµή αυτού του ορίσµατος. Αν η cd κληθεί χωρίς όρισµα τότε µετατρέπει τον τρέχοντα κατάλογο εργασίας στον προσωπικό κατάλογο του χρηστή που τρέχει το Tcl script. ιαχείριση Ονοµάτων Αρχείων : glob και file Η Tcl έχει δυο εντολές για την διαχείριση των ονοµάτων αρχείων : την glob και την file. Η glob παίρνει ένα ή περισσότερα δείγµατα ως ορίσµατα και επιστρέφει ένα κατάλογο από όλα τα ονόµατα αρχείων που ταιριάζουν µε τα δείγµατα : glob *.c *.h main.c hash.c hash.h Στο παραπάνω παράδειγµα η glob επιστρέφει τα ονόµατα όλων των αρχείων στον τρέχοντα κατάλογο που τελειώνουν σε.c ή.h. Η glob επίσης επιτρέπει στα δείγµατα να περιέχουν χωρισµένους µε κόµµατα καταλόγους ανάµεσα σε αγκύλες, όπως φαίνεται στο παρακάτω παράδειγµα : glob {{src,backup/*.[ch] src/main.c src/hash.c src/hash.h backup/hash.c

14 Η glob µεταχειρίζεται αυτό το δείγµα σαν να ήταν πολλά δείγµατα µαζί, µε κάθε ένα να περιέχει κάθε ένα από τα string, όπως στο επόµενο παράδειγµα : glob {src/*.[ch] {backup/*.[ch] Αν ένα δείγµα της glob τελειώνει µε µια κάθετο τότε ταιριάζει µόνο µε τα ονόµατα των καταλόγων. Για παράδειγµα η εντολή: glob */ θα επιστρέψει µια λίστα όλων των υποκαταλόγων του τρέχοντος καταλόγου. Αν η λίστα των ονοµάτων αρχείων που θα επιστραφούν από την glob είναι άδεια τότε παράγεται λάθος. Η δεύτερη εντολή για την διαχείριση των ονοµάτων αρχείων είναι η file. Η file είναι µια γενικού σκοπού εντολή µε πολλές επιλογές οι οποίες µπορούν χρησιµοποιηθούν τόσο για τον χειρισµό των ονοµάτων αρχείων όσο και για την ανάκτηση πληροφοριών από τα αρχεία. Οι εντολές σε αυτό το τµήµα λειτουργούν καθαρά πάνω στα ονόµατα αρχείων. εν κάνουν κλήσεις συστήµατος και δεν ελέγχουν να δυο αν τα ονόµατα αντιστοιχούν πραγµατικά σε φακέλους. Η file dirname επιστρέφει το όνοµα του καταλόγου που περιέχει ένα συγκεκριµένο αρχείο : file dirname /a/b/c /a/b file dirname main.c Η file extension επιστρέφει την επέκταση για ένα όνοµα αρχείου ή ένα κενό string αν το όνοµα δεν έχει καµία επέκταση : file extension src/main.c c Η file rootname επιστρέφει τα πάντα από ένα όνοµα αρχείου εκτός από την επέκταση : file rootname src/main.c src/main file rootname foo foo Τέλος η file tail επιστρέφει το τελευταίο στοιχείο σε ένα όνοµα αρχείου : file tail /a/b/c c file tail foo foo Εντολές για Πληροφορίες Αρχείων Η εντολή file χρησιµοποιείτε για την ανάκτηση πληροφοριών για τα αρχεία. Κάθε µια από τις επιλογές που προσφέρει εκτός από την stat και την lstat έχουν την εξής µορφή: file option name όπου η option καθορίζει την πληροφορία που επιθυµείται, όπως exist ή readable ή size, και η name είναι το όνοµα του αρχείου. Οι επιλογές exists, isfile, isdirectory και type επιστρέφουν πληροφορίες για την φύση του αρχείου. Η file exists επιστρέφει 1 αν υπάρχει το αρχείο µε το όνοµα που δίνεται και 0 αν δεν υπάρχει κανένα αρχείο µε τέτοιο όνοµα ή αν ο τρέχων χρηστής δεν έχει δικαίωµα να ψάξει στους καταλόγους που οδηγούν προς αυτό. Η file isfile επιστρέφει 1 αν το αρχείο είναι ένα συνηθισµένο αρχείο δίσκου και 0 αν είναι κάτι άλλο, όπως ένας κατάλογος ή ένα device αρχείο. Η file isdirectory επιστρέφει 1 αν το αρχείο είναι ένας κατάλογος και 0 αλλιώς. Η file type επιστρέφει ένα string, όπως file, directory ήsocket που αναγνωρίζει τον τύπο του αρχείου. Οι επιλογές readable, writable και executable επιστρέφουν

15 0 ή 1 για να υποδείξουν αν ο τρέχων χρήστης έχει την άδεια να πραγµατοποιήσει τις ενέργειες αυτές στα αρχεία. Η επιλογή owned επιστρέφει 1 αν ο τρέχων χρήστης είναι ο ιδιοκτήτης του αρχείου και 0 αλλιώς. Η επιλογή size επιστρέφει ένα δεκαδικό string που δίνει το µέγεθος του αρχείου σε bytes. Η file mtime επιστρέφει την ώρα της τελευταίας τροποποίησης του αρχείου. Η επιλογή atime επιστρέφει την ώρα της τελευταίας πρόσβασης στο αρχείο. Η επιλογή stat παρέχει έναν απλό τρόπο για να πάρετε πολλές πληροφορίες για ένα αρχείο µε µια φορά. Η file stat επίσης παρέχει προσθετές πληροφορίες τις οποίες δεν µπορείτε να πάρετε µε τις υπόλοιπες επιλογές. Παίρνει δυο προσθετά ορίσµατα, που είναι το όνοµα ενός αρχείου και το όνοµα µιας µεταβλητής, όπως στο παράδειγµα που ακολουθεί : file stat main.c info Σε αυτή την περίπτωση το όνοµα του αρχείου είναι main.c και το όνοµα της µεταβλητής είναι info. Η µεταβλητή θα µεταχειριστεί σαν ένας πίνακας και τα ακόλουθα στοιχεία θα καθοριστούν, το καθένα σαν ένα δεκαδικό string : atime Η ώρα της τελευταίας πρόσβασης. ctime Η ώρα της τελευταίας αλλαγής κατάστασης. dev gid ino Αναγνωριστής των συσκευών που περιέχουν αρχεία. Αναγνωριστής των οµαδοποιηµένων αρχείων. Σειριακός αριθµός για το αρχείο µέσα στη συσκευή του. mode Κατάσταση των bits στο αρχείο. mtime Η ώρα της τελευταίας µετατρoπής. nlink size uid Ο αριθµός των δεσµών στο αρχείο. Το µέγεθος του αρχείου σε bytes. Αναγνωριστής του ιδιοκτήτη χρήστη του αρχείου. Οι επιλογές lstat και readlink µπορούν να χρησιµοποιηθούν για τον χειρισµό συµβολικών δεσµών και µόνο σε συστήµατα που υποστηρίζουν συµβολικούς δεσµούς. Η file lstat είναι ίδια µε την stat για τα κανονικά αρχεία, ενώ η readlink επιστρέφει το περιεχόµενο ενός συµβολικού δεσµού. Λάθη στις Κλήσεις Συστήµατος Οι περισσότερες από τις εντολές που περιγράφηκαν σε αυτό το κεφαλαίο προκαλούν κλήσεις στο λειτουργικό σύστηµα και σε πολλές περιπτώσεις αυτές οι κλήσεις µπορεί να επιστρέψουν λάθη. Αυτό µπορεί να συµβεί αν καλέσετε την open ή την file stat για ένα αρχείο που δεν υπάρχει ή αν ένα Ι/Ο λάθος συµβεί κατά το διάβασµα ενός αρχείου. Οι εντολές Tcl ανιχνεύουν αυτά τα λάθη των κλήσεων συστήµατος στις περισσότερες περιπτώσεις και επιστρέφουν οι ίδιες λάθος. Το µήνυµα λάθους θα αναγνωρίσει το λάθος που παρουσιάστηκε : open hi couldn't open "hi": no such file or directory Όταν ένα λάθος εµφανίζεται σε µια κλήση συστήµατος η Tcl παρέχει την εντολή errorcode που δίνει περισσότερες πληροφορίες για το λάθος. Μπορεί να βρείτε αυτές τις πληροφορίες χρήσιµες για την ανάκτηση από ένα λάθος, όπως για παράδειγµα να καταλάβετε ακριβώς γιατί

16 το αρχείο δεν είναι προσπελάσιµο. Αν ένα λάθος κλήσης συστήµατος έχει εµφανιστεί τότε η errorcode θα αποτελείται από τρία στοιχεία : set errorcode POSIX ENOENT {no such file or directory Το πρώτο στοιχείο είναι το POSIX για να επισηµάνει ότι το λάθος εµφανίστηκε σε µια POSIX κλήση συστήµατος. Το δεύτερο στοιχείο είναι το επίσηµο όνοµα του λάθους. Το τρίτο στοιχείο είναι το µήνυµα λάθους που αντιστοιχεί στο συγκεκριµένο λάθος. ΑΝΑΦΟΡΑ Η Tcl παρέχει διάφορους τρόπους για να αποτραπεί η ειδική ερµηνεία στους χαρακτήρες όπως το $ και το ελληνικό ερωτηµατικό. Αυτές οι τεχνικές καλούνται αναφορά. Έχετε δει ήδη µια µορφή αναφοράς µε την backslash αντικατάσταση. Εκτός από την backslash αντικατάσταση η Tcl παρέχει δύο άλλες µορφές αναφοράς : τα διπλά εισαγωγικά " " και τις αγκύλες {. Τα διπλά εισαγωγικά θέτουν εκτός λειτουργίας τους διαχωριστές λέξης και εντολής, ενώ οι αγκύλες θέτουν εκτός λειτουργίας σχεδόν όλους τους ειδικούς χαρακτήρες. Εάν µια λέξη εσωκλείεται σε διπλά εισαγωγικά, το ελληνικό ερωτηµατικό, οι αλλαγές γραµµής, και οι υπόλοιποι χαρακτήρες κλειδιά στην TCL αντιµετωπίζονται ως συνηθισµένοι χαρακτήρες µέσα στην έκφραση. Ένα προηγούµενο παράδειγµα µπορεί να ξαναγραφεί πιο καθαρά µε τα διπλά εισαγωγικά ως εξής : set team "players:\$15\ncoaches:\$1 " players:$15 coaches:$1 Σηµειώστε ότι τα διπλά εισαγωγικά δεν είναι µέρος της έκφρασης. Παραδείγµατος χάριν, το ακόλουθο χειρόγραφο θέτει στο s ένα string που περιέχει το όνοµα µιας µεταβλητής, την τιµή της, και την τιµή του τετραγώνου της : set a 2 set s "a ison $a; to tetragono toy a einai [expr $a*$a]" a is 2; the square of a is 4 Εάν θα επιθυµούσατε να περιλάβετε διπλά εισαγωγικά σε µια έκφραση, χρησιµοποιήστε την backslash αντικατάσταση. Οι αγκύλες { παρέχουν µια ριζικότερη µορφή αναφοράς όπου όλοι οι ειδικοί χαρακτήρες χάνουν την έννοιά τους. Εάν µια λέξη εσωκλείεται σε αγκύλες οι χαρακτήρες µεταξύ τους είναι η τιµή της έκφρασης κατά λέξη. Καµία αντικατάσταση δεν εκτελείται στη λέξη και οι ειδικοί χαρακτήρες αντιµετωπίζονται ως συνηθισµένοι χαρακτήρες. Ένα παράδειγµα µπορεί να ξαναγραφεί µε αγκύλες ως εξής : set msg { players:\$15\ncoaches:\$1 players:\$15\ncoaches:\$1 Το δολάριο στην έκφραση δεν προκαλεί την αντικατάσταση µεταβλητής και η αλλαγή γραµµής δεν ενεργεί ως διαχωριστής εντολής. Σε αυτήν την περίπτωση η έκφραση \n δεν µπορεί να χρησιµοποιηθεί για να παρεµβάλει µια αλλαγή γραµµής. ΛΙΣΤΕΣ Οι λίστες χρησιµοποιούνται στην Tcl για να διαχειριστούν τις συλλογές των πραγµάτων, όπως όλοι οι χρήστες σε ένα group ή όλα τα αρχεία σε έναν κατάλογο ή όλες τις επιλογές για ένα widget. Οι λίστες επιτρέπουν σε σας να συγκεντρώσετε οποιοδήποτε αριθµό

17 τιµών σε ένα µέρος, να διαµοιράσουν τη συλλογή ως ενιαία οντότητα, και να πάρουν αργότερα τις συστατικές τιµές πάλι πίσω. Μια λίστα είναι µια διατεταγµένη συλλογή στοιχείων όπου κάθε στοιχείο µπορεί να έχει τιµή ένα οποιοδήποτε string, όπως ένα αριθµό, ένα όνοµα ατόµου, το όνοµα ενός παραθύρου ή µια λέξη µιας εντολής Tcl. Οι λίστες αντιπροσωπεύονται ως strings µε µια ιδιαίτερη δοµή, αυτό σηµαίνει ότι µπορείτε να αποθηκεύσετε τους καταλόγους σε µεταβλητές, να τους δακτυλογραφήσετε σε εντολές, και να τους τοποθετήσετε ως στοιχεία άλλων καταλόγων. Παρακάτω θα περιγράφει η δοµή των λιστών και παρουσιάζονται δώδεκα βασικές εντολές για το χειρισµό των λιστών. Οι εντολές αυτές εκτελούν διαδικασίες όπως τη δηµιουργία λιστών, την εισαγωγή και την εξαγωγή στοιχείων, και την έρευνα για συγκεκριµένα στοιχεία. Μια περίληψη αυτών των εντολών φαίνεται στον παρακάτω πίνακα : Concat list?list...? Ενώνει πολλαπλές λίστες σε µία ενιαία (κάθε στοιχείο κάθε λίστας γίνεται ένα στοιχείο της τελικής λίστας ) και επιστρέφει την νέα λίστα. join list?joinstring? Συνδέει τα στοιχεία µιας λίστας µε το joinstring ως διαχωριστή και επιστρέφει το αποτέλεσµα. lappend varname value?value...? Αντιστοιχίζει κάθε τιµή στην µεταβλητή varname ως ένα στοιχείο της λίστας και επιστρέφει τη νέα τιµή της µεταβλητής. ηµιουργεί τη µεταβλητή εάν δεν υπάρχει ήδη. lindex list index Επιστρέφει το στοιχείο της λίστας µε δείκτη index. linsert list index value?value...? Επιστρέφει µια νέα λίστα που διαµορφώνεται τοποθετώντας όλα τα ορίσµατα τιµών ως στοιχεία λίστας πριν από το στοιχείο µε τον δείκτη της λίστας. list value?value...? Επιστρέφει µια λίστα της οποίας τα στοιχεία είναι τα ορίσµατα των τιµών. llength list Επιστρέφει των αριθµό των στοιχείων µιας λίστας. lrange list first last Επιστρέφει έναν κατάλογο που αποτελείται από στοιχεία από την αρχή ως το τέλος του καταλόγου. lreplace list first last?value value...? Επιστρέφει µια νέα λίστα που διαµορφώνεται µε την αντικατάσταση των στοιχείων από την

18 αρχή ως το τέλος της λίστας µε κανένα ή περισσότερα νέα στοιχεία, κάθε ένα από τα οποία διαµορφώνεται από ένα όρισµα τιµής. lsearch?-exact??-glob??-regexp? list pattern Επιστρέφει τον δείκτη του πρώτου στοιχείου της λίστας ή 1 αν δεν υπάρχει. lsort?-ascii??-integer??-real??-command command? \?-increasing??-decreasing? list Επιστρέφει µια νέα λίστα που σχηµατίζεται από την ταξινόµηση των στοιχείων µιας λίστας. split string?splitchars? Επιστρέφει µια λίστα που διαµορφώνεται χωρίζοντας τα string σε στιγµές του SplitChars και µετατρέπει τους χαρακτήρες ανάµεσα σε αυτές τις στιγµές σε στοιχεία λίστας. Η Βασική οµή των Καταλόγων και η Εντολή lindex Mε την απλούστερη µορφή της µια λίστα είναι ένα string που περιέχει οποιοδήποτε αριθµό στοιχείων που χωρίζονται από κενά ή tabs. Για παράδείγµα το string Giannis Anna Maria Dimitris είναι µια λίστα µε τέσσερα στοιχεία. Μπορεί να υπάρξει οποιοσδήποτε αριθµός στοιχείων σε µια λίστα, και κάθε στοιχείο µπορεί να είναι ένα αυθαίρετο string. Η εντολή lindex εξάγει ένα στοιχείο από µια λίστα : lindex { Giannis Anna Maria Dimitris 1 Η lindex παίρνει δύο ορίσµατα, µια λίστα και έναν δείκτη, και επιστρέφει το επιλεγµένο στοιχείο της λίστας. O δείκτης 0 αντιστοιχεί στο πρώτο στοιχείο της λίστας, ο 1 αντιστοιχεί στο δεύτερο στοιχείο και ούτω καθεξής. Εάν ο δείκτης είναι έξω από το εύρος της λίστας επιστρέφεται ένα κενό string. Όταν µια λίστα εισάγεται σε µια εντολή Tcl η λίστα εσωκλείεται συνήθως σε άγκιστρα, όπως στο παραπάνω παράδειγµα. Τα άγκιστρα δεν είναι µέρος της λίστας, αλλά απαιτούνται στη γραµµή εντολής για να περάσουν ολόκληρη τη λίστα στην εντολή ως µεµονωµένη λέξη. Όταν οι λίστες αποθηκεύονται στις µεταβλητές ή εκτυπώνονται, δεν υπάρχουν άγκιστρα γύρω τους : set x { Giannis Anna Maria Dimitris Τα άγκιστρα και τα backslashes µέσα στα στοιχεία λιστών αντιµετωπίζονται από τις εντολές λιστών µε τον ίδιο τρόπο που ο parser της εντολής Tcl τα µεταχειρίζεται στις λέξεις. Αυτό σηµαίνει ότι µπορείτε να εσωκλείσετε ένα στοιχείο λίστας σε άγκιστρα εάν περιέχει διαστήµατα, και µπορείτε να χρησιµοποιήσετε backslashes για να πάρετε ειδικούς χαρακτήρες όπως αγκύλες στα στοιχεία καταλόγων. Τα άγκιστρα χρησιµοποιούνται συχνά για να τοποθετούν λίστες µέσα σε λίστες, όπως στο ακόλουθο παράδειγµα : lindex { a b { c d e f 2 Σε αυτή την περίπτωση το στοιχείο 2 της λίστας είναι από µόνο του µια λίστα µε τρία στοιχεία. εν υπάρχει κανένα όριο στο πόσο βαθιά οι λίστες µπορούν να τοποθετηθούν.

19 ηµιουργία Λιστών : concat, list και llength Η Tcl παρέχει δύο εντολές που συνδυάζουν τα strings για να παράγουν λίστες: concat και list. Κάθε µια από αυτές τις εντολές δέχεται έναν αυθαίρετο αριθµό ορισµάτων, και κάθε µια παράγει µια λίστα σαν αποτέλεσµα. Εντούτοις, διαφέρουν στον τρόπο µε τον οποίο συνδυάζουν τα ορίσµατά τους. Η εντολή concat παίρνει µια ή περισσότερες λίστες ως ορίσµατα και ενώνει όλα τα στοιχεία των λιστών ορισµάτων σε µια ενιαία µεγάλη λίστα: concat { a b c { d e f { g h i a b c d e f g h i Η concat αναµένει από τα ορίσµατά της να έχουν τη σωστή δοµή λιστών, εάν τα ορίσµατα δεν είναι καλοσχηµατισµένες λίστες τότε το αποτέλεσµα µπορεί να µην είναι επίσης µια καλοσχηµατισµένη λίστα. Στην πραγµατικότητα, αυτό που κάνει η concat είναι να συνδέει τα string ορισµάτων της σε ένα µεγάλο string τοποθετώντας κενά ανάµεσα στα ορίσµατα. Το ίδιο αποτέλεσµα µε την concat µπορεί να επιτευχθεί χρησιµοποιώντας διπλά εισαγωγικά: set x {a b c set y {d e set z [concat $x $y] set z "$x $y" Η εντολή λιστας list ενώνει τα ορίσµατα της έτσι ώστε κάθε όρισµα να γίνεται ένα ευδιάκριτο στοιχείο της λίστας που προκύπτει : list {a b c {d e f {g h i Σε αυτήν την περίπτωση, η λίστα που προκύπτει περιλαµβάνει µόνο τέσσερα στοιχεία. Η εντολή list παραγάγει πάντα έναν κατάλογο µε την κατάλληλη δοµή, ανεξάρτητα από τη δοµή των ορισµάτων της (προσθέτει άγκιστρα ή backslashes όπως απαιτούνται), και η εντολή lindex µπορεί πάντα να χρησιµοποιηθεί για να εξαγάγει τα αρχικά στοιχεία µιας λίστας που δηµιουργήθηκε µε την εντολή list. Τα ορίσµατα για την list δεν χρειάζεται να είναι καλοσχηµατισµένες λίστες. Η εντολή llength επιστρέφει τον αριθµό στοιχείων σε µια λίστα : llength {{a b c {d e f {g h i llength a llength { Όπως µπορείτε να δείτε από τα παραδείγµατα, ένα απλό string όπως το a είναι µια λίστα µε ένα στοιχείο και ένα κενό string είναι µια λίστα µε µηδέν στοιχεία. Τροποποίηση Λιστών : linsert, lreplace, lrange και lappend Η εντολή linsert δηµιουργεί µια νέα λίστα προσθέτοντας ένα ή περισσότερα στοιχεία σε µια ήδη υπάρχουσα λίστα : set x {a b {c d e a b {c d e linsert $x 2 X Y Z a b X Y Z {c d e linsert $x 0 {X Y Z

20 {X Y Z a b {c d e Η linsert παίρνει τρία ή περισσότερα ορίσµατα. Το πρώτο είναι µια λίστα, το δεύτερο είναι ένας δείκτης σε ένα στοιχείο αυτής της λίστας και το τρίτο και τα επιπλέον ορίσµατα είναι τα νέα στοιχεία που προστίθενται στη λίστα. Η επιστροφή από την εντολή linsert είναι µια λίστα που δηµιουργείται τοποθετώντας τα νέα στοιχεία ακριβώς πριν από το στοιχείο που υποδεικνύεται από τον δείκτη. Αν ο δείκτης είναι το 0 τότε τα νέα στοιχεία τοποθετούνται στην αρχή της λίστας, αν είναι το 1 τότε τα νέα στοιχεία τοποθετούνται αµέσως µετά από το πρώτο στοιχείο της αρχικής λίστας και ούτω καθεξής. Αν ο δείκτης είναι µεγαλύτερος ή ίσος µε τον αριθµό των στοιχείων τότε τα νέα στοιχεία τοποθετούνται στο τελος της αρχικής λίστας. Η εντολή lreplace διαγράφει στοιχεία από µια λίστα και προαιρετικά προσθέτει νέα στοιχεία στη θέση τους. Παίρνει τρία ή περισσότερα ορίσµατα. Το πρώτο όρισµα είναι µια λίστα και τα δεύτερα και τρίτα ορίσµατα δίνουν τους δείκτες των πρώτων και τελευταίων στοιχείων που διαγράφονται. Εάν µόνο τρία ορίσµατα καθορίζονται τότε το αποτέλεσµα είναι µια νέα λίστα που παράγεται µε τη διαγραφή της δεδοµένης σειράς των στοιχείων από την αρχική λίστα: lreplace {a b {c d e 2 3 a b Αν καθορίζονται επιπλέον ορίσµατα για την εντολή lreplace όπως στο παρακάτω παράδειγµα τότε αυτά τοποθετούνται στη λίστα στην θέση των στοιχείων που διαγράφηκαν : lreplace {a b {c d e 1 2 {W X Y Z a {W X Y Z e Η εντολή lrange εξάγει µια σειρά των στοιχείων από µια λίστα. Παίρνει ως ορίσµατα µια λίστα και δύο δείκτες και επιστρέφει µια νέα λίστα που αποτελείται από τη σειρά των στοιχείων που βρίσκονται µεταξύ των δύο δεικτών : set x {a b {c d e a b {c d e lrange $x 1 3 b {c d e lrange $x 0 1 a b Η εντολή lappend παρέχει έναν αποδοτικό τρόπο να προσαρτηθούν νέα στοιχεία σε µια λίστα που αποθηκεύεται σε µια µεταβλητή. Παίρνει ως ορίσµατα το όνοµα µιας µεταβλητής και κάθε αριθµό πρόσθετων ορισµάτων. Κάθε ένα από τα πρόσθετα ορίσµατα προστίθεται στην τιµή της µεταβλητής ως ένα νέο στοιχείο λίστας και η lappend επιστρέφει τη νέα τιµή της µεταβλητής : set x {a b {c d e a b {c d e lappend x XX {YY ZZ a b {c d e XX {YY ZZ set x a b {c d e XX {YY ZZ

21 Αναζήτηση σε Λίστες : lsearch Η εντολή lsearch ψάχνει σε µια λίστα για ένα στοιχείο µε µια συγκεκριµένη τιµή. Παίρνει δύο ορίσµατα, το πρώτο από τα οποία είναι µια λίστα και το δεύτερο είναι ένα δείγµα : set x { Giannis Anna Maria Dimitris lsearch $x Maria 2 lsearch $x Philipas -1 Η lsearch επιστρέφει το δείκτη του πρώτου στοιχείου στη λίστα που ταιριάζει µε το δείγµα ή -1 εάν δεν υπήρξε κανένα στοιχείο που να ταιριάζει. Μία από τις τρεις διαφορετικές τεχνικές ταιριάσµατος του δείγµατος µπορεί να επιλεχτεί µε τον καθορισµό µιας από τις εντολές - exact, - glob, και - regexp πριν από το όρισµα της λίστας: lsearch -glob $x A* 1 Οι τρεις παραπάνω εντολές περιγράφονται πιο αναλυτικά παρακάτω. Ταξινόµηση Λιστών : lsort Η εντολή lsort παίρνει µια λίστα ως όρισµα και επιστρέφει µια νέα λίστα µε τα ίδια στοιχεία, αλλά ταξινοµηµένο µε την αυξανόµενη αλφαβητική σειρά : lsort { Giannis Anna Maria Dimitris Anna Dimitris Giannis Maria Μπορείτε να χρησιµοποιήσετε οποιαδήποτε από τις αρκετές εντολές που υπάρχουν, πριν από τη λίστα, για να ελέγξετε το είδος της ταξινόµησης. Για παράδειγµα, η - decreasing διευκρινίζει ότι το αποτέλεσµα πρέπει να έχει το "µεγαλύτερο" στοιχείο πρώτα και η - integer διευκρινίζει ότι τα στοιχεία πρέπει να αντιµετωπιστούν ως ακέραιοι αριθµοί και να ταξινοµηθούν σύµφωνα µε την αξία ακέραιων αριθµών : lsort -decreasing { Giannis Anna Maria Dimitris Maria Giannis Dimitris Anna lsort { lsort -integer { Μετατροπές Ανάµεσα σε string και σε Λίστες : split και join Η εντολή split χωρίζει ένα string σε συστατικά κοµµάτια έτσι ώστε να µπορείτε να επεξεργαστείτε τα κοµµάτια ανεξάρτητα. ηµιουργεί µια λίστα της οποίας τα στοιχεία είναι τα κοµµάτια, έτσι ώστε µπορείτε να χρησιµοποιήσετε οποιαδήποτε από τις εντολές καταλόγων για να επεξεργαστείτε τα κοµµάτια. Για παράδειγµα, υποθέστε ότι µια µεταβλητή περιέχει ένα όνοµα αρχείου UNIX µε συστατικά που χωρίζονται από κάθετους, και θέλετε να το µετατρέψετε σε έναν κατάλογο µε ένα στοιχείο για κάθε συστατικό : set x a/b/c

22 set y /usr/include/sys/types.h split $x / a b c split $y / { usr include sys types.h Το πρώτο όρισµα στην split είναι το string που χωρίζεται και το δεύτερο όρισµα περιέχει έναν ή περισσότερους χαρακτήρες διάσπασης. Η split εντοπίζει όλες τις περιπτώσεις οποιουδήποτε από τους χαρακτήρες διάσπασης στο string. ηµιουργεί έπειτα µια λίστα της οποίας τα στοιχεία αποτελούνται από τα substrings µεταξύ των χαρακτήρων διάσπασης. Οι άκρες των strings αντιµετωπίζονται επίσης ως χωρισµένοι χαρακτήρες. Εάν υπάρχουν διαδοχικοί χαρακτήρες διάσπασης ή αν το string αρχίζει ή τελειώνει µε έναν χαρακτήρα διάσπασης όπως στο δεύτερο παράδειγµα, τότε τα κενά στοιχεία παράγονται στη λίστα που προκύπτει. Οι ίδιοι χαρακτήρες διάσπασης απορρίπτονται. Αρκετοί χαρακτήρες διάσπασης µπορούν να καθοριστούν, όπως στο ακόλουθο παράδειγµα: split xabzabhi ab Εάν ένα κενό string ορίζεται για χαρακτήρας διάσπασης τότε κάθε χαρακτήρας του string µετατρέπεται σε ένα χωριστό στοιχείο λίστας: split {a b c { Η εντολή join είναι περίπου το αντίστροφο της split. Συνδέει τα στοιχεία λιστών µαζί µε ένα δεδοµένο string µεταξύ τους : join {{ usr include sys types.h / /usr/include/sys/types.h set x { expr [join $x +] 22 Η join παίρνει δύο ορίσµατα: µια λίστα και ένα string σύνδεσης. Εξάγει όλα τα στοιχεία από τη λίστα και τα συνδέει µαζί µε το string σύνδεσης µεταξύ κάθε ζεύγους στοιχείων. Το string σύνδεσης µπορεί να περιέχει οποιοδήποτε αριθµό χαρακτήρων, συµπεριλαµβανοµένου και του κενού. Στο πρώτο παράδειγµα επάνω ένα όνοµα αρχείου παράγεται µε την ένωση των στοιχείων λίστας µε /. Στο δεύτερο παράδειγµα µια έκφραση Tcl παράγεται µε την ένωση των στοιχείων λίστας µε +". Μια από τις πιο κοινές χρήσεις της split και της join είναι για την διαχείριση ονοµάτων αρχείων όπως παρουσιάζονται παραπάνω. Μια άλλη κοινή χρήση είναι για την διάσπαση κειµένου σε γραµµές µε τη χρησιµοποίηση της αλλαγής γραµµής ως χαρακτήρα διάσπασης. Λίστες και Εντολές Υπάρχει µια πολύ σηµαντική σχέση µεταξύ των λιστών και των εντολών στην Tcl. Οποιαδήποτε λίστα είναι επίσης και µια καλοσχηµατισµένη εντολή Tcl. Εάν µια λίστα αξιολογείται ως ένα Tcl script τότε θα αποτελείται από µια απλή εντολή της οποίας οι λέξεις είναι τα στοιχεία της λίστας. Με άλλα λόγια, ο Tcl parser δεν θα εκτελέσει καµία αντικατάσταση : θα εξαγάγει απλά τα στοιχεία της λίστας µε κάθε στοιχείο να µετατρέπεται σε µια λέξη της εντολής. Αυτή η ιδιότητα είναι πολύ σηµαντική επειδή σας επιτρέπει να παράγετε εντολές Tcl που είναι εγγυηµένες να αναλυθούν µε ένα ιδιαίτερο τρόπο ακόµα κι αν µερικές από τις λέξεις των εντολών περιέχουν ειδικούς χαρακτήρες όπως διαστήµατα ή το $. Παραδείγµατος χάριν, υποθέστε ότι δηµιουργείτε ένα button σε Tk, και όταν πατά ο χρήστης στο widget να επιθυµείτε να επαναφέρετε µια µεταβλητή σε µια συγκεκριµένη τιµή. Μπορείτε να δηµιουργήσετε ένα τέτοιο widget µε µια εντολή όπως αυτή :

23 button.b -text press -command {set x 100 pack.b Το Tcl script set x 100 θα ενεργοποιηθεί όποτε ο χρήστης πατήσει το κουµπί press. Τώρα υποθέστε ότι η τιµή που αποθηκεύεται στη µεταβλητή δεν είναι σταθερή, αλλά υπολογίζεται αµέσως πριν από την εντολή button και πρέπει να ληφθεί από µία µεταβλητή value. Επιπλέον, υποθέστε ότι η value θα µπορούσε να περιέχει οποιοδήποτε string. Μπορείτε να ξαναγράψετε την εντολή ως εξής : button.b -text press -command {set x $value pack.b Το Tcl script set x $value θα αξιολογηθεί όταν ο χρήστης πατά το κουµπί press. Εντούτοις, θα χρησιµοποιηθεί η τιµή της value την στιγµή που ο χρήστης πατά το κουµπί, η οποία µπορεί να µην είναι ίδια µε την τιµή που υπήρχε όταν δηµιουργήθηκε το κουµπί. Για παράδειγµα, η ίδια µεταβλητή µπορεί να χρησιµοποιηθεί για να δηµιουργήσει διάφορα κουµπιά, κάθε ένα µε διαφορετική προοριζόµενη τιµή. Για να λύσετε αυτό το πρόβληµα πρέπει να παράγετε µια εντολή Tcl που να περιέχει την τιµή της value µεταβλητής, όχι το όνοµά της, και να χρησιµοποιήσετε αυτή την εντολή ως µέρος του τµήµατος -command της εντολής button. Εάν η τιµή της value είναι κάτι απλό όπως 47 τότε αυτό θα λειτουργήσει άριστα : η προκύπτουσα εντολή θα είναι set x 47, η οποία θα παράγει το επιθυµητό αποτέλεσµα. Παρόλα αυτά, τι θα γίνει εάν η value περιέχει την τιµή nea smyrni. Σε αυτήν την περίπτωση η προκύπτουσα εντολή θα είναι set x nea smyrni, η οποία έχει τέσσερις λέξεις. Η set θα παράγει λάθος επειδή υπάρχουν πάρα πολλά ορίσµατα. Ακόµα χειρότερα βέβαια, αν η value περιέχει ειδικούς χαρακτήρες όπως το $ ή το [. Αυτοί οι χαρακτήρες θα µπορούσαν να προκαλέσουν ανεπιθύµητες αντικαταστάσεις να προκύψουν όταν αξιολογείται η εντολή. Η µόνη λύση που είναι εγγυηµένη να λειτουργήσει για οποιαδήποτε τιµή της value είναι να χρησιµοποιηθεί εντολή λίστας για να παραχθεί η εντολή, όπως στο ακόλουθο παράδειγµα: button.b -text press -command [list set x $value] pack.b Το αποτέλεσµα της εντολής λίστας είναι µια εντολή Tcl της οποίας η πρώτη λέξη θα είναι η set, η δεύτερη λέξη θα είναι x, και η τρίτη λέξη θα είναι η τιµή της value. Η εντολή θα παράγει πάντα το επιθυµητό αποτέλεσµα και οποιαδήποτε τιµή που αποθηκεύεται στην value την στιγµή που τίθεται σε λειτουργία το button θα αποθηκευτεί στην x όταν το widget τίθεται σε λειτουργία. ΕΛΕΓΧΟΣ ΡΟΗΣ Το παρακάτω κείµενο περιγράφει τις εντολές Tcl για τον έλεγχο της ροής της εκτέλεσης σε ένα χειρόγραφο. Οι Tcl εντολές ελέγχου ροής είναι παρόµοιες µε τις δηλώσεις ελέγχου ροής στη γλώσσα προγραµµατισµού C και csh,όπως είναι οι if, while, for, foreach, switch και eval.

ιαχείριση Πληροφοριών στο ιαδίκτυο

ιαχείριση Πληροφοριών στο ιαδίκτυο ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 8) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc

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

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

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

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

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

Αβδέλαρου Κωνσταντίνα

Αβδέλαρου Κωνσταντίνα ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Αβδέλαρου Κωνσταντίνα 1 η Εργασία στο μάθημα Λειτουργικά Συστήματα Ταύρος, 9 Δεκεμβρίου 2014 Άσκηση 1.1 Το shell script που δημιουργήθηκε είναι:

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

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

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

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 18η: Διαχείρηση Αρχείων Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh

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

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP Περιεχόµενα Τι είναι η υπηρεσία FTP;...2 FTP από τη γραµµή εντολών των Windows...2 Το πρόγραµµα WS-FTP...4 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

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

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

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

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

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

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ. Πρόγραμμα Διαχείρισης Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ. Πρόγραμμα Διαχείρισης Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ Πρόγραμμα Διαχείρισης Α.Π.Δ. Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Εγκατάσταση του προγράμματος 1 ΚΕΦΑΛΑΙΟ 2 Οδηγίες χρήσης προγράμματος με παράδειγμα 2 ΚΕΦΑΛΑΙΟ 3 Αντιγραφή Α.Π.Δ. προηγούμενης περιόδου

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 2.1 Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Η τιμή του χ είναι,χ Ητιμή του χ είναι 5 Ηεντολή εμφανίζει ότι υπάρχει στα διπλά εισαγωγικά ως έχει.

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

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG Μια από τις πιο σηµαντικές ανάγκες που αντιµετωπίζει µια επιχείρηση κατά την εγκατάσταση ενός λογισµικού «πακέτου» (Οικονοµικής & Εµπορικής ιαχείρισης), είναι ο τρόπος µε τον οποίο πρέπει να ανταποκριθεί

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

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

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

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Python & NLTK: Εισαγωγή Εισαγωγή Γιατί Python? Παρουσίαση NLTK Πηγές και χρήσιμα εργαλεία Φροντιστήριο σε Python Στο φροντιστήριο: Εισαγωγή στην Python Ζητήματα προγραμματισμού για

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

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings). Για να λύσουμε ένα πρόβλημα στη C++ χρειαζόμαστε δυο βασικές έννοιες. Η μια είναι οι οδηγίες εντολές, ο αλγόριθμος δηλαδή, που πρέπει να ακολουθήσουμε για να λύσουμε το πρόβλημά μας και η άλλη είναι τα

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ 4 ο ΕΞΑΜΗΝΟ Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο

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

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux 1 Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux Το Linux είναι ένα λειτουργικό σύστημα όμοιο με το Unix που αναπτύχθηκε από έναν πυρήνα (kernel, Εικ.1) τον οποίο δημιούργησε το 1991 ο Linus Torvalds όντας

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

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

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

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

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

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

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΝΕΑ - ΑΝΑΚΟΙΝΩΣΕΙΣ

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΝΕΑ - ΑΝΑΚΟΙΝΩΣΕΙΣ ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΝΕΑ - ΑΝΑΚΟΙΝΩΣΕΙΣ VERSION CMS 4.0 ΕΚ ΟΣΗ ΕΓΧΕΙΡΙ ΙΟΥ 4.0.1-2009 ΤΕΛΕΥΤΑΙΑ ΕΝΗΜΕΡΩΣΗ ΙΑΝΟΥΑΡΙΟΣ 2009 Το παρόν εγχειρίδιο διατίθεται µαζί µε την πλατφόρµα ηλεκτρονικού επιχειρείν

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

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

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

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

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

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

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

Computing and Information Systems Service. Windows XP

Computing and Information Systems Service. Windows XP Windows XP Όλοι οι υπολογιστές ανοικτής πρόσβασης στο Frederick χρησιµοποιούν Windows (2000 και XP), ένα λειτουργικό σύστηµα µε Γραφικό Περιβάλλον Εργασίας (Graphical User Interface), το οποίο χρησιµοποιεί

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

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός

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

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

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

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

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

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

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

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

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

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

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

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

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.) ΣΥΝΑΡΤΗΣΕΙΣ Συνάρτηση είναι ένας έτοιμος τύπος ο οποίος δέχεται σαν είσοδο τιμές ή συνθήκες και επιστρέφει ένα αποτέλεσμα, το οποίο μπορεί να είναι μια τιμή αριθμητική, αλφαριθμητική, λογική, ημερομηνίας

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: NEWSLETTER

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: NEWSLETTER ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: NEWSLETTER VERSION CMS 4.0 ΕΚ ΟΣΗ ΕΓΧΕΙΡΙ ΙΟΥ 4.0.1-2009 ΤΕΛΕΥΤΑΙΑ ΕΝΗΜΕΡΩΣΗ ΙΑΝΟΥΑΡΙΟΣ 2009 Το παρόν εγχειρίδιο διατίθεται µαζί µε την πλατφόρµα ηλεκτρονικού επιχειρείν altab2x

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

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1 ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1 1. Εισαγωγή στο Network Simulator v2 (NS2) Το NS2 (Network Simulator version 2) είναι ένα πρόγραμμα για προσομοιώσεις δικτύων που διατίθεται δωρεάν. Ο δικτυακός

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

Computing and Information Systems Service. ιαχείριση Αρχείων

Computing and Information Systems Service. ιαχείριση Αρχείων ιαχείριση Αρχείων Η διαχείριση αρχείων είναι πολύ σηµαντική για την οργάνωση των αρχείων σας σε φακέλους και την αποθήκευση των αρχείων που συσχετίζονται µεταξύ τους στον ίδιο φάκελο. Αν έχετε πολλά αρχεία,

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

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

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

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

ιαχείριση Πληροφοριών στο ιαδίκτυο

ιαχείριση Πληροφοριών στο ιαδίκτυο ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 3) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc

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

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

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

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

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

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

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

TeleCost Hotel για Panasonic TDA

TeleCost Hotel για Panasonic TDA TeleCost Hotel για Panasonic TDA 1. Οδηγίες Εγκατάστασης του Λογισμικού του Συστήματος Telecost Hotel Γενικά Για την εγκατάσταση του Λογισμικού του Συστήματος TeleCost HL θα πρέπει να ακολουθηθούν συνοπτικά

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

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

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ Τμήμα Εφαρμοσμένης Πληροφορικής ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εξάμηνο Α' Φύλλο Ασκήσεων 3 ΔΟΜΕΣ ΕΠAΝΑΛΗΨΗΣ Διδάσκοντες: Μάγια Σατρατζέμη, Αλέξανδρος Χατζηγεωργίου, Ηλίας Σακελλαρίου, Στέλιος Ξυνόγαλος

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

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

Περιεχόµενα 1. Εγκατάσταση 2. Εισαγωγή 3. Σύνδεση 4. Ρυθµίσεις 2.1 Περιοχή εργασιών και πλοήγησης 2.2 Περιοχή απεικόνισης "Λεπτοµέρειες" 2.3 Περιοχή απεικόνισης "Στατιστικά" 4.1 Προφίλ 4.2 ίκτυο 4.2.1

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

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ Εκθετική Παράσταση (Exponential Notation) Οι επόµενες είναι ισοδύναµες παραστάσεις του 1,234 123,400.0

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

----------Εισαγωγή στη Χρήση του SPSS for Windows ------------- Σελίδα: 0------------

----------Εισαγωγή στη Χρήση του SPSS for Windows ------------- Σελίδα: 0------------ ----------Εισαγωγή στη Χρήση του SPSS for Windows ------------- Σελίδα: 0------------ ΚΕΦΑΛΑΙΟ 8 ο 8.1 Συντελεστές συσχέτισης: 8.1.1 Συσχέτιση Pearson, και ρ του Spearman 8.1.2 Υπολογισµός του συντελεστή

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

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

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Óõíåéñìüò ΕΚΦΩΝΗΣΕΙΣ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Óõíåéñìüò ΕΚΦΩΝΗΣΕΙΣ 1 ΘΕΜΑ 1 o Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 3 Αριθµητική για υπολογιστές Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση του «Οργάνωση και Σχεδίαση

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

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

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

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: Λειτουργίες Αρχείων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR Τηλέφωνο: 2810-211111 Διαδικασία εισόδου στο opensms Η πρόσβαση στην πλατφόρμα του opensms πραγματοποιείται με την εισαγωγή του Ονόματος χρήστη και του

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)

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

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: (Μον.2) Η ηλικία είναι μεταξύ των 15 και 18 συμπεριλαμβανομένων (β) Αν Χ= 4, Υ=2, Κ=2 να βρείτε το αποτέλεσμα

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Οι αριθμητικές πράξεις που εκτελούνται στον υπολογιστή αποτελούν το

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

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Υποβολή Αναλώσιµων Υλικών Σελίδα 1 Πίνακας περιεχομένων 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 2 Υποβολή Αναλώσιμων Υλικών... 4 2.1 Σύνδεση με

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

0 0 30 π/6 45 π/4 60 π/3 90 π/2

0 0 30 π/6 45 π/4 60 π/3 90 π/2 Βασικός Πίνακας Μοίρες (Degrees) Ακτίνια (Radians) ΓΩΝΙΕΣ 0 0 30 π/6 45 π/4 60 π/3 90 π/2 Έστω ότι θέλω να μετατρέψω μοίρες σε ακτίνια : Έχω μία γωνία σε φ μοίρες. Για να την κάνω σε ακτίνια, πολλαπλασιάζω

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

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ Οδηγίες EQL Desktop (rev.1.0.23) Πρόγραμμα για τον Προγραμματισμό των Μηχανών D.P.S. S-800, Open Cash και S-710 μέσω Ηλεκτρονικού Υπολογιστή ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB Εγκατάσταση ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

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

ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΕΠΕΡΑΣΜΕΝΗΣ ΑΚΡΙΒΕΙΑΣ (ΚΒΑΝΤΙΣΜΟΥ)

ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΕΠΕΡΑΣΜΕΝΗΣ ΑΚΡΙΒΕΙΑΣ (ΚΒΑΝΤΙΣΜΟΥ) ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΕΠΕΡΑΣΜΕΝΗΣ ΑΚΡΙΒΕΙΑΣ (ΚΒΑΝΤΙΣΜΟΥ) 0. Εισαγωγή Τα αποτελέσµατα πεπερασµένης ακρίβειας οφείλονται στα λάθη που προέρχονται από την παράσταση των αριθµών µε µια πεπερασµένη ακρίβεια. Τα αποτελέσµατα

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

METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης

METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης Βιβλιοθήκη & Κέντρο Πληροφόρησης, Πανεπιστημίου Λευκωσίας E-mail: libithelp@unic.ac.cy Τηλ: 22444772 Έκδοση: Μάρτιος 2013 (ES, GC, KP)

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

Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση

Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com 2 Φυσικοί

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

Οδηγός γρήγορης εκκίνησης του PowerSuite

Οδηγός γρήγορης εκκίνησης του PowerSuite Το PowerSuite είναι η ολοκληρωμένη λύση απόδοσης για τον υπολογιστή σας. Ενσωματώνοντας το RegistryBooster, το DriverScanner και το SpeedUpMyPC σε ένα ενιαίο περιβάλλον εργασίας σάρωσης, το PowerSuite

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς

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

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

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

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

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

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

Pascal Βασικοί τύποι δεδοµένων

Pascal Βασικοί τύποι δεδοµένων Pasal Βασικοί τύποι δεδοµένων «ΜΗ ΕΝ ΠΟΛΛΟΙΣ ΟΛΙΓΑ ΛΕΓΕ, ΑΛΛ ΕΝ ΟΛΙΓΟΙΣ ΠΟΛΛΑ» Σηµαίνει: "Μη λες πολλά χωρίς ουσία, αλλά λίγα που να αξίζουν πολλά" (Πυθαγόρας) Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

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

ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Μαγνητικοί ίσκοι Τα δεδοµένα αποθηκεύονται στο µαγνητικό φιλµ του δίσκου Ο δίσκος περιστρέφεται µε

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

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

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

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

Meridian v1.8.1.23 Βασικές Οδηγίες Χρήσης

Meridian v1.8.1.23 Βασικές Οδηγίες Χρήσης Meridian v1.8.1.23 Βασικές Οδηγίες Χρήσης 1 Οδηγίες Εγκατάστασης Η έκδοση του Meridian είναι συμβατή μόνο με τα λειτουργικά συστήματα Windows 2000/XP ή νεότερα. Γενικά Από τα περιεχόμενα του cd ή από το

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

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

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

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

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Σύντομη περιγραφή 5 Για να ξεκινήσετε 6 Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Οι οθόνες του προγράμματος 8 Αρχική οθόνη 8 Στοιχεία ασθενή 9 Εργασίες - Ραντεβού 10 Εικόνες 11 Ημερολόγιο

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον

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

3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ

3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ 1 3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ ΥΠΟΛΟΓΙΣΜΟΙ ΜΕ ΚΟΜΠΙΟΥΤΕΡΑΚΙ ΤΥΠΟΠΟΙΗΜΕΝΗ ΜΟΡΦΗ ΑΡΙΘΜΩΝ ΘΕΩΡΙΑ 1. Πρόσθεση αφαίρεση δεκαδικών Γίνονται όπως και στους φυσικούς αριθµούς. Προσθέτουµε ή αφαιρούµε τα ψηφία

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

Εγκατάσταση προγράμματος 2. Διάβασμα προκήρυξης.7. Γενικές πληροφορίες.. 9. Προσφορά 10. Εισαγωγή εναλλακτικού είδους. 15.

Εγκατάσταση προγράμματος 2. Διάβασμα προκήρυξης.7. Γενικές πληροφορίες.. 9. Προσφορά 10. Εισαγωγή εναλλακτικού είδους. 15. ΠΕΡΙΕΧΟΜΕΝΑ Σελ. Εγκατάσταση προγράμματος 2 Διάβασμα προκήρυξης.7 Γενικές πληροφορίες.. 9 Προσφορά 10 Εισαγωγή εναλλακτικού είδους. 15 Εξαρτήματα 16 Συμμετέχοντες 17 Δικαιολογητικά ανά προμηθευτή. 18 Αρχείο

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

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6.

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6. D.P.S. 710 DRIVER Με την εγκατάσταση του οδηγού D.P.S 710 εγκαθίστανται και οι usb drivers στο φάκελο C:\DPS710_FISCAL\DRIVERS Συνδέστε την ταµειακή και στο παράθυρο που θα εµφανίσουν τα windows για την

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

Παιχνίδια σε Javascript

Παιχνίδια σε Javascript Παιχνίδια σε Javascript Μάθημα 1ο Μια Γρήγορη Εισαγωγή στη Γλώσσα Τα Εργαλεία Την Javascript μπορούμε (όπως και την HTML) να τη γράψουμε σε ένα απλό συντάκτη κειμένου, ή σε ένα περιβάλλον όπως το Bluefish

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