Pocket Bite No. 3

Page 1


2


Revista POCKET BITE

CARTA EDITORIAL Y seguimos adelante...

Director Editorial Leonardo Moreno Villalba Coordinadora Editorial Luz Imperio Peralta Soto Redactores Grupo 6601, 6851 Diseño Ángela Barrios Hernández Víctor Manuel Cabrera Vázquez María de Lourdes Pérez Téllez Erica Rodríguez Valeria Joaquín Cervantes Rocha Juan Carlos Sánchez Nava Agradecimiento a Secciones ¿QUÉ SIGUE? Ramón Enríquez Flores David Adrián Mendoza Ortega Adrián Chijate Prieto Edgar Gonzáles Bautista Israel Trejo Campos CIBERDELITOS Grupo 6601 CODIGO S.O.S Ángel Guillermo Arzate Jaimes Daniela Domínguez Martínez Juan Mauricio de la Rosa Olvera Roberto Mota Camacho Carmen Cortes Tapia ECHALE UN OJO Jessica Jazmín Andrade Vázquez Perla Marisol Núñez García Maria Luisa Villafan Cruz LENGUAJES CIBERNETICOS Grupo 6601 ALMACENA MÁS RÁPIDO Jesús Israel Acosta Verde David Carrasco Hernández Michell Juárez Ramírez Argelia Oviedo Rosales Ricardo Silva Lezama ENTRETENTE UN RATO Enrique Flores Martínez Alfredo Alejandro López Mora Jacqueline Ivette Pérez Basan Juan Carlos Pérez Hernández Pablo Romero García Ivon Jacqueline Zepeda Carrillo TIPS Grupo 6601 ¿DE A COMO Y DONDE? Perla Leticia Arzamendi Aguirre Daniel Cantoral Alatriste Evelyn Moreno Juárez Laura Leticia Pérez Martínez Elizabeth Villegas Rodríguez FORO Grupo 6601 TERMINOLOGIA Por: Erica Rodríguez Valeria

E

stamos empezando un nuevo año, el cual nos trae consigo un sin fin de sorpresas en el ámbito tecnológico, de innovación e informativo. Esto nos obliga a una ampliación y actualización de nuestros conocimientos actuales para poder aplicar dichos avances con gran aplomo en nuestra vida diaria, siempre con un toque mágico que nos brinda la automatización de “casi todo” (al menos el decir “todo” es un pleonasmo el día de hoy, pero mañana quien sabe) por medio de las comunicaciones principalmente y la informática. La dependencia del ser humano hacia la tecnología hoy en dia, es sin duda increíble, creo que al grado de que muchos de nosotros no podemos si quiera realizar una simple división a mano, cuanto más si se cae el sistema de un banco o hay un boicot terrorista informático que deje paralizada a una nación. Cosas que sólo vemos en películas, pero que no están muy lejos de la realidad. Lo cierto es que los expertos en la materia (Informáticos, Ing. en sistemas, etc) dia a dia tenemos que tomar en cuenta cada detalle nuevo para mejorar nuestro mundo virtual que se convierte posteriormente en real. Lo que quiero decir es que sin tecnología estamos perdidos, pero oh! Sorpresa la tecnología depende en gran parte de quién la desarrolle, en este caso nosotros mismos. Escríbenos a:

http://revista_pocket_byte@hotmail.com

3


CONTENIDO: ¿QUE SIGUE? El futuro PC, Envy de LINUX y mas...

CIBERDÉLITOS Violación a la Integridad Informática

CODIGO S.O.S Programa un calendario con recordatorio

ECHALE UN OJO Certificaciones Java, MySQL, CISCO

LENGUAJES CIBERNETICOS Python, Java, Perl, Scheme y Ruby

ALMACENA MAS RÁPIDO Dbase, SQL y MySQL

ENTRETENTE UN RATO No más Forwards

TIPS Python y sus trucos ¿DE A COMO Y DONDE? Actividades y Eventos del TESE para ti...

FORO Participa 4

6 11 16 31 36 46 49 54 56

45


ENTERATE... Como Convertir PDF a Word

Maxdata HHD Sata II 1TB

Free PDF to Word Doc Converter, es un programa gratuito para Windows que permite exportar un archivo PDF a un documento de Word .doc para modificarlo libremente.

El fabricante Maxdata ha diseñado su primer disco duro SATA con una capacidad de terabyte.

El programa permite extraer texto, imagenes y figuras de un archivo PDF y convertirlo a un archivo de Word conservando la estructura original del PDF. Es posible especificarle que convierta todo el documento o solo un rango especificado. Otra característica de este programa es que se puede convertir archivos pdf a doc sin tener instalado Adobe Acrobat Reader o Microsoft Word. http://www.hellopdf.com/download.php Colaborador: ElGrupoInformatico

Sistema de doble lectura, Regrabadora LG GGW-H20L Esta unidad óptica interna del fabricante LG permite regrabar discos con formato de alta capacidad Blu-ray y, además, lee también discos HD DVD. La velocidad de grabación en Blu-ray es de 6x, mientras que la lectura en HD DVD es de 3x. En el caso de grabación de DVD convencionales la velocidad es de 6x. Es también compatible con los formatos de disco actuales como DVD, DVD +/-R, DVD +/-RW, DVD-ROM o CD-R/RW/ROM. Se conecta a la placa base a través de una interfaz SATA. Además, incorpora tecnología LigthScribe, que permite etiquetar los discos de forma rápida gracias a una luz láser que serigrafía su superficie.

Destaca también por la tasa de transferencia que ofrece, ya que puede copiar datos con una velocidad de 105 megabytes por segundo y un tiempo de acceso medio de 8,5 milisegundos a 7.200 revoluciones por minuto. Como tiene poco consumo eléctrico, puede mantener una temperatura baja de funcionamiento. Su precio 419€. Colaborador: ElGrupoInformatico

Miles de sitios modificados con script dañinos Diversos medios están haciendo eco de la noticia: miles de sitios están siendo víctimas de la modificación de sus bases de datos (aparentemente MS SQL Server) agregando una inyección a un script dañino (descargado de múltiples sitios) el cual será ejecutado al ingresar al sitio. Actualmente, son cientos los sitios accesibles vía cualquier buscador desde el cual, al ingresar, se descargará el script dañino (0.js) que procederá a descargar otros malware e infectar al usuario. Esta descarga y ejecución es permitida a través del aprovechamiento de diversas vulnerabilidades en el sistema operativo y aplicaciones. Recomendamos actualizar cualquier aplicación utilizada e instalar un antivirus con capacidades proactivas que ayude a detectar cualquier tipo de malware que se intente descargar. Además, si Ud. es administrador de un sitio web, se recomienda extremar las precauciones para no ser uno de los atacados a quien modifiquen su sitio web.

5


1010110101010

F U T U R O P C, E N V Y L I N U X Y M A S . . .

¿QUÉ SIGUE? P O C K E T

S

iguiendo con nuestra edición como ya saben estaremos hablando de todo lo relacionado con las nuevas tecnologías, lo más relevante que hasta el momento esta causando impacto en los diferentes ámbitos en los que podemos aplicar la tecnología de punta para satisfacer necesidades y hacer mas eficiente el trabajo de cualquier tipo de empresa y personal. Aquí no nos limitamos hablamos de todo lo mas nuevo autos, computadoras, software, ciencia, etc. Y como es costumbre échale un vistazo y decide tu mismo. Intel, fabricante líder de microprocesadores del mundo, mostró su impactante visión sobre cómo serán las PC y notebooks dentro de pocos años. Justin Rattner, director de Intel (ya sabe el jefe), quiere que las computadoras del futuro tengan la capacidad de interactuar con las personas y desarrollar facultades predicativas. Esto es un poco ambicioso pero desde nuestro punto de vista Intel parece que no

6

tendrá problemas en llegar hacer la interacción hombremaquina en tiempo real. Y he aquí los complementos que tendrá cada equipo, lector de huellas dactilares, cámara, teléfono, tecnología inalámbrica, Bluetooth, un teclado para introducir datos, un reproductor de DVD externo, un sistema GPS, cámara integrada y una batería de micrófonos, esto es hoy en día ya casi obligatorio en cualquier equipo que contenga la capacidad de procesar información en tiempo real.

EL AUTO DEPORTIVO QUE TODOS DESEAMOS, O NO? Nada más échenle un vistazo al modelito deportivo estadounidense que estará disponible a finales del 2008 y me dicen si no merece estar en esta sección. El Bailey Blade Concept cuenta con un motor V8, que inyecta combustible a la central eléctrica sobre los bastidores tubulares híbridos de suspensión independiente. La adición de hendedores de reverso se hizo para mantener el centro de gravedad arriba, sin necesidad de un spoiler trasero gigantesco. Todos los que sepan algo de autos seguro que entiende a lo

1010101101010101001

B I T E


1010110101010

F U T U R O P C, E N V Y L I N U X Y M A S . . .

¿QUÉ SIGUE? P O C K E T

que nos referimos. Los motores Roush le dan al una potencia que va de 400HP a 500HP. El compartimiento del motor fue diseñado para acomodar los motores de bloque más pequeños incluyendo el nuevo Ford modular de 4.6L. Si hablamos del chasis, cuenta con bastidores llenos de acero en forma de jaula de rollo tubular, que va puesta a un marco de acero de caja sólido surcado. La jaula de rollo tubular es ocultada y protege al conductor y a los pasajeros, tras la adición de dos barras de aro para protegerlos en caso de un accidente. No lo van a creer pero su cuerpo esta hecho a base de fibra de vidrio, con esto se logra que se muy liviano. Aun no se ha dado a conocer su precio pero en cuanto tengamos un aproximado ya saben se los haremos saber, esperamos que sea en nuestra próxima edición…..

SHARP LE AGREGA UN TOQUE DORADO AL AQUOS EN LA SERIE D83X Sin duda la extravagancia no tiene límites. Ya nos presentar o n móviles c o n i n c r u staciones de pied r a s preciosas, iPods con cristales

de Swarovski y ahora es el turno de las pantallas LCD MEJORADAS. Si bien Sharp no incursionó en el campo de los apliques, las terminaciones en dorado le dan a la nueva serie D83X de AQUOS un toque de distinción. Pero Sharp no sólo se dedicó a cambiar la estética del AQUOS. Esta nueva serie, fabricada en su planta Kameyama en Japón, es de alta definición con ASV. El D83X mide sólo 3.7 pulgadas de profundidad y viene en presentaciones de 42, 46 y 52 pulgadas. Con una resolución de 1920x1080p, el televisor cuenta con la función Fine Motion Advanced en 100Hz para la reproducción lenta de imágenes y Movie Sync en 24 cuadros. Tiene un impresionante ratio de contraste de 10.000:1 y a través del sistema “RGB Plus” asegura una increíble calidad de imagen. El AQUOS D83X trae incorporado un sintonizador digital, circuito Teletext y sistema EPG. En cuanto a la calidad de sonido, el D83X brinda una verdadera experiencia de cine; combina el SRS TruSurround con la alta calidad digital de un amplificador. En este modelo no queda mucho que decir, todo lo anterior sin duda da una amplia descripción del buen producto que presenta Sharp.

1010101101010101001

7

B I T E


1010110101010

F U T U R O P C, E N V Y L I N U X Y M A S . . .

¿QUÉ SIGUE? P O C K E T

ENVY, UNA APLICACIÓN MÁGICA PARA USUARIOS DE LINUX Para todos aquellos que utilizan Ubuntu o Debian de Linux van a estar más que contentos al saber que está disponible un programa que automatiza el proceso de instalación de controladores Nvidia y ATI. Envy es una aplicación que detecta automáticamente el modelo de la tarjeta gráfica del ordenador (Nvidia y ATI), descarga la versión correcta para el controlador de los sitios Web correspondientes y procede a su instalación. Envy también fue diseñada para hacer que la configuración de monitormúltiple sea algo muy sencillo, algo que ni siquiera las compañías de gráficos han podido lograr. El programa realiza la xorg.conf de acuerdo a las especificaciones del sistema y reinicia el Xserver si uno lo desea. Como la mayoría de los mejores programas a nivel mundial, Envy está escrito en una serie de líneas Python. Una herramienta que se convertirá en la “envidia” de todos los demás. Articulo no recomendado para

8

el TESE debido a que no se maneja Linux a fondo.

NEC OFRECE TRADUCCIÓN DEL INGLÉS AL JAPONÉS A TRAVÉS DEL MÓVIL Para todos aquellos que alguna vez soñaron con visitar la imponente ciudad de Tokio o piensan ir en los siguientes juegos olímpicos en Begin, pero sentían que el idioma es una gran barrera, ahora podrán hacerlo. Bueno, al menos todos aquellos que hayan aprendido a hablar inglés. Nec desarrolló una nueva tecnología que ayudará a los viajeros de habla inglesa a comprender el idioma japonés sin mucho esfuerzo. Se trata de un software de traducción que viene en un microchip para ser utilizado en el móvil. Es el primer dispositivo que puede identificar acerca de 50.000 palabras en japonés, traducirlas en prácticamente tiempo real y hacerlo a través de un móvil.

B

Eventualmente el software estará disponible en los celulares fabricados en Japón y por el momento sólo funcionará desde el japonés al inglés. To-

E

1010101101010101001

I T


1010110101010

F U T U R O P C, E N V Y L I N U X Y M A S . . .

¿QUÉ SIGUE? P

davía no se sabe cuándo saldrá a la venta.

C

PANTALLA PLANA DIGITAL PARA RAYOS-X PRESENTADA POR SAMSUNG

K

Las grandes marcas no

O

E T

sólo se dedican a fabricar dispositivos de diseños llamativos, con más funcionalidades y nuevas tecnologías y todo eso lo bonito, sino que también hacen grandes aportes a la ciencia como esta que presentamos. En este caso Samsung ha desarrollado una pantalla plana digital detector de rayos -X (FPXR) para equipos de radiología que promete ser mucho más rápido, más económico y tomará imágenes mucho más precisas. El nuevo dispositivo fue desarrollado en forma conjunta con la compañía coreana Vatech, dedicada a la fabricación de equipos médicos. El FPXR utiliza tecnología de transistores de finas películas para brindar alta resolución (9.4 mega píxeles) sin la necesidad del revelado de películas requerido anteriormente. El dispositivo de 45cm x 46cm detecta rayos-X fotón por fotón, los convierte primero en luz

visible y luego, en señales eléctricas que son mostradas como diagnóstico por imágenes en la pantalla. Samsung le ha incorporado una función que permite eliminar de las imágenes digitales la interferencia producida por el sonido. Este importante avance para la ciencia estará ya disponible a nivel mundial en los primeros meses del próximo año.

COMPUTADORA THIKPAF X60 TABLET Viene con una pantalla Multiview de 12” para uso interior y exterior, antirreflejo y antirresplandor que incrementa radicalmente la visibilidad en múltiples ambientes. Esta opción de pantalla viene combinada con la función MultiTouch que permite a los usuarios mover el cursor con el lápiz óptico o con el dedo y de esta forma interactuar de manera más sencilla con esta maquina, además tiene un ángulo de visión estándar de 170 grados. También incluye una función que permite que la pantalla gire instantáneamente en la dirección en que el usuario lo desee. El diseño del sistema de esta computadora también está enfocado en mejorar algunas de las funciones tradicionales como son las herramientas de navegación y el lápiz óptico. Ya que Ahora el nave-

1010101101010101001

9

B I T E


1010110101010

F U T U R O P C, E N V Y L I N U X Y M A S . . .

¿QUÉ SIGUE? P O C K E T

gador permite a los usuarios moverse con facilidad en cuatro direcciones y hasta incluso reorienta las teclas para que la tecla "arriba" siempre vaya en esa dirección aunque el usuario cambie la orientación de la pantalla con Active Rotate. Además, el nuevo lápiz, más natural y duradero, retoma automáticamente la actividad apenas el usuario lo mueve de la posición de reposo. Un mejorado micrófono digital reubicado en el frente del marco de la pantalla proporciona un reconocimiento de voz más preciso. Si esto no te es suficiente nadamas toma en cuenta la capacidad que tiene ya que contiene un disco duro SATA de 2.5 pulgadas, de alta velocidad y resistente a los golpes, de 120 GB/5400 rpm y cuenta con una batería de mayor duración que puede tardar más de diez horas con la batería estándar y tan solo con un peso mínimo de 1.70 kg Aquí puedes ver esta hermosura de computadora que te dejara maravillado. Los precios de los sistemas Tablet X60 comienzan a partir $ 16,000 pesos, se pueden adquirir a través de los Asociados de Negocios de Lenovo o direc-

10

tamente a través del sitio www.lenovo.com/mx ■

ACTIVIDADES DEPORTIVAS

“Fútbol Rápido Femenil y varonil" Forma parte de la selección de fútbol rápido femenil y varonil y representa a tu institución en los juegos del “Conde 2007-2008”. Entrenamientos lunes 13:00-16:00 hrs. Cita: Pista de fútbol soccer. Responsable: Profr. Rodolfo Gabino

“Voleibol Femenil" El departamento de actividades deportivas, te invita a que te integres al equipo de voleibol femenil y representes a tu institución. Lunes a Viernes de 13:00 a 16:00 hrs. sábado de 9:00 a 14:00 hrs. Lic. Joanna Vázquez Martínez Departamento de Actividades Deportivas

♣ “Básquetbol femenil y varonil” Intégrate!! El departamento de actividades deportivas (Gimnasio Auditorio), te invita a que te unas al equipo de voleibol femenil y varonil y a las competencias realizadas en la institución. Lunes a Viernes de 13:00 a 16:00 hrs. sábado de 9:00 a 14:00 hrs. Lic. Joanna Vázquez Martínez Tel. 5000- 2372

B I T

Departamento de Actividades Deportivas

Cortesía: Sección ¿DE A COMO Y DONDE?

1010101101010101001

E


1010110101010

ROBO A CLICK ARMADO

CIBERDELITOS P O C K E T

NOTICIAS MAS RECIENTES DE DELITOS INFORMATICOS BANDA "ROBA IDENTIDADES" CAPTURADA. Ago. 1, 02.- La Policía de Nueva York capturó a una gran banda dedicada al "robo de identidades". Cuatro individuos fueron arrestados por robar la identidad de miles de neoyorquinos y estadounidenses, para después usarla para hacer compras por teléfono y por Internet. Miles de ciudadanos estuvieron a punto de estar en bancarrota y con créditos arruinados de por vida ZAR DE LA SEGURIDAD APUNTA A CULPABLES. Jul. 31, 02.- "Muchas personas confían en el ciberespacio, pero ninguna de ellas se hace cargo de asegurar su parte del ciberespacio" declaró Richard Clark, asesor de la Presidencia de Estados Unidos en materia de CiberSeguridad. Señaló como principales responsables de las vulnerabilidades en el Internet a los desarrolladores de software, a los proveedores de conexión a Internet (ISP), a los creadores de redes inalámbricas y al gobierno finalmente. EMPRESARIO PORNO SECUESTRA NOMBRE DE DOMINIO DE ALQAEDA. Jul. 31, 02.- Jon Messner, propietario de diversos sitios por-

no de Estados Unidos, secuestró hace unos días el sitio web Alneda.com, considerado la página oficial de Alqaeda. Ofreció al FBI el dominio, pero no estuvieron interesados. com.mx = 515 gob.mx = 85 org.mx = 58 edu.mx = 46 net.mx = 23 Sitios .mx hackeados en Agosto = ¡ 4 ! Total de sitios .mx (2001 - 2002) = ¡ 843 ! Sitio original

PenetraHacker ción

www.taurus.com.mx

cr1m3 hackea0rg4n1z do 4d0

04/08/02

www.qroo.gob.mx

cr1m3 hackea0rg4n1z do 4d0

02/08/02

rsases.ases.com.mx

hackeado

BHS

01/08/02

www.silverline.com.mx

hackeado

g3ek

Fecha 07/08/02

Aviso Importante

PIRATAS CONTRAATACAN. Jul. 30, 02.- Como respuesta a la propuesta de ley de la industria disquera para poder hackear legalmente los sitios para compartir música, este fin de semana la Asociación Americana de la Industria de Grabaciones (RIAA) recibió un ataque de Denegación de Servicios. INTERFIEREN HACKERS 835 SITIOS MEXICANOS EN AÑO Y MEDIO. Jul. 30, 02.- El problema va en aumento, advierten especialistas en Derecho Informático; cada en nuestro país día más de 1.5 servidores son penetrados y

1010101101010101001

11

B I T E


1010110101010

ROBO A CLICK ARMADO

CIBERDELITOS P O C K E T

modificados por delincuentes cibernéticos. LA INGENIERÍA SOCIAL EN LA EXPANSIÓN DE VIRUS. Jul. 29, 02.- Hasta ahora, el año 2002 se ha caracterizado, en cuanto a códigos maliciosos se refiere, por el aprovechamiento de vulnerabilidades en los programas más empleados por los usuarios, como refleja la propagación de Klez.I, sin duda, el gusano con más impacto de los últimos meses. EL JIHAD EN LÍNEA. Jul. 29, 02.- El grupo de ciberterroristas denominado "Arab Electronic Jihad Team" (AEJT), declaró recientemente su iniciativa terrorista para hackear todos los sitios web de Estados Unidos e Israel. Convocó a todos los miembros de su agrupación que sean avanzados en el arte del hackeo que les enseñen algunas tácticas útiles.

TIPOS DE DELITOS INFORMÁTICOS RECONOCIDOS POR NACIONES UNIDAS Fraudes cometidos mediante manipulación de computadoras. Manipulación de los datos de entrada. Este tipo de fraude informático conocido también como sustracción de datos, representa el delito informáti-

12

co más común ya que es fácil de cometer y difícil de descubrir. Este delito no requiere de conocimientos técnicos de informática y puede realizarlo cualquier persona que tenga acceso a las funciones normales de procesamiento de datos en la fase de adquisición de los mismos. La manipulación de programas. Es muy difícil de descubrir y a menudo pasa inadvertida debido a que el delincuente debe tener conocimientos técnicos concretos de informática. Este delito consiste en modificar los programas existentes en el sistema de computadoras o en insertar nuevos programas o nuevas rutinas. Un método común utilizado por las personas que tiene conocimientos especializados en programación informática es el denominado Caballo de Troya, que consiste en insertar instrucciones de computadora de forma encubierta en un programa informático para que pueda realizar una función no autorizada al mismo tiempo que su función normal. Manipulación de los datos de salida. Se efectúa fijando un objetivo al funcionamiento del sistema informático. El ejemplo más común es el fraude de que se hace objeto a los cajeros automáticos mediante la falsificación de instrucciones para la computadora en la fase de adquisición de datos. Tradi-

1010101101010101001

B I T E


1010110101010

ROBO A CLICK ARMADO

CIBERDELITOS P O C K E T

cionalmente esos fraudes se hacían a base de tarjetas bancarias robadas, sin embargo, en la actualidad se usan ampliamente el equipo y programas de computadora especializados para codificar información electrónica falsificada en las bandas magnéticas de las tarjetas bancarias y de las tarjetas de crédito. Fraude efectuado por manipulación informática que aprovecha las repeticiones automáticas de los procesos de cómputo. Es una técnica especializada que se denomina "técnica de salchichón" en la que "rodajas muy finas" apenas perceptibles, de transacciones financieras, se van sacando repetidamente de una cuenta y se transfieren a otra. Falsificaciones cas.

informáti-

Como objeto. Cuando se alteran datos de los documentos almacenados en forma computarizada. Como instrumentos. Las computadoras pueden utilizarse también para efectuar falsificaciones de documentos de uso comercial. Cuando empezó a disponerse de fotocopiadoras computarizadas en color a base de rayos láser, surgió una nueva generación de falsificaciones o alteraciones fraudulentas. Estas fotocopiadoras pueden hacer copias de alta resolución,

pueden modificar documentos e incluso pueden crear documentos falsos sin tener que recurrir a un original, y los documentos que producen son de tal calidad que sólo un experto puede diferenciarlos de los documentos auténticos. Daños o modificaciones de programas o datos computarizados. Sabotaje informático. Es el acto de borrar, suprimir o modificar sin autorización funciones o datos de computadora con intención de obstaculizar el funcionamiento normal del sistema. las técnicas que permiten cometer sabotajes informáticos son: Virus. Es una serie de claves programáticas que pueden adherirse a los programas legítimos y propagarse a otros programas informáticos. Un virus puede ingresar en un sistema por conducto de una pieza legítima de soporte lógico que ha quedado infectada, así como utilizando el método del Caballo de Troya. Gusanos. Se fabrica en forma análoga al virus con miras a infiltrarlo en programas legítimos de procesamiento de datos o para modificar o destruir los datos, pero es diferente del virus porque no puede regenerarse. En términos médicos podría decirse que un gusano

1010101101010101001

13

B I T E


1010110101010

ROBO A CLICK ARMADO

CIBERDELITOS P O C K E T

es un tumor benigno, mientras que el virus es un tumor maligno. Ahora bien, las consecuencias del ataque de un gusano pueden ser tan graves como las del ataque de un virus; por ejemplo, un programa gusano que subsiguientemente se destruirá puede dar instrucciones a un sistema informático de un banco para que transfiera continuamente dinero a una cuenta ilícita. Bomba lógica o cronológica. Exige conocimientos especializados ya que requiere la programación de la destrucción o modificación de datos en un momento dado del futuro. Ahora bien, al revés de los virus o los gusanos, las bombas lógicas son difíciles de detectar antes de que exploten; por eso, de todos los dispositivos informáticos criminales, las bombas lógicas son las que poseen el máximo potencial de daño. Su detonación puede programarse para que cause el máximo de daño y para que tenga lugar mucho tiempo después de que se haya marchado el delincuente. La bomba lógica puede utilizarse también como instrumento de extorsión y se puede pedir un rescate a cambio de dar a conocer el lugar donde se halla la bomba.

14

Acceso no autorizado a servicios y sistemas informáticos. Es el acceso no autorizado a sistemas informáticos por motivos diversos: desde la simple curiosidad, como en el caso de muchos piratas informáticos (hackers) hasta el sabotaje o espionaje informático. Piratas informáticos o hackers. El acceso se efectúa a menudo desde un lugar exterior, situado en la red de telecomunicaciones, recurriendo a uno de los diversos medios que se mencionan a continuación. El delincuente puede aprovechar la falta de rigor de las medidas de seguridad para obtener acceso o puede descubrir deficiencias en las medidas vigentes de seguridad o en los procedimientos del sistema. A menudo, los piratas informáticos se hacen pasar por usuarios legítimos del sistema; esto suele suceder con frecuencia en los sistemas en los que los usuarios pueden emplear contraseñas comunes o contraseñas de mantenimiento que están en el propio sistema. Reproducción no autorizada de programas informáticos de protección legal. La reproducción no autorizada de programas informáticos puede entrañar una pérdida económica sustancial para los propietarios legítimos. Algunas

1010101101010101001

B I T E


1010110101010

ROBO A CLICK ARMADO

CIBERDELITOS P O C K E T

jurisdicciones han tipificado como delito esta clase de actividad y la han sometido a sanciones penales. El problema ha alcanzado dimensiones transnacionales con el tráfico de esas reproducciones no autorizadas a través de las redes de telecomunicaciones modernas. Denunciar un delito Este tipo de delitos, tipificados en el Código Penal, pueden denunciarse bien a través del propio interesado o por el Ministerio Fiscal, si bien hay que destacar la gran relevancia que están tomando el cuerpo especial de la Guardia Civil de Delitos Telemáticos, los cuales desde su comienzo -1996- han esclarecido e investigado, bien a instancia de parte, bien de oficio, entre otros los siguientes casos que en su día han tenido gran relevancia social: Operación RONNIE, que permitió esclarecer el mayor ataque documentado de Denegación de Servicios Distribuidos (DDoS) a distintos servidores de Internet, que afectó a más del 30% de los internautas españoles y a varios de los proveedores de Internet más importantes de España. Operación PUNTO DE ENCUENTRO, mediante la cual y en colaboración con policías de diecinueve países se logró la completa desarticulación de una red internacional dedicada a la distribución de pornografía infantil a través de Internet.

Operación POLICARBONATO, dirigida hacia la identificación de todos los escalones que componen el mercado pirata de CD´s de música, desde la fabricación de los CD´s destinados a las copias ilegales, las copias masivas llevadas a cabo en domicilios o empresas y la venta directa en mercados y calles. Cabe destacar, la presentación de dichas denuncias ante el Cuerpo Especial de Delitos Telemáticos de la Guardia Civil es gratuito y debe presentarse en soporte papel, aunque se facilita un modelo de denuncia a través de su Portal.

ACTIVIDADES CULTURALES

DANZA Regional

B

“Bailar es Hacer Poesía…....Con los Pies” Si te interesa formar parte del grupo representativo de Folklore del TESE para próximas giras nacionales e internacionales e integrar los cuadros de diferentes Estados…

I

¡¡¡INSCRIBETE!!! Profra: Ma. de Jesús Cristina Carmona

T

Clases lunes y miércoles de 9:00 a 16:00 hrs. y viernes de 9:00 a 15:00 horas. Aulas de Actividades Culturales

E

Cortesía: Sección ¿DE A COMO Y DONDE?

1010101101010101001

15


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

H

ola amigos lectores, de nueva cuenta les traemos en esta nueva edición de nuestra revista un código más. Esperamos que el anterior haya sido de gran ayuda, pero también esperamos que se hayan divertido demasiado con el. En esta edición les presentaremos la manera de cómo hacer un calendario con recordatorio, algo así como los que traen los celulares, para que no se olviden de las fechas importantes que tienen. De igual forma, este código lo realizamos en lenguaje Java para aquellos que les gusta la programación en este lenguaje. Bueno pues dejémonos de cuentos y aquí les entrego este código, esperando sea de ayuda para ustedes. Recuerden que recibimos todos sus comentarios al la dirección de correo electrónico de nuestra revista: revistapocketbite@hotmail.com import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; import java.util.*; import java.util.Date; import java.util.GregorianCalendar; import java.util.zip.*; import java.io.*; public class calendario extends JFrame implements ActionListener {

16

private JLabel etiqueta, horaL, lugarL, actividadL; private JTextField mes, fecha, horaT, lugarT; private JButton anterior, siguiente, ir, recordatorio, guardar, cancelar; private DefaultTableModel tabla; private JTable table; private JFrame marco; private JTextArea actividadT; String dias[] = {"Lunes","Martes","Miércoles","Ju eves","Viernes","Sábado","Domingo "}; String di[] = {"Lun","Mar","Mie","Jue","Vie","Sa b","Dom"}; String meses[] = {"ENERO","FEBRERO","MARZO"," ABRIL","MAYO","JUNIO","JULI O","AGOSTO","SEPTIEMBRE","O CTUBRE","NOVIEMBRE","DICIEM BRE"}; String meses2[] = {"Ene","Feb","Mar","Abr","May","J un","Jul","Ago","Set","Oct","Nov", "Dic"}; String datoSeleccionado = ""; int months[] = {31,28,31,30,31,30,31,31,30,31,30, 31}; // Cantidad maxima de los dias de cada mes int anoActual = 0; int mesActual = 0; int diaActual = 0; int anoTemporal = 0; int mesTemporal = 0; int columnaSeleccionada = 0; int filaSeleccionada = 0;

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

int cantidadArchivos = 1; int buffer = 2048; public static void main(String args []) { calendario cal = new calendario(); cal.addWindowListener(new WindowAdapter() { public void windowClosing (WindowEvent e) { System.exit(0); }// windowClosing }// WindowAdapter );//WindowListener }// main public calendario() { super("Calendario"); Container c = getContentPane(); c.setLayout(new FlowLayout()); etiqueta = new JLabel("Hora del Sistema: "+establecerHora()); mes = new JTextField(10); mes.setEditable(false); fecha = new JTextField (10); fecha.setEditable(false); anterior = new JButton("<< Anterior"); anterior.addActionListener (this); anterior.setMnemonic('A'); anterior.setToolTipText("Mostrar el mes anterior"); siguiente = new JButton ("Siguiente >>"); siguiente.addActionListener(this); siguiente.setMnemonic ('S'); siguiente.setToolTipText ("Mostrar el mes siguiente"); ir = new JButton("Ir a...");

ir.addActionListener(this); ir.setMnemonic('I'); ir.setToolTipText("Escoger un mes o ver el mes actual"); recordatorio = new JButton("Recordatorio"); recordatorio.addActionListener(this); recordatorio.setMnemonic ('R'); recordatorio.setToolTipText ("Crear o ver un recordatorio"); tabla = new DefaultTableModel(); for(int i = 0; i < dias.length; i++) tabla.addColumn(dias[i]); for(int i = 0; i < 6; i++) { String rows[] = new String [7]; tabla.addRow(rows); }// for table = new JTable(tabla); table.setPreferredScrollableViewpor tSize(new Dimension(500, 96)); table.setSelectionMode(0); JPanel p1 = new JPanel(new GridLayout(1,1)); p1.add(new JLabel("Mes Mostrado:")); p1.add(mes); JPanel p2 = new JPanel(new GridLayout(1,1)); p2.add(new JLabel("Fecha Actual:")); p2.add(fecha); JPanel p3 = new JPanel(new BorderLayout()); p3.add(p2, BorderLayout.EAST); p3.add(p1, BorderLayout.WEST); JPanel p4 = new JPanel(new GridLayout(1,4,3,3));

1010101101010101001

17

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

p4.add(anterior); p4.add(ir); p4.add(recordatorio); p4.add(siguiente); JPanel p5 = new JPanel(new BorderLayout(3,3)); p5.add(etiqueta, BorderLayout.WEST); JPanel p6 = new JPanel(new BorderLayout(10,10)); p6.add(p3, BorderLayout.NORTH); p6.add(new JScrollPane (table), BorderLayout.CENTER); p6.add(p4, BorderLayout.SOUTH); JPanel p7 = new JPanel(new BorderLayout(5,5)); p7.add(p6, BorderLayout.NORTH); p7.add(p5, BorderLayout.SOUTH); JPanel p8 = new JPanel(new FlowLayout(FlowLayout.CENTER)); p8.add(p7); c.add(p8); establecerFechaActual(); mostrarEnTabla(anoActual, mesActual); setSize(550,260); show(); }// public calendario static { // Obtiene la apariencia de la interfaz del sistema y la muestra en el programa try { UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClass Name()); }// look and feel catch (Exception e) {} }// catch public void actionPerformed

18

(ActionEvent e) { if(e.getSource() == anterior) mesAnterior(); if(e.getSource() == siguiente) mesSiguiente(); if(e.getSource() == ir) irA(); if(e.getSource() == recordatorio) opcionRecordatorio(); if(e.getSource() == cancelar) { marco.hide(); marco.dispose(); }// if if(e.getSource() == guardar) guardarRecordatorio(); }// actionPerformed public String establecerHora() { // Obtiene la hora del sistema Date horas = new Date(); Date minutos = new Date(); Date segundos = new Date (); String h = String.valueOf (horas.getHours()); String m = String.valueOf (minutos.getMinutes()); String s = String.valueOf (segundos.getSeconds()); tring hora = laHora(h) + ":" + m + ":" + s + " " + meridiano(h); return(hora); }// establecerHora public String laHora(String ho) { // Convierte la hora militar int a = Integer.parseInt (ho); String horas[] = {"1","2","3","4","5","6","7","8","9"," 10","11"};

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S String retorno = ""; if(a == 0) retorno = "12"; else if(a >= 13 && a <= 23) retorno = horas[a-13];

P O C K E T

else retorno = ho; return(retorno); }// hora public String meridiano(String ho) { // Establece si la hora es pm o am int b = Integer.parseInt (ho); String retorno = ""; if(b >= 12 && b <= 23) retorno = "pm"; else retorno = "am"; return(retorno); }// meridiano public void establecerFechaActual() { // Obtiene del sistema la fecha actual String fechaTotal = String.valueOf(new Date()); mes.setText(meses[month (fechaTotal.substring(4,7))] + " " + fechaTotal.substring (fechaTotal.length() - 4, fechaTotal.length())); fecha.setText(di[day (fechaTotal.substring(0,3))] + ", " + fechaTotal.substring(8,10) + " " + meses2[month (fechaTotal.substring(4,7))] + " " + fechaTotal.substring (fechaTotal.length() - 4, fechaTotal.length())); anoActual = Integer.parseInt(fechaTotal.substring (fechaTotal.length() - 4, fechaTotal.length())); mesActual = month

(fechaTotal.substring(4,7)); diaActual = Integer.parseInt (fechaTotal.substring(8,10)); anoTemporal = anoActual; mesTemporal = mesActual; }// establecer public int month(String m) { // Retorna un numero entre 0 y 11 que corresponde al mes int mo = 0; if(m.equals("Ene") || m.equals ("Jan")) mo = 0; else if(m.equals("Feb")) mo = 1; else if(m.equals("Mar")) mo = 2; else if(m.equals("Abr") || m.equals ("Apr")) mo = 3; else if(m.equals("May")) mo = 4; else if(m.equals("Jun")) mo = 5; else if(m.equals("Jul")) mo = 6; else if(m.equals("Ago") || m.equals ("Aug")) mo = 7; else if(m.equals("Sep") || m.equals ("Set")) mo = 8; else if(m.equals("Oct")) mo = 9; else if(m.equals("Nov")) mo = 10; else mo = 11; return(mo); }// month public int day(String m) { // Retorna un numero entre 0 y 6 que corresponde a los dias de la semana int mo = 0; if(m.equals("Lun") || m.equals ("Mon")) mo = 0; else if(m.equals("Mar") || m.equals ("Tue")) mo = 1; else if(m.equals("Mie") || m.equals ("Wed")) mo = 2; else if(m.equals("Jue") || m.equals ("Thu")) mo = 3; else if(m.equals("Vie") || m.equals ("Fri")) mo = 4;

1010101101010101001

19

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

else if(m.equals("Sab") || m.equals ("Sat")) mo = 5; else if(m.equals("Dom") || m.equals ("Sun")) mo = 6; return(mo); }// day public boolean bisiesto(int a) { // Retorna true si el año es bisiesto, de lo contrario retorna false boolean retorno = false; if(a % 4 == 0 || a % 100 == 0 || a % 400 == 0) retorno = true; return(retorno); }//bisiesto public void mostrarEnTabla(int ac, int ma) { // Muestra en la tabla los días del mes seleccionado int columna = primerDia (ac, ma); int fila = 0; mes.setText(meses [ma] + " " + ac); if(bisiesto(ac)) months[1] = 29; else months[1] = 28; for(int i = 1; i <= months[ma]; i++) { if(chequearMarca(ac,ma,i)) { if(ac == anoActual && ma == mesActual && i == diaActual) table.setValueAt("<< "+marca (ac,ma,i)+" >>",fila,columna); else table.setValueAt(marca (ac,ma,i),fila,columna); }// if else { if(ac == anoActual && ma == mesActual && i == diaActual) table.setValueAt("<< "+String.valueOf(i)+" >>",fila,columna);

20

else table.setValueAt(String.valueOf (i),fila,columna); }// else if(columna == 6) { columna = 0; fila++; }// if else columna++; }// for }// mostrarEnTabla public int primerDia(int a, int m) { // Retorna un numero entre 0 y 6 que corresponde al primer dia del mes String d = String.valueOf ((new GregorianCalendar (a,m,1)).getTime()); return(day(d.substring (0,3))); }//recorrido public void mesAnterior() { // Muestra en la tabla el mes anterior al mostrado limpiarTabla(); if(mesTemporal == 0) { mesTemporal = 11; anoTemporal--; }// if else mesTemporal--; mostrarEnTabla(anoTemporal, mesTemporal); }//mesAnterior public void limpiarTabla() { // Limpia los datos de la tabla for(int i = 0; i < 6; i++) { for(int j = 0; j < 7; j++) { table.setValueAt("",i,j); }// for }// for }//limpiar tabla public void mesSiguiente () { // Muestra en la tabla el si-

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

guiente mes limpiarTabla(); if(mesTemporal == 11) { mesTemporal = 0; anoTemporal++; }// if else mesTemporal++; mostrarEnTabla(anoTemporal, mesTemporal); }// mesSiguiente public void irA() { // Muestra la interfaz para la opcion "Ir a..." JLabel seleccion = new JLabel ("Seleccione una opción: "); JRadioButton escoger = new JRadioButton("Escoger un mes", true); JRadioButton actual = new JRadioButton("Volver a la fecha actual"); ButtonGroup mx = new ButtonGroup(); mx.add(escoger); mx.add(actual); JPanel i1 = new JPanel(new GridLayout(3,1,3,3)); i1.add(seleccion); i1.add (escoger); i1.add(actual); JOptionPane.showMessageDialog (null,i1,"Ir a...",JOptionPane.QUESTION_ME SSAGE); if(escoger.isSelected()) escogerMes(); else fechaActual(); }//irA public void fechaActual() { // Muestra en la tabla el mes actual anoTemporal = anoActual; mesTemporal = mesActual; limpiarTabla(); mostrarEnTabla(anoActual,

mesActual); }// fechaActual public void escogerMes() { // Establece la interfaz y muestra en la tabla el mes seleccionado por el usuario try { JLabel titulo1 = new JLabel ("Digite el año y escoja el mes"); JLabel titulo2 = new JLabel("al cual desea ir"); JTextField aa = new JTextField (5); JComboBox me = new JComboBox (); me.setMaximumRowCount (5); for(int i = 0; i < meses.length; i++) me.addItem(meses[i]); JPanel e1 = new JPanel(new GridLayout(2,1)); e1.add(titulo1); e1.add(titulo2); JPanel e2 = new JPanel(new GridLayout(2,1,3,3)); e2.add(new JLabel("Año: ")); e2.add(aa); e2.add(new JLabel("Mes: ")); e2.add(me); JPanel e3 = new JPanel(new BorderLayout(3,3)); e3.add(e1, BorderLayout.NORTH); e3.add(e2, BorderLayout.SOUTH); JOptionPane.showMessageDialog (null,e3,"Selección",JOptionPane.Q UESTION_MESSAGE); int a = Integer.parseInt (aa.getText()); int m =

1010101101010101001

21

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

me.getSelectedIndex(); if(a > 0) { anoTemporal = a; mesTemporal = m; limpiarTabla(); mostrarEnTabla(a,m); }// if else JOptionPane.showMessageDialog (null, "Debe digitar numeros enteros positivos en el espacio para el año","Error", JOptionPane.ERROR_MESSAGE); }// try catch(Exception e) { JOptionPane.showMessageDialog (null, "Debe digitar números enteros positivos en el espacio para el año","Error", JOptionPane.ERROR_MESSAGE); }// catch }// escogerMes public String obtenerDato (int fila, int columna) { // Obtiene el dato de una celda de la tabla String dato = ""; dato = String.valueOf (table.getValueAt(fila,columna)); return(dato); }// obtenerDato public void opcionRecordatorio() { // Muestra la interfaz para la opcion "Recordatorio" columnaSeleccionada = table.getSelectedColumn(); filaSeleccionada = table.getSelectedRow(); if(columnaSeleccionada != -1 && filaSeleccionada != -1) { datoSeleccionado = obtenerDato(filaSeleccionada, columnaSeleccionada);

22

if (datoSeleccionado.equals("null") || datoSeleccionado.equals("")) JOptionPane.showMessageDialog (null, "Debe seleccionar una celda que no esté vacía","Error", JOptionPane.WARNING_MESSAGE); else { JLabel pregunta = new JLabel ("¿Qué desea hacer?"); JRadioButton crear = new JRadioButton("Crear un Recordatorio",true); JRadioButton ver = new JRadioButton("Ver un Recordatorio"); ButtonGroup cv = new ButtonGroup (); cv.add(crear); cv.add(ver); JPanel o1 = new JPanel(new GridLayout(3,1,3,3)); o1.add(pregunta); o1.add(crear); o1.add(ver); OptionPane.showMessageDialog (null,o1,"Selección",JOptionPane.Q UESTION_MESSAGE); if(crear.isSelected()) crearRecordatorioInterfaz(); else verRecordatorio(); }// else }// if else JOptionPane.showMessageDialog (null,"Primero debe seleccionar una celda de la cuadricula", "Error",JOptionPane.WAR NING_MESSAGE); }// opcionRecordatorio public boolean fechaValida(int a1,

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

int a2, int m1, int m2, int d1, int d2) { // Retorna true si la fecha 2 es mayor o igual a la fecha 1 boolean retorno = false; if(a2 > a1) retorno = true; else if(a2 == a1) { if(m2 > m1) retorno = true; else if(m2 == m1) { if(d2 >= d1) retorno = true; }// else if }// else if return(retorno); }// fechaValida public void crearRecordatorioInterfaz() { // Muestra la interfaz para la opcion "Crear un recordatorio" int diaTemporal = Integer.parseInt (identificarDato (datoSeleccionado)); if(fechaValida (anoActual,anoTemporal,mesActual,mesT emporal,diaActual,diaTemporal)) { marco = new JFrame ("Crear un Recordatorio"); marco.addWindowListener( new WindowAdapter() { public void windowClosing (WindowEvent e) { marco.hide(); marco.dispose(); }// windowClosing }// WindowAdapter );//WindowListener horaL = new JLabel ("Hora:"); lugarL = new JLabel ("Lugar:");

actividadL = new JLabel ("Actividad:"); horaT = new JTextField (5); lugarT = new JTextField (10); actividadT = new JTextArea (10,35); guardar = new JButton ("Guardar"); guardar.addActionListener (this); guardar.setMnemonic('G'); guardar.setToolTipText("Guardar el recordatorio"); cancelar = new JButton ("Cancelar"); cancelar.addActionListener (this); cancelar.setMnemonic('C'); cancelar.setToolTipText ("Cierra la ventana"); JPanel c1 = new JPanel(new GridLayout(2,1)); c1.add(horaL); c1.add(horaT); JPanel c2 = new JPanel(new GridLayout(2,1)); c2.add(lugarL); c2.add(lugarT); JPanel c3 = new JPanel(new BorderLayout(1,1)); c3.add(actividadL, BorderLayout.NORTH); c3.add(new JScrollPane (actividadT), BorderLayout.SOUTH); JPanel c4 = new JPanel(new BorderLayout(5,5)); c4.add(c1, BorderLayout.NORTH); c4.add(c2, BorderLayout.CENTER); c4.add(c3, BorderLay-

1010101101010101001

23

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

out.SOUTH); JPanel c5 = new JPanel(new GridLayout(1,2,3,3)); c5.add (guardar); c5.add(cancelar); JPanel c6 = new JPanel(new BorderLayout(5,5)); c6.add(c4, BorderLayout.NORTH); c6.add(c5, BorderLayout.SOUTH); JPanel c7 = new JPanel(new FlowLayout(FlowLayout.CENTER)); c7.add(c6); marco.getContentPane().add(c7); marco.setSize(300,375); marco.show(); }// if else JOptionPane.showMessageDialog (null,"Solo se permite crear un recordatorio\n"+ "con una fecha igual o superior a la fecha actual","Error", JOptionPane.ERROR_MESSAGE); }// crearRecordatorioInterfaz public boolean espaciosLlenos() { // Retorna false si alguno de los espacios de Hora, Lugar y Actividad estan vacios boolean retorno = false; if(!horaT.getText().equals("") && ! lugarT.getText().equals("") && ! actividadT.getText().equals("")) retorno = true; return(retorno); }// espaciosLlenos public String identificarDato (String d) { // Retorna el numero de dia de una celda de la tabla char dt[] = d.toCharArray (); String retorno = ""; boolean hay = true; for(int i = 0; i < dt.length;

24

i++) { if(String.valueOf(dt [i]).equals("<") || String.valueOf(dt [i]).equals(">") || String.valueOf(dt [i]).equals("*") || String.valueOf (dt[i]).equals("#") || String.valueOf(dt[i]).equals("&") || String.valueOf(dt[i]).equals(" ")) hay = false; else hay = true; if(hay) retorno += String.valueOf (dt[i]); }// for return(retorno); }// datoSeleccionado public void guardarRecordatorio() { // Guarda en archivo lo que se escribio en los espacios de Hora, Lugar y Actividad try { if(espaciosLlenos()) { guardarCantidad(); String dat = ""; String filenametxt = String.valueOf ("recordatorio"+cantidadArchivos+".txt"); String filenamezip = String.valueOf ("recordatorio"+cantidadArchivos+".zip"); cantidadArchivos++; dat += identificarDato (datoSeleccionado) + "\n"; dat += String.valueOf (mesTemporal) + "\n"; dat += String.valueOf (anoTemporal) + "\n"; dat += horaT.getText() + "\n"; dat += lugarT.getText() + "\n"; dat += actividadT.getText () + "\n";

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

File archivo = new File (filenametxt); FileWriter fw = new FileWriter (archivo); BufferedWriter bw = new BufferedWriter(fw); PrintWriter salida = new PrintWriter(bw); salida.print(dat); salida.close(); BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream(filenamezip); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); byte data[] = new byte [buffer]; File f = new File (filenametxt); FileInputStream fi = new FileInputStream(f); origin = new BufferedInputStream(fi, buffer); ZipEntry entry = new ZipEntry(filenametxt); out.putNextEntry(entry); int count; while((count = origin.read (data,0,buffer)) != -1) out.write(data,0,count); out.close(); JOptionPane.showMessageDialog (null,"El recordatorio ha sido guardado con exito", "Recordatorio Guardado",JOptionPane.INFORMATION _MESSAGE); marco.hide(); marco.dispose(); establecerMarca(); table.clearSelection(); }// if

else JOptionPane.showMessageDialog (null, "Debe llenar los espacios de Hora, Lugar y Actividad","Error",JOptionPane.ERROR_ MESSAGE); }// try catch(Exception e) { JOptionPane.showMessageDialog (null,"Error en: "+e.toString (),"Error",JOptionPane.ERROR_MESSA GE); }// catch }// guardarRecordatorio public void establecerMarca() { // Establece la marca para el dia en que se acaba de crear un recordatorio mostrarEnTabla (anoTemporal, mesTemporal); }// establecerMarca public void guardarCantidad() { // Guarda en un archivo la cantidad de archivos con recordatorios que han sido generados try { String can = String.valueOf(cantidadArchivos); File archivo = new File ("cantidadArchivos.txt"); FileWriter fw = new FileWriter(archivo); BufferedWriter bw = new BufferedWriter(fw); PrintWriter salida = new PrintWriter(bw); salida.print(can); salida.close(); BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream

1010101101010101001

25

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

("cantidadArchivos.zip"); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); byte data[] = new byte [buffer]; File f = new File ("cantidadArchivos.txt"); FileInputStream fi = new FileInputStream(f); origin = new BufferedInputStream(fi, buffer); ZipEntry entry = new ZipEntry ("cantidadArchivos.txt"); out.putNextEntry(entry); int count; while((count = origin.read (data,0,buffer)) != -1) out.write (data,0,count); out.close(); }// try catch(Exception e) { JOptionPane.showMessageDialog (null,"Error en: "+e.toString (),"Error", JOptionPane.ERROR_MESSAGE); }// catch }// guardarCantidad public void verRecordatorio() { // Lee desde los archivos con recordatorios y extrae su informacion try { cantidadArchivos = obtenerCantidad() + 1; boolean existe = false; String filenametxt = ""; String filenamezip = ""; String hora = ""; String lugar = ""; String actividad = ""; String linea = "";

26

int dia = 0; int mes = 0; int ano = 0; for(int i = 1; i < cantidadArchivos; i++) { filenamezip = "recordatorio"+i+".zip"; filenametxt = "recordatorio"+i+".txt"; BufferedOutputStream dest = null; BufferedInputStream is = null; ZipEntry entry; ZipFile zipfile = new ZipFile (filenamezip); Enumeration e = zipfile.entries(); while (e.hasMoreElements()) { entry = (ZipEntry) e.nextElement (); is = new BufferedInputStream(zipfile.getInputStream (entry)); int count; byte data[] = new byte [buffer]; FileOutputStream fos = new FileOutputStream (entry.getName()); dest = new BufferedOutputStream(fos, buffer); while((count = is.read (data,0,buffer)) != -1) dest.write(data,0,count); dest.flush(); dest.close(); is.close(); }// while DataInputStream input = new DataInputStream(new FileInputStream(filenametxt)); dia = Integer.parseInt (input.readLine());

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

mes = Integer.parseInt (input.readLine()); ano = Integer.parseInt (input.readLine()); if(dia == Integer.parseInt (identificarDato (datoSeleccionado))) { existe = true; hora = input.readLine(); lugar = input.readLine(); while((linea = input.readLine()) != null) actividad += linea + "\n"; verRecordatorioInterfaz (hora,lugar,actividad); hora = ""; lugar = ""; actividad = ""; }// if input.close(); }// for if(!existe) JOptionPane.showMessageDialog (null,"No existe un recordatorio guardado\n"+"para el "+identificarDato (datoSeleccionado)+" de "+meses [mesTemporal].toLowerCase()+" del año "+anoTemporal,"No existe",JOptionPane.INFORMATION_ MESSAGE); table.clearSelection(); }// try catch(Exception e) { JOptionPane.showMessageDialog (null,"Error en: "+e.toString (),"Error",JOptionPane.ERROR_MESSA GE); }// catch }// verRecordatorio public void verRecordatorioInterfaz(String h, String l, String a) { // Muestra la interfaz para la opcion "Ver un recordato-

rio" marco = new JFrame("Ver un Recordatorio"); marco.addWindowListener( new WindowAdapter() { public void windowClosing (WindowEvent e) { marco.hide(); marco.dispose(); }// windowClosing }// WindowAdapter );//WindowListener horaL = new JLabel ("Hora:"); lugarL = new JLabel ("Lugar:"); actividadL = new JLabel ("Actividad:"); horaT = new JTextField (5); horaT.setEditable(false); lugarT = new JTextField (10); lugarT.setEditable(false); actividadT = new JTextArea(10,35); actividadT.setEditable (false); JPanel c1 = new JPanel(new GridLayout(2,1)); c1.add(horaL); c1.add(horaT); JPanel c2 = new JPanel(new GridLayout(2,1)); c2.add(lugarL); c2.add(lugarT); JPanel c3 = new JPanel(new BorderLayout(1,1)); c3.add(actividadL, BorderLayout.NORTH); c3.add(new JScrollPane (actividadT), BorderLayout.SOUTH);

1010101101010101001

27

B I T E


1010110101010

CALENDARIO EN JAVA

CĂ“DIGO S.O.S P O C K E T

JPanel c4 = new JPanel(new BorderLayout(5,5)); c4.add(c1, BorderLayout.NORTH); c4.add(c2, BorderLayout.CENTER); c4.add(c3, BorderLayout.SOUTH); JPanel c5 = new JPanel(new FlowLayout(FlowLayout.CENTER)); c5.add(c4); marco.getContentPane ().add(c5); horaT.setText(h); lugarT.setText(l); actividadT.setText(a); marco.setSize(300,350); marco.show(); }// verRecordatorioInterfaz public int obtenerCantidad() { // Lee desde el archivo cantidadArchivos.zip la cantidad de archivos que han sido generados try { BufferedOutputStream dest = null; BufferedInputStream is = null; ZipEntry entry; ZipFile zipfile = new ZipFile("cantidadArchivos.zip"); Enumeration e = zipfile.entries(); while(e.hasMoreElements()) { entry = (ZipEntry) e.nextElement(); is = new BufferedInputStream (zipfile.getInputStream(entry)); int count; byte data[] = new byte [buffer]; FileOutputStream fos = new FileOutputStream(entry.getName

28

()); dest = new BufferedOutputStream(fos, buffer); while((count = is.read (data,0,buffer)) != -1) dest.write(data,0,count); dest.flush(); dest.close(); is.close(); }// while DataInputStream input = new DataInputStream(new FileInputStream ("cantidadArchivos.txt")); int a = Integer.parseInt (input.readLine()); input.close(); return(a); }// try catch(Exception e) { return(0); }// catch }// obtenerCantidad public boolean chequearMarca(int a, int m, int d) { // Retorna true si el dia a mostrar en la tabla tiene un recordatorio boolean existe = false; try { cantidadArchivos = obtenerCantidad() + 1; String filenametxt = ""; String filenamezip = ""; int dia = 0; int mes = 0; int ano = 0; for(int i = 1; i < cantidadArchivos; i++) { filenamezip = "recordatorio"+i+".zip"; filenametxt = "recordatorio"+i+".txt"; BufferedOutputStream dest = null; BufferedInputStream is = null;

1010101101010101001

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P O C K E T

ZipEntry entry; ZipFile zipfile = new ZipFile(filenamezip); Enumeration e = zipfile.entries(); while(e.hasMoreElements ()) { entry = (ZipEntry) e.nextElement (); is = new BufferedInputStream (zipfile.getInputStream(entry)); int count; byte data[] = new byte [buffer]; FileOutputStream fos = new FileOutputStream(entry.getName ()); dest = new BufferedOutputStream(fos, buffer); while((count = is.read (data,0,buffer)) != -1) dest.write(data,0,count); dest.flush(); dest.close(); is.close(); }// while DataInputStream input = new DataInputStream(new FileInputStream(filenametxt)); dia = Integer.parseInt (input.readLine()); mes = Integer.parseInt (input.readLine()); ano = Integer.parseInt (input.readLine()); if(ano == a && mes == m && dia == d) existe = true; input.close(); }// for }// try catch(Exception e) { JOptionPane.showMessageDialog

(null,"Error en: "+e.toString (),"Error",JOptionPane.ERROR_MESSA GE); }// catch return(existe); }// chequearMarca public String marca(int a, int m, int d) { // Retorna las marcas para cualquier dia que tenga un recordatorio String retorno = ""; if(a < anoActual) retorno = String.valueOf(d)+" &"; else if(a > anoActual) retorno = String.valueOf(d)+" #"; else { if(m < mesActual) retorno = String.valueOf(d)+" &"; else if(m > mesActual) retorno = String.valueOf(d)+" #"; else { if(d < diaActual) retorno = String.valueOf(d)+" &"; else if(d > diaActual) retorno = String.valueOf(d)+" #"; else retorno = String.valueOf(d)+" *"; }// else }// else return(retorno); }// marca }// class calendario

* A continuación les presento la manera en que queda nuestro programa calendario – recordatorio. Nuestra primer pantalla nos muestra lo que seria nuestro calendario, en el nos indica el mes, la fecha actual, nuestra hora. Y como botones nos

1010101101010101001

29

B I T E


1010110101010

CALENDARIO EN JAVA

CÓDIGO S.O.S P

muestra <<Anterior, Ir a…, Recordatorio, Siguiente>>

mostrara a siguiente informa-

O C K E T

Pantalla 1.1

En la segunda pantalla nos muestra la pantalla desplegada de lo que es botón Ir a…, aquí nos preguntara lo que deseamos hacer, y nos mostrara las siguientes opciones:

ción: Pantalla 1.4

En nuestra última pantalla nos aparecerá lo que es la creación de nuestro recordatorio, indic an do l a hora lugar y actividad a realizar. ■

Pantalla 1.2

En la tercer pantalla, después de haber seleccionado la opción de Mes, nos mostrara la siguiente pantalla, en la cual nos pedirá el año y el mes en el que deseamos almacenar el recordatorio:

ACTIVIDADES CULTURALES Latina "Danza Moderna", “Aprende a bailar”

B

Clases de salsa, merengue, reggaeton, banda y duranguense. Ven y diviértete mientras aprendes!!!

I

Lunes y viernes 13:00 a 16:00 hrs. Y miércoles 13:00 a 15:00 hrs.

Pantalla 1.3

Después de haber escogido año y mes en el que queremos almacenar el recordatorio, nos

30

Departamento de Actividades Culturales, ubicado en la planta alta del Gimnasio Auditorio. Cortesía: Sección ¿DE A COMO Y DONDE?

1010101101010101001

T E


1010110101010

CERTIFICACIONES

ECHALE UN OJO P O C K E T

H

ola en esta edición les venimos presentando las certificaciones que existen dentro de nuestra área. De esta forma ustedes podrán checar el tiempo, el lugar y el costo de cada certificación, también podrán darse una idea de cuanto viene ganando una persona teniendo un papelito de estos. Así que échenle un ojo y ya ustedes decidirán si quieren ganar una buena lana en un futuro.

Sun Certified Java Programmer 1.5 El programa consta de: ♦ Un curso de 35 horas. Introducción al lenguaje de programación Java. El objetivo de este curso es crear aplicaciones Java simples. Controlar el flujo de un programa, explorar la librería de clases de java y programar con objetos. Manejar excepciones y crear threads para el manejo de concurrencia. Uso de colecciones en java y la librería swing. ♦ Un curso de 21 horas. Programación Avanzada con Java.

Usar reflection para examinar objetos en tiempo de ejecución. Manejo de errores y como escribir manejadores de error. Crear y manipular arreglos y colecciones. Leer y escribir hacia archivos usando java.io. Serializar objetos usando serialización. ♦ Un Taller de certificación de 8 horas como preparación al examen. Responder a un pool de preguntas muy similares a las que se pueden encontrar en un examen de certificación. Asesoria por parte del instructor. ♦ Un taller de implementación de 16 horas. Realizar una aplicación en java totalmente funcional. La aplicación realizará consultas y mostrará información en pantalla, y accederá una base de datos. Esta certificación la podemos encontrar en el Centro de Aplicaciones Totales en Línea. Atl, que esta ubicado en: Detrioit No. 9 Piso 6 Oficina 601 Col. Nochebuena, Delegación Benito Juárez México (México) El curso tiene una duración de 80 horas, el titulo que se obtiene es de Sun Certified Java Programmer y es entregado por Sun. El precio es de $12,000

1010101101010101001

B I T E

31


1010110101010

CERTIFICACIONES

ECHALE UN OJO P O C K E

Los requisitos necesarios para esta certificación es tener los conocimientos básicos de la programación orientada a objetos. El periodo de prácticas es de 16 horas, este curso te prepara para acreditar el examen de certificación y dicho examen esta incluido en el precio.

T

Sun Certified Java Developer Este curso esta dirigido para: 1. Expertos en arquitectura de sistemas. 2. Ingenieros de software y desarrolladores encargados de concebir y generar aplicaciones en lenguajes orientados a objetos. 3. Profesionales de Informática interesados en utilizar los métodos de análisis y diseño orientado a objetos para aumentar la productividad y reducir los periodos de desarrollo. Requisitos: 1. Comprender los conceptos y la metodología de la POO. 2. Poseer y manejar con soltura la terminología de programación, preferiblemente del lenguaje Java. 3. Comprender el desarrollo de

32

aplicaciones. 4. Conocer los principios básicos del proceso y el entorno de desarrollo de sistemas. Este curso lo esta impartiendo el Centro Netec S.A. que esta ubicado en: Calle Montecito No. 38 Piso 9 Del WTC México, D.F 03810 (México) Tiene una duración de 80 horas. Te prepara para: Utilizar la metodología de la programación orientada a objetos (OO) para efectuar el análisis y el diseño de aplicaciones utilizando el lenguaje UML (Unified Modelling Language). Tiene un precio de $3,995 Formas de Pago: ♦ Contado $21.893 más IVA, incluye 10% descuento. ♦ Inscripción y 6 mensualidades de $3.475 más IVA. ♦ 12 meses sin intereses con tarjeta de crédito.

B

Fundamentals Of The Java Programming Language Sun Certified Programmer El curso esta dirigido a toda persona interesada en el aprendizaje de un lenguaje de programación.

1010101101010101001

I T E


1010110101010

CERTIFICACIONES

ECHALE UN OJO P O C K E T

Requisitos ∗ Ejecutar tareas básicas como manejar el mouse. ∗ Ejecutar comandos por medio de líneas de comandos. Los programadores principiantes encontrarán que este curso es una excelente elección para aprender a programar utilizando el lenguaje de programación Java. El curso ayuda al asistente a comprender el significado del lenguaje Java y a desarrollar conocimientos en el área de orientación a objetos y programación Java. Al finalizar el curso, los asistentes serán capaces de programar applets sencillos de Java, de leer y modificar el código fuente en Java. Tiene una duración de 80 horas. El precio de este curso es de $14,520 y no incluye IVA. Este curso lo esta impartiendo el Centro Netec S.A. que esta ubicado en: Calle Montecito No. 38 Piso 9 Del WTC México, D.F 03810 (México)

Teniendo la certificación de MySQL nos garantiza que nosotros como desarrolladores tenemos la capacidad para almacenar datos de manera

confiable y que se pueda acceder de una forma rápida cuando se necesite.

Bootcamp CCNA El participante reforzará los conocimientos y habilidades necesarias para obtener la certificación, asistido por un tutor especialista. Contenido: I. Metodología del examen II. Simulaciones del examen de certificación III. Temas Selectos a) Direccionamiento IP • Clases • Subredes b) Switches c) Listas de Control de Acceso d) Protocolos de ruteo e) Servicios WAN • Material Cisco • Cisco Press • Laboratorios KnowledgeNet • Simulador de examen de certificación Selftest • Examen de certificación Requisitos: El participante deberá tener conocimientos en:

• Operación y configuración •

de Dispositivos con el IOS de Cisco Administración del entorno

1010101101010101001

33

B I T E


1010110101010

CERTIFICACIONES

ECHALE UN OJO de Red

P O C

• Configuración de Switches Catalyst

• Configuración de redes conmutadas con VLANS

• Determinación de rutas IP • Administración de tráfico

K E T

• • •

IP con listas de control de acceso. Configuración de conexiones seriales punto a punto Configuración de conexiones con Frame Relay Implementación de ISDN sobre interfaces BRI y PRI

El precio de este curso esta en dólares y tiene un costo de $995.00 Dlls. o en pesos mexicanos tiene un costo de $10,764.66 Este curso lo podemos tomar en el centro Netec S.A. que esta ubicado en: Calle Montecito No. 38 Piso 9 Del WTC México, D.F 03810 (México) Las fechas disponibles son: el 14 de Enero del 2008 y el 10 de Marzo del 2008.

Interconnecting Cisco Network Devices I

gurar un conmutador, un enrutador y conectar a una WAN e implementar la seguridad de la red. El Participante debe poder completar la configuración e implementación de una pequeña red de oficina sucursal con supervisión. Requisitos: Ninguno Temario: Módulo 1 – Construir una red simple Módulo 2 – Redes de ethernet de área local Módulo 3 – Redes inalámbricas de área local Módulo 4 – Explorar las funciones de enrutamiento Módulo 5 – Redes de área amplia Módulo 6 – Administración de un entorno de red El curso tiene una duración de 5 dias y es impartido en el centro Netec S.A. que esta ubicado en: Calle Montecito No. 38 Piso 9 Del WTC México, D.F 03810 (México) Las fechas disponibles para este curso son: 7 de Enero, 3 de Febrero y 4 de Marzo del 2008. El precio es de $1 995 dlls, en pesos mexicanos es de $ 21,582.80

Este curso se enfoca en proporcionar las habilidades y conocimientos necesarios para instalar, operar y localizar fallas en una red empresarial pequeña de sucursal, incluyendo confi-

34

1010101101010101001

B I T E


1010110101010

CERTIFICACIONES

ECHALE UN OJO P O C K E T

Interconnecting Cisco Network Devices II

del 2007, 21 de Enero y 18 de Febrero del 2008.

Este curso se enfoca en proporcionar las habilidades y conocimientos necesarios para instalar, operar y localizar fallas en una red empresarial de tamaño medio para una sucursal, incluyendo la configuración de conmutadores de datos y enrutadores, además de conectar la red LAN a una WAN e implementar seguridad.

El costo de este curso es de $ 1,995.00 Dlls. y en pesos mexicanos $ 21,582.50

requisitos: ICND1 Temario: Módulo 1 – Implementación de una red pequeña Módulo 2 – Construcción de una red conmutada de tamaño medio Módulo 3 – Construcción de una red enrutada de tamaño medio Módulo 4 – Implementación de OSPF en una sola área Módulo 5 – Implementación de EIGRP Módulo 6 – Listas de control de acceso Módulo 7 – Administración del espacio de direcciones IP Módulo 8 – Extender una LAN a través de una WAN El curso tiene una duración de 5 dias y es impartido en el centro Netec S.A. que esta ubicado en: Calle Montecito No. 38 Piso 9 Del WTC México, D.F 03810 (México) Las fechas disponibles para este curso son: 17 de Diciembre

Cabe destacar que teniendo una certificación en cualquiera de estas areas una persona viene ganando alrededor $45,000.00 a + Prestaciones de Ley los tres primeros meses, después seguro de vida, seguro de gastos médicos mayores y vales de despensa, laptop y black berry.■

MUSICA “Grupo versátil Tropi-TESE”, “Coro femenil TESE”, “Grupo de rock Virus”, “Grupo de rock soft e instrumental Adagio” Forma parte de eventos sociales y culturales junto con alguno de los grupos del TESE. Ven y únete a ellos para desarrollar tus habilidades musicales… Profr: Juan Manuel Romero Aguilar Lunes de 15:00 a 18:00 hrs. Martes y miércoles de 11:00 a 16:00 hrs. Jueves y viernes de 12:00 a 18:00 hrs. Aulas de Actividades Culturales . “Rondalla y/o Grupo Coral femenil o mixto” ¡Tienes ganas de formar parte de un grupo coral o rondalla! Puedes participar en este tipo de eventos creados por tu institución. Requisitos: ¡Tener muchas ganas y empeño para formar estos grupos! Y si aún no sabes tocar algún instrumento, no te preocupes, puedes asistir a tomar algún curso del instrumento de tu elección, o si lo prefieres, solo a clases de canto. Para mas informes, acude al Taller de Música en los siguientes horarios: Lunes: 15:00 a 18:00; Martes Y Miércoles: 11:00 a 16:00; y Jueves y Viernes: 12:00 a 18:00 horas. O también en el Depto. de Actividades Culturales de Lunes a Viernes de 10:00 a 18:00 horas. Cortesía: Sección ¿DE A COMO Y DONDE?

1010101101010101001

35

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

PYTHON, JAVA, PERL, SCHEME Y RUBY

V

amos a hacer una comparativa entre algunos lenguajes de programación que son muy poderosos pero debemos considerar que la diferencia mas grande entre Java, Python, Perl, Scheme, y Ruby, es que tienes que escribir menos código y esos es una gran ventaja a diferencia de java son tantas líneas q luego nos sabes ni que estas haciendo, pero para describir un poco la diferencia entre todos estos lenguajes de programación vamos conocer algunos aspectos y características de ellos:

Fue creado por Guido van Rossum en 1991. Y es un lenguaje de programación de alto nivel. También es un lenguaje de programación multiparadigma. Esto es q más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: Programación orientada a objetos, programación estructurada, programación funcional y programación orientada a aspectos. Mas Información sobre Python en:

36

http://www.python.org http://es.wikipedia.org/wiki/ Python PYTHON es usualmente comparado con Perl, Scheme, y Ruby. Actualmente, Python esta desarrollado para código abierto, administrado por la Python Software Fundación. La última versión estable del lenguaje es actualmente (Septiembre de 2006) la 2.5. Guido van Rossum, más conocido como Guido, creó Python, un lenguaje de programación de scripting. Características Multiplataforma Existen diferentes versiones de Python para varios sistemas operativos. Básicamente se desarrolló para Unix. Interpretado La interpretación quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que se realiza una compilación, pero esta se realiza de manera transparente para el programador. Cuando se ejecuta por primera vez un código, se producen unos bytecodes( código intermedio más abstracto que el código máquina ) que se guardan en el sistema y que sirven para acelerar la compilación implícita que realiza el intérprete cada vez que se ejecuta el mismo código.

1010101101010101001

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON Interactivo P O C K E T

Python tiene un intérprete por línea de comandos en el que se pueden introducir sentencias. Cada sentencia se ejecuta y produce un resultado visible, que puede ayudarnos a entender mejor el lenguaje y probar los resultados de la ejecución de porciones de código rápidamente.

Orientado a Objetos PYTHON esta orientado a objetos y ofrece demasiadas formas de crear casos manera sencilla de crear programas con componentes reutilizables.

Funciones y librerías Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de strings, números, archivos, etc. Además, existen muchas librerías que podemos importar en los programas. para tratar temas específicos como la programación de ventanas o sistemas en red o cosas tan interesantes como crear archivos comprimidos en zip.

Sintaxis clara Por último, destacar que Python tiene una sintaxis muy visual, gracias a una notación identada de obligado cumplimiento. En muchos lenguajes, para separar porciones de código, se utilizan elementos como las llaves o las palabras clave

begin y end. Para separar las porciones de código en Python se debe tabular hacia dentro, colocando un margen al código que iría dentro de una función o un bucle. Esto ayuda a que todos los programadores adopten unas mismas notaciones y que los programas de cualquier persona tengan un aspecto muy similar. Conclusión PYTHON es un lenguaje interpretado por lo cual nos facilita el desarrollo y nos ahorra demasiado tiempo. Es muy fácil de utilizar y aunque este en pleno crecimiento, pero ya es una realidad que es de los lenguajes mas poderosos que hay aunque nunca dejara de tener su pros y sus contras. Aunque cabe recalcar que algunas empresas que utilizan Python son Yahoo, Google, Walt Disney, la NASA, Red Hat, etc. Y aunque la información que se encuentra de este lenguaje esta en Inglés, poco a poco están apareciendo nuevas páginas que se encuentran en español.

Ejemplo #------------------------------------------------------------print "HOLA MUNDO EN PYTHON" #------------------------------------------------------------JAVA fue creado por Sun Microsystems A finales de los años ochenta para introducirse en el mercado de la electrónica de consumo. Java, nace como un

1010101101010101001

37

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

lenguaje ideado en sus comienzos para programar electrodomésticos. Java fue creado por una sociedad anónima denominada "the Green Project" en Sun Microsystems en el año 1991. Compuesto por trece personas y dirigido por James Gosling. La eficiencia, la portabilidad de su plataforma que aporta, la han convertido en una de las tecnologías mas usadas ideal para su aplicación a redes. Mas Informacion sobre JAVA en: http://www.java.com http:// es.sun.com

Características Orientado a objetos JAVA encapsula tanto sus datos como los que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente basados en red.

Distribuido Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.

Interpretado y compilado a la vez Java es compilado, en la medida en que su código fuente se

38

transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador. Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).

Robusto Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.

Seguro Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.

1010101101010101001

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

Indiferente a la arquitectura Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.

Portable La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).

Alto rendimiento Multihebra Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de

múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.

Dinámico El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.

Produce applets Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java.

B I

Ejemplo

//--------------------------------------------------------import java.*; public class hola{

E

public static void main (String[] args){

1010101101010101001

T

39


1010110101010

LENGUAJES CIBERNETICOS

PYTHON System.out.println("HOLA MUNDO"); } }

P O C K E T

//--------------------------------------------------------Conclusión Naturalmente Java contiene muchas mas demanda laboral, Se aprende a programar y puedes sacar un gran povecho para vivir $$ .ademas que las empresas tiene un gran fuerte.. SUN.

PERL, Lenguaje Práctico para la Extracción e Informe (ver abajo) es un lenguaje de programación diseñado por Larry Wall creado en 1987. Perl toma características del C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, muchos otros lenguajes de programación. Perl es un lenguaje pensado para la manipulación de cadenas de caracteres, archivos y procesos. Esta manipulación se va simplificada por el importante número de operadores a disposición del usuario. El lenguaje Perl se percibe habitualmente como un lenguaje intermedio entre los shell scripts y la programación en C. En efecto, los programas en Perl son una sucesión de instrucciones y son similares a los shell scripts porque no existe un

40

procedimiento principal como la subrutina main en C. Sin embargo, se parece al lenguaje C en su sintaxis y en el número importante de funciones que permiten la manipulación de cadenas de caracteres y archivos. Mas Informacion sobre PERL en:www.perl.org/ http://www.perl.com/ El lenguaje Perl no es precompilado, pero aún así es más rápido que la mayoria de lenguajes interpretados, en especial que el Bourne Shell. Esto se debe a que los programas en Perl son analizados, interpretados y compilados por el interprete perl antes de su ejecución. Estas características hacen que el mantenimiento y la depuración de un programa en Perl sean mucho más sencilla que el mismo programa escrito en C.

Características Perl también toma características de la programación shell. Todas las variables son marcadas con un signo precedente. Los sigil identifican inequívocamente los nombres de las variables, permitiendo a Perl tener una rica sintaxis. Notablemente, los sigil permiten interpolar variables directamente dentro de las cadenas de caracteres. Como en los shell,

1010101101010101001

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

Perl tiene muchas funciones integradas para tareas comunes y para acceder a los recursos del sistema.

Diseño El diseño de Perl puede ser entendido como una respuesta a tres amplias tendencias de la industria informática: rebaja de los costes en el hardware, aumento de los costes laborales y las mejoras en la tecnología de compiladores. Anteriormente, muchos lenguajes de ordenador como el Fortran y C, fueron diseñados para hacer un uso eficiente de un hardware caro. En contraste, Perl es diseñado para hacer un uso eficiente de los costosos programadores de ordenador.

Aplicaciones Perl tiene muchas y variadas aplicaciones, gracias a la disponibilidad de muchos módulos estándares y de terceras partes. Perl se usa a menudo como un "lenguaje pegamento", ligando sistemas e interfaces que no fueron diseñados específicamente para interoperar; y para el "escarbado de datos", convirtiendo o procesando grandes cantidades de datos para tareas como por ejemplo crear informes. De hecho, estas fortalezas están íntimamente unidas. Su combinación hace a Perl una popular herramienta de propósito general para los ad-

ministradores de sistemas, especialmente en programas pequeños que pueden ser escritos y ejecutados en una sola línea de comandos.

Disponibilidad Perl es software libre y está licenciado bajo la Licencia Artística y la GNU General Public License. Existen distribuciones disponibles para la mayoría de sistemas operativos. Está especialmente extendido en Unix y en sistemas similares, pero ha sido portado a las plataformas más modernas (y otras más obsoletas). Con sólo seis excepciones confirmadas, puede ser compilado desde el código fuente en todos los Unix, compatibles POSIX o cualquier otra plataforma Unix compatible. Sin embargo, esto no es normalmente necesario, porque Perl está incluido por defecto en la instalación de los sistemas operativos más populares .

Linux Perl está instalado por defecto en las distribuciones más populares de GNU/Linux incluyendo Gentoo, Mandriva, Debian, RedHat y SUSE.

Windows Los usuarios de Microsoft Windows normalmente instalan una distribución binaria de Perl[6] . Compilar Perl desde el fuente bajo Windows es posible, pero la mayoría de las ins-

1010101101010101001

41

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

talaciones no disponen del necesario compilador de C. La capa de emulación Cygwin proporciona otra forma de correr Perl bajo Windows. Cygwin proporciona en entorno parecido al Unix en Windows que incluye gcc, por lo que compilar Perl desde el código es una opción accesible para los usuarios que prefieren esta opción. En Junio de 2006, win32.perl.org fue lanzado por Adam Kennedy en nombre de la Fundación Perl. Es una comunidad web "para todo lo relacionado con Windows y Perl"

Ejemplo

use strict; Conclusión PERL es un lenguaje de programación muy poderoso pero a su ves perl en México casi no es usado esta dejando de usar y es un lenguaje que encontraras muy poca información y si es que encuentras la veras en ingles. A diferencia de otros lengiajes de programación PERL escribes un poco menos de código. La forma del lenguaje facilita la programación rápida y sucia, el hacer un programa rápido para que funcione. Esto hace también que se utilice para hacer prototipos rápidos de algún algoritmo que queremos ver funcionar antes que tomarnos la molestia de programarlo en un lenguaje más eficiente, como el c++. Y últimamente ha encontrado su aplicación en la escritura de CGI (common gateway interface), o scripts ejecutados desde páginas de la World Wide Web. La mayoría de los programas que se encuentra uno para procesar formularios en la Internet llevan la extensión .pl, lo cual denota que están escritos en Perl.

42

print "¡Hola mundo!\n"; SCHEME es un lenguaje de programación . que es un funcional. Fue desarrollado por Guy L. Steele y Gerald Jay Sussman en la década de los setenta e introducido en el mundo académico a través de una serie de artículos conocidos como los Lambda Papers de Sussman y Steele. Su estética de Scheme es resueltamente minimalista. Su objetivo no es acumular un gran número de funcionalidades, sino evitar las debilidades y restricciones que hacen necesaria su adición. Así, Scheme proporciona el mínimo número posible de nociones primitivas, construyendo todo lo demás a partir de un reducido número de abstracciones. Por ejemplo, el mecanismo principal para el control de flujo son las llamadas recursivas finales. Scheme fue el primer dialecto de Lisp que usó ámbito estático o léxico (en lugar de dinámico) de forma exclusiva. También fue uno de los primeros lenguajes de programación con continuaciones explícitas. Scheme ofrece también gestión automática de memoria (recolección de basura). Las listas son la estructura de datos básica del lenguaje, que

1010101101010101001

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

también ofrece arrays entre sus tipos predefinidos. Debido a su especificación minimalista, no hay sintaxis explícita para crear registros o estructuras, o para programación orientada a objetos, pero muchas implementaciones ofrecen dichas funcionalidades. Mas Informacion sobre PERL en: es.wikipedia.org/wiki/ Scheme schemers.org

Ventajas Scheme facilita la programación funcional. La programación funcional pura no precisa de variables globales ni sufre de efectos secundarios, y es, por tanto, automáticamente segura en presencia de procesos concurrentes (thread-safe), amén de facilitar considerablemente la verificación de programas, al menos en comparación con el estilo imperativo. En Scheme, los procedimientos son objetos de primera clase. Ello permite la definición de funciones de orden superior, que facilitan un mayor grado de abstracción en los programas. También es posible la creación de procedimientos anónimos. El estándar de Scheme es también minimalista.

Desventajas

multitud de implementaciones diferentes, cada una de las cuales introduce extensiones y bibliotecas propias que las hace incompatibles entre sí. Los Scheme Requests for Implementation (SRFI) tratan de poner remedio a este problema. Ejemplo: (let ((HOLA MUNDO (lambda () (display "Hola, mundo") (newline)))) (hola-mundo)) Conclusión De Scheme casi no hay mucha información pero no deja de ser un buen lenguaje de programación tiene muchas ventajas pero asu ves tiene también desventajas aunque Scheme es muy viejo ya que fue uno de los primeros lengiuajes en utilizarse. Scheme es un lenguaje que se esta usando cada ves mas . en el existen demaciados proyectos y bibliotecas que se están implementando en la actualidad en Scheme como: •Colección de programas en Scheme •Scheme Gimp, herramienta de tratamiento de imágenes También existen a su vez múltiples intérpretes de Scheme,: MzScheme en el entorno de programación DrScheme. Scheme es un lenguaje ideal para LPP porque: •Tiene una sintaxis muy sencilla •Es un lenguaje de script •Tiene múltiples extensiones: programación orientada a objetos, etc. •Es posible de extender mediante macros

El estándar de Scheme es realmente minimalista y específico en sí. Ello provoca que existan

1010101101010101001

43

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON http://www.ruby-lang.org

P O C K E T

• Ruby es un lenguaje con un balance cuidado. Su creador, Yukihiro “matz” Matsumoto, mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa. A menudo ha manifestado que está “tratando de hacer que Ruby sea natural, no simple”, de una forma que se asemeje a la vida real. Desde su liberación pública en 1995, Ruby ha atraído devotos desarrolladores de todo el mundo. En el 2006, Ruby alcanzó reconocimiento masivo, formándose grupos de usuarios activos en las ciudades más importantes del mundo y llenando las capacidades de las conferencias relacionadas a Ruby. Ruby-Talk, la lista de correo más importante sobre el lenguaje Ruby ha crecido hasta lograr un promedio de 200 mensajes por día. Ruby es totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo. Mas Informacion sobre RUBY en:

44

los paréntesis en las llamadas a los métodos usualmente son opcionales y a menudo son omitidos.

todo es un objeto, incluyendo los números como 2 y 3,14159.

no hay validación estática de tipos de datos. EtC.. Ejemplo print "Hola Mundo"

Orientado A Objetos Inicialmente, Matz buscó en otros lenguajes para encontrar la sintaxis ideal. Recordando su búsqueda, dijo, “quería un lenguaje que fuera más poderoso que Perl, y más orientado a objetos que Python. En Ruby, todo es un objeto. Se le puede asignar propiedades y acciones a toda información y código. La programación orientada a objetos llama a las propiedades variables de instancia y las acciones son conocidas como métodos. La orientación a objetos pura de Ruby se suele demostrar con un simple código que aplica una acción a un número.

Flexible Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios alterarlo libre-

1010101101010101001

B I T E


1010110101010

LENGUAJES CIBERNETICOS

PYTHON P O C K E T

mente. Las partes esenciales de Ruby pueden ser quitadas o redefinidas a placer. Se puede agregar funcionalidad a partes ya existentes. Ruby intenta no restringir al desarrollador. Por ejemplo, la suma se realiza con el operador suma (+). Pero si prefieres usar la palabra sumar, puedes agregar un método llamado sumar a la clase Numeric que viene incorporada.

lo permite el sistema operativo.

Ruby lenguaje básico Ruby tiene un conjunto de otras funcionalidades entre las que se encuentran las siguientes:

• •

manejo de excepciones, como Java y Python, para facilitar el manejo de errores. un verdadero mark-andsweep garbage collector para todos los objetos de Ruby. No es necesario mantener contadores de referencias en bibliotecas externas. Como dice Matz, “Esto es mejor para tu salud”. escribir extenciones en C para Ruby es más fácil que hacer lo mismo para Perl o Python, con una API muy elegante para utilizar Ruby desde C. Esto incluye llamadas para embeber Ruby en otros programas, y así usarlo como lenguaje de scripting. También está disponible una interfaz SWIG. puede cargar bibliotecas de extensión dinámicamente si

tiene manejo de hilos (threading) independiente del sistema operativo. De esta forma, tienes soporte multi-hilo en todas las plataformas en las que corre Ruby, sin importar si el sistema operativo lo soporta o no, ¡incluso en MS-DOS! Ruby es fácilmente portable: se desarrolla mayoritariamente en GNU/Linux, pero corre en varios tipos de UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.

RUBY a diferencia de java:

no necesitas compilar tu código fuente. Directamente lo ejecutas.

hay distintos conjuntos de herramientas para interfaz gráfica. Los usuarios de Ruby pueden probar con WxRuby, FXRuby, RubyGNOME2, o el Ruby Tk incluido, por ejemplo.

se usa la palabra clave end después de definir clases, en vez de tener que poner llaves encerrando el código. tienes require en vez de import. todas las variables de instancia son privadas. Desde afuera, todo se accede usando métodos..■

1010101101010101001

45

B I T E


1010110101010

DBASE, SQL, MySQL

ALMACENA MÁS Sintaxis Básica DBase.

O

En los dos ejemplos siguientes se exporta la tabla Categorías a un archivo de dBASE de la carpeta

C

(directorio) C:\DBASE.

K

Se Debe escribir una carpeta válida en su macro o el mensaje de error siguiente puede aparecer al ejecutar la macro o la función:

P

E T

RÁPIDO ción de línea. Quite el carácter de subrayado del final de la línea cuando escriba este código en Access Basic. In version 7.0: Function ExportdBASE DoCmd.TransferDatabase a_export, "dBASE III", "c:\dbase", _ a_table,

“No es una ruta de acceso válido”

"Categories", "Test1.dbf" End Function

Ejemplo 1: Que utiliza la acción de macro

In versions 1.x and 2.0:

TransferirBaseDatos

Function ExportdBASE () DoCmd TransferDatabase a_export,

Cree una macro denominada Export1. Esta macro exportará la tabla Categorías a un archivo de dBASE. Macro Name Action --------Export1TransferDatabase Export1 Actions --------------- TransferDatabase Transfer Type: Export Database Type: dBASE Database Name: C:\dbase Object Type: Table Source: Categories Destination: Test1.dbf Structure Only: No

Ejemplo 2: Que utiliza una función de Visual Basic (o Access Basic). Aquí se debe Crear un módulo nuevo y escribir la siguiente función: NOTA: En el código del ejemplo siguiente, un subrayado (_) se utiliza como un carácter de continua-

46

()

"dBASE III", "c:\dbase", _ a_table, "Categories", "Test1.dbf" End Function

La información de este artículo se refiere a:

B

• Microsoft Access 1.0 Standard Edition

• Microsoft Access 1.1 Stan-

I

dard Edition

• Microsoft Access 2.0 Stan•

dard Edition Microsoft Access 95 Standard Edition

1010101101010101001

T E


1010110101010

ALMACENA MÁS Sintaxis Basica de SQL P O C K E T

Para crear consulats para las páginas dinámicas. SQL es un lenguaje que permite leer y escribir datos de una base de datos. Aunque sólo consta de algunas palabras clave y sencillas normas de sintaxis, este lenguaje permite realizar sofisticadas operaciones de bases de datos. Sofisticadas operaciones de bases de datos.

Aspectos básicos de la sintaxis SELECT es una de las declaraciones SQL de uso más frecuente para crear un juego de registros. Extrae las columnas especificadas de una o varias tablas de base de datos y las utiliza para crear un juego de registros. La declaración SELECT utiliza la siguiente sintaxis: SELECT NombreDeColumna FROM NombreDeTabla

DBASE, SQL, MySQL

RÁPIDO Las siguientes palabras clave identifican comandos SQL que se utilizan habitualmente:

Las siguientes palabras clave se emplean para definir más específicamente las declaraciones SQL:

Los siguientes operadores especifican las condiciones y efectúan las funciones lógicas y numéricas:

Puede añadir saltos de línea, tabuladores y espacios en blanco a la declaración para que resulte más clara: SQL no tiene en cuenta los espacios en blanco.

B

Por ejemplo, la siguiente declaración es válida

T

SELECT Members

E

I

PaidDuesFROM

1010101101010101001

47


1010110101010

ALMACENA MÁS P O C K E T

Sintaxis Básica de MySQL MySQL es un gestor de base de datos sencillo de usar y increíblemente rápido. También es uno de los motores de base de datos más usados en Internet, la principal razón de esto es que es gratis para aplicaciones no comerciales. Las características principales de MySQL son: Es un gestor de base de datos. Una base de datos es un conjunto de datos y un gestor de base de datos es una aplicación capaz de manejar este conjunto de datos de manera eficiente y cómoda. Es una base de datos relacional. Una base de datos relacional es un conjunto de datos que están almacenados en tablas entre las cuales se establecen unas relaciones para manejar los datos de una forma eficiente y segura. Para usar y gestionar una base de datos relacional se usa el lenguaje estándar de programación SQL. Es Open Source. El código fuente de MySQL se puede descargar y está accesible a cualquiera, por otra parte, usa la licencia GPL para aplicaciones no comerciales.

DBASE, SQL, MySQL

RÁPIDO muchos usuarios, la base de datos se ha ido mejorando optimizándose en velocidad. Por eso es una de las bases de datos más usadas en Internet. Ejemplos: mysql> SELECT VERSION(), CURRENT_DATE; +-----------+--------------+ | VERSION() RENT_DATE |

|

+-----------+--------------+ | 3.23.41 | 2002-10-01 | +-----------+--------------+ 1 row in set (0.03 sec) mysql> Las siguientes consultas son equivalentes: mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; En la siguiente grafica se muestra un comparativo de la demanda de los diferentes gestores de bases de datos. del entorno.

Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de

48

CUR-

1010101101010101001

B I T E


1010110101010

NO MÁS FORWARDS

ENTRETENTE UN P O

Ocio para Entretenerse un Rato Ya Basta de Cadenas!

C K E T

Por Juan Carlos Pérez.

A

lguna vez te has preguntado por que tantas cadenas. Todos esos correos electrónicos no deseados, que traen un mensaje una historia, una amenaza, un chantaje sentimental y demás, tienen la categoría de Hoax, (del ingles engaño), tienen como principal objetivo convencerte de ser reenviados, con la finalidad de obtener direcciones de correos electrónicos, para poder después mandar muchos más correos basura. Todas estas personas con mucho tiempo libre hacen todo lo posible para que tú mandes las cadenas, por una razón (no gastan tanto tiempo por nada). Estas personas se llaman spammers, según la compañía de seguridad G-Data, afirma que un spammer puede ganar hasta siete mil dólares por mes al enviar unos 400 millones de correo basura en ese mismo período de tiempo, en un aproximado de ocho

RATO

horas de trabajo diarias y todo eso solo por enviar correos a gente que no los pidió. ¿Qué podemos hacer los usuarios comunes?, lo primero es no reenviar las cadenas que recibimos, aunque hay algunos antihoax extremos que dicen que no debemos reenviar ninguna cadena, yo personalmente creo que vivimos en una sociedad de la información que nos da ventajas que antes no se tenían, y tenemos el derecho de usar el Internet como un medio muy importante para la transmisión de ideas, aunque también creo que es irresponsable creernos todos lo que recibimos. La mayoría de los hoax falsos se pueden descubrir con un poco de sentido común, es inconcebible que Microsoft te regale dinero por enviar un mail, otros solo necesitan un poco de investigación, la mayoría de los hoax son analizados en foros en Internet donde personas dedicadas a desmentir hacen investigaciones y desmienten estas cadenas. Los Hoax se pueden clasificar según su modo de trabajo, algunos intentan sobornarte (diciendo que te darán dinero), otros te amenazan (diciendo que algo malo te pasara), hay quienes te chantajean (diciendo que si no lo envías no eres amigo), también están los que tocan tu corazón

1010101101010101001

49

B I T E


1010110101010

NO MÁS FORWARDS

ENTRETENTE UN P O C K E T

(hablan de gente desamparada o personas enfermas), y los más exitosos son lo que te entretienen (un chiste una broma etc.) Lo mejor para evitar que los spammers consigan direcciones de correos electrónicos es borrar la lista de mail´s que se han acumulado antes de reenviar y además colocar las direcciones de tus contactos en Cco (con copia oculta), de forma que no se pueda ver a quien lo envías.

¿Cómo funcionan los teléfonos celulares? Los teléfonos móviles o celulares se están convirtiendo en un medio de comunicación muy popular y son utilizados por millones de personas. Con ellos se puede almacenar información, manejar una agenda, revisar el correo electrónico y, por supuesto, hacer y recibir llamadas telefónicas desde cualquier sitio. En esencia, un teléfono celular es un radio, uno muy sofisticado. La principal diferencia con otros aparatos de comunicación móviles, como los radios o los walkie-talkies, es que utiliza un sistema dúplex, o sea que, en vez de una sola frecuencia para comunicarse (con lo cual sólo puede hablar una persona a la vez), el celular utiliza dos frecuencias, gracias a lo cual se puede escuchar y hablar a la vez. Las partes de un teléfono móvil son esencialmente los

50

RATO

circuitos, una antena, una pantalla de cristal líquido, un teclado, un micrófono, un parlante y una batería. Todos estos componentes están diseñados para ocupar el menor espacio posible. Antes de los teléfonos celulares, quienes necesitaban comunicaciones móviles instalaban teléfonos de radio en sus vehículos, conectados a una antena central en una ciudad. Este radio debía tener un alcance de varias decenas de kilómetros, y había pocas frecuencias de radio disponibles. Por el contrario, para desarrollar el sistema de los teléfonos celulares se divide una ciudad en zonas pequeñas, a las que se llamó células, que cubren unos 26 kilómetros cuadrados. Ésto permite reutilizar frecuencias en diferentes células en una ciudad. Como éstos teléfonos y las estaciones o torres de transmisión utilizan transmisores de poco poder, las mismas frecuencias se pueden utilizar en células no adyacentes. Una estación de transmisión consiste en una torre o antena, y un pequeño edificio para albergar el equipo de radio. Las celdas se ordenan usualmente como las celdas de una colmena, de manera que cada una está rodeada por otras seis. Cuando se realiza una llamada, la señal emitida por el teléfono es recibida por la

1010101101010101001

B I T E


1010110101010

P O C K E T

NO MÁS FORWARDS

ENTRETENTE UN

RATO

estación de transmisión más cercana, que la conecta inmediatamente a la red telefónica. Si la persona permanece en el mismo sitio, esa torre mantiene la conexión. Si, por el contrario, las persona se desplazan, por ejemplo en un automóvil, la transmisión cambia de una torre a otra, de manera que la distancia no debilite la señal. Siempre habrá una estación de transmisión dentro del alcance del teléfono.

tiempo

TEST PARA SABER SI DE VERAD ERES INFORMATICO 1.¿Qué terminación tienen los documentos que se realizan en Word? • Doc • Wpd • Es • Txt 2.¿Cómo se denomina el ordenador en el cual se encuentran las páginas web? • Ordenador web • Servidor • Administrador. • Legislador 3.¿Cómo se puede señalar un texto sin utilizar el ratón? • Pulsando esc y las flechas de derecha e izquierda • Pulsando la tecla mayúscula y moviendo al mismo tiempo las teclas de derecha e izquierda • Manteniendo pulsado alt esc al mismo tiempo. • Pulsando f8 y Alt al mismo

4.¿De qué color aparecen en un texto las direcciones de las páginas web? • Azul • Naranja • Rojo • Amarillo. 5.¿En qué procesador de texto tienes un ayudante con nombre propio y que puedes cambiar cuando quieras? • Word • Wordpard • Word perfect • Power point. 6.¿Qué tecla debes pulsar cuando rellenas los campos de identificación de una persona que insertas sus datos en tu libreta de contactos de correo electrónico para pasar de un hueco a otro sin utilizar el ratón? • Delete • Alt • Tabulador • Espacio. 7.¿Qué significa la @ fuera del lenguaje informático? • De ambos sexos (alumnos/ as=alumn@s) • No significa nada. • Plural del femenino de la palabra en la cual se encuentre • Todas las opciones son incorrectas

1010101101010101001

51

B I T E


1010110101010

NO MÁS FORWARDS

ENTRETENTE UN P O C K E T

8.¿Qué es el WordPerfect? • Un juego. • Una hoja de cálculo • Un procesador de textos • Un fichero de texto 9.¿Qué teclas debes pulsar para copiar un texto seleccionado? • Ctrl y Alt • Ctrl y C • Ctrl y X. • Ctrl y s 10.¿Qué terminación tienen los documentos que se realizan en WordPerfect? • Es. • Wpd • Doc • Txt 11.¿Qué teclas debes pulsar para borrar un texto seleccionado? • Ctrl y X • Alt y Esc. • Ctrl y Esc • Alt y F1 12. La unidad donde se insertan los disquete se denominan...... • C: • A: • D: • F: 13. Cuando se elimina un documento • Ya es imposible recuperarlo • Todas las opciones son incorrectas • Se puede recuperar desde la papelera de reciclaje • Va directamente a una car-

52

RATO peta denominada basura.

14.¿Desde qué programa de Windows puedes abrir cualquier archivo con independencia del su terminación? • Desde el word • Desde el explorador • Desde el corel • Desde el power point 15.¿Cómo puedo saber para que son cada uno de los iconos que me encuentro en el WordPerfect? • Poniendo el ratón sobre aquel icono que tenga dudas • No lo puedo saber si no lo pruebo • Solo puedo saberlo si me voy al menú de ayuda • Todas las opciones son incorrectas RESPUESTAS DEL TEST INFORMATICO 1) 1 2) 2 3) 2 4) 1 5) 1 6) 3 7) 1 8) 3 9) 2 10) 2 11) 1 12) 2 13) 3 14) 2 15) 1

LINKS DE TIPS Y TRUCOS INFORMATICOS http:/w.configurarequipos.com/ categoriastrucos.php

1010101101010101001

B I T E


1010110101010

NO MÁS FORWARDS

ENTRETENTE UN

RATO

P O C K E T

En esta página podrás encontrar trucos para tu PC, trucos técnicos, trucos informáticos, para software y hardware. Trucos como: ♦Cambio entre archivos de word, excel o powerpoint

♦Cambiar el color de los archivos

♦Recuperar Icono de Mi PC.

http://www.dominiodigital.com.ar/tipsytrucos.htm En esta página encontraras Tips y algunas sugerencias más como por ejemplo: ♦Cómo borrar URL`s escritas en Internet Explorer. ♦¿Cómo hacer para evitar que se cargue un programa al iniciar Windows XP?

http://www.trucostecnicos.com/ En esta página podrás encontrar guías informáticas, trucos, juegos y guías Web:Visualizar ficheros ocultos Atajos Utilidad de impresoras con impresoras que sólo tienen controlador PPC. QUE TAN LISTO ERES? Los tres hijos d don Alfonso Dos sabios matemáticas, doña Eva y don Alfonso, paseaban por la calle cuando Doña Eva Pregunto a su colega: -¿Tiene ud. Hijos? -Si, tengo tres. -¿Cuántos años tienen? -El producto de sus edades es igual al número de la casa de enfrente. Doña Eva se quedo pensando y después de mirar el número de la casa d enfrente contestó: -Me falta un dato. -Es cierto, mi hijo mayor se llama Alfonso como yo. Con este nuevo dato Doña Eva ya pudo calcular las edades de los tres hijos de don Alfonso. Espera la respuesta en la próxima edición de Pocket Byte

1010101101010101001

53

B I T E


1010110101010

PYTHON Y SUS TRUCOS

TIPS P O C K E T

Inmersión en Python/Tipos de datos nativos/Declaración de variables Python tiene variables locales y globales como casi todo el resto de lenguajes, pero no tiene declaración explícita de variables. Las variables cobran existencia al asignársele un valor, y se destruyen automáticamente al salir de su ámbito.

Ejemplo. Definición de la variable myParams if __name__ == "__main__":

Estrictamente hablando, las expresiones entre paréntesis, corchetes y llaves (como la definición de un diccionario) también pueden ocupar varias líneas con o sin el carácter de continuación ("\"). Me gustaría incluir la barra inversa aunque no haga falta debido a que pienso que hace el código más sencillo de leer, pero esto es cuestión de estilo. Tercero, nunca llegamos a declarar la variable myParams, simplemente le asignamos un valor. Esto es como en VBScript sin la opción option explicit. Por suerte, al contrario que VBScript, Python no le permite hacer referencia a una variable a la que nunca se asignó un valor; intentar esto lanzará una excepción.

54

Referencia a variables Ejemplo. Referencia a una variable sin asignar >>> x Traceback (innermost last): File"<interactive input>", line 1, in ? NameError: There is no variable named 'x' >>> x = 1 >>> x Le agradecerá esto a Python algún día. Asignar varios valores a la vez Uno de los atajos más vistosos de Python es el uso de secuencias para asignar múltiples valores a la vez. Ejemplo. Asignación de múltiples valores simultáneamente >>> v = ('a', 'b', 'e') >>> (x, y, z) = v >>> x 'a' >>> y 'b' >>> z 'e'

[1]

1010101101010101001

B I T E


1010110101010

PYTHON Y SUS TRUCOS

TIPS P O C K E T

[1] v es una tupla de tres elementos, y (x, y, z) es una tupla de tres v a riables. Asignar una a l a otra provoca que cada uno de los valores de v se asigne a las variables correspondientes, en orden. Esto tiene todo tipo de usos. A menudo quiero asignar nombres a un rango de valores. En C usaríamos enum y listaríamos de forma manual cada constante y sus valores asociados, lo que parece especialmente tedioso cuando los valores son consecutivos. En Python podemos usar la función incorporada range con la asignación a múltiples variables para asignar valores consecutivos rápidamente. Ejemplo. Asignación de valores consecutivos >>> range(7) [1] [0, 1, 2, 3, 4, 5, 6] >>> (LUNES, MARTES, MIERCOLES, JUEVES, VIENRES, SABADO, DOMINGO) = range(7) [2] >>> LUNES [3] 0 >>> MARTES 1 >>> DOMINGO 6 [1]La función incorporada range devuelve una lista de enteros. En su forma

más sencilla, toma un límite superior y devuelve una lista que empieza en cero hasta el límite superior, sin incluirlo. (Si lo desea, puede pasar otros para especificar una base diferente de 0 y un paso diferente a 1. Puede hacer print range.__doc__ si quiere más detalles.) [2] LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, y DOMINGO son las variables que estamos definiendo. (Este ejemplo viene del módulo calendar un módulo pequeño y simpático que imprime calendarios, como el programa cal de UNIX. El módulo de calendario define constantes enteras para los días de la semana). [3] Ahora cada variable tiene su valor: LUNES es 0, MARTES es 1, etc. También puede usar la asignación multivariable para construir funciones que devuelvan varios valores, simplemente retornando una tupla con todos los valores. Quien llama puede tratar el valor devuelto como una tupla, o asignar los valores a variables individuales.

1010101101010101001

55

B I T E


1010110101010

EVENTOS DEL TESE PARA TI

¿ D E A C O M O Y D O NDE? P O C

DEPTO. DE INFORMATICA Y LA REVISTA

K

CONSULTA ALGUNAS OPCIONES QUE TE BRINDAMOS EN EL INTERIOR DE ESTA REVISTA. CURSO SQL SERVER AVANZADO Sábado de 9:00 a 14:00 hrs. Duración 30 hrs.

E T

Inicio: 1 de Diciembre.

TE INVITAN A LOS CURSOS QUE SE IMPARTIRAN DURANTE LOS MESES DE ENERO Y FEBRERO EN LA INSTITUCION, PODRAS APRENDER DESDE LO MAS BASICO HASTA LO MAS AVANZADO DE JAVA, VISUAL BASIC, REDES, ETC…

Este curso te permite conocer aspectos avanzados de SQL Server (administración y seguridad), sentencias SQL avanzadas, Lenguaje Transact-SQL (Procedimientos almacenados, Desencadenadores, etc.), Programación de Visual Basic con DTS.

MAYORES INFORMES: EDIFICIO DE VINCULACION CENTRO DE EDUCACION CONTINUA ATENCION: CP. LUIS S. CORRAL

http://continua.tese.edu.mx tel: 50-00-23-63 al 65 e-mail: luisilver31@hotmail.com

56

SISTEMAS

B

OFRECE: Un diplomado en: Duración 40 horas Que se impartirá los Domingos de 9:00 a 14:00 Visual Studio le proporcionara al interesado en el curso, las herra-

1010101101010101001

I T E


1010110101010

EVENTOS DEL TESE PARA TI

¿ D E A C O M O Y D O NDE? P

mientas que necesita para diseñar, desarrollar, e implementar aplicaciones Web, Servicios Web XML y aplicaciones cliente tradicionales.

O C K E T

guajes aunque no es un requisito.

Inicio: 2 de diciembre 2007 Domingo 9:00 a 14:00 hrs. Duración 120 horas Este diplomado te aprueba para configurar una red LAN y WAN en una empresa y saber el desarrollo y conexión de distintos dispositivos de comunicación en red. Inicia 9 de Diciembre

El no

alumo el

interesado deben de hacer un esfuerzo en obtener estas nociones para poder seguir el ritmo del curso.

Inicio: 8 de diciembre 2007

SISTEMAS OFRECEN

Du-

ración

40 horas Que se impar-

tirá los Sábados de 9:00 a 14:00 Para este curso, se recomienda tener estudios relacionados con la informática, tener nociones en redes y sistemas informáticos También tener conocimientos previos de programación en otros len-

Una vez más, el Tecnológico de Estudios Superiores de Ecatepec y Pocket Bite te invitan a conocer y unirte a los distintos talleres y actividades deportivas y culturales llevadas a cabo en la institución, para ello te proporcionamos la siguiente información. Checalo

B I

TEATRO Compañía “Alquimia Teatral” te invita al taller “Conócete para desarrollarte” "Hacer Teatro significa cultivar el cuerpo y el espíritu, los sentidos y el alma".

1010101101010101001

57

T E


1010110101010

EVENTOS DEL TESE PARA TI

¿ D E A C O M O Y D O NDE? P O C K

Clases martes y jueves de 11:00 a 18:00 horas y miércoles de 11:00 a 17:00 hrs. Profr: Juan Francisco Betancourt Gil Aulas de Actividades Culturales

E T

I Festival Teatral Intra TESE de Pastorelas. Explanada Interna del Edificio de Vinculación del 4 al 6 de Diciembre de 2007 de 13:00 a 18:00 hrs.

OTROS Ajedrez

“El ajedrez es la piedra de toque del intelecto…”, “El ajedrez es semejante a la vida” Conoce las reglas básicas de la disciplina, y desarrolla tu intelecto con el ajedrez. Dentro de la Vinculación Interinstitucional se brinda el servicio de simultaneas y torneos.

Clases de lunes a viernes, de 9:00 a 15:00 horas. Salón A-10 (Aulas provisionales). “Ven ya!!! a practicar el Jazz” Desarrolla la concentración, el análisis y la interpretación de conocer y manejar su cuerpo, desarrollando la creatividad y la capacidad de expresarte corporalmente. Informes: Lic. Ana Ma. Orozco Espitia en el Gimnasio Auditorio.

“Ingresa a la Banda de Guerra y Escolta del TESE” Ven y se parte de estos grupos y representa a tu institución. Instructor: Dr. Jorge Iván Rocha Cárdenas. Lunes a Viernes 13:00 a 16:00 horas.

Invierno en la Capital" Siente el frío de esta navidad, te invitamos a que visites la nueva pista de hielo creada en el Estado de México, encuéntrala en el centro del Municipio de Ecatepec y pasa un rato agradable con tu familia y amigos.

Profr: José Manuel Trujillo Rodríguez

58

1010101101010101001

B I T E


59


60


! ¡ P A R T I C I P A P O C K E T * * * * * * F O R O

¿Qué programas debo utilizar a parte del SDK para hacer la programación de un juego para celular y como lo compilo? En realidad solo tienes el compilador siempre y cuando sea el Java 2 SDK Standard Edition, y para desarrollar el programa se necesita de instalar ciertos programas. El primero es el de Java 2 SDK Standard Edition ya que es base para el entorno y utilizado por WTK. El segundo es el de Sun Wireless Toolkite cual detecta el directorio de JVM es decir del SDK de Java. Y por último el Crimson Editor. Como te mencione el Java 2 SDK Standard Edition es el encargado de la compilación y provee la máquina virtual de Java necesaria para correr los J2SDK. Aunque existen dos opciones para compilar las cuales es usar la interfaz Eclipse con el plugin EclipseME , o utilizar el Sun Wireless Toolki el cual contiene emuladores de celulares, aunque también existen emuladores que

proporcionan las compañías celulares como: Series 40 Platform SDKs de Nokia y Motorola J2ME™ SDK v6.1.1 for Motorola OS Products

¿Es verdad que el GridGain es una aplicación que se puede utilizar en el lenguaje de C#? No. El GridGain es una aplicación creada exclusivamente para JAVA. Es una extensión de las últimas metodologías del desarrollo para java, el cual es un framework para habilitar el grid, además de ser de código abierto y de fácil uso debido a que se realiza por medio de anotaciones, soporta tecnologías como Spring y Aspecto. Qué diferencia existen entre el lenguaje Ruby , Java y C#? En realidad no existe mucha diferencia aunque java 61


Aunque RUBY no es muy conocido este es un lenguaje funcional, fácil de emplear, elegante entre otras cosas. Este toma elementos de otros lenguajes como lo son PYTHON y JAVA y para definir clases es lo mismo que java y C#, así como para hacer métodos se realizan de la misma forma que python.

! * * * F O R O

P O C K E T * * *

¡ P A R T I C I P A

y C# son menos orientados a objetos en su sintaxis y semántica.

62


ACTIVIDADES DEPORTIVAS

“Voleibol Femenil" El departamento de actividades deportivas (Gimnasio Auditorio), te invita a que te integres al equipo de voleibol femenil y representes a tu institución. Lunes a Viernes de 13:00 a 16:00 hrs. sábado de 9:00 a 14:00 hrs. Lic. Joanna Vázquez Martínez Departamento de Actividades Deportivas “Fútbol Rápido Femenil y varonil" Te invitamos a formar parte de la selección de fútbol rápido femenil y varonil y que representes a tu institución en los juegos del Conde 2007-2008. Entrenamientos Lunes 13:00 a 16:00 hrs. Cita: Pista de fútbol soccer. Responsable: Profr. Rodolfo Gabino

“Básquetbol femenil y varonil” El departamento de actividades deportivas (Gimnasio), te invita a que te integres al equipo de voleibol femenil y varonil y a las competencias realizadas en la institución. Lunes a Viernes de 13:00 a 16:00 hrs. sábado de 9:00 a 14:00 hrs. Lic. Joanna Vázquez Martínez Tel. 5000- 2372 Departamento de Actividades Deportivas Cortesía: Sección ¿DE A COMO Y DONDE?

63


TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

Licenciatura en Informática “Promotor y creador de Pocket Bite 2008”

Tecnológico de Estudios Superiores de Ecatepec Av. Tecnológico, s/n, esquina Av. Hank González, Col. Valle de Anáhuac, Ecatepec de Morelos, Estado de México, C.P. 55210 64


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.