Multiplicación, 1 dígito, vertical y horizontal

Multiplicaciones verticales y horizontales de un dígito

Once páginas de ejercicios con multiplicaciones horizontales y verticales de 1 dígito.

Sumas y restas horizontales de un dígito

Sumas y restas horizontales de un dígito

Cinco páginas de ejercicios para practicar sumas y restas horizontales de 1 dígito.

Sumas y restas verticales de cuatro y cinco dígitos

Sumas y restas verticales de cuatro y cinco dígitos

Contiene sumas y restas verticales de cuatro y cinco dígitos con resultados parciales de ayuda y sumas y restas verticales de cinco dígitos sin resultados parciales.

Sumas y restas verticales de dos y tres dígitos

Sumas y restas verticales de dos y tres dígitos

Contiene sumas y restas verticales de dos y tres dígitos, con resultados parciales de ayuda y sin resultados parciales.

Sumas y restas verticales de un dígito

Sumas y restas verticales de un dígito

Cinco páginas de ejercicios para practicar sumas y restas verticales de un dígito.

Aprender a contar

Aprender a contar

Veintinueve páginas de ejercicios dedicadas a aprender a contar los primeros números.

Lectura y vocabulario en inglés

Lectura y vocabulario en inglés

Diecisiete páginas de vocabulario en inglés con texto y fotos de animales domésticos y salvajes, frutas, muebles, vehículos de transporte y utensilios caseros, con letra de "arco y vuelta" ideal para niños.

Lectura y vocabulario

Lectura y vocabulario

Diecisiete páginas de vocabulario con texto y fotos de animales domésticos y salvajes, frutas, muebles, vehículos de transporte y utensilios caseros, con letra de "arco y vuelta" ideal para niños.

Alfabeto

Alfabeto

Cinco páginas de vocabulario con texto y fotos para aprender el vocabulario, con letra de "arco y vuelta" ideal para niños.

Trazos y poliedros

Trazos y poliedros

Once páginas de ejercicios para aprender a utilizar el lápiz y trazar utilizando como motivo poliedros.

Trazos y numeración

Trazos y numeración

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar siguiendo la numeración.

Trazado y laberintos hexagonales

Trazado y laberintos hexagonales

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos hexagonales.

Trazado y laberintos de líneas rectas

Trazado y laberintos de líneas rectas

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos formados por líneas rectas.

Trazado y laberintos de bloques rectangulares

Trazado y laberintos de bloques rectangulares

Once páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos formados por bloques rectangulares.

Lenguaje simbólico azul

Plana con una cuadro de símbolos

En los setenta e inicios de los ochenta escribía en dos lenguajes, que aunque yo los consideraba hermanos, uno más de uso habitual y otro de uso más culto, tenían características y orígenes súmamente diferentes. Con el paso del tiempo y la dificultad de evolucionar, el lenguaje más culto e icónico fue desapareciendo de mi mente y el más habitual estilizándose en mi mano.

Hacia finales de los noventa e inicios del dos mil, el lenguaje icónico había desaparecido, ya no lo sabía escribir y prácticamente no lo podía leer, mientras que el otro se descompuso a su vez en dos, el que seguía escribiendo a mano ya con cierta dificultad y su evolución simbólica, curvilínea y automatizada, esto es, que yo no lo se escribir, aunque si leer, pero que se escribir programas que lo escriben.

Aunque cuando empecé a mecanizar este lenguaje simbólico ya existían tipos de letras escalables de Adobe y Apple y aunque estos símbolos están originalmente definidos como un conjunto de curvas, estas curvas se pasan a un formato gráficos que se escala ya como un mapa de bits, perdiéndose toda posibilidad vectorial. Para automatizar el manejo de estos gráficos he confiado tradicionalmente en Alchemy (alchlong.exe) de Handmade Software, invocándolo desde el lenguaje TOL que es en el lenguaje en el que se programan los algoritmos de escritura. A continuación muestro esta invocación, para dos usos diferentes de alchlong.exe desde TOL:


///////////////////////////////////////////////////////////////////
Set AlcSize(Text filPth) // File path
///////////////////////////////////////////////////////////////////
{
  If(Not(FileExist(filPth)), [[0,0]], // File doesn't exist
  {
    Text tmpDos = "tmp\\alchemy.tmp"; // Store alchemy information
    Text inpDos = "tmp\\smb.imb"; // Alchemy don't handle complex
    Real FilCopy(filPth, inpDos); // file names

    Real sysExe = System("bin\\alchlong.exe "+ // Executable
                         "-x "+                // Options
                         inpDos+" > "+         // Input file path
                         tmpDos);              // Output file path
    Text tmpTxt = ReadFile(tmpDos);
    Text sizTxt = TxtBetween2Tag(tmpTxt,
                                 "Width x Height: ","\n",TRUE);
    If(sizTxt=="", [[0,0]], // Size doesn't exist
    {
      Set  sizSet = Tokenizer(sizTxt,"x"); // width x height
      Real width  = Eval(sizSet[1]+"; ");
      Real height = Eval(sizSet[2]+"; ");
      [[width, height]]
    })
  })
};
///////////////////////////////////////////////////////////////////
PutDescription(
"Returns a set (width, height) in pixels of a image.",
AlcSize);
///////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////
Real Bmp2Pic(Text bmpDir,
             Text picDir)
///////////////////////////////////////////////////////////////////
{
  Set filSet = GetDir(bmpDir)[1];
  Set filCic = EvalSet(filSet, Real(Text filNam)
  {
    Text inpFil = bmpDir+"/"+filNam;
    Text outFil = picDir+"/"+Replace(filNam,".bmp",".gif");
    FilMake(inpFil, outFil, Real(Text inpFil, Text outFil)
    {
      Text inpDos = "tmp\\smb.bmp";
      Text outDos = "tmp\\smb.gif";

      Real FilCopy(inpFil,inpDos); // Alchemy don't handle complex
                                   // file names
      Real sysExe = System("bin\\alchlong.exe "+   // Executable
                           "-g -Xb56 -+ ---t -o "+ // Options (84) 
                           inpDos+" "+          // Input file path
                           outDos);            // Output file path

      Real FilCopy(outDos,outFil);

      sysExe
    })
  });
  Card(filCic)
};
  

En la plana de lenguaje simbólico que puede verse al final de este post, los símbolos están ajustados a un cuadrado sobre una imagen de fondo que corresponde a mi acuarela llamada «requiescant in pace». Es a la vista de la plana cuando se entiende que clasifique este post más como pintura y poesía que como pura tecnología.