martes, 23 de junio de 2020

Introducción a la programación con PSeInt

En el blog, hemos hablado varias veces de diferentes herramientas para enseñar/aprender a programar: Little Wizard, Python como Primer lenguaje de Programación, Alice

Esta vez, nos vamos a centrar en una herramienta destinada, a asistir a los estudiantes (de diferentes niveles), en los sus primeros pasos en la programación. PSeInt le ayuda a escribir algoritmos utilizando un pseudo-lenguaje simple, intuitivo y en español. El objetivo es permitir al estudiante centrar la atención en los conceptos fundamentales que debe aprender, sin distraernos en los detalles de un lenguaje, o del uso de un intérprete o compilador. Permite ejecutar el algoritmo para observar su funcionamiento y verificar los resultados. Además, puede modificar el algoritmo ejecutado y observar cómo cambia el resultado automáticamente, sin volver a ingresar los datos de entrada. O también puede volver a ejecutar solo una parte del mismo.
 
Estamos realizando un minicurso introductorio a la programación para aquellos jóvenes que deseen introducirse en este maravilloso mundo, y no tengan conocimiento previo. Pueden acceder a el aqui


sábado, 13 de junio de 2020

GUI para reducir el tamaño de archivos PDF

En estos días tuve que reducir varios archivos PDF para poder subirlos a un sitio que tenia un limite de 5 MB por archivo.

La  PC es bastante vieja, usa un ubuntu 11.04 (Natty Narwhal) 64bits

Para reducir el tamaño de un archivo pdf en GNU/Linux podemos utilizar Ghostscript siguiendo estos pasos:

1.- Instalar el programa Ghostscript. Para ello, abre terminal y escribe:

sudo apt-get install ghostscript

2.- Una vez instalado el programa, ir a la carpeta donde está el archivo:

cd /home/usuario/nombredelarchivo

3.- Ejecuta el siguiente comando en el terminal para reducir el tamaño:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=pdf_reducido.pdf pdf_original.pdf
A continuación las opciones de -dPDFSettings:

  • dPDFSETTINGS=/screen (72 dpi, menor tamaño y peor calidad)
  • dPDFSETTINGS=/ebook (150 dpi, calidad media)
  • dPDFSETTINGS=/printer (300 dpi, alta calidad)
  • dPDFSETTINGS=/prepress (300 dpi, alta calidad preservando el color)
  • dPDFSETTINGS=/default (casi idéntico a screen, pero con calidad ligeramente superior)
Me puse a jugar con codeTyphon para hacer el proceso mas simple. y quedo lo siguiente.


 


El programa simplemente es una GUI para Ghostscript. Puedes descargar el programa y el código fuente desde aqui

  1. Para instalar el programa, 
  2. descarga la carpeta instalador descomprime por ejemplo en la carpeta Descargas.
  3. En la terminar (Ctrl+Alt+T), dirígete a la carpeta del instalador
ej
#$ cd/home/usuario/Descargas/instalador/  
#$ sudo chmod 755 installpdfzip.sh
#$ ./installpdfzip.sh

el instalador crea la carpeta /opt/pdfzip, le da permisos de ejecución al programa, e instala el lanzador.

Espero te sirva.

programa para reducir tamaño pdf linux
GUI Ghostscript
compresion PDF

domingo, 31 de mayo de 2020

Higiene y seguridad en el trabajo

El siguiente recurso, lo utilizo como apoyo de mis clases en el cuarto año de la orientación informática.

Contiene conceptos que deben ser ampliados o explicados posteriormente en clase.

Espero les sea de utilidad.

Contenido:
  • Higiene y seguridad en el trabajo
  • Pautas generales de seguridad
  • Armado de un taller de reparación de ordenadores
  • Herramientas que se utilizan
  • Tipos de extintores

La presentación en formato PDF la puedes consultar aqui


Los invito a pasar por el canal de youtube, y si les sirve utilizar el material

jueves, 5 de marzo de 2020

Historia de la Informatica - Sistemas Digitales de Información


El siguiente recurso, lo utilizo como apoyo de mis clases en el cuarto año de la orientación informática.

Contiene conceptos que deben ser ampliados o explicados posteriormente en clase.

Espero les sea de utilidad.

Contenido:
  • Sistemas, electrónica analógica/digital.
  • Teoría de la Información.
  • Información, certidumbre, medida de la información.
  • Informática, componentes y clasificaciones.
  • Notas históricas (Avances de la electrónica y la computación)
Las diapositivas disponibles aqui



El apunte base de este recurso, lo puedes consultar aqui y descargarlo completo desde aquí

viernes, 21 de febrero de 2020

CaBase: app para aprender cambiar de base un numero

Cabase es una aplicación de apoyo didáctico para el tema cambio de bases, en los sistemas numéricos.

La aplicación permite realizar la conversión entre sistemas de numeración decimal, hexadecimal, octal y binario y explica los pasos realizados entre cada conversión.

En primera instancia fue desarrollada para los alumnos del I.P.E.M. 294.

espero les sea de ayuda.






lunes, 22 de abril de 2019

Respuesta Automática a mensajes de Texto


Este capítulo te guía a través de la creación de Respuesta Automática a mensajes de Texto, mientras se conduce. Reproduce en voz alta los mensajes de texto e incluso envía información sobre la localización, como parte del texto automatizado. La aplicación demuestra cómo puedes controlar
Algunas de las excelentes características de un teléfono con Android, incluyendo mensajes de texto SMS, texto a voz, Datos persistentes, y detección de localización por GPS.

Lo que aprenderás

Esta es una aplicación más compleja que las de los capítulos anteriores, por lo que la construirá una función a la vez, comenzando con el mensaje de respuesta automática. Aprenderás
acerca de:
  • El componente de mensajes de texto para enviar y procesar textos recibidos.
  • Un formulario de entrada para enviar el mensaje de respuesta personalizado.
  • El componente de la base de datos TinyDB para guardar el mensaje personalizado incluso después de La aplicación se cierre
  • El evento Screen.Inicializar para cargar la respuesta personalizada cuando la aplicación
    lanza.
  • El componente TextoAVoz para hablar textos en vozs alta.
  • El componente SensorDeUbicacion para informar la ubicación actual del conductor.

Componentes



Tipo de componente
Nombre
Propósito
Etiqueta
etExplicacion
Permite que el usuario sepa como funciona la aplicación
Etiqueta
etRespuesta
La respuesta que será enviada de forma automática cuando se reciba un mensaje
Caja de Texto
ctNuevaRespuesta
El usuario ingresará la respuesta automática, aquí
Boton
btnActualizaRespuesta
El usuario lo utilizará para actualizar la respuesta.
EnviarTexto
EnviarTexto1
Envía el mensaje de texto
TinyDB
TinyDB1
Almacena las respuestas en una base de datos
TextoAVoz
TextoAVoz1
Lee el texto en voz alta
SensorDeUbicacion
SensorDeUbicacion1
Permite saber la ubicación del celular



Establezca las propiedades de los componentes de la siguiente manera:
  • Establezca el Texto de etExplicacion en "El texto a continuación se enviará en respuesta a todos los SMS recibidos mientras ésta aplicación se está ejecutando".
  • Establezca el texto de etRespuesta en "Estoy conduciendo en este momento, me pondré en contacto con usted a la brevedad.”. Compruebe su propiedad negrita.
  • Establezca el texto de ctNuevaRespuesta en “”. (Esto deja el cuadro de texto en blanco para la entrada del usuario)
  • Establezca la Sugerencia (pista) de ctNuevaRespuesta en "Ingresar nuevo texto de respuesta".
  • Establezca el Texto de btnActualizaRespuesta en "Modificar respuesta".


Modifica el ajuste de los componentes para que sean legibles y se ajusten estéticamente a tus deseos.

Responder un texto automáticamente





Personalizando la respuesta




Almacenando la respuesta de forma Permanente

En el mismo bloque anterior, agregamos el procedimiento para almacenar los datos de forma persistente en la base de datos y una etiqueta que nos permitirá recuperar posteriormente los datos guardados.


Recuperando la respuesta personalizada, desde la base de datos

Cuando la aplicación es ejecutada, se dispara este evento (screen1 – Inicializar). Recuperamos la respuesta personalizada desde la base de datos



Leyendo el mensaje de texto en voz alta

Para poder leer un mensaje de texto, llamaremos a la función TextoAVoz. La agregaremos al bloque que trabajamos al comienzo (enviarTexto1.RecibirMensaje)
En el texto a leer, usaremos como entrada del procedimiento, el mensajeDeTexto recibido. Si dejamos el bloque de este modo, sólo nos leera el mensaje y no sabremos quien lo envio. Podemos modificar el texto a reproducir, agregando el texto “Mensaje recibido de”, el numero que nos envia el mensaje, el texto “El mensaje es” y el mensaje recibido.
Para poder hacerlo, utilizamos el bloque unir que se encuentra en los bloques de texto.
Una vez aplicados los cambios, el bloque quedaría así

Para agregar mas cadenas al bloque unir, debes hacer clic en el engranaje y en la ventana emergente arrastrar el bloque cadena (que se encuentra solo), dentro del bloque unir

Agregando la Información de localización a la respuesta personalizada

Utilizaremos una variable ultimaLocalizacionConocida y la inicializaremos con desconocida. Luego cada vez que la posición del celular se modifique, actualizaremos la ubicación.


Posteriormente en el bloque de EnviarTexto1, agregaremos la opción de que envíe nuestra ubicación, con la dirección en la que estamos.


Algunas variaciones de esta aplicación que podemos explorar son:
  • Una versión que le permita al usuario definir respuestas personalizadas para una números de teléfono en particular. Deberá agregar bloques condicionales (si) que verifiquen esos números.
  • Una versión que envíe respuestas personalizadas en función de si el usuario está dentro Ciertos límites de latitud / longitud. En una ubicación predeterminada, como el club, la escuela, o el lugar que tu decidas, la respuesta sea "Carlos está en (la ubicación que decidiste) y no puede enviar mensajes de texto en este momento".
  • Una versión que haga sonar una alarma cuando se reciba un texto de un número en una
    Lista de "notificaciones".


En el siguiente enlace puedes descargar el archivo PDF

miércoles, 3 de abril de 2019

Juego del Topo en AppInventor


  Construiremos un juego, donde ira apareciendo de manera aleatoria en la pantalla un “topo”, al cual deberemos tocar con nuestro dedo. En una etiqueta iremos mostrando los topos “aplastados” y los topos “perdidos”.

Introduciremos en esta aplicación el concepto de procedimiento, el manejo de temporizadores, la generación de números aleatorios, operaciones matemáticas, realizar acciones al iniciar la aplicación y el manejo de parámetros.

La interfaz del juego es la siguiente
  

Los componentes utilizados son
Recuerda que dentro de los lienzos deben ir componentes imagesprite (no el componente imagen, que estuvimos utilizando hasta ahora) 


 Ahora Veremos el video de los bloques


 

Modifica la aplicación
  • Agrega un sonido para que cada vez que “golpees” al topo reproduzca un sonido.
  • Modifica el programa y guarda los valores en variables, en lugar de las etiquetas.
  • Utiliza una sola etiqueta para mostrar el texto y la cantidad de golpes. Y una sola etiqueta para mostrar el texto y la cantidad de perdidos.
  • Modifica la aplicación para que el juego termine al perder 4 topos

    Puedes acceder a los archivos aqui. Si el contenido fue de tu agrado o te ayudó, agradecenos con un clic en la publicidad. Cualquier sugerencia es bienvenida.