SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
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 .

Más contenido relacionado

La actualidad más candente

Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
 
Creacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerCreacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerJenny Lophezz
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programaciontacubomx
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionEduardo J Onofre
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De CompiladorBigbossH
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Laboratorio Redes de Datos - Práctica 02
Laboratorio Redes de Datos - Práctica 02Laboratorio Redes de Datos - Práctica 02
Laboratorio Redes de Datos - Práctica 02Cristian Ortiz Gómez
 
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPCUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPdisenarUniminuto
 
Examen Arquitectura de Computadoras
Examen Arquitectura de ComputadorasExamen Arquitectura de Computadoras
Examen Arquitectura de ComputadorasErika Santos Reyes
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Tema 1 multiprocesadores
Tema 1 multiprocesadoresTema 1 multiprocesadores
Tema 1 multiprocesadoresKuma Sanchez
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativosPatriciaDavila16
 

La actualidad más candente (20)

Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Creacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerCreacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracer
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacion
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
 
Protocolo arp
Protocolo arpProtocolo arp
Protocolo arp
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Laboratorio Redes de Datos - Práctica 02
Laboratorio Redes de Datos - Práctica 02Laboratorio Redes de Datos - Práctica 02
Laboratorio Redes de Datos - Práctica 02
 
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPCUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
 
Examen Arquitectura de Computadoras
Examen Arquitectura de ComputadorasExamen Arquitectura de Computadoras
Examen Arquitectura de Computadoras
 
Presentación modelo osi
Presentación   modelo osiPresentación   modelo osi
Presentación modelo osi
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Modelo TCP IP
Modelo TCP IPModelo TCP IP
Modelo TCP IP
 
Tema 1 multiprocesadores
Tema 1 multiprocesadoresTema 1 multiprocesadores
Tema 1 multiprocesadores
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos
 

Destacado

Tcl2012 8.6 Changes
Tcl2012 8.6 ChangesTcl2012 8.6 Changes
Tcl2012 8.6 Changeshobbs
 
Tcl tk
Tcl tkTcl tk
Tcl tkTiago
 
Making an Object System with Tcl 8.5
Making an Object System with Tcl 8.5Making an Object System with Tcl 8.5
Making an Object System with Tcl 8.5Donal Fellows
 
Optimizing Tcl Bytecode
Optimizing Tcl BytecodeOptimizing Tcl Bytecode
Optimizing Tcl BytecodeDonal Fellows
 
Computer Networks- Network Basics
Computer Networks- Network BasicsComputer Networks- Network Basics
Computer Networks- Network BasicsTrinity Dwarka
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package ManagerKlaus Hofeditz
 
PERFORMANCE STUDIES ON THE VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKS
PERFORMANCE STUDIES ON THE  VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKSPERFORMANCE STUDIES ON THE  VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKS
PERFORMANCE STUDIES ON THE VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKSJYoTHiSH o.s
 
Security Attack Analysis for Finding and Stopping Network Attacks
Security Attack Analysis for Finding and Stopping Network AttacksSecurity Attack Analysis for Finding and Stopping Network Attacks
Security Attack Analysis for Finding and Stopping Network AttacksSavvius, Inc
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6ActiveState
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of TclActiveState
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocolnitss007
 
Network Basics
Network BasicsNetwork Basics
Network Basicstmavroidis
 
Tcl corporate presentation 2015 campus 08-02-2016
Tcl corporate presentation   2015 campus 08-02-2016Tcl corporate presentation   2015 campus 08-02-2016
Tcl corporate presentation 2015 campus 08-02-2016geetha k
 
Dynamic source routing
Dynamic source routingDynamic source routing
Dynamic source routingAshraf Uddin
 

Destacado (20)

Tcl2012 8.6 Changes
Tcl2012 8.6 ChangesTcl2012 8.6 Changes
Tcl2012 8.6 Changes
 
Tcl tk
Tcl tkTcl tk
Tcl tk
 
Making an Object System with Tcl 8.5
Making an Object System with Tcl 8.5Making an Object System with Tcl 8.5
Making an Object System with Tcl 8.5
 
Optimizing Tcl Bytecode
Optimizing Tcl BytecodeOptimizing Tcl Bytecode
Optimizing Tcl Bytecode
 
Computer Networks- Network Basics
Computer Networks- Network BasicsComputer Networks- Network Basics
Computer Networks- Network Basics
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package Manager
 
PERFORMANCE STUDIES ON THE VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKS
PERFORMANCE STUDIES ON THE  VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKSPERFORMANCE STUDIES ON THE  VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKS
PERFORMANCE STUDIES ON THE VARIOUS ROUTING PROTOCOLS IN AD-HOC NETWORKS
 
Security Attack Analysis for Finding and Stopping Network Attacks
Security Attack Analysis for Finding and Stopping Network AttacksSecurity Attack Analysis for Finding and Stopping Network Attacks
Security Attack Analysis for Finding and Stopping Network Attacks
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6
 
Tcl tk howto
Tcl tk howtoTcl tk howto
Tcl tk howto
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of Tcl
 
Ad Hoc
Ad HocAd Hoc
Ad Hoc
 
Zone Routing Protocol
Zone Routing ProtocolZone Routing Protocol
Zone Routing Protocol
 
20111126 ns2 installation
20111126 ns2 installation20111126 ns2 installation
20111126 ns2 installation
 
Networking basics
Networking basicsNetworking basics
Networking basics
 
Network Basics
Network BasicsNetwork Basics
Network Basics
 
Basics of network
Basics of networkBasics of network
Basics of network
 
Tcl corporate presentation 2015 campus 08-02-2016
Tcl corporate presentation   2015 campus 08-02-2016Tcl corporate presentation   2015 campus 08-02-2016
Tcl corporate presentation 2015 campus 08-02-2016
 
Ns2
Ns2Ns2
Ns2
 
Dynamic source routing
Dynamic source routingDynamic source routing
Dynamic source routing
 

Similar a Programación en OTcl (20)

Lenguaje c neo
Lenguaje c neoLenguaje c neo
Lenguaje c neo
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Doc tutorial-c++
Doc tutorial-c++Doc tutorial-c++
Doc tutorial-c++
 
Doc tutorial-c++
Doc tutorial-c++Doc tutorial-c++
Doc tutorial-c++
 
Doc tutorial-c++
Doc tutorial-c++Doc tutorial-c++
Doc tutorial-c++
 
Doc tutorial-c++
Doc tutorial-c++Doc tutorial-c++
Doc tutorial-c++
 
Doc tutorial-c++
Doc tutorial-c++Doc tutorial-c++
Doc tutorial-c++
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Cesar lenguaje c_
Cesar lenguaje c_Cesar lenguaje c_
Cesar lenguaje c_
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Manual.es
Manual.esManual.es
Manual.es
 
Estructura basica de_c_
Estructura basica de_c_Estructura basica de_c_
Estructura basica de_c_
 
Estructura basica de_c_(2)
Estructura basica de_c_(2)Estructura basica de_c_(2)
Estructura basica de_c_(2)
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
Tutorial c++
Tutorial c++Tutorial c++
Tutorial c++
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 

Más de Jesus Vilchez

Herramientas de control y seguimiento
Herramientas de control y seguimientoHerramientas de control y seguimiento
Herramientas de control y seguimientoJesus Vilchez
 
Ataques en redes lan
Ataques en redes lanAtaques en redes lan
Ataques en redes lanJesus Vilchez
 
Ataques y vulnerabilidades
Ataques y vulnerabilidadesAtaques y vulnerabilidades
Ataques y vulnerabilidadesJesus Vilchez
 
Analisis de riego segunda parte
Analisis de riego segunda parteAnalisis de riego segunda parte
Analisis de riego segunda parteJesus Vilchez
 
Analisis de riego primera parte
Analisis de riego primera parteAnalisis de riego primera parte
Analisis de riego primera parteJesus Vilchez
 
Unidad ii sesion 01 (politicas de seguridad)
Unidad ii sesion 01 (politicas de seguridad)Unidad ii sesion 01 (politicas de seguridad)
Unidad ii sesion 01 (politicas de seguridad)Jesus Vilchez
 
I.1 conceptos_de_seguridad
I.1  conceptos_de_seguridadI.1  conceptos_de_seguridad
I.1 conceptos_de_seguridadJesus Vilchez
 

Más de Jesus Vilchez (7)

Herramientas de control y seguimiento
Herramientas de control y seguimientoHerramientas de control y seguimiento
Herramientas de control y seguimiento
 
Ataques en redes lan
Ataques en redes lanAtaques en redes lan
Ataques en redes lan
 
Ataques y vulnerabilidades
Ataques y vulnerabilidadesAtaques y vulnerabilidades
Ataques y vulnerabilidades
 
Analisis de riego segunda parte
Analisis de riego segunda parteAnalisis de riego segunda parte
Analisis de riego segunda parte
 
Analisis de riego primera parte
Analisis de riego primera parteAnalisis de riego primera parte
Analisis de riego primera parte
 
Unidad ii sesion 01 (politicas de seguridad)
Unidad ii sesion 01 (politicas de seguridad)Unidad ii sesion 01 (politicas de seguridad)
Unidad ii sesion 01 (politicas de seguridad)
 
I.1 conceptos_de_seguridad
I.1  conceptos_de_seguridadI.1  conceptos_de_seguridad
I.1 conceptos_de_seguridad
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Programación en OTcl

  • 2. 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
  • 3. PARAMETROS Y COMANDOS BASICOS Ing. Jesus Vilchez Sandoval
  • 4. 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 “%”
  • 5. 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
  • 6. 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.
  • 7. 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
  • 8. 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”
  • 9. 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
  • 10. 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]
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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.
  • 15. 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
  • 16. 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
  • 17. 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.
  • 18. 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
  • 19. 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.
  • 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 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.
  • 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 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.
  • 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 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.
  • 32. 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 }
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. Xgraph Aplicación para plotear de datos de propósito general Ing. Jesus Vilchez Sandoval
  • 38. 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
  • 39. 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/
  • 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 .