Otcl
Tool Command Language
Introducción

Ing. Jesus Vilchez Sandoval
Introducción
• Tcl es un lenguaje utilizado por millones de personas en el mundo. Es un lenguaje
muy simple con una sintaxis muy sencilla que permite una integración muy fácil
con otros lenguajes de programación.
Tcl fue creado por Jhon Ousterhout – de la Universidad de Stanford. Las
características mas relastantes de este poderoso lenguaje son:

•
•
•
•
•
•

Permite un rapido desarrollo
Provee una interfaz grafica
Es compatible con muchas plataformas
Integracion flexible
Facil de usar
Libre
PARAMETROS Y COMANDOS
BASICOS

Ing. Jesus Vilchez Sandoval
Algunas funciones básicas de Tcl y Otcl
Ingresamos a la Shell de TCL
• Primero debemos abrir un terminal
• Luego ejecutamos el comando sudo tclsh para habilitar la Shell de Tcl.
• Deberiamos ver el promtp “%”
Algunas funciones básicas de Tcl y Otcl
El comando SET
• Asignación de valores a variables a traves del comando set, por ejemplo:
set b 0
• Asigna el valor 0 a la variable b. Esto es equivalente a decir b=0; en lenguaje C por
ejemplo.
Otros ejemplos:

set c 5
set x 55
Algunas funciones básicas de Tcl y Otcl
El signo # (numeral)
• Este signo indica una línea de comentario, la cual no es parte del programa por lo
tanto el interprete no ejecutara esta línea.
Algunas funciones básicas de Tcl y Otcl
El signo $ (dollar)
• Si queremos saber cual es el valor contenido en una variable debemos anteponer
el signo $ antes de la variable, por ejemplo
set x $b
• Asigna el valor contenido en la variable b a la variable x.

Otros ejemplos:
set c 5
set x $c

;entonces X vale 5
Algunas funciones básicas de Tcl y Otcl
El comando PUTS
• Este comando permite imprimir un resultado, por ejemplo
set b 10
puts b
• Mostrara en pantalla el valor 10
Otros ejemplos:
puts “hola mundo”
puts “el valor almacenado en b es $b”
Algunas funciones básicas de Tcl y Otcl
El signo ; (punto y coma)
• Este signo permite la ejecución de 2 o mas comandos en una misma linea
set a 55; set b $a
Otros ejemplos:

puts "¡Hola Mundo!" ; puts "otra linea de caracteres“
set i 0 ; #Comentario, con un ';' para separarlo del comando
Algunas funciones básicas de Tcl y Otcl
Operaciones matemáticas con el comando Expr
• Por ejemplo si deseamos asignar a la variable x la suma de las variables a y b,
debemos escribir
set x [expr $a + $b]
Otros ejemplos:

set y [expr 3 * 15]
set x [expr $y+ 55]

;entonces X vale 100

set c [expr $a + $b]
set d [expr [expr $c * $c] + $x]
Algunas funciones básicas de Tcl y Otcl
Tipos de variables (Not Typed)
• En Tcl las variables, son sin tipo, por lo tanto una variable puede ser entero o
cadena dependiendo del valor que le asignamos.
• Por ejemplo, si asumimos que deseamos imprimir el resultado de la división 1/60
tendríamos las siguientes opciones:
• puts “[expr 1/60]”
;#entonces el resultado será 0!.
• puts “[expr 1.0/60.0] ;#entonces obtendremos el resultado correcto ya que
los valores serán interpretados como enteros.
Booleanos, Reales, Cadenas, Listas, Diccionarios, Tablas asociativas
Algunas funciones básicas de Tcl y Otcl
Variables escalares
• Las variables booleanos, numéricos, cadenas, listas y diccionarios son llamados
tipo escalares, debido a que pueden convertirse automáticamente en el tipo
adecuado, por ejemplo una cadena puede ser una lista:
% set frutas albaricoque
% puts $frutas
albaricoque
% set frutas "pomelo naranja banana"
pomelo naranja banana
% puts [lindex $frutas end]
banana
% puts [lindex $frutas 1]
naranja
Algunas funciones básicas de Tcl y Otcl
set data [gets stdin] # or
set numchars [gets stdin data]

Ingresando datos desde el teclado - gets
• En ocasiones necesitamos ingresar datos desde el teclado, en lenguaje C por
ejemplo utilizamos la función scanf.
• Si queremos caputar datos desde el teclado en Tcl debemos utilizar la función
gets tal como se muestra en el siguiente ejemplo:
• set data [gets stdin]
;#donde data es el nombre de la variable
55
• put $data
;#esto imprimirá el valor almacenado en data
(55 en el ejemplo)
puts -nonewline "Enter your name: "
flush stdout
set name [gets stdin]
puts "Hello $name"

Recordemos el uso de fflush (stdout)
En Tcl se usa
flush stdout
Algunas funciones básicas de Tcl y Otcl
Crear Archivos
• Para crear un archivo, debemos asignar un nombre de archivo y un nombre de
puntero el cual será utilizado por Tcl para referirse a él. Esto puede realizarse con
el comando:
• Set file1 [open filename w] ;#donde file1 es el nombre del puntero y filename es el archivo.
#cuando se ejecuta el comando anterior el sistema devuelve el channelId. p.e. file5
#es posible cerrar el archivo con el comando “set file1 [open channelId]”

• Podemos usar el comando puts para imprimir algo, pero debemos recordar que
puts genera una línea nueva por cada impresión, por lo tanto es posible aplicar el
parámetro –nonewline después de puts para evitar la nueva línea.
Algunas funciones básicas de Tcl y Otcl
Crear Archivos
• Utilizando el comando puts podemos ingresar una cadena de texto al archivo que
hemos abierto con el comando anterior. Como se aprecia en el siguiente ejemplo
#El siguiente comando creara también el archivo con el nombre: mi_archivo1
set archivo1 [open mi_archivo1 w]
#es posible también usar r (read) pero sobre un archivo existente.
#Luego podemos ingresar una cadena de texto
puts $archivo1 “Hola mundo mi variable es c y contiene el valor $c”
#Finalmente cerramos el archivo
set archivo1 [close channelId]

;#reemplaza channelId por el valor
Algunas funciones básicas de Tcl y Otcl
Ejecución de comandos de Unix con el comando exec
• Es posible ejecutar comando de unix desde la Shell de Tcl.
Ejemplo:
exec ifconfig exec clear
exec date
exce cal

Otro ejemplo:
exec xgraph data &

exec whoami

;# este comando ejecutaria el ploteo de data
Algunas funciones básicas de Tcl y Otcl
Agrupamiento { } , “ ”:
• Las formas de agrupar en Tcl son entre llaves y entre comillas dobles.
• Con “ ”, se representa una cadena de texto con el adicional de que es posible
intercalar el valor de las variables dentro de las comilla colocando el signo $ antes
de la variable.
• Con { }, también pueden contenerse cadenas pero no es posible intercalar el
contenido de las variables.
Algunas funciones básicas de Tcl y Otcl
Bloques ( ) , [ ]:
• Las formas de agrupar en Tcl son entre llaves y entre comillas dobles.
• Los ( ), sirven para encerrar los índices en las tablas asociativas, o para agrupar
expresiones aritméticas.
• Con [ ], realizan la sustitución del contenido de un resultado.

Tambien podria escribirse asi:
puts [ expr {1 + [set u 342]} ]
puts $u
Ejercicios
1. Elabore un programa en Tcl que permita ingresar el valor de a,b,c,y d y muestre
el promedio.
2. Elabore un programa en Tcl que permita ingresar el nombre y el precio de un
artefacto y descuente el 10% del precio, e imprima en pantalla un mensaje que
indique “el producto a comprar es xxxx y el precio final es xxxxx”.
3. Elabore un programa que le permita ingresar una cadena de texto y luego
imprimar un archivo llamado mensaje.txt con el contenido de la cadena.
Estructuras condicionales
If - else

Ing. Jesus Vilchez Sandoval
Estructura condicional IF-ELSE
Estructura
• La estructura de este comando es:
If {expression} {
<execute some commands>
<execute some commands>
}else{
<execute some commands>
<execute some commands>
…
}

Ejemplo 1:
if {$x<0} {
set x 0
} elseif { $x<5 } {
set x 5
} else {
set x 10
}

Ejemplo 2:
if {$x>0} {
set x 55
} elseif { $x>5 } {
puts “mayor 55”
} else {
puts “menor 55”
}

Ejemplo 3:
if {$x==0} {
puts “cero”
} elseif { $x<5 } {
set x 5
} else {
set x 10
}

Ejemplo 4:
if {$x!=0} {
puts “No cero”
} elseif { $x<5 } {
set x 5
} else {
set x 10
}
Ejercicios
1. Elabore un programa en Tcl que permita ingresar 2 numero y muestre el mayor
2. Elabore un programa en Tcl que permita ingresar un nombre y la edad de una
persona y si es mayor de 17 años que muestre el mensaje mayor de edad, de lo
contrario que muestre el mensaje menor de edad.
3. Elabore un programa que permita ingresar un numero e indique si el numero
ingresado es par o impar.
Estructura Selectiva
SWITCH

Ing. Jesus Vilchez Sandoval
Estructura Selectiva SWITCH
Estructura
• La estructura de este comando es:
switch { $variable} {
unCommando
unCommando
....
}

Ejemplo:
set color azul
switch $color {
rojo { puts "FF0000" }
azul { puts "0000FF" }
verde { puts "00FF00" }
blanco { puts "FFFFFF" }
negro { puts "000000" }
default { puts "desconocido" }
}
Estructura Repetitiva – Bucle
While

Ing. Jesus Vilchez Sandoval
Estructura Bucle WHILE
Estructura
• La estructura de este comando es:
while { unaExpresionLogica } {
unCommando
unCommando
....
}

Ejemplo 1:
set x 1
while {$x<10} {
puts $x
set x [exp $x+1]
}

Ejemplo 2:
set x 10
while {$x>0} {
puts $x
set x [exp $x-1]
}
Ejercicios
1. Elabore un programa que muestre todos los números impares de 3 cifras
2. Elabore un programa en Tcl que permita ingresar un numero entero y que
muestre el factorial del numero como resultado
3. Elabore un programa que permita ingresar numero, y los muestre en pantalla
hasta que se ingrese el valor 0.
Estructura Repetitiva – Bucle
FOR

Ing. Jesus Vilchez Sandoval
Estructura Bucle FOR
Estructura
• La estructura de este comando es:
for {set i 0} {$i<10} {incr i} {
execute some commands
}

Ejemplo 1:
for {set i 0} {$i<10} {incr i} {
puts $i
}

Ejemplo 2:
foreach i [list "youpii" "aujourd'hui" "il fait beau" "bravo !" "bravo !"] {
puts $i
}
# no es necesario usar el comando list con valores fijos; esto es equivalente
foreach i {"youpii" "aujourd'hui" "il fait beau" "bravo !" "bravo !"} {
puts $i
}
foreach a $listaA b $listaB c $listaC {
puts "$a $b $c"
}
foreach {x y} [list Sr Gaston Sra Jeanne Sr Robert Sra Raymonde] {
puts "$x $y"
}
Ejercicios
1. Elabore un programa que permita generar la siguiente serie : 1, 4, 9, 16, 25, …,
100
2. Elabore un programa en Tcl que permita ingresar un número entero y luego
visualice todos sus divisores.
3. Elabore un programa que permita calcular y visualice la suma de los todos los
números impares de 3 cifras.
4. Elabore un programa que permita ordenar un vector de numero en orden
creciente utilizando el método de la burbuja.
Procedimientos
Procedure

Ing. Jesus Vilchez Sandoval
Procedimientos
Crear Procedimientos
• Tcl permite crear procedimientos. Estos procedimientos pueden retornar algún
valor en cuyo caso se almacena en una variable con el comando return.
• La estructura para crear un procedimiento es la siguiente:
Creando un procedimiento llamado azul:

proc azul { param1 param2 …} {
global var1 var2
<commands>
return $something
}
Procedimientos
• El procedimiento recibe algunos parámetros que pueden ser objetos, archivos o
variables. En el ejemplo anterior estos parámetros se llaman param1 y param2,
etc. Estos parámetros serán usados dentro del procedimiento
• Si escribimos azul x y entonces los valores x, y serán pasados al procedimiento. Si
param1 y param2 son modificados con el procedimiento, esto no afecta los
valores de x, y. Por otro lado si nosotros deseamos que el procedimiento sea
capaz de afectar directamente las variables externas a el, entonces debemos
declarar estas variables como globales. En el ejemplo anterior var1 y var2
Procedimientos
Ejemplo: #crear procedimiento.
proc test {} {
set a 43
set b 27
set c [expr $a + $b]
set d [expr [expr $a - $b] *$c]
puts “c= $c d=$d”
for {set k 0} {$k<10} {incr k} {
if {$k<5}{
puts “K<5, pow=[expr pow($d,$k)]”
}else{
puts “k>=5, mod=[expr $d % $k]”
}
}
}

#llamando el procedimiento
test
Procedimientos
Ejemplo: #Obtener el factorial de un numero
proc Factorial {x} {
for {set result 1} {$x>1} {set x [expr $x - 1} {
set result [expr $result * $x]
}
Return $result
}
set res [Factorial $f]
puts “Factorial de $f es $res
Ejercicios
1. Elabore un procedimiento que permita generar la siguiente serie : 1, 4, 9, 16,
25, …, 100
2. Elabore un procedimiento en Tcl que permita ingresar un número entero y
luego visualice todos sus divisores.
3. Elabore un procedimiento que permita ordenar un vector de numero en orden
creciente utilizando el método de la burbuja.
4. Elabore un programa que muestre todos los números impares de 3 cifras
5. Elabore un programa en Tcl que permita ingresar un numero entero y que
muestre el factorial del numero como resultado
Xgraph
Aplicación para plotear de datos de propósito general

Ing. Jesus Vilchez Sandoval
Introducción
• Xgraph es una aplicación para plotear datos en 2D con opciones interactivas de
paneo, zoom, impresión, entre otras. Puede plotear datos desde cualquier
cantidad de archivos sobre un mismo grafico y puede manejar tamaños ilimitados
de datos.
• Xgraph produce un archivo wysiwyg en formato POSTSCRIPT, PDF, PPTX, y ODP.
• Xgraph incluye la opción de especificar el color del ploteo para graficos con
multiples colores y también es posible variar el grosor de las lineas
Formatos
• Xgraph espera datos en el formato (x,y). Tipicamente debe haber un punto xy por
línea. Los valores de los datos pueden estar separados por un espacio en blanco
(o tab), comas, punto y comas.

• Los datos de multicolumna tienen muchos valores por línea. Cada valor va
separado por espacio en blanco (o tab), comas, punto y comas.

Fuente de información
http://www.xgraph.org/
Bibliografía
• Altman, E., & Jimenez, T. (2004). NS Simulator for beginners. Merida.
• Capella Hernández, J. (s.f.). Introducción al simulador de redes NS-2. Valencia:
Universidad Politecnica de Valencia.

• Fundación Wikimedia, Inc. (10 de setiembre de 2013). wikipedia. Obtenido de
http://es.wikipedia.org/wiki/Tcl
• UC Berkeley, LBL, USC/ISI, and Xerox PARC. (2011). The NS manual .

Programación en OTcl

  • 1.
  • 2.
    Introducción • Tcl esun lenguaje utilizado por millones de personas en el mundo. Es un lenguaje muy simple con una sintaxis muy sencilla que permite una integración muy fácil con otros lenguajes de programación. Tcl fue creado por Jhon Ousterhout – de la Universidad de Stanford. Las características mas relastantes de este poderoso lenguaje son: • • • • • • Permite un rapido desarrollo Provee una interfaz grafica Es compatible con muchas plataformas Integracion flexible Facil de usar Libre
  • 3.
    PARAMETROS Y COMANDOS BASICOS Ing.Jesus Vilchez Sandoval
  • 4.
    Algunas funciones básicasde Tcl y Otcl Ingresamos a la Shell de TCL • Primero debemos abrir un terminal • Luego ejecutamos el comando sudo tclsh para habilitar la Shell de Tcl. • Deberiamos ver el promtp “%”
  • 5.
    Algunas funciones básicasde Tcl y Otcl El comando SET • Asignación de valores a variables a traves del comando set, por ejemplo: set b 0 • Asigna el valor 0 a la variable b. Esto es equivalente a decir b=0; en lenguaje C por ejemplo. Otros ejemplos: set c 5 set x 55
  • 6.
    Algunas funciones básicasde Tcl y Otcl El signo # (numeral) • Este signo indica una línea de comentario, la cual no es parte del programa por lo tanto el interprete no ejecutara esta línea.
  • 7.
    Algunas funciones básicasde Tcl y Otcl El signo $ (dollar) • Si queremos saber cual es el valor contenido en una variable debemos anteponer el signo $ antes de la variable, por ejemplo set x $b • Asigna el valor contenido en la variable b a la variable x. Otros ejemplos: set c 5 set x $c ;entonces X vale 5
  • 8.
    Algunas funciones básicasde Tcl y Otcl El comando PUTS • Este comando permite imprimir un resultado, por ejemplo set b 10 puts b • Mostrara en pantalla el valor 10 Otros ejemplos: puts “hola mundo” puts “el valor almacenado en b es $b”
  • 9.
    Algunas funciones básicasde Tcl y Otcl El signo ; (punto y coma) • Este signo permite la ejecución de 2 o mas comandos en una misma linea set a 55; set b $a Otros ejemplos: puts "¡Hola Mundo!" ; puts "otra linea de caracteres“ set i 0 ; #Comentario, con un ';' para separarlo del comando
  • 10.
    Algunas funciones básicasde Tcl y Otcl Operaciones matemáticas con el comando Expr • Por ejemplo si deseamos asignar a la variable x la suma de las variables a y b, debemos escribir set x [expr $a + $b] Otros ejemplos: set y [expr 3 * 15] set x [expr $y+ 55] ;entonces X vale 100 set c [expr $a + $b] set d [expr [expr $c * $c] + $x]
  • 11.
    Algunas funciones básicasde Tcl y Otcl Tipos de variables (Not Typed) • En Tcl las variables, son sin tipo, por lo tanto una variable puede ser entero o cadena dependiendo del valor que le asignamos. • Por ejemplo, si asumimos que deseamos imprimir el resultado de la división 1/60 tendríamos las siguientes opciones: • puts “[expr 1/60]” ;#entonces el resultado será 0!. • puts “[expr 1.0/60.0] ;#entonces obtendremos el resultado correcto ya que los valores serán interpretados como enteros. Booleanos, Reales, Cadenas, Listas, Diccionarios, Tablas asociativas
  • 12.
    Algunas funciones básicasde Tcl y Otcl Variables escalares • Las variables booleanos, numéricos, cadenas, listas y diccionarios son llamados tipo escalares, debido a que pueden convertirse automáticamente en el tipo adecuado, por ejemplo una cadena puede ser una lista: % set frutas albaricoque % puts $frutas albaricoque % set frutas "pomelo naranja banana" pomelo naranja banana % puts [lindex $frutas end] banana % puts [lindex $frutas 1] naranja
  • 13.
    Algunas funciones básicasde Tcl y Otcl set data [gets stdin] # or set numchars [gets stdin data] Ingresando datos desde el teclado - gets • En ocasiones necesitamos ingresar datos desde el teclado, en lenguaje C por ejemplo utilizamos la función scanf. • Si queremos caputar datos desde el teclado en Tcl debemos utilizar la función gets tal como se muestra en el siguiente ejemplo: • set data [gets stdin] ;#donde data es el nombre de la variable 55 • put $data ;#esto imprimirá el valor almacenado en data (55 en el ejemplo) puts -nonewline "Enter your name: " flush stdout set name [gets stdin] puts "Hello $name" Recordemos el uso de fflush (stdout) En Tcl se usa flush stdout
  • 14.
    Algunas funciones básicasde Tcl y Otcl Crear Archivos • Para crear un archivo, debemos asignar un nombre de archivo y un nombre de puntero el cual será utilizado por Tcl para referirse a él. Esto puede realizarse con el comando: • Set file1 [open filename w] ;#donde file1 es el nombre del puntero y filename es el archivo. #cuando se ejecuta el comando anterior el sistema devuelve el channelId. p.e. file5 #es posible cerrar el archivo con el comando “set file1 [open channelId]” • Podemos usar el comando puts para imprimir algo, pero debemos recordar que puts genera una línea nueva por cada impresión, por lo tanto es posible aplicar el parámetro –nonewline después de puts para evitar la nueva línea.
  • 15.
    Algunas funciones básicasde Tcl y Otcl Crear Archivos • Utilizando el comando puts podemos ingresar una cadena de texto al archivo que hemos abierto con el comando anterior. Como se aprecia en el siguiente ejemplo #El siguiente comando creara también el archivo con el nombre: mi_archivo1 set archivo1 [open mi_archivo1 w] #es posible también usar r (read) pero sobre un archivo existente. #Luego podemos ingresar una cadena de texto puts $archivo1 “Hola mundo mi variable es c y contiene el valor $c” #Finalmente cerramos el archivo set archivo1 [close channelId] ;#reemplaza channelId por el valor
  • 16.
    Algunas funciones básicasde Tcl y Otcl Ejecución de comandos de Unix con el comando exec • Es posible ejecutar comando de unix desde la Shell de Tcl. Ejemplo: exec ifconfig exec clear exec date exce cal Otro ejemplo: exec xgraph data & exec whoami ;# este comando ejecutaria el ploteo de data
  • 17.
    Algunas funciones básicasde Tcl y Otcl Agrupamiento { } , “ ”: • Las formas de agrupar en Tcl son entre llaves y entre comillas dobles. • Con “ ”, se representa una cadena de texto con el adicional de que es posible intercalar el valor de las variables dentro de las comilla colocando el signo $ antes de la variable. • Con { }, también pueden contenerse cadenas pero no es posible intercalar el contenido de las variables.
  • 18.
    Algunas funciones básicasde Tcl y Otcl Bloques ( ) , [ ]: • Las formas de agrupar en Tcl son entre llaves y entre comillas dobles. • Los ( ), sirven para encerrar los índices en las tablas asociativas, o para agrupar expresiones aritméticas. • Con [ ], realizan la sustitución del contenido de un resultado. Tambien podria escribirse asi: puts [ expr {1 + [set u 342]} ] puts $u
  • 19.
    Ejercicios 1. Elabore unprograma en Tcl que permita ingresar el valor de a,b,c,y d y muestre el promedio. 2. Elabore un programa en Tcl que permita ingresar el nombre y el precio de un artefacto y descuente el 10% del precio, e imprima en pantalla un mensaje que indique “el producto a comprar es xxxx y el precio final es xxxxx”. 3. Elabore un programa que le permita ingresar una cadena de texto y luego imprimar un archivo llamado mensaje.txt con el contenido de la cadena.
  • 20.
    Estructuras condicionales If -else Ing. Jesus Vilchez Sandoval
  • 21.
    Estructura condicional IF-ELSE Estructura •La estructura de este comando es: If {expression} { <execute some commands> <execute some commands> }else{ <execute some commands> <execute some commands> … } Ejemplo 1: if {$x<0} { set x 0 } elseif { $x<5 } { set x 5 } else { set x 10 } Ejemplo 2: if {$x>0} { set x 55 } elseif { $x>5 } { puts “mayor 55” } else { puts “menor 55” } Ejemplo 3: if {$x==0} { puts “cero” } elseif { $x<5 } { set x 5 } else { set x 10 } Ejemplo 4: if {$x!=0} { puts “No cero” } elseif { $x<5 } { set x 5 } else { set x 10 }
  • 22.
    Ejercicios 1. Elabore unprograma en Tcl que permita ingresar 2 numero y muestre el mayor 2. Elabore un programa en Tcl que permita ingresar un nombre y la edad de una persona y si es mayor de 17 años que muestre el mensaje mayor de edad, de lo contrario que muestre el mensaje menor de edad. 3. Elabore un programa que permita ingresar un numero e indique si el numero ingresado es par o impar.
  • 23.
  • 24.
    Estructura Selectiva SWITCH Estructura •La estructura de este comando es: switch { $variable} { unCommando unCommando .... } Ejemplo: set color azul switch $color { rojo { puts "FF0000" } azul { puts "0000FF" } verde { puts "00FF00" } blanco { puts "FFFFFF" } negro { puts "000000" } default { puts "desconocido" } }
  • 25.
    Estructura Repetitiva –Bucle While Ing. Jesus Vilchez Sandoval
  • 26.
    Estructura Bucle WHILE Estructura •La estructura de este comando es: while { unaExpresionLogica } { unCommando unCommando .... } Ejemplo 1: set x 1 while {$x<10} { puts $x set x [exp $x+1] } Ejemplo 2: set x 10 while {$x>0} { puts $x set x [exp $x-1] }
  • 27.
    Ejercicios 1. Elabore unprograma que muestre todos los números impares de 3 cifras 2. Elabore un programa en Tcl que permita ingresar un numero entero y que muestre el factorial del numero como resultado 3. Elabore un programa que permita ingresar numero, y los muestre en pantalla hasta que se ingrese el valor 0.
  • 28.
    Estructura Repetitiva –Bucle FOR Ing. Jesus Vilchez Sandoval
  • 29.
    Estructura Bucle FOR Estructura •La estructura de este comando es: for {set i 0} {$i<10} {incr i} { execute some commands } Ejemplo 1: for {set i 0} {$i<10} {incr i} { puts $i } Ejemplo 2: foreach i [list "youpii" "aujourd'hui" "il fait beau" "bravo !" "bravo !"] { puts $i } # no es necesario usar el comando list con valores fijos; esto es equivalente foreach i {"youpii" "aujourd'hui" "il fait beau" "bravo !" "bravo !"} { puts $i } foreach a $listaA b $listaB c $listaC { puts "$a $b $c" } foreach {x y} [list Sr Gaston Sra Jeanne Sr Robert Sra Raymonde] { puts "$x $y" }
  • 30.
    Ejercicios 1. Elabore unprograma que permita generar la siguiente serie : 1, 4, 9, 16, 25, …, 100 2. Elabore un programa en Tcl que permita ingresar un número entero y luego visualice todos sus divisores. 3. Elabore un programa que permita calcular y visualice la suma de los todos los números impares de 3 cifras. 4. Elabore un programa que permita ordenar un vector de numero en orden creciente utilizando el método de la burbuja.
  • 31.
  • 32.
    Procedimientos Crear Procedimientos • Tclpermite crear procedimientos. Estos procedimientos pueden retornar algún valor en cuyo caso se almacena en una variable con el comando return. • La estructura para crear un procedimiento es la siguiente: Creando un procedimiento llamado azul: proc azul { param1 param2 …} { global var1 var2 <commands> return $something }
  • 33.
    Procedimientos • El procedimientorecibe algunos parámetros que pueden ser objetos, archivos o variables. En el ejemplo anterior estos parámetros se llaman param1 y param2, etc. Estos parámetros serán usados dentro del procedimiento • Si escribimos azul x y entonces los valores x, y serán pasados al procedimiento. Si param1 y param2 son modificados con el procedimiento, esto no afecta los valores de x, y. Por otro lado si nosotros deseamos que el procedimiento sea capaz de afectar directamente las variables externas a el, entonces debemos declarar estas variables como globales. En el ejemplo anterior var1 y var2
  • 34.
    Procedimientos Ejemplo: #crear procedimiento. proctest {} { set a 43 set b 27 set c [expr $a + $b] set d [expr [expr $a - $b] *$c] puts “c= $c d=$d” for {set k 0} {$k<10} {incr k} { if {$k<5}{ puts “K<5, pow=[expr pow($d,$k)]” }else{ puts “k>=5, mod=[expr $d % $k]” } } } #llamando el procedimiento test
  • 35.
    Procedimientos Ejemplo: #Obtener elfactorial de un numero proc Factorial {x} { for {set result 1} {$x>1} {set x [expr $x - 1} { set result [expr $result * $x] } Return $result } set res [Factorial $f] puts “Factorial de $f es $res
  • 36.
    Ejercicios 1. Elabore unprocedimiento que permita generar la siguiente serie : 1, 4, 9, 16, 25, …, 100 2. Elabore un procedimiento en Tcl que permita ingresar un número entero y luego visualice todos sus divisores. 3. Elabore un procedimiento que permita ordenar un vector de numero en orden creciente utilizando el método de la burbuja. 4. Elabore un programa que muestre todos los números impares de 3 cifras 5. Elabore un programa en Tcl que permita ingresar un numero entero y que muestre el factorial del numero como resultado
  • 37.
    Xgraph Aplicación para plotearde datos de propósito general Ing. Jesus Vilchez Sandoval
  • 38.
    Introducción • Xgraph esuna aplicación para plotear datos en 2D con opciones interactivas de paneo, zoom, impresión, entre otras. Puede plotear datos desde cualquier cantidad de archivos sobre un mismo grafico y puede manejar tamaños ilimitados de datos. • Xgraph produce un archivo wysiwyg en formato POSTSCRIPT, PDF, PPTX, y ODP. • Xgraph incluye la opción de especificar el color del ploteo para graficos con multiples colores y también es posible variar el grosor de las lineas
  • 39.
    Formatos • Xgraph esperadatos en el formato (x,y). Tipicamente debe haber un punto xy por línea. Los valores de los datos pueden estar separados por un espacio en blanco (o tab), comas, punto y comas. • Los datos de multicolumna tienen muchos valores por línea. Cada valor va separado por espacio en blanco (o tab), comas, punto y comas. Fuente de información http://www.xgraph.org/
  • 40.
    Bibliografía • Altman, E.,& Jimenez, T. (2004). NS Simulator for beginners. Merida. • Capella Hernández, J. (s.f.). Introducción al simulador de redes NS-2. Valencia: Universidad Politecnica de Valencia. • Fundación Wikimedia, Inc. (10 de setiembre de 2013). wikipedia. Obtenido de http://es.wikipedia.org/wiki/Tcl • UC Berkeley, LBL, USC/ISI, and Xerox PARC. (2011). The NS manual .