Aprendemos TCL

Iniciado por Erik#, 8 Octubre 2008, 18:55 PM

0 Miembros y 1 Visitante están viendo este tema.

Erik#

Aprendemos TCL

Bueno, hoy, voy a introducir unas lecciones del manual de Aprendemos TCL.

1.Aprendemos TCL - Descarga
Bueno, principalmente, el manual es orientado a linux, pero, podeis descargar de activestate: activetcl, lo instalais y listo.
Los que usen debian, ubuntu o otros distros deribados, usad los sudo: (y los que no, usad google)

sudo apt-get install tcl8.4

2.Flujos de salida
Para mostrar variable, datos, texto plano y etc... usaremos la función puts "", bastante conocida de otros lenguajes, aqui un ejemplo:

puts "Hello World"

3.Aprendemos TCL - Variables
Para crear una variable, tendremos que usar la sentencia SET:
set <nombre_de_la_variable> <valor>

Por ejemplo, aqui uno:
set variableinicial 1995

Creariamos una variable llamada variableinicial con el valor 1995.

Para mostrar variables con la funcion puts pondremos la variable como en la mayoria de lenguajes script: $variable.

Para juntar texto con variable, nada mas tenemos que poner $nuestra_variable dentro de los "", no necesitaremos ponerlo fuera ni nada, ejemplo:

set años 13
puts "Hola, tengo $años años"


Mostrara, Hola, Tengo 13 años.

Tambien podemos crear variables de tipo string, cuando declaremos la variable, el contenido lo ponemos entre "", por ejemplo:

set hm "Hola mundo"
puts $hm


Y mostrara Hola mundo...

En la proxima lección, aprenderemos los flujos de entrada.

Erik#

4.Funciones matematicas

Ya se que decia que pondria flujos de entrada, pero me ha surgido algo interesante para las variables, y son las funciones matematicas, aqui os dejo un listado de las funciones que hay:

Primero operadores:
* / %
Multiplicación, división, resto.

+ -
Sumar, restar.

++ --
Incremento o decremento.

acos( x )
ArcoCoseno de x.

asn( x )
ArcSeno de x.

atan( x )
Arcotangente de x.

atan2( y,x )
De rectangulares ( x,y ) a polares (r, th ). atan2 devuelve th.

ceil ( x )
Primer valor entero mayor o igual que x.

cos( x )
Coseno de x.

cosh( x )
Coseno hiperbólico de x.

exp( x )
Exponencial de x.

floor( x )
Primer valor entero menor o igual que x.

fmod( x, y )
valor en coma flotante resto de x/y.

hypot( x, y )
Devuelve sqrt(x*x + y*y).

log( x )
Logaritmo natural de x.

log10( x )
Logaritmo en base 10 de x.

pow( x,y )
x elevado a y.

sin( x )
Seno de x.

sinh( x )
Seno hiperbólico de x.

sqrt( x )
raíz cuadrada de x.

tan( x )
Tangente de x.

tanh( x )
Tangente hiperbólica de x.

abs( x )
valor absoluto de x.

double( x )
Convierte a x en un valor en coma flotante.

int( x )
trunca x a un entero.

rand()
Genera un número aletario entre 0 y 1. la semilla puede venir del reloj o inicializarse mediante srand.

round( x )
Redondea x a un entero.

srand(arg)
Donde arg debe de ser un entero. Inicializa la semilla para la generación de números aleatorios.

Erik#

5.Flujos de entrada
Bueno, llego el momento de aprender una simplisima funcion llamada GETS, nosotros unicamente la utilizaremos para hacer entradas mediante STDIN, es la misma funcion que perl.
Sintaxis:

gets stdin nombre_de_mi_variable

Esto crearia una variable con los datos introducidos por ti.

Ahora veremos un ejemplo de entrada:

puts "Introduce tu nombre: "
gets stdin nombre
puts "Hola $nombre"


Como veis es algo simple.

Erik#

6.Operaciones matematicas
Como veis, en las variables solo se introducen datos simples, no puedes efectuar funciones matematicas, para eso tenemos la funcion expr que efectua una funcion matematica de las que hemos expuesto antes.

Por ejemplo:

expr 2+2

Mostraria 4.
Pero si queremos hacer que sumen por ejemplo, 2 variables, hariamos algo asi:

set a 12
set ab 16
expr $a+$ab


Esto mostraria 28.
Espero que os sirva.

Erik#

7.Nuestra primera aplicación
Nuestra primera aplicación sera una calculadora universal de 4 funciones, sumas, restas, mult. y divisiones.

#!/usr/bin/tcl
puts "Bienvenido a la calculadora universal de: Aprendemos TCL"
puts "Introduce una cifra: "
gets stdin a
puts "Introduce una segunda cifra: "
gets stdin b
puts "Ya tenemos los resultados: "
puts "Suma: "
expr $a+$b
puts "Resta: "
expr $a-$b
puts "Multiplicacion: "
expr $a*$b
puts "Division: "
expr $a/$b
gets stdin pause
puts "Gracias por utilizar la calculadora universal de Aprendemos TCL"

^Tifa^

Conozco intermedio programacion Tcl/Tk  :rolleyes:  asi que creo que puedo aportar algo, para la parte de Tcl digo.

Abrir un archivo y leerlo :


set archivo [ open "archivito.txt" r ]
puts [ read $archivo 100 ]
close $archivo


Si es solo la primera linea :


set archivo [ open "archivito.txt" r ]
gets $archivo linea
puts $linea
close $archivo


:-*

Erik#

Genial, muchas gracias, si puedes poner esto al inicio del todo:

[size=24pt]8.Archivos[/size]