SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
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 .

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xSophia Galarraga
 
Resumen arpanet
Resumen arpanetResumen arpanet
Resumen arpanetHuGo SoTo
 
Modos de direccionamiento.
Modos de direccionamiento.Modos de direccionamiento.
Modos de direccionamiento.deaisai
 
Modelo de redes locales
Modelo de redes localesModelo de redes locales
Modelo de redes localeskrliz
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,Victor Mijangos
 
importancia de los medios de transmision de datos
importancia de los medios de transmision de datosimportancia de los medios de transmision de datos
importancia de los medios de transmision de datosJonathan Agurto Vargas
 
Mapa conceptual tema1y2
Mapa conceptual tema1y2Mapa conceptual tema1y2
Mapa conceptual tema1y2bpradad
 
Protocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintoshProtocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintoshLarry Ruiz Barcayola
 
Mapa conceptual- redes de una computadora
Mapa conceptual- redes de una computadoraMapa conceptual- redes de una computadora
Mapa conceptual- redes de una computadoraGabriela Moncada
 
protocolo TCP/IP
protocolo TCP/IPprotocolo TCP/IP
protocolo TCP/IPComdat4
 
Diseño e implementación de una base de datos para sistematización de matrícul...
Diseño e implementación de una base de datos para sistematización de matrícul...Diseño e implementación de una base de datos para sistematización de matrícul...
Diseño e implementación de una base de datos para sistematización de matrícul...DoctoradoUPEL
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition) Anderson Rubio
 
Dispositivos de red
Dispositivos de redDispositivos de red
Dispositivos de redSuarezJhon
 
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)Efren Franco
 
Cableado estructurado
Cableado estructuradoCableado estructurado
Cableado estructuradogabriel ponce
 

Was ist angesagt? (20)

Fundamentos de VoIP con Tecnología Cisco
Fundamentos de VoIP con Tecnología CiscoFundamentos de VoIP con Tecnología Cisco
Fundamentos de VoIP con Tecnología Cisco
 
Pruebas y diseño de redes
Pruebas y diseño de redesPruebas y diseño de redes
Pruebas y diseño de redes
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Resumen arpanet
Resumen arpanetResumen arpanet
Resumen arpanet
 
Modos de direccionamiento.
Modos de direccionamiento.Modos de direccionamiento.
Modos de direccionamiento.
 
Sistema de entrada/salida
Sistema de entrada/salidaSistema de entrada/salida
Sistema de entrada/salida
 
Modelo de redes locales
Modelo de redes localesModelo de redes locales
Modelo de redes locales
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,
 
importancia de los medios de transmision de datos
importancia de los medios de transmision de datosimportancia de los medios de transmision de datos
importancia de los medios de transmision de datos
 
Mapa conceptual tema1y2
Mapa conceptual tema1y2Mapa conceptual tema1y2
Mapa conceptual tema1y2
 
Protocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintoshProtocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintosh
 
Mapa mental modelo osi
Mapa mental modelo osiMapa mental modelo osi
Mapa mental modelo osi
 
Mapa conceptual- redes de una computadora
Mapa conceptual- redes de una computadoraMapa conceptual- redes de una computadora
Mapa conceptual- redes de una computadora
 
protocolo TCP/IP
protocolo TCP/IPprotocolo TCP/IP
protocolo TCP/IP
 
Diseño e implementación de una base de datos para sistematización de matrícul...
Diseño e implementación de una base de datos para sistematización de matrícul...Diseño e implementación de una base de datos para sistematización de matrícul...
Diseño e implementación de una base de datos para sistematización de matrícul...
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition)
 
Dispositivos de red
Dispositivos de redDispositivos de red
Dispositivos de red
 
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)
Domótica: Aplicaciones, dispositivos y beneficios. (ICA-Procobre, Ago. 2016)
 
Awt
AwtAwt
Awt
 
Cableado estructurado
Cableado estructuradoCableado estructurado
Cableado estructurado
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Kürzlich hochgeladen (20)

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

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 .