Εισαγωγή στην Tcl. Τί είναι η Tcl;

Σχετικά έγγραφα
ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Εισαγωγή στους. Υπολογιστές

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

Συναρτήσεις στη Visual Basic 6.0

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

Εισαγωγή στην Αριθμητική Ανάλυση

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Πληροφορική ΙΙ Θεματική Ενότητα 8

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

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

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

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

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

Εισαγωγή στο προγραμματισμό Η/Υ C++ (Orwell Dev-C++)

Βασικές έννοιες προγραμματισμού

Γλώσσα Προγραμματισμού C

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγικές σημειώσεις στο Matlab

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή


Τυπικές χρήσεις της Matlab

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

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

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

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

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

Ει αγωγή η Fortran.

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Υπο-προγράμματα στη Fortran

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

Συμβολικές Γλώσσες Προγραμματισμού με το MATHEMATICA.

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Διαδικασιακός Προγραμματισμός

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

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x)

Συμβολικές Γλώσσες Προγραμματισμού με το MATHEMATICA.

Γλώσσα Προγραμματισμού C

Βασικές Γνώσεις Μαθηματικών Α - Β Λυκείου

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

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

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

Ηλεκτρονικοί Υπολογιστές

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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


Εισαγωγή στο προγραμματισμό Η/Υ Fortran 90/95/

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εντολές της «Χελωνόσφαιρας»

Λειτουργικά Συστήματα

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

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

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


Transcript:

1 Εισαγωγή στην Tcl Τί είναι η Tcl; Το αρκτικόλεξο Tcl προέρχεται από τις λέξεις «Tool Control Language». Η Tcl είναι μια γλώσσα προγραμματισμού για scripts γενικής χρήσεως, τα οποία επίσης μπορούν να ενσωματωθούν ως βιβλιοθήκες σε προγράμματα άλλων γλωσσών. Δεν μπορεί όμως να υποκαταστήσει άλλες υψηλού επιπέδου γλώσσες. Η Tcl διαθέτει την επέκταση tk που επιτρέπει την κατασκευή GUI. Το συντακτικό της Tcl Ένα Tcl script αποτελείται από μία ή περισσότερες εντολές. Οι εντολές γράφονται είτε σε ξεχωριστές γραμμές είτε διαχωρίζονται με ερωτηματικά (semicolon) «;». Οι εντολές στην Tcl σχηματίζονται από λέξεις που διαχωρίζονται με κενά. Η πρώτη λέξη είναι το όνομα της εντολής και οι άλλες αποτελούν ορίσματα (arguments) για την εντολή. command arg1 arg2 arg3 Ο χαρακτήρας «#» δηλώνει ότι ακολουθεί μη εκτελούμενο σχόλιο. # My first Tcl script puts This is a test >This is a test Η εντολή «puts» εμφανίζει στην οθόνη (εάν δεν δηλώνεται κάποιο αρχείο) οτιδήποτε περικλείεται με εισαγωγικά. set a Hello set b world puts $a $b >Hello world Η εντολή «set» δίνει στην μεταβλητή «a» το περιεχόμενο «Hello» και στην μεταβλητή «b» το περιεχόμενο «world». Η εντολή «puts» εμφανίζει στην οθόνη ομαδοποιημένα ό,τι αντιπροσωπεύουν οι μεταβλητές «a» και «b». Για να μεταφερθεί το περιεχόμενο των μεταβλητών πρέπει να προηγηθεί το «$».Αυτό λέγεται υποκατάσταση (substitution). Τα εισαγωγικά επιτρέπουν υποκαταστάσεις στο εσωτερικό τους. Η εντολή χειρίζεται τα ορίσματα ανάλογα με τον τρόπο οργάνωσής τους. Τα ορίσματα μπορεί να διαχωρίζονται απλώς με κενά ή να ομαδοποιούνται με, [ ], ( ) και {.

2 Ο interpreter της Tcl επεξεργάζεται τις εσώκλειστες εντολές (nested) με σειρά από μέσα προς τα έξω. set b 42; set a [expr $b+2]; puts $a >44 Ο interpreter εκλαμβάνει την πρώτη λέξη μέσα σε ορθογώνιες παρενθέσεις [ ] μια εντολή της οποίας το αποτέλεσμα θα αποτελέσει όρισμα για την εξωτερική. Εδώ η εντολή «expr» υπολογίζει το άθροισμα «$b+2» και η «set» αποδίδει το αποτέλεσμα στην μεταβλητή «a». Η εντολή «expr» δέχεται ως όρισμα μια έκφραση (μαθηματική ή σύγκρισης). Οι αγκύλες { δεν επιτρέπουν υποκατάσταση στο εσωτερικό τους όταν είναι εξωτερικές: set b 42; set a {expr $b+2; puts $a > expr $b+2 Όταν όμως είναι εσωτερικές: set b 42; set a [expr {$b+2]; puts $a >44 for και while loops στην Tcl Το «for» συντάσσεται με 4 ορίσματα τα οποία δηλώνονται με αγκύλες { : for arg1 arg2 arg3 arg4 Εδώ οι αγκύλες επιτρέπουν υποκατάσταση. Η πρώτη αγκύλη εκτελείται ως ένα Tcl script. Η δεύτερη αγκύλη ως μια συνθήκη που είτε αληθεύει (1) είτε όχι (0). Για όσο αληθεύει η συνθήκη εκτελείται επανειλημμένα η τέταρτη αγκύλη ως ένα Tcl script. Ακολούθως εκτελείται η τρίτη αγκύλη ως Tcl script και επαναλαμβάνεται η εκτέλεση της τέταρτης αγκύλης. for {set i 0 {$i < 10 {incr i { puts "$i [expr sqrt($i)]" Ομοίως το «while» συντάσσεται με δύο ορίσματα τα οποία δηλώνονται με αγκύλες { : while arg1 arg2

3 Το πρώτο όρισμα είναι μια συνθήκη, η οποία είτε αληθεύει (1) είτε όχι (0). Το δεύτερο όρισμα είναι ένα Tcl script το οποίο εκτελείται επανειλημμένα για όσο αληθεύει η συνθήκη του πρώτου ορίσματος. set i 0 while {$i < 5 { puts "tetragono tou $i = [expr pow($i,2)]" incr i Εάν το αποτέλεσμα της εκτέλεσης του script θέλουμε να γραφεί σε ένα αρχείο με το όνομα «test_out.txt», τότε πρέπει να το «ανοίξουμε» προηγουμένως με την εντολή: set outfile [open test_out.txt w]; Στο τέλος του script πρέπει να «κλείσουμε» το αρχείο με την εντολή: close $outfile # Script open-close file set outfile [open test_out.txt w]; set i 0 while {$i < 5 { puts $outfile "tetragono tou $i = [expr pow($i,2)]" incr i close $outfile Έλεγχος ροής με «if» Το «if» συντάσσεται στην Tcl με δύο ορίσματα. Το πρώτο αποτελεί μια συνθήκη που δηλώνεται με αγκύλες { ή με ορθογώνιες παρενθέσεις [ ]. Το δεύτερο όρισμα δηλώνεται με αγκύλες και είναι ένα Tcl script το οποίο εκτελείται εφόσον αληθεύει η συνθήκη του πρώτου ορίσματος. if {3+5<10 { puts sigatoprama Το «if» μπορεί να συμπληρώνεται με το «else» προκειμένου να εκτελεσθεί ένα εναλλακτικό Tcl script εάν δεν αληθεύει η πρώτη συνθήκη. set price 200

4 if [expr $price > 100] { puts "Too expensive" else { puts "Price is acceptable" Αριθμητικοί και λογικοί (Boolean) τελεστές (operators) ** Υψώνει σε δύναμη +, -, *, /, % Αριθμητικές πράξεις ==,!=, <, >, <=, >= Συγκρίσεις && Λογικό AND (καί το ένα καί το άλλο) Λογικό OR (είτε το ένα είτε το άλλο)! Μετατρέπει ό,τι ακολουθεί στο αντίθετό του set x 3 set y 8 puts [expr $x == $y] puts [expr $y > $x] if {$y > $x { puts "y is greater than x" > y is greater than x set a 2 if { $a == 1 $a == 2 $a == 3 then { puts "a is one, two or three" > a is one, two or three Μερικές ενσωματωμένες μαθηματικές συναρτήσεις abs(x) acos(x) asin(x) atan(x) cos(x) exp(x) int(x) log(x) Απόλυτη τιμή Αντίστροφο συνημίτονο (σε ακτίνια) Αντίστροφο ημίτονο (σε ακτίνια) Αντίστροφη εφαπτομένη (σε ακτίνια) Συνημίτονο (το όρισμα σε ακτίνια) Εκθετική συνάρτηση Μετατροπή αριθμού σε ακέραιο Φυσικός (νεπέριος) λογάριθμος

5 log10(x) Δεκαδικός λογάριθμος pow(x,y) Ύψωση του αριθμού x στην δύναμη y rand() Δίνει έναν τυχαίο αριθμό στο διάστημα [0,1) round(x) Στρογγυλοποίηση στον πλησιέστερο ακέραιο sin(x) Ημίτονο (το όρισμα σε ακτίνια) sqrt(x) Τετραγωνική ρίζα tan(x) Εφαπτομένη (το όρισμα σε ακτίνια) Παράδειγμα χρήσης της Tcl για χειρισμό βιολογικών μορίων μέσω του VMD mol load pdb test_pdb.pdb set sar [atomselect top chain A and within 3 of water ] $sar writepdb sar.pdb mol load pdb sar.pdb Ένα πολύ χρήσιμο κομμάτι της Tcl περιλαμβάνει την χρήση των «lists». Δυστυχώς στο πλαίσιο αυτού του σύντομου εισαγωγικού μαθήματος δεν θα ασχοληθούμε με αυτό το αντικείμενο.