Archivo de la categoría: Informática

Simuladores de circuitos eléctricos y electrónicos en línea | Nuevas tecnologías aplicadas a la educación | Educa con TIC

Simuladores de circuitos eléctricos y electrónicos en línea

vía Simuladores de circuitos eléctricos y electrónicos en línea | Nuevas tecnologías aplicadas a la educación | Educa con TIC.

 

CircuitLab

Es una aplicación muy reciente y ya está recibiendo muy buenas críticas por su sencillez de uso. Permite diseñar muchos tipos de circuitos analógicos y digitales, simularlos, realizar cálculos, guardar los diseños y compartirlos con la comunidad.

Logic.ly

Es un simulador de circuitos digitales que tiene dos versiones, una de pago para instalar y otra online. La versión en línea no permite guardar los diseños, pero si permite realizar simulaciones sencillas con puertas lógicas y flips-flops.

The Logic Lab

Este sencillo simulador online de circuitos digitales permite guardar los diseños realizados. Cuando guardamos el diseño, el programa nos proporciona una URL a la que podemos acceder para ver de nuevo la simulación o continuar modificando nuestro circuito.

Logic Circuit Test

Es una aplicación que nos permite obtener la tabla de verdad de un circuito lógico y, por lo tanto, la correspondiente función lógica.

DC/AC Lab

Es una aplicación para construir circuitos sencillos y observar su comportamiento. No utiliza símbolos, sino dibujos de los componentes reales, pero podemos realizar mediciones con un multímetro u observar la señal en un osciloscopio.

Ohm Zone

Es otro sencillo simulador de circuitos eléctricos. Permite medir la intensidad o el voltaje en diferentes puntos del circuito y puede resultar útil para comprender la ley de Ohm en educación secundaria.

 

Hay que añadir que estos u otros simuladores, aunque son imprescindibles hoy en día, no deben sustituir la construcción real de circuitos eléctricos y electrónicos, la realización de prácticas y proyectos con los componentes físicos reales, pues en ellos se ponen en juego competencias y habilidades imposibles de desarrollar delante de la pantalla de un ordenador.

Capítulo 4 Traducción http://inventwithpython.com/

Ir al Capítulo 5 – Chistes

Temas tratados en este capítulo:

  • sentencia import
  • Módulos
  • Argumentos
  • sentencia while
  • Condiciones
  • Bloques
  • Booleanos
  • Operadores de comparación
  • La diferencia entre = y ==.
  • sentencia if
  • La palabra clave break.
  • Funciones str() e int().
  • Función random.randint().

El Juego “Adivina el Número”

Vamos a hacer un juego de “Adivina el Número”. En este juego, la computadora “pensará” en un número aleatorio entre 1 y 20, y le pedirá al usuario que lo adivine. Usted sólo tiene seis oportunidades, pero la computadora le dirá si su suposición es demasiado alta o demasiado baja. Si adivina el número dentro de los seis intentos, usted gana.

Este es un buen juego para que usted pueda comenzar, ya que utiliza números aleatorios, ciclos, y la entrada del usuario en un programa bastante corto. A medida que escriba este juego, usted aprenderá cómo convertir los valores a diferentes tipos de datos (y por qué necesitaría hacerlo).

Debido a que este programa es un juego, vamos a llamar al usuario el jugador, pero la palabra “usuario” también sería correcta.

Muestra de la ejecución de “Adivina el Número”

Así es como el jugador verá nuestro juego cuando el programa se ejecute. El texto que ingresa el jugador está en negritas.

Hola! ¿Cómo te llamas?
Alberto
Bueno, Alberto, estoy pensando en un número entre 1 y 20.
Adivinalo.
10
Tu intento es demasiado alto.
Adivinalo.
2
Tu intento es demasiado bajo.
Adivinalo.
4
Buen trabajo, Alberto! Has adivinado mi número en 3 intentos!

Introduzca el código exactamente como aparece aquí, y luego guardelo haciendo clic en el menú File y luego en Save As. Dele un nombre al archivo, tal como adivina.py y a continuación, ejecutelo presionando la tecla F5. No se preocupe si no entiende el código por ahora, más adelante voy a explicarlo paso a paso.

Código Fuente de “Adivina el Número”

Aquí está el código fuente de nuestro juego “Adivina el Número”. Al introducir este código en el editor de archivos, asegúrese de prestar atención a la sangría de algunas de las líneas. Algunas líneas tienen cuatro u ocho espacios al inicio de ellas. Después de que usted haya escrito el código, guarde el archivo como adivina.py. Puede ejecutar el programa desde el editor de archivos presionando F5. Si ve un mensaje de error, compruebe que ha escrito el programa exactamente como está escrito aqui.

Si no desea escribir todo este código, puede descargarlo en inglés desde el sitio web original de este libro en la dirección URL http://inventwithpython.com/chapter4.

Nota Importante! Asegúrese de ejecutar este programa con Python 3, y no con Python 2. Los programas en este libro utilizan Python 3, obtendrá errores si intenta ejecutarlos con Python 2. Puede hacer clic en Help y luego en About IDLE para averiguar cual es la versión de Python que tiene.

adivina.py
Este código puede descargarse en ingles desde http://inventwithpython.com/guess.py
Si obtiene errores después de escribir este código, puede compararlo con el código del libro con la herramienta en línea desde http://inventwithpython.com/diff o por correo electrónico con el autor en al@inventwithpython.com (N. del T. unicamente en inglés)

  1. # Este es un juego de adivinar el número.
  2. import random
  3. numeroIntentos = 0
  4. print (‘¡Hola! ¿Cuál es tu nombre? ‘)
  5. miNombre = input()
  6. numero = random.randint(1, 20)
  7. print ( ‘Bien, ‘ + miNombre + ‘, estoy pensando en un número entre 1 y 20.’)
  8. while numeroIntentos < 6:
  9.     print ( “Adivinalo.) # Hay cuatro espacios antes de print
  10.     adivina = input()
  11.     adivina = int(adivina)
  12.     numeroIntentos = numeroIntentos + 1
  13.     if adivina < numero:
  14.         print (‘Tu intento es demasiado bajo.’) # Hay ocho espacios antes de print.
  15.     if adivina > numero:
  16.         print ( ‘Tu intento es demasiado alto. ‘ )
  17.     if adivina == numero:
  18.         break
  19. if adivina == numero:
  20.     numeroIntentos = str(numeroIntentos)
  21.     print ( ‘Buen trabajo,’ + miNombre + ‘! Has adivinado mi número en’ + numeroIntentos + ‘ intentos! ‘)
  22. if adivina != numero:
  23.     numero = str(numero)
  24.     print ( ‘No. El número que estaba pensando era ‘ + numero)

A pesar de que estamos entrando en nuestro código fuente en una nueva ventana del editor de archivos, podemos volver a la shell para entrar en las instrucciones individuales para ver lo que hacen. El intérprete de comandos interactivo shell es muy bueno para experimentar con diferentes instrucciones cuando no se está ejecutando un programa. Usted puede regresar al intérprete de comandos interactivo haciendo clic en su ventana o en su botón de la barra de tareas. En Windows o Mac OS X, la barra de tareas está en la parte inferior de la pantalla. En Linux la barra de tareas puede ser localizado en la parte superior de la pantalla.

Si el programa no funciona después de que usted lo ha escrito, compruebe si ha escrito el código exactamente como aparece en este libro. También puede copiar y pegar el código en línea en la herrmienta “diff” en http://inventwithpython.com/diff. esta le mostrará cómo el código es diferente del código fuente de este libro. En el editor de archivos, pulse Ctrl-A para “Seleccionar todo” el texto que has escrito, a continuación, pulse Ctrl + C para copiar el texto en el portapapeles. A continuación, pega este texto haciendo clic en el campo de texto de la herramienta de diferencias en el sitio web y haz clic en el botón “Compare”. (NOTA DEL TRADUCTOR: Esta herramienta solo funciona con el código en inglés) El sitio web le mostrará todas las diferencias entre el código y el código en este libro.

Hay una herramienta de diferencias para cada programa en este libro en el sitio web de http://inventwithpython.com.

La sentencia Import

Echemos un vistazo a cada línea de código a su vez, para ver cómo funciona este programa.

  1. # Este es un juego de adivinar el número.

Esta línea es un comentario. Los comentarios se introdujeron en nuestro programa Hola Mundo en el Capítulo 3. Recuerde que Python ignora todo lo que hay después del signo #. Esto sólo nos recuerda lo que hace el programa.

  1. import random

Esta es una sentencia import. Las sentencias no son funciones (note que ni en import ni en random hay paréntesis después de su nombre). Recuerde, las sentencias son instrucciones que realizan alguna acción, pero no se evalúan como un valor. Ya has visto las sentencias: las de asignación almacenan un valor en una variable (pero la sentencia no evalúa nada).

Si bien Python incluye muchas funciones incorporadas, algunas de las funciones existentes en programas separados llamados módulos. Los módulos son programas Python que contienen funciones adicionales. Nosotros usamos las funciones de estos módulos poniendo en nuestros programas la sentencia import. En este caso, estamos importando el módulo random .

La sentencia import se compone de la palabra clave import seguida por el nombre del módulo. En conjunto, la palabra clave y el nombre del módulo componen la sentencia. La línea 2 es, pues, una sentencia import que importa el módulo llamado random, que contiene varias funciones relacionadas con los números al azar. (Vamos a utilizar una de estas funciones más tarde en la computadora para obtener un número aleatorio que podamos adivinar.)

  1. numeroIntentos = 0

Esta línea crea una nueva variable llamada numeroIntentos. Vamos a almacenar el número de turnos que el jugador hace en esta variable. Dado que el jugador no ha hecho ningún intento hasta ahora, almacenamos el entero 0 aquí.

  1. print ( “¡Hola! ¿Cuál es tu nombre? “)
  2. miNombre = input()

Líneas 6 y 7 son las mismas que las líneas en el programa Hola Mundo que vimos en el capítulo 3. Los programadores de código a menudo reutilizan el código de sus otros programas cuando necesitan programar para hacer algo que ya han codificado antes.

La línea 6 es una llamada de función a la función print (). Recuerde que una función es como un mini-programa que nuestro programa ejecuta, y cuando nuestro programa llama a una función esta ejecuta el mini-programa. El código dentro de la función print () muestra la cadena que puso dentro de los paréntesis en la pantalla.

Cuando estas dos líneas finalizan su ejecución, la cadena que es el nombre del jugador será almacenada en la variable miNombre. (Recuerde, la cadena podría no ser realmente el nombre del jugador. Es justo la cadena que el jugador escribió. Las computadoras son tontas y sólo siguen sus programas sin importar qué.)

La función random.randint()

  1. numero = random.randint(1, 20)

En la línea 9 llamamos a una nueva función llamada randint (), y después almacenamos el valor de retorno en una variable llamadanumero . Recuerde que las llamadas a funciones son expresiones, ya que se evalúan a un valor. A este valor le llamamos valor de retorno de la llamada a la función.

Debido a que el randint () es proporcionado por el módulo random, debemos precederla con random. (No olvidar el periodo!) para decirle a nuestro programa que la function randint () está en el módulo random.

La función randint () devuelve un entero aleatorio entre (e incluyendo) los dos enteros que le demos. Aquí, le damos los números enteros 1 y 20 entre los paréntesis que siguen al nombre de la función (separados por una coma). El número entero aleatorio que randint () devuelve se almacena en una variable llamada numero -este es el número secreto que el jugador trata de adivinar.

Sólo por un momento, vuelve al shell interactivo e introduzca import random para importar el módulo random. A continuación, introduzca random.randint (1, 20) para ver lo que la llamada a la función evalúa. Debe devolver un número entero entre 1 y 20. A continuación, introduzca el mismo código de nuevo y la llamada a la función, probablemente devolverá un número entero diferente. Esto es porque cada vez que se llama la función randint (), devuelve un número aleatorio, como cuando se lanzan los dados usted obtendrá un número al azar en cada ocasión.

>>> import random
>>> Random.randint (1, 20)
12
>>> Random.randint (1, 20)
18
>>> Random.randint (1, 20)
3
>>> Random.randint (1, 20)
18
>>> Random.randint (1, 20)
7
>>>

Cada vez que queremos añadir azar a nuestros juegos, podemos utilizar la función randint (). Y usamos la aleatoriedad en la mayoría de los juegos. (Piense en los juegos de mesa que muchos utilizan como los dados.)

También puede probar diferentes gamas de números, cambiando los argumentos. Por ejemplo, escriba random.randint (1, 4) a obtener sólo números enteros entre 1 y 4 (incluyendo tanto 1 y 4). O intente random.randint (1000, 2000) para obtener números enteros entre 1000 y 2000. Aquí hay un ejemplo de llamada a la función random.randint () para ver cuáles son los valores que devuelve. Los resultados que se obtienen cuando se llama a la función random.randint () probablemente serán diferentes (que es al azar, después de todo).

>>> Random.randint (1, 4)
3
>>> Random.randint (1, 4)
4

>>> Random.randint (1000, 2000)
1294
>>> Random.randint (1000, 2000)
1585

>>>

Podemos cambiar el código del juego ligeramente para que el juego se comportan de manera diferente. Pruebe a cambiar la línea 9 y 10 esto:

  1. numero = random.randint(1, 20)
  2. print ( ‘Bien, ‘ + miNombre + ‘, estoy pensando en un número entre 1 y 20.’)

Por estas líneas:

  1. numero = random.randint(1, 100)
  2. print ( “Bien, ‘+ miNombre +”, estoy pensando en un número entre 1 y 100.)

Y ahora el equipo piensa en un número entero entre 1 y 100. Un cambio en la línea 9 va a cambiar el rango de números aleatorios, pero recuerda cambiar la línea 10 para que el juego también le diga al jugador la nueva gama en lugar de la antigua.

Llamar a funciones que están dentro de módulos

Por cierto, no olvide introducir random.randint (1, 20) y no sólo randint (1, 20), o la computadora no sabrá cómo buscar en el módulo random la función randint () y obtendrá un error como este:

>>> randint(1, 20)
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
NameError: name ‘randint’ is not defined
>>>

Recuerde que su programa para funcionar necesita import random antes de llamar a la función random.randint (). Esta es la razón por la que las sentencias import random por lo general van al inicio del programa.

Pasar argumentos a las funciones

Los valores enteros entre los paréntesis en la llamada a función random.randint (1, 20) se llaman argumentos. Los argumentos son los valores que se pasan a una función cuando la función es llamada. Los argumentos le dicen a la función cómo comportarse. Al igual que los cambios de entrada del jugador de cómo se comporta nuestro programa, los argumentos son insumos para las funciones.

Algunas funciones requieren que usted le pase los valores cuando se las llama. Por ejemplo, mire estas llamadas a función:

input()
print ( ‘Hola’)
random.randint (1, 20)

La función input() no tiene argumentos, pero la llamada a la función print() tiene una y la llamada a función randint () tiene dos. Cuando tenemos más de un argumento, los separamos cada uno con comas, como se puede ver en este ejemplo. Los programadores dicen que los argumentos están delimitados (es decir, separados) por comas. Así es como la computadora sabe dónde un valor termina y empieza otro.

Si pasa muchos o muy pocos argumentos en una llamada a función, Python mostrará un mensaje de error, como se puede ver a continuación. En este ejemplo, el primero llama randint () con un único argumento (muy pocos), y luego llama randint () con tres argumentos (demasiados).

>>> Random.randint (1)
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in <module>
random.randint (1)
TypeError: randint() takes exactly 3 positional arguments (2 given)
>>> Random.randint (1, 2, 3)
Traceback (most recent call last):
File “<pyshell#2>”, line 1, in <module>
random.randint (1, 2, 3)
TypeError: randint() takes exactly 3 positional arguments (4 given)
>>>

Observe que el mensaje de error dice que pasó de 2 y 4 argumentos en lugar de 1 y 3. Esto es así porque Python siempre pasa un extra, el argumento invisible. Este argumento está fuera del alcance de este libro, y usted no tiene que preocuparse por ello.

Bienvenida al jugador

Las líneas 10 y 12 dan la bienvenida al jugador y le dice sobre el juego, y luego empieza a dejar que el jugador adivine el número secreto. La línea 10 es bastante simple, pero la línea 12 se introduce un concepto avanzado (pero útil) llamado un bucle.

  1. print ( “Bien”, ‘ + miNombre + ‘, estoy pensando en un número entre 1 y 20.)

En la línea 10 la función print () da la bienvenida al jugador por por su nombre, y le dice que la computadora está pensando en un número aleatorio.

Pero espera – no digo que la función print () tiene sólo una cadena (string)? Puede parecer que allí hay más de una cadena Pero observa en la línea con cuidado. Los signos más concatenan las tres cadenas para evaluar a una sola cadena, y que es la tcadena que print () imprime la función. Podría verse como que las comas separan las cadenas, pero si se mira de cerca se ve que las comas están dentro de las comillas, y parte son parte de las cadenas.

Loops

La línea 12 tiene algo llamado una sentencia, while lo que indica el comienzo de un bucle while. Loops son partes de código que se ejecuta una y otra vez. Pero antes de que podamos aprender acerca de los bucles while, tenemos que aprender algunos conceptos de otros primero. Estos conceptos son los bloques, booleanos, operadores de comparación, las condiciones, y, por último, la sentencia while.

Bloques

Un bloque es una o más líneas de código agrupado junto con el nivel mínimo de sangría. Se puede decir que un bloque empieza y termina mirando a la sangría de la línea (es decir, el número de espacios en el frente de la línea).

Un bloque comienza cuando una línea se sangría de cuatro espacios. Cualquier línea siguiente que es también sangría de cuatro espacios es parte del bloque. Un bloque dentro de un bloque comienza cuando una línea se sangra con otros cuatro espacios (para un total de ocho espacios delante de la línea). El bloque termina cuando hay una línea de código con la misma sangría antes de que el bloque de empezar.

A continuación se muestra un diagrama del código con los bloques descritos y numerados. Los espacios se han llenado cuadrados de color negro para hacerlas más fáciles de contar.


Figura 4-1: Bloques y su sangría.

Por ejemplo, mire el código anterior. Los espacios han sido reemplazados por casillas negras para que sean más fáciles de contar. La línea 12 tiene un sangrado de cero espacios y no dentro de cualquier bloque. La línea 13 tiene una sangría de cuatro espacios. Dado que este sangrado es mayor que el sangrado de la línea anterior, podemos decir que un bloque nuevo ha comenzado. Líneas 14, 15, 17 y 19 también tienen cuatro espacios para el sangrado. Estas dos líneas tienen la misma cantidad de sangría que la línea anterior, por lo que sabemos que están en el mismo bloque. (No contamos líneas en blanco cuando miramos para el sangrado.)

La línea 20 tiene una sangría de ocho espacios. Ocho espacios de más de cuatro espacios, así que sabemos un bloque nuevo ha comenzado. Este es un bloque que está dentro de otro bloque.

Línea 22 sólo cuenta con cuatro espacios. De la línea antes de la línea 22 había un mayor número de espacios. Debido a que el sangrado haya disminuido, sabemos que el bloque ha terminado. La línea 22 se encuentra en la misma cuadra que las otras líneas, con cuatro espacios.

La línea 23 aumenta la sangría de ocho espacios, por lo que de nuevo un bloque nuevo ha comenzado.

Para recapitular, la línea 12 no es en ningún bloque. Líneas 13 a 23 en un solo bloque (marcado con el círculo 1). La línea 20 se encuentra en un bloque en un bloque (marcado con un círculo 2). Y la línea 23 es la única línea en otro bloque en un bloque (marcado con un círculo 3).

Cuando se escribe código en IDLE, cada letra es la misma anchura. Puede contar el número de letras por encima o por debajo de la línea para ver cuántos espacios se han puesto por delante de esa línea de código.

En esta figura, las líneas de código dentro del cuadro 1 están todos en el mismo bloque, y los bloques 2 y 3 están dentro del bloque 1. Bloque 1 se sangra con al menos cuatro espacios desde el margen izquierdo, y los bloques 2 y 3 son sangría ocho espacios desde el margen izquierdo. Un bloque puede contener una sola línea. Tenga en cuenta que los bloques 2 y 3 son sólo una línea de cada uno.

El tipo de datos Boolean

El tipo de datos Boolean tiene sólo dos valores: Verdadero o Falso. Estos valores son mayúsculas y minúsculas y no son valores de cadena, en otras palabras, usted no pone un “carácter de comillas alrededor de ellos. Vamos a utilizar valores booleanos con los operadores de comparación para formar condiciones. (Ver más abajo.)

Operadores de comparación

En la línea 12 de nuestro programa, la línea de código que contiene la sentencia, mientras que:

  1. mientras que numeroIntentos <6:
Los operadores de comparación Tabla 2-1:.
Operador Regístrate Nombre del operador
< Menos de
> Mayor que
<= Inferior o igual a
> = Mayor o igual a
== Igual a
!= No es igual a

La expresión que sigue a la palabra clave al mismo tiempo (numeroIntentos <6) contiene dos valores (el valor en el numeroIntentos variable y el valor entero 6) conectado por un operador (el signo <, la “menos de” signo). El signo <se llama un operador de comparación.

El operador de comparación se utiliza para comparar dos valores y evaluar a un Verdadero o Falso valor booleano. Una lista de todos los operadores de comparación está en la tabla 2-1.

Condiciones

Una condición es una expresión que combina dos valores con un operador de comparación (como <o>) y se evalúa como un valor booleano. Una condición es sólo otro nombre para una expresión que se evalúa como verdadero o falso. Usted encontrará una lista de otros operadores de comparación en la tabla 2-1.

Condiciones siempre se evalúan como un valor booleano, ya sea verdadero o falso. Por ejemplo, la condición en nuestro código, numeroIntentos <6 pide “es el valor almacenado en numeroIntentos menos que el número 6?” Si es así, entonces la condición se evalúa como True. Si no, la condición se evalúa como False.

En el caso de nuestro programa de adivinar el número, en la línea 4 que almacena el valor 0 en numeroIntentos. Ya que 0 es menor de 6, esta condición se evalúa el valor booleano de True. Recuerde, una condición es sólo un nombre para una expresión que utiliza los operadores de comparación como <o!=.

Experimente con booleanos, operadores de comparación, y condiciones

Introduce las siguientes expresiones en el shell interactivo para ver los resultados de Boole:

>>> 0 <6
Cierto.
>>> 6 <0
Falso.
>>> 50 <10
Falso.
>>> 10 <11
Cierto.
>>> 10 <10
Falso.

La condición 0 <6 devuelve el valor booleano True porque el número 0 es menor que el número 6. Pero debido a que 6 no es inferior a 0, la condición 6 <0 se evalúa como False. 50 no sea inferior a 10, así que 50 <10 es falso. 10 es inferior a 11, por lo que 10 <11 es True.

Pero lo que alrededor de 10 <10? ¿Por qué evaluar a Falso? Es falso, porque el número 10 no es menor que el número 10. Son exactamente el mismo tamaño. Si Alice era la misma altura que Bob, que no quiso decir que Alice es más alto que Pedro o que Alice es más corta que la de Bob. Ambas de estas sentencias sería falso.

Prueba a introducir algunas condiciones al interior del depósito para ver cómo funcionan estos operadores de comparación:

>>> 10 == 10
Cierto.
>>> 10 == 11
Falso.
>>> 11 == 10
Falso.
10.10.
Falso.
10.= 11
Cierto.
>>> ‘Hola’ == ‘Hola’
Cierto.
>>> ‘Hola’ == ‘Good bye’
Falso.
>>> ‘Hola’ == ‘Hola’
Falso.
>>> ‘Good bye’!Hola!
Cierto.

Observe la diferencia entre el operador de asignación (=) y la “igual a” operador de comparación (==). La igualdad (=) el signo se utiliza para asignar un valor a una variable, y el equivalente a (signo ==) se utiliza en expresiones para ver si dos valores son iguales. Es fácil de utilizar uno accidentalmente cuando nos referimos a utilizar el otro, así que ten cuidado de lo que escribe pulg

Dos valores que son diferentes tipos de datos no siempre son iguales entre sí. Por ejemplo, puede ingresar el siguiente en el intérprete de comandos interactivo:

>>> 42 == ‘Hola’
Falso.
>>> 42!Hola!
Cierto.

Bucles con while

La sentencia, mientras que marca el comienzo de un ciclo. A veces en nuestros programas, queremos que el programa para hacer algo una y otra vez. Cuando la ejecución llega a una sentencia, mientras, se evalúa la situación junto a la palabra clave al mismo tiempo. Si la condición se evalúa como True, la ejecución se mueve en el interior del bloque de tiempo. (En nuestro programa, mientras que el bloque comienza en la línea 13.) Si la condición se evalúa como False, la ejecución se mueve todo el camino pasado, mientras que el bloque. (En nuestro programa, la primera línea después del bloque, mientras que es la línea 28.)

  1. mientras que numeroIntentos <6:


Figura 4-2: La condición de bucle while.

Figura 4-2 muestra cómo la ejecución de los flujos en función de la condición. Si la condición se evalúa como True (que lo hace por primera vez, porque el valor de numeroIntentos es 0), la ejecución, mientras que entrar en el bloque en la línea 13 y seguirá bajando. Una vez que el programa llega a la final del bloque, mientras que, en lugar de bajar a la línea siguiente, pero vuelve a crecer, mientras que a la línea de instrucción (línea 12). A continuación, re-evalúa la condición, y si es cierto que entramos en el bloque, mientras que otra vez.

Así es como funciona el bucle. Mientras que la condición es True, el programa mantiene la ejecución del código dentro del bloque, mientras que en varias ocasiones hasta llegar a la final del bloque y al mismo tiempo la condición es falsa. Y, hasta numeroIntentos es igual o superior a 6, vamos a seguir bucle.

Piense en la sentencia, mientras que decir “, mientras que esta condición se cumple, siga recorriendo el código de este bloque”.

Usted puede hacer el juego más difícil o más fácil de cambiar el número de turnos que el jugador recibe. Todo lo que tienes que hacer es cambiar esta línea:

  1. mientras que numeroIntentos <6:

en esta línea:

  1. mientras que numeroIntentos <4:

… y ahora el único jugador recibe cuatro suposiciones en lugar de seis conjeturas. Al establecer la condición de numeroIntentos <4, nos aseguramos de que el código dentro del bucle sólo se ejecuta en cuatro ocasiones en lugar de seis. Esto hace el juego mucho más difícil. Para hacer el juego más fácil, establecer como condición para numeroIntentos <8 o numeroIntentos <10, lo que hará que el bucle se ejecuta un par de veces más que antes y aceptar más respuestas de los jugadores.

Por supuesto, si quitamos la línea 17 en total entonces el numeroIntentos no aumentaría y la condición siempre sería verdad. Esto daría al jugador un número ilimitado de intentos.

Las conjeturas Player

Líneas 13 a 17 pedirá al siguiente jugador que adivinar lo que el número secreto y se les permite entrar en su conjetura. Nosotros guardamos esta suposición en una variable, y luego convertir el valor de la cadena en un valor entero.

  1.     print ( “Adivina.) # Hay cuatro espacios en frente de la impresión.
  2.     Supongo = entrada ()

El programa ahora se nos pide una conjetura. Nos tipo en nuestra suposición, y que el número se almacena en una variable llamada adivinar.

Conversión de cadenas en enteros con la función Int ()

  1.     Supongo = int (supongo)

En la línea 15, que llamamos una nueva función llamada int (). La función Int () toma un argumento. La entrada () la función devuelve una cadena de texto que el jugador escribió. Sin embargo, en nuestro programa, queremos un entero, no una cadena. Si el jugador entra en 5, como su conjetura, la entrada () función devuelve el valor de la cadena “5″ y no el valor entero 5. Recuerde que Python considera la cadena “5″ y el entero 5 a diferentes valores. Así que la función Int () tendrá el valor de cadena que se le da y devolver el formulario valor entero de la misma.

Vamos a experimentar con la función Int () en el shell interactivo. Pruebe a escribir lo siguiente:

>>> Int (’42 ‘)
42
>>> Int (42)
42
>>> Int ( ‘hola’)

Traceback (most recent call last):
Archivo “<pyshell#4>”, línea 1, en <module>
int ( ‘cuarenta y dos)
ValueError: inválido literal for int () con base 10: ‘Hola’
>>> Int ( «cuarenta y dos)

Traceback (most recent call last):
Archivo “<pyshell#5>”, línea 1, en <module>
int ( ‘cuarenta y dos)
ValueError: inválido literal for int () con base 10: «Cuarenta y dos”
>>> Int ( ’42′)
42
>>> 3 + int (’2 ‘)
5

Podemos ver que la int (’42 ‘) llamada devolverá el valor entero de 42 años, y que int (42) hará lo mismo (aunque es una especie de sentido de convertir un entero a un entero). Sin embargo, aunque usted puede pasar una cadena a la función Int (), usted no sólo puede pasar cualquier cadena. Por ejemplo, pasar ‘hola’ a int () (como lo hacemos en el int ( ‘hola’) llamada) resultará en un error. La cadena se pasa a int () debe estar compuesto de números.

El entero se pasa a int () también debe ser numérico, en lugar de texto, por lo que int ( «cuarenta y dos»), también produce un error. Dicho esto, la función Int () es un poco indulgente, si nuestra cadena tiene espacios en cada lado, todavía se ejecutará sin error. Esta es la razón por la int ( ’42′) las obras de llamada.

El 3 + int (’2 ‘) muestra una expresión que se añade un número entero de 3 a el valor de retorno de int (’2′) (que evalúa a 2, así). La expresión se evalúa como 3 + 2, que a continuación se evalúa a 5. Así que, aunque no podemos añadir un número entero y una cadena (3 + ’2 ‘nos mostraría un error), podemos añadir un número entero a una cadena que se ha convertido en un entero.

Recuerde, de nuevo en nuestro programa en la línea 15 de la variable supongo que originariamente el valor de la cadena de lo que el jugador escribió. Le sustituye el valor de cadena almacenada en adivinar con el valor entero devuelto por la función Int (). Esto se debe a que más tarde se compara adivinar el jugador con el número aleatorio del equipo se le ocurrió. , Sólo podemos comparar dos valores enteros para ver si uno es mayor (es decir, superior) o menos (es decir, más baja) que la otra. No podemos comparar un valor de cadena con un valor entero para ver si uno es mayor o menor que el otro, incluso si ese valor de la cadena es numérica, tales como “5″.

En nuestro juego de adivinar el número, si los tipos de jugadores en algo que no es un número, entonces la llamada a la función int () resultará en un error y el programa se bloqueará. En los otros juegos de este libro, vamos a añadir algo más de código para comprobar las condiciones de error como este y dar al jugador una nueva oportunidad para entrar en una respuesta correcta.

Tenga en cuenta que llamar int (supongo) no cambia el valor de la variable de adivinar. La int código (supongo) es una expresión que se evalúa la forma de valor entero de la cadena almacenada en la variable de adivinar. Debemos asignar este valor de retorno de adivinar el fin de cambiar el valor de adivinar a un entero con esta línea completa: adivinar = int (supongo)

El incremento de variables

  1.     numeroIntentos = numeroIntentos + 1

Una vez que el jugador ha tomado una conjetura, queremos aumentar el número de adivinanzas que nos recuerda el jugador que toma.

La primera vez que entramos en el bloque de bucle, numeroIntentos tiene el valor de 0. Python tendrá este valor y se añade 1 a la misma. 0 + 1 1. Luego Python almacenar el nuevo valor de 1 a numeroIntentos.

Piense en la línea 17 en el sentido de “la variable numeroIntentos debe ser uno más de lo que ya es”.

Cuando añadimos una a un valor, los programadores dicen que están incrementando el valor (porque es cada vez mayor por uno). Cuando se le resta uno de un valor, estamos decrementar el valor (porque es una reducción de un uno). La próxima vez que el bloque de bucles bucle alrededor, numeroIntentos tendrá el valor de 1 y se incrementa con el valor 2.

Guess es el reproductor es demasiado baja?

Líneas 19 y 20 de comprobar si el número que el jugador adivinar es menor que el número aleatorio secreto que el equipo se inventó. Si es así, queremos decirle al jugador que su suposición era demasiado baja, imprima este mensaje en la pantalla.

si las sentencias

  1.     si <adivinar número:
  2.          print ( “Su conjetura es demasiado baja.”) # Hay ocho espacios en frente de la impresión.

La línea 19 se inicia una instrucción if con la palabra clave, si. Junto a la palabra clave es si la condición. La línea 20 se inicia un nuevo bloque (se puede decir, porque ha aumentado la sangría de la línea 19 a la línea 20.) El bloque que sigue a la palabra clave si se llama si-bloque. Una sentencia if se utiliza si sólo desea un poco de código que se ejecutará si alguna condición es True. La línea 19 tiene una instrucción if con la condición de adivinar <número. Si la condición se evalúa como True, entonces el código en el bloque si es ejecutada. Si la condición es falsa, entonces el código en el bloque-si se omite.


Figura 4-3: si y mientras las sentencias.

Al igual que la sentencia, mientras que, si la sentencia también tiene una palabra clave, seguida de una condición, y luego un bloque de código. Ver la Figura 4-3 para una comparación de las dos sentencias.

La sentencia de si funciona casi de la misma manera como una sentencia, mientras que, también. Pero a diferencia del bloque, mientras que, la ejecución no salta de nuevo a la sentencia de si al final de la cuadra si. Simplemente continúa hasta la siguiente línea. En otras palabras, si los bloques no se repetirá.

Si la condición es True, se ejecutan todas las líneas dentro del bloque if. La línea sólo si dentro de este bloque en la línea 19 es una impresión () llamada a la función.

Si el entero que el jugador entra es menor que el entero aleatorio del equipo pensado, el programa muestra su suposición es demasiado baja. Si el entero el jugador entra es igual o mayor que el entero aleatorio (en cuyo caso, la condición junto a la palabra clave si hubiera sido falso), entonces este bloque se han saltado.

Adivina el jugador es demasiado alto?

Líneas 22 a 26 en nuestro programa de verificación, si creo que el jugador es demasiado grande o exactamente igual al número secreto.

  1.     si> Supongo número:
  2.          print ( “Su conjetura es demasiado alto.”)

Si creo que el jugador es mayor que el entero aleatorio, si entramos en el bloque que sigue a la sentencia if. La impresión () línea le dice al jugador que su suposición es demasiado grande.

Dejando Loops temprano con la instrucción break

  1.     == adivinar si el número:
  2.          romper

Esta condición, si los controles sentencia para ver si la conjetura es igual al número entero aleatorio. Si es así, entramos en la línea 26, si el bloque que le sigue.

La línea dentro del bloque-si es una sentencia de ruptura que le dice al programa que de inmediato saltar del bloque, mientras que a la primera línea después del final del tiempo-bloque. (La instrucción break no se molesta en verificar de nuevo, mientras que la condición de bucle, sólo se rompe de inmediato.)

La sentencia break es la palabra clave romper por sí mismo, sin condición o colon (: signo).

Si creo que el jugador no es igual al número entero aleatorio, no romper el bloque, mientras que, llegaremos a la parte inferior del bloque, mientras que de todos modos. Una vez que llegamos a la parte inferior del bloque, mientras que, el programa se repetirá de nuevo a la parte superior y otra vez, la condición (numeroIntentos <6). Recuerde que después de la numeroIntentos = numeroIntentos + 1 línea de código que se ejecuta, el nuevo valor de la numeroIntentos 1. Debido a que 1 es inferior a 6, entramos en el bucle de nuevo.

Si el jugador sigue adivinar demasiado alto o demasiado bajo, el valor de numeroIntentos cambiará a 2, luego 3, luego 4, luego 5, y 6. Si el jugador adivinar el número correctamente, la condición en el caso de adivinar == sentencia número sería verdad, y nos habría ejecutado la sentencia break. De lo contrario, seguimos en bucle. Pero cuando numeroIntentos ha almacenado el número 6, mientras que la condición de sentencia es falsa, ya que 6 no es inferior a 6. Porque si bien la condición de la sentencia es falsa, no vamos a entrar en el bucle y en lugar de ir al final del bloque de tiempo.

El resto de líneas de código se ejecuta cuando el jugador ha terminado de adivinar (ya sea porque el jugador adivinar el número correcto, o porque el jugador salió corriendo de conjeturas). La razón por la que el jugador salió del bucle anterior determinará si se gana o se pierde el juego, y el programa mostrará el mensaje apropiado en la pantalla para cada caso.

Compruebe si el won Player

  1. == adivinar si el número:

A diferencia del código de la línea 25, esta línea no tiene sangría, lo que significa que el bloque, mientras que ha terminado y esta es la primera línea, mientras que fuera del bloque. Cuando salimos del bloque de tiempo, lo hicimos bien porque el estado, mientras que la sentencia era falsa (cuando el jugador se queda sin conjeturas) o si se ejecuta la instrucción de ruptura (cuando el jugador adivina el número correctamente). Con la línea 28, de verificación de nuevo para ver si el jugador adivinado correctamente. Si es así, si entramos en el bloque que sigue.

  1.     numeroIntentos str = (numeroIntentos)
  2.     print ( ‘Buen trabajo,’ miNombre + + ‘! Lo has adivinado mi número en el ‘numeroIntentos + +’ conjeturas ‘)

Líneas 29 y 30 están dentro del bloque if. Ellos sólo se ejecutarán si el número de la condición en el caso de sentencia en la línea 28 era cierto (es decir, si el jugador adivinó correctamente el ordenador).

En la línea 29 (que es similar a la conjetura = int (supongo) el código de la línea 15), llamamos a la nueva función str (), que devuelve la forma de cadena de un argumento. Nosotros usamos esta función porque queremos cambiar el valor entero en numeroIntentos en su versión en cadena porque sólo podemos usar cadenas en las llamadas a imprimir ().

La línea 29 le dice al jugador que ha ganado, y cuántas conjeturas que las tomó. Anuncio en esta línea que se modifica el valor numeroIntentos en una cadena porque sólo podemos añadir cadenas a otras cadenas. Si fuéramos a tratar de añadir una cadena a un entero, el intérprete de Python mostrará un error.

Compruebe si el reproductor de Lost

  1. si creo!= Número:

En la línea 32, que usamos el operador de comparación!= Con la sentencia de si la condición para decir “no es igual a”. ” Si el valor de adivinar el jugador es inferior o superior (y por lo tanto, no es igual a) el número elegido por el equipo, entonces esta condición se evalúa como True, y entramos en el bloque que sigue a esta sentencia, si en la línea 33.

Líneas 33 y 34 están dentro del bloque si, y sólo se ejecutarán si la condición es True.

  1.     str = número (número)
  2.     print ( ‘No. El número que pensaba era “+ número)

En este bloque, le decimos al jugador lo que el número es porque no adivinar correctamente. Pero primero tenemos que guardar la versión de serie de serie como el nuevo valor de número.

Esta línea también en el interior del bloque si, y sólo se ejecuta si la condición era cierto. En este punto, hemos llegado al final del código, y el programa termina.

¡Felicidad! Acabamos de programar nuestro juego real primero!

Resumen: ¿Qué es exactamente la programación?

Si alguien te pregunta, “¿Qué es exactamente la programación de todos modos?” ¿Qué podrías decir a ellos? La programación es sólo la acción de escribir código para programas, es decir, la creación de programas que pueden ser ejecutadas por una computadora.

“Pero ¿qué es exactamente un programa?” Cuando usted ve a alguien usando un programa de ordenador (por ejemplo, jugar nuestro juego Guess The Number), todo lo que ves es un texto que aparece en la pantalla. El programa decide qué texto exacto para mostrar en la pantalla (que se llama el producto), sobre la base de sus instrucciones (es decir, el programa) y en el texto que el jugador pulse en el teclado (que se llama la entrada). El programa tiene instrucciones muy específicas sobre lo que el texto para mostrar al usuario. Un programa es sólo una colección de instrucciones.

“¿Qué tipo de instrucciones?” Hay sólo unos pocos tipos diferentes de instrucciones, de verdad.

Expresiones, que se componen de valores relacionados por los operadores. Las expresiones son evaluadas por un solo valor, como 2 + 2 se evalúa como 4 o ‘Hello’ + ” + ‘Mundo’ se evalúa como ‘Hola Mundo’. Las llamadas a funciones son también parte de las expresiones, ya que se evalúan como un valor único a sí mismos, y este valor puede ser conectado por los operadores a otros valores. Cuando las expresiones son junto a los si y mientras las palabras clave, también pedimos a las condiciones.

Las sentencias de asignación, que simplemente almacenar valores en variables, de modo que podamos recordar los valores más adelante en nuestro programa.

si, y romper son las sentencias de control de flujo, ya que decidir que se ejecutan instrucciones. El flujo normal de la ejecución de un programa es para iniciar en la parte superior y ejecutar cada instrucción de bajar uno por uno. Pero estos estados de flujo de control puede hacer que el flujo de instrucciones de salto, el bucle más instrucciones, o salir de bucles. Las llamadas a funciones también cambiar el flujo de ejecución por saltar al comienzo de una función.

La función print (), que muestra el texto en la pantalla. Además, la entrada () puede obtener el texto del usuario a través del teclado. Esto se llama I / O (pronunciado como las letras, “ojo-oh”), porque se trata de la entrada y salida del programa.

Y eso es todo, sólo los cuatro cosas. Por supuesto, hay muchos detalles acerca de esos cuatro tipos de instrucciones. En este libro usted aprenderá acerca de los nuevos tipos de datos y los operadores, sentencias de control de flujo, además de nuevo si, al mismo tiempo y de descanso, y varias funciones nuevas. Hay también diferentes tipos de I / O (entrada desde el ratón, y dar salida de sonido y los gráficos e imágenes en lugar de sólo texto.)

Para la persona que utiliza sus programas, que en realidad sólo se preocupan de que este último tipo, I / O. El usuario escribe en el teclado y luego ve las cosas en la pantalla o escucha cosas de los altavoces. Pero para el equipo para averiguar lo que las vistas para mostrar y lo que suena a jugar, se necesita un programa, y los programas son simplemente un grupo de instrucciones que el programador haya escrito.

Una página Web para el Programa de Seguimiento de

Si tiene acceso a Internet y un navegador Web, usted puede ir a la página web de este libro en http://inventwithpython.com/traces encontrará una página que rastrea a través de cada uno de los programas de este libro. Siguiendo con la traza línea por línea, podría ser más claro lo que el Guess el programa Número hace.


Figura 4-4: La página web de rastreo.

El lado izquierdo de la página web muestra el código fuente, y la línea de relieve es la línea de código que está a punto de ser ejecutado. Se ejecuta esta línea y pasar a la siguiente línea haciendo clic en el botón “Siguiente”. También puede ir un paso atrás haciendo clic en el botón “anterior”, o ir directamente a un paso escribiéndola en el cuadro blanco y haga clic en el “Jump” botón.

En la parte derecha de la página web, hay tres secciones. El “actual valores de las variables” sección se muestra cada variable que se ha asignado un valor, junto con el valor en sí. La sección “Notas” le dará una pista sobre lo que está sucediendo en la línea señalada. El “resultado del programa” sección muestra la salida del programa, y la entrada que se envía al programa. (Esta página web entra automáticamente en texto para el programa cuando el programa le pide.)

Así que a cada una de estas páginas web y haga clic en los botones “Siguiente” y “Anterior” para rastrear a través del programa como lo hicimos anteriormente.

Ir al Capítulo 3 – Cuerdas Ir al Capítulo 5 – Chistes

En Rosario funciona una escuela de hackers – Educación – LaCapital.com.ar

Plantear que en una escuela pública de Rosario funciona una escuela de hackers, con el concepto bastante incorporado a la sociedad de que éste es un pirata que roba información para sacar algún beneficio propio, es al menos un dato intrigante. Pero la realidad indica que en el Complejo Educativo Gurruchaga, en la cátedra de conversión y reparación de datos, que se dicta en el 4º año de la terminalidad informática, funciona desde hace seis años la “Primera escuela de hackers” del país, experiencia que luego tomaron otros colegios de Buenos Aires y algunas de la región, tales los casos de Totoras y Elortondo. Claro que de lo que se trata en este caso es de darle un buen uso a los conocimientos de los secretos de la red: un hacker ético.

La titular de la materia, María Alejandra Falletti, indica en una entrevista con LaCapital, que “es cierto, está institucionalizado que ser hacker es mala palabra, cuando en realidad el término que debería emplearse en cuanto a los piratas informáticos es el de cracker”.

Si bien no hay una definición de diccionario para la palabra hacker, algunos especialistas consideran que éste es simplemente alguien capaz de manejar con gran habilidad cualquier sistema (un aparato, un dispositivo, no necesariamente un ordenador), con el fin de sacarle mayor un rédito o simplemente por divertimento. Esta distinción habría surgido en la década del 60 en Estados Unidos, quizás en el ámbito del Instituto Tecnlógico de Massachussets (MIT).

Hacker ético. Básicamente se trata del Programa Hacker High School para colegios secundarios, surgido en el Instituto para la Seguridad y Metodologías Abiertas (Isecom, su sigla en inglés) destinado a fomentar la seguridad informática y otros buenos usos de la red.

“El proyecto empezó hace 6 años y puede decirse con total seguridad que es la primera escuela de hackers en la educación pública en la Argentina. Es un programa de los EEUU para colegios secundarios. Me contacté con la escuela, empecé a ver el material, me pareció interesante y la empresa Kwell era la que tenía la capacidad de certificar los contenidos en la Argentina. Me puse en contacto con Jorge Bernardo, su titular, y empezamos con las lecciones y lo beneficioso es que la certificación la da una empresa de seguridad informática”, asegura la docente.

Falletti abunda que se trata de “12 lecciones donde se abordan los distintos temas de seguridad informática, donde se usan herramientas que utilizan los hackers. Es lo que se denomina hacking ético. De hecho hay empresas que contratan a hackers pàra controlar su seguridad. Eso es un hacker legal”.

En esas 12 etapas se abordan temas como redes, analizador de paquetes, seguridad del correo, legislación. “Después —agrega— implementamos una plataforma para que el curso sea on line con una evaluación final que los chicos debían aprobar para obtener la certificación. Y a eso lo fuimos enriqueciendo con evaluaciones”.

“Las mismas lecciones —continúa— tienen una aplicación del contenido, una ejercitación y una práctica. Por ejemplo, la primera parte es buscar en Google, no usar las herramientas comunes de un buscador, sino profundizar y ver cómo se puede buscar más detalladamente”.

Primera impresión. Consultada sobre cuál es la primera impresión de los alumnos cuando se les comenta que van a trabajar en una escuela de hackers, explica que “los chicos entran sin saber qué es un hacker ético. Tienen la misma fantasía que la gente común al escuchar esa palabra. En realidad hacker quiere decir especialista y cracker es el verdadero usurpador de datos. Acá los chicos preguntaban si iban a poder hackear Hotmail o si podrán entrar a la página de la Nasa”.

Herramientas.  “Ahora se han acostumbrado —cuenta casi como una rutina— pero al principio era así. Empezamos planteando que eso no se hacía, que no se entraba a una página para sacar contraseñas y datos. Lo que estudiamos es seguridad para que no te hackeen, cómo viaja una contraseña, si se puede interceptar, etcétera. Lo que se trabaja es un analizador de paquetes del tráfico de la red. Los datos viajan por el cable y uno puede analizarlos, y por ejemplo las contraseñas de los mails pasan en texto plano. Uno las puede ver con un determinado programa, al igual que todo lo que uno escribe. Con el wi – fi pasa lo mismo. Uno lo usa en un lugar, digamos un bar, como si nada. Los datos viajan por el aire y como el aire es común, es de todos, yo detecto el tráfico y puedo ver todos los contenidos de la gente que escribe, las contraseñas de sus computadoras, adónde entran”.

“En definitiva, les enseñamos a los chicos la legalidad o la ilegalidad de ciertas cosas. Vos les das las herramientas legales al adolescente y está en uno querer seguir investigando, profundizando y perfeccionándose. Después cómo usar esas herramientas depende de cada uno”, concluye la educadora.

Best Free Ways to Learn Programming

Best Free Ways to Learn Programming

vía Best Free Ways to Learn Programming.

Easy to learn languages
The first entries I want to mention are really simple. In fact they are not really programming languages at all. They are online games in which you have to control a robot and help it light up all the blue tiles by giving it correct set of commands. All you need is an internet connection, a browser, a mouse and a couple of minutes of your time. Do check them out: Light bot and Light Bot 2.
Manufactoria is a puzzle game about putting robots in their proper place. With the help of the conveyor-belts, ‘pullers’ and ‘pushers’ you have to build a machine. If you liked the game, you can also try Tile Factory.
Bug Brain (biologic[DOT]com[DOT]au/bugbrain/) is a game where you build brains to run a bug. You start in the lab where you experiment with the neurons and nodes that make up a brain. After you successfully finish the lab levels, you move out into the field to build a brain for a Lady Bug to help it feed and survive. Bug Brain was tested on Windows XP and it works fine.
Fantastic Contraption and Fantastic Contraption 2 are online games which teach a user some fundamental programming lessons. For example, this games teach you that there are more than one solutions to the problem and that if you failed to finish the level, you have to go back to the drawing board and find where you did make a mistake. This is similar to programming where you have to find errors in your program. If you want to try them out, you should know that first 21 levels of both games are free, while additional levels and making your own levels are not.
Merlin Programmer for Kids is a software, which allows 5- to 8- years old children to learn sequential programming by allowing them to make Merlin or any of the other Microsoft Agent characters perform actions, move, speak, listen for and make sounds in a predetermined manner. It is available for Windows only.
In A. I. Wars 3D: The Insect Mind your goal is to develop a competent reflexes, plus offensive and defensive strategies for your six legged fighting machines code named Cybugs to ensure the survival of your Cybug or your team of Cybugs in a battle simulation. The software is available for Windows only (You need to have Java 5 version or higher installed to the software).

RoboZZle is a online game, where you must develop a program for a small robot to help it collect all the stars on the screen using specialized programming language (You can play full version if you have Silverlight installed. If you don’t have it installed, you can use limited version instead).

Toontalk is not just a programming language or just a video game. Actually, it is both. Children can build and run all sorts of computer programs inside of it’s animated world. While learning how to program they will face challenging puzzles, express their creativity and learn new ways to solve problems. And what is probably the most important thing of all: they will have loads of fun. Toontalk is available for Windows ME, Windows 2000, Windows XP, Vista and Windows 7.
The last game on my list is the The Codex of Alchemical Engineering. As an Alchemical Engineer, you must build machines out of mechanical arms and magical glyphs that transform and combine atoms in order to create the compounds required so you can pass the level. If you don’t want to play the game, but would want to see how it looks like or if you do not know how to start, look at the tutorial for first two levels here. But beware, this game is certainly not easy to play.
With Alice which is an educational programming language with an IDE, you can easily create an animation for telling a story, play an interactive game, or a video which you can share it on the web. It was designed to be a student’s first exposure to object-oriented programming. Alice is available for Windows XP, Vista, Windows 7 and Linux.

FMSLogo is a free implementation of a computing environment called Logo and provides support for exploring diverse disciplines, including mathematics, engineering, art, music, and robotics for children in elementary schools. It has a simple GUI and runs fine even on 10-years old computers. FMSLogo is available only for Windows.

NetLogo is a multi-agent programmable modeling environment which is used by students, teachers and researchers worldwide. It comes with a large library of sample models which cover a large part of natural and social science (Art, biology, Chemistry & Physics, Computer ans Earth Science, Games, mathematics, Network, Social Science and System Dynamics). NetLogo runs on Windows 2000, Windows XP, Vista, Windows 7 and Linux (You need to have at least Java 5 installed to run this software. Java 6 or later is strongly recommended by authors, though.).
Hackety Hack can help you learn how to make software using Ruby programming language. The solution that Hackety Hack pursues is by teaching with a more traditional programming language, but adding libraries that make it easy to do complicated tasks in one line. It is available for both Windows and Linux.
Kojo is a learning environment which enables the user to play, explore, and learn in diverse areas such are: computer programming, computer and internet literacy, math and science, systematic and computational thinking and also art, music, and creative thinking. Features like syntax highlighting, code completion, and code templates make programming friendlier. Kojo is available both for Windows and Linux (You need to have Java 6 installed on your machine to be able to run Kojo.).
Scratch is an educational programming language in which user by snapping together visual programming blocks controls images, music and sound. While it is intended especially for 6- to 16-year-olds, who can create projects with their parents or older siblings, people of all ages actually use it. Scratch is available for Windows 2000, XP, Vista, Windows 7 and also for Linux.
Children can use Etoys to make their own models, stories and games, which keeps them engaged because it’s a lot of fun. It is also a highly effective way to teach math, science, and language arts. Etoys is available both for Windows and Linux.
Löve is a framework for making 2D games in the Lua programming language. If you want to make a game, you need to create a folder and open up your favorite code editor (it must have Lua support built in). Create a new file in the folder you just created, and name it main.lua. Put the following code in the file, and save it. All that is left for you to do is to drag the folder to love.exe. Löve is available for both Windows and Linux.
Game Develop allows you to create simply and quickly your own video games. Creation process is elaborated through the editor, and no previous knowledge is needed in order to use it. Game Develop is available for both Windows and Linux.
Processing is a programming language for people who want to create images, animations, and interactions. The language builds on the Java programming language, but uses a simplified syntax and graphics programming model. It is available for both Windows and Linux.
GameKit is as a full integrated development environment for new programmers to play with high level game programming concepts without needing to know about C++ or OpenGL. It uses a group of custom utilities for creating graphics and sound, and a programming language called Game Kit Language (GKL) for writing code. Because GKL is event-driven, object-oriented, and state-based, it is extremely easy to use once you learn it, and many games can be written in only a page or two of code. GameKit is available for all versions of Windows ranging from Windows 95 to Windows XP.
Construct Classic is a DirectX 9 game creator for Windows, designed for making 2D games. Indie game designers and hobbyists can use it to enter the world of game creation. Artists can produce games without having to use any programming. Teachers and students can use Construct to teach the principles of logic in a fun way. Developers can use it to rapidly create mockups and prototypes — or simply as a faster alternative to coding. With it’s successor, Construct 2, you can also make all sort of games which can run on all modern desktops, mobiles and tablets (Construct Classic is free while Construct 2 Free version offers limited sounds, events and layers). Both software are available foe Windows XP, Vista and Windows 7.
With the help of Kodu, children can make many different types of games, such as racing, strategy, RPGs, adventure, platform, puzzle, 1st person shooters, and others. It is different that some other projects because it avoids typing code by having users construct programs using visual elements via a game controller and also because programs are executed in a 3D simulation environment, rather a bitmapped or 2D display. Kodu is available for Windows XP, Vista and Windows 7 (To run Kodu, you need a graphics card that supports DirectX 9.0c and Shader Model 2.0 or higher, .NET Framework 3.5 or higher and XNA Framework 3.1 Redistributable).
Robomind is a simple educational programming environment that will familiarize users with the basics of computer science by letting them program their own robot. In addition to an introduction to popular programming techniques, they will also gain insight into areas such as robotics and artificial intelligence. RoboMind is available for Windows and Linux.
Greenfoot is an interactive Java development environment, designed primarily for educational purposes at the high school and undergraduate level. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games. It is available for Windows XP, Vista, Windows 7 and Linux (You need to have Java 6 or Java 7 JDK installed on your machine to be able to run Greenfoot.).
Just BASIC is a programming language for the Windows operating system. Since it is based on on the classic BASIC programming language it is easy to learn (the detailed tutorial is included in the package), and it has been extended with structured programming facilities and with easy to use GUI commands so you can create your own Windows programs without needing to learn all the underlying details of the Windows operating system. It is available for Windows only (If you need Just Basic for Linux, look here). If web programming is what interest you, than take a look at Run Basic Free Edition. It is available for both Windows (Windows 2000, XP, Vista) and Linux.
The Gentee programming language can be classified as a procedure-oriented language with some features typical of object-oriented programming. While it is true that it has no complicated constructions and is easy to use, this on the other hand doesn’t mean that it can’t be used for making more complex applications. The Gentee is available for Windows only (older versions are available for both Windows and Linux).
BlueJ is an IDE for the Java programming language. The features of BlueJ are designed as an aid to learning object-oriented programming concepts, as well as an aid to program development itself. As a result, some commonly available tools differ from other environments, some tools are absent, and other tools are provided not commonly found in development environments. BlueJ is available for Windows XP, Vista, Windows 7 and Linux (You need to have Java 6 or java 7 installed on your computer to be able to run BlueJ.).
Suneido is a system for developing and deploying applications without the frustrations of integrating multiple different products. It incorporates an object-oriented programming language, client-server relational database software, and application frameworks and components. It includes the integrated development environment used to create applications as well as the client and server required to run applications across networks. The mission of the authors is to provide a simple and lightweight alternative to larger, complex, expensive and closed programming software. Suneido is available for all Windows versions from Windows NT to Windows 7.
Easy Code is the visual assembly programming environment made to build 32-bit Windows applications. Its interface, looking like Visual Basic, allows the user to program Windows assembler applications in an easy way. Source code of a nice CD player, a complete and fast text editor in a dll file, a complete text editor ready to use, a file shredder, a MIDI player and many other applications are all included in the installer package. If you can’t find an answer to your problem in built-in help, you can ask other users in three different forums for advice. There are two versions of Easy Code available – Masm version (using the Microsoft Macro Assembler) and GoAsm version (using the Jeremy Gordon’s Go tools). Easy Code is available for all versions of Windows ranging from Windows 95 to Windows 7.
Racket is a programming language in the Lisp/Scheme family. It distribution features an extensive library that covers systems and network programming, web development, a uniform interface to the underlying operating system, a dynamic foreign function interface, several flavours of regular expressions, lexer/parser generators, logic programming, and a complete GUI framework. It is available for both Windows and Linux.
Limnor Studio is a generic purpose visual codeless programming system, which opens the door of computer programming to a much broader population. If you are going to use it, you will be able to easily create multimedia interactive kiosks, generate your own CD-ROM presentations, from yearbooks to conferences and trade-shows or make your own data/information management program with databases. There are two versions of Limnor Studio available: Limnor Studio VS (You have to have Microsoft Visual Studio 2008 Shell (Isolated mode) and .Net 3.5 installed on your computer.) and Limnor Studio 5 (You have to have just .Net 3.5 installed). Limnor Studio is available for Windows XP SP3 and Windows 7.
Programming Without Coding Technology (PWCT) is a visual programming languages framework to create and use general-purpose visual programming languages where the programmer don’t need to write the code but can visually specify every functional aspect of the program similar to flowcharts and algorithms. It uses a visual programming method called coding simulation method (CSM) rather than drag-and-drop approach. The author recommends using keyboard shortcuts rather than mouse because you can work faster that way. PWCT is available for Windows only (During installation process you can’t change the install directory.).
Pelles C is a complete lightweight development kit for Windows. It contains (among other things) an optimizing C compiler, a linker, a resource compiler, a message compiler, a make utility and install builders. It also contains an integrated development environment with project management, debugger, source code editor and resource editors for dialogs, menus, string tables, accelerator tables, bitmaps, icons, cursors, animated cursors, animation videos (AVI’s without sound), versions and XP manifests. Pelles C is available for Windows 2000, Windows XP, Vista and Windows 7.

Code Race, multijugador para aprender a crear un sitio web en 5 minutos

Code Race, multijugador para aprender a crear un sitio web en 5 minutos

vía Code Race, multijugador para aprender a crear un sitio web en 5 minutos.

Aprender a programar en Python facilmente

http://www.maestrosdelweb.com/editorial/guia-python/

Posted from WordPress for Android

GNU/Linux 10 razones por que los chicos deben usarlo – Taringa!

10 razones por que los chicos deben usar GNU/Linux


1: Virus/malware

Esta razón, está siempre en la parte superior de mi lista. Todos nosotros, sabemos que los niños son propensos a la apertura, y a realizar las cosas que no deberían. Motivado, a que no se puede chequear a sus hijos el 100 por ciento del tiempo, no se puede saber donde están obteniendo las aplicaciones o archivos adjuntos. Puede asegurarse, que esas máquinas tienen antivirus y anti software espía, pero ¿por qué incluso toman la oportunidad?, cuando sus hijos están utilizando el sistema operativo Linux, esta preocupación desaparece.

2: Seguridad

Esto puede resumirse fácilmente. Si usted, no da a sus niños la contraseña de root, no puede ejecutar con privilegios de administrador del root. Por supuesto, cuando se utiliza una distribución como Ubuntu. Para cualquier sistema operativo basado en la sudo, necesitará editar el archivo/etc./sudoers para dar a los usuarios jóvenes los privilegios que necesitan.

3: Eficacia de costos

Supongamos, que tiene un usuario más joven, que está recibiendo una máquina hand-me-down, que necesita un sistema operativo a instalar. Si no tienes esa copia de Windows alrededor, está sujeto a adquirir una copia nueva. Esto también puede aplicarse a cualquier número de aplicaciones, puede que tenga que pagar. Para evitar estos costos, en total entrega a ese niño la misma máquina que ejecute Linux. No tendrás que pagar por la licencia del sistema operativo, o cualquier aplicación que los niños podrían necesitar, o quieran. Encima de eso, tendrán la herramienta agregar, o quitar programas, donde pueden buscar y encontrar sólo lo que necesita. También, puede ejecutar una distribución moderna en mucho menos hardware que necesitará, para la vista o Windows 7.

4: Herramientas específicas de la edad

¿Debe saber que hay grupos de distribuciones y software diseñados específicamente para los adultos jóvenes y los niños? Ha suavidadorientada para k-6,edubuntu,para las edades 3-18,linuxkidx, para las edades de 2-15,prospectiva kids, para las edades de 3-12 y muchos otros. Estas herramientas específicas por edad están bien adaptadas para el grupo de que su objetivo con gráficos, y lenguaje ajustados para el rango de edad. Y algunas de las distribuciones orientadas específicamente para jóvenes, bloqueado para niños desde el sistema operativo.

5: Portailes(laptop, netbook)

Los niños tienen pequeñas manos, y dedos que pueden manejar un teclado reducido, y fácilmente pueden sentarse con una máquina de pequeña en su regazo. Yel sistema operativo Linux, es ideal para ejecutar en netbooks. Puede instalar un sistema operativo auténtico, o un sistema operativo específico de netbook, junto con cualquier software que necesite en el netbook, convirtiéndolo en una excelente elección para el público más joven.

6: Los estudiantes ágiles

Si colocas una máquina basada en Linux, delante de un usuario joven, no escuchará las quejas como, “¿por qué no se ejecuta quicken!” o “necesito mi app de nómina personalizada para ejecutar en esto!”. La mayoría de los niños, dominaran el sistema operativo Linux rápidamente (y también), con una curva de aprendizaje mínima. Mentes jóvenes, se adaptan bien, a sus hijos, no tendrán ningún problema para adaptarse a las diferencias. Usted podría probablemente sentarse, con un niño, bajar de gentoo (software), ejecutando cde (software) o afterstep (software), y él o ella, habría menos tiempo para explicarle el significado de Linux.

7: Permanecer en el paso

Sé que esto traerá la molestia, en muchos lectores. No estoy diciendo que cualquier sistema operativo, se utilizará más que cualquier otro. Pero Linux, es utilizado en todo el mundo. Muchos países, en su conjunto han adoptado Linux. El futuro de Linux, es muy brillante, y parece estar obteniendo más brillo. Así que, ¿por qué no dar a sus niños una ventaja sobre lo que posiblemente podría ser el futuro de la PC? Si Windows es tan amigable para el usuario, niños, pasando la mayor parte de su tiempo en Linux, no deberían tener ningún problema de trabajar con Windows. De hecho, yo diría que aumentaría la capacidad del niño, para entender completamente el sistema operativo, y cómo realmente funciona el PC.

8: Oportunidades de aprendizaje

Open source, potencian la educación. Prácticamente grita, “me abres y aprendes!” ¿Qué mejor manera de ayudar a los jóvenes a aprender que, dándoles la posibilidad de hacer eso? con los niños realmente curiosos, es extraordinario el deseo de aprender, así que, ¿por qué bloquearlos con el software de código cerrado? cuando un niño está expuesto a abrir el software de fuente y un sistema operativo de código abierto, las oportunidades educativas, son ilimitadas.

9: Una lección en la comunidad

Esto puede parecer un tramo, pero soy un idealista, así que espero que vayan a ir con él. Enseñar a los niños, el valor del software de código abierto, les ayudará a entender las comunidades. Aunque los usuarios jóvenes, probablemente no abran el código fuente de las aplicaciones, que se están utilizando, la constante evolución de hoy en día, impulsado por la comunidad mundial, que necesitan todas las ventajas que pueden llegar a medida que crecen. Tener una sólida comprensión de código abierto, les ayudará a entender, a una edad temprana, lo que significa realmente trabajar con y para un equipo. Usando Linux, a una temprana edad, también indirectamente enseña a los niños el beneficio del voluntariado, algo que muchos de nosotros necesitamos para obtener más información sobre el tema.

10: Filtrado de contenidos

Linux, tiene numerosas maneras de manejar el filtrado de contenidos para los usuarios jóvenes. Dedansguardian (software)asquidguard (software), para la edición manual del archivo /etc/hosts, puede filtrar contenido en Linux, con mucho más detalle, que puede en Windows, y fácilmente. Agregando, a esto la capacidad de bloquear, lo que el usuario joven pueda, y no pueda acceder (sin tener que agregar software de terceros), y Linux rápidamente se convierte en un entorno informático seguro para su niño.

vía GNU/Linux 10 razones por que los chicos deben usarlo – Taringa!.

Hacker rap | smdani

Hacker rap

vía Hacker rap | smdani.

Las 11 mejores aplicaciones de hacking y seguridad para Linux | CyberHades

 

 

1. John the Ripper: herramienta para cracking de contraseñas. Es una de las más conocidas y populares (también tiene versión Windows). Además de autodetectar el hash de las contraseñas, puedes configurarlo como quieras. Lo puedes usar en contraseñas encriptadas para Unix (DES, MD5 ó Blowfish), Kerberos AFS y Windows. Tiene módulos adicionales para incluir hashes de contraseñas badadas en MD4 y almacenadas en LDAP, MySQL y otros.

2. Nmap: ¿quién no conoce Nmap?, sin duda el mejor programa para se seguridad para redes. Puedes usarlo para encontrar ordenadores y servicios en una red. Se usa sobre todo para escanear puertos, pero esta es sólo una de sus posibilidades. También es capaz de descubrir servicios pasivos en una red así como dar detalles de los ordenadores descubiertos (sistema operativo, tiempo que lleva conectado, software utilizado para ejecutar un servicio, presencia de un firewall ó incluso la marca de la tarjeta de red remota). Funciona en Windows y Mac OS X también. Tutorial Nmap.

3. Nessus: herramienta para encontrar y analizar vulnerabilidades de software, como aquellas que puedan ser utilizadas para controlar o acceder a los datos del equipo remoto. También localiza passwords por defecto, parches no instalados, etc.

4. chkrootkit: básicamente es un shell script para permitir descubrir rootkits instalados en nuestro sistema. El problema es que muchos rootkits actuales detectan la presencia de programas como este para no ser detectados.

5. Wireshark: sniffer de paquetes, se utiliza para analizar el tráfico de red. Es parecido a tcpdump (luego hablamos de él) pero con una GUI y más opciones de ordenación y filtro. Coloca la tarjeta en modo promiscuo para poder analizar todo el tráfico de la red. También está para Windows.

6. netcat: herramienta que permite abrir puertos TCP/UDP en un equipo remoto (después se queda a la escucha) , asociar una shell a ese puerto y forzar conexiones UDP/TCP (útil para rasteo de puertos o transferecias bit a bit entre dos equipos).

7. Kismet: sistema de detección de redes, sniffer de paquetes y de intrusión para redes inalámbricas 802.11.

8. hping: generador y analizador de paquetes para el protocolo TCP/IP. En las últimas versiones se pueden usar scripts basados en el lenguaje Tcl y también implementa un motor de strings (cadenas de texto) para describir los paquetes TCP/IP, de esta manera es más fácil de entenderlos además de poder manipularlos de una manera bastante fácil.

9. Snort: es un NIPS: Network Prevention System y un NIDS: Network Intrusion Detetection, capaz de analizar redes IP. Se usa sobre todo para detectar ataques como buffer overflows, acceso a puertos abiertos, ataques web, etc.

10. tcpdump: herramienta de debugging que se ejecuta desde la línea de comandos. Permite ver los paquetes TCP/IP (y otros) que se están transmitiendo o recibiendo desde el ordenador.

11. Metasploit: esta herramienta que nos proporciona información sobre vulnerabilidades de seguridad y permite hacer pruebas de penetración contra sistemas remotos. Tiene también un framework para realizar tus propias herramientas y está tanto para Linux como para Windows. Existen muchos tutoriales por la red donde explican cómo utilizarlo.

vía Las 11 mejores aplicaciones de hacking y seguridad para Linux | CyberHades.

Kit de herramientas de seguridad y hacking para Android | CyberHades

 

 

Router Passwords: más que una aplicación, es una base de datos con toda la información (login y passwords por defecto) de multitud de routers de todas las marcas.

Router Brute Force: si no quieres molestarte mirando el diccionario en la aplicación anterior, puedes intentar averiguarla (por fuerza bruta, usando diccionarios) a través de este programa. Si ya tienes acceso a una red, esta herramienta es perfecta para intentar acceder al router.

Terminal Emulator: necesario, tener siempre a mano una ventana de línea de comandos (shell de Linux) por lo que pueda pasar ;)

Wireless Tether: si necesitas conectar el ordenador a Internet, esta es la aplicación perfecta para hacerlo desde el móvil. Crea un WiFi desde la cual puedes conectar cualquier ordenador y tener acceso a la web.

NetWork Discovery: creo que es la aplicación que más información te ofrece sobre una red. Es capaz de escanear una red y mostrar un listado de todos los dispositivos conectados a la misma con sus respectivas direcciones IP y MAC. Pero no sólo eso, además te lo identifica, si es un router, un PC, una impresora, etc.

PulWifi: muestra las contraseñas por defecto de algunos puntos de acceso WiFi. Soporta las de WLAN_XXXXX, JAZZTEL_XXXXX, YACOMXXXXX, WIFIXXXX, algunos modelos de D-Link y de Huawei. Perfecto para analizar el nivel de seguridad de tu WiFi.

Shark: sniffer de red que funciona en 3G y Wifi. Es un port del famoso tcpdump. Te permite examinar los paquetes TCP/IP que pasan por tu sistema.

ConnectBot: cliente Telnet/SSH de código abierto, permite también hacer SSH tunneling (técnica utilizada para evitar cortafuegos ó proteger tu información).

WifiAnalyzer: otra herramienta más para analizar a fondo una WiFi. Muestra los canales, MAC, tipo de encriptación y la potencia de la señal. Ideal para encontrar el canal perfecto para ajustar nuestro hardware.

ElectroDroid: cuando tienes que pasar a la acción a nivel hardware, esta aplicación puede que te venga bien. Es una biblioteca de referencia sobre Electrónica, que incluye código de color de resistencias, calculadora de varias fórmulas electrónicas, patillaje de todos los puertos de un ordenador y de aparatos de video, tablas de todo tipo, etc. Indispensable.

WLANAudit: aplicación para encontrar redes WiFi y comprobar su seguridad. Con algunos puntos es capaz de calcular la contraseña por defecto del cifrado empleado.

WiFi File Explorer: permite compartir ficheros desde tu dispositivo móvil. En otras palabras, convierte tu móvil en un servidor de ficheros dentro de la red.

Bluetooth File Transfer: busca, explora y gestiona ficheros en cualquier dispositivo Bluetooth usando FTP y OPP. No sólo vivimos de WiFi’s ;)

Hackers Dictionary: por si olvidas algún término, aquí tienes el famoso Jargon File.

Working with BackTrack: desde la instalación de BackTrack hasta todo tipo de información sobre esta distribución Linux de seguridad. Incluye vídeos y documentos de todo tipo, altamente recomendable.

Droidsheep: si ya conoces Firesheep ya sabes de que va esta herramienta. Como la definen en su web “Secuestro de sesiones en un sólo click” o como diría yo (tuxotron) “Secuestro de sesiones a golpe de ratón dedo” :) .

Faceniff: permite capturar sesiones web sobre wifi. Funciona sobre redes Abierta/WEP/WPA-PSK/WPA2-PSK. Es parecida a Droidsheep.

Router Keygen: al igual que PullWifi, detecta y genera las claves de encriptación (WEP y WPA) por defecto de: Routers basados enThomson (Thomson, SpeedTouch, Orange, Infinitum, BBox, DMax, BigPond, O2Wireless, Otenet, Cyta , TN_private ), DLink (sólo algunos modelos), Pirelli Discus, Eircom, Verizon FiOS (sólo algunos modelos), Alice AGPF, FASTWEB Pirelli and Telsey, Huawei (algunos Infinitum), Wlan_XXXX or Jazztel_XXXX (Comtrend y Zyxel), Wlan_XX (algunos modelos), Ono ( P1XXXXXX0000X ), WlanXXXXXX, YacomXXXXXX y WifiXXXXXX (también conocido como wlan4xx ), Sky V1, Clubinternet.box v1 y v2 (TECOM), InfostradaWifi

Fing – Network Tools: herramienta que nos provee funcionalidades para sacar todo tipo de información de un red: network discovery, escaneo de servicios, ping, traceroute, DNS lookup, etc. Muy completa.

Shark Reader: lector de ficheros pcap. Por lo visto tiene problemas con ficheros grandes, pero nos podría resultar muy útil para echar un vistazo rápido después de haber capturado tráfico de red.

Arpspoof: una utilidad casi indispensable para capturar tráfico de red que no vaya dirigido a nosotros usando lo que se conoce como arp spoofing. Digo casi indispensable, porque que podemos conseguir lo mismo con tcpdump.

tcpdump: este no lo teníamos en la lista y que puede decir de éste. Tcpdump es la herramienta de facto de cualquier máquina *nix, para analizar el tráfico de red y por consiguiente capturarlo. Esta versión para Android no tiene la potencia que la de un sistema *nix, pero nos ofrece las funcionalidades básicas, entre ellas la captura de paquetes.

Anti: Android Network Toolkit es un conjunto de utilidades que nos permite explotar servicios en una red local. Es una especie de mini metasploit para Android. El problema es que tiene varias versiones y con lo que te ofrece la gratuita lo puedes hacer con el resto de herramientas aquí listadas, pero se eres un profesional de la seguridad informática, ésta seria una gran adición a tu caja de herramientas.

Routerpwn: colección de vulnerabilidades para los rourters más conocidos y dispositivos embebidos.

vía Kit de herramientas de seguridad y hacking para Android | CyberHades.

Campaña “Internet Segura” CEG

Para una navegación responsable, provechosa y divertida. Campaña “Internet Segura” del Complejo Educativo “Dr. F. de Gurruchaga” – Rosario

Con alumnos de 2do, 3ro y 4to del área Informática del CEG.

Excelente experiencia!

 

 

 

Campaña “Internet Segura” CEG.

Curso de Lógica binaria

Lógica binaria.

 

1. Introducción
Señales analógicas y digitales

2. Código binario, decimal  y hexadecimal
Introducción
De binario a decimal
De decimal a binario
Sistema hexadecimal

3. Tabla de verdad
La tabla de verdad

4. Funciones lógicas
Operaciones lógicas básicas
Función lógica vs  tabla de verdad
Tabla de verdad vs función lógica
Álgebra de Boole

Happy Nerds – Programming Links for Kids

 

 

 

 

 

Happy Nerds – Programming Links for Kids.

Ubunchu! Manga of Linux Ubuntu | Tecnolack

 

 

El manga de la primera distribución GNU/Linux: “la comedia romantica escolar de ubuntu” creada por Hiroshi Seo. Hace poco mas de año que empezó y se habla sobre este proyecto en manos de ASCII MEDIA WORKS Inc bajo una licencia Creative Commons. Actualmente suman ya 5 episodios de los cuales los primeros 3 ya los tenemos en español.

vía Ubunchu! Manga of Linux Ubuntu | Tecnolack.

Automatoon- Easy Animation For The Web!

Automatoon- Easy Animation For The Web!.

 

 

 

El caparazón » Blog Archive » Compartimos de forma exponencial en Facebook, según la ley de Zuckerberg

 

 

de acuerdo con datos de Facebook, la cantidad de cosas que compartimos hoy es el doble que lo que compartíamos hace un año y las cosas que compartiremos en un año serán el doble de las que compartimos hoy. Podríamos resumirla como Y = C *2^X donde X es el tiempo, Y es lo que compartiremos y C es una constante.

vía El caparazón » Blog Archive » Compartimos de forma exponencial en Facebook, según la ley de Zuckerberg.

MoonType, un juego de mecanografía | Juegos Microsiervos

MoonType, un juego de mecanografía | Juegos Microsiervos.

MoonType, un juego de mecanografía

Monntype

MoonType toca uno de mis subgenéros favoritos: los juegos de mecanografía. Hay que teclear lo más rápidamente posible las palabras e ir pulsando Retorno para evitar que lleguen hasta su objetivo: capturar la luna.

Bonus: musiquilla pegadiza y enervante a la vez.

Introducción a la programación con Pyhton. Bartolomé Sintes Marco

Lecciones y ejercicios de programación

LECCIONES EJERCICIOS

vía Introducción a la programación con Pyhton. Bartolomé Sintes Marco.

iBuildApp :: Create Free iPhone Application Using Online Interface Builder| Android, iPad

 

 

 

 

 

iBuildApp :: Create Free iPhone Application Using Online Interface Builder| Android, iPad.

Crear Juegos con RPG JS: Your online RPG on your browser

RPG JS: Your online RPG on your browser.

Seguir

Get every new post delivered to your Inbox.

Únete a otros 67 seguidores