DEPARTAMENTO DE MATEMATICA - FCEyN - UBA

 

Curso de programación en el lenguaje J


Segundo Cuatrimestre 2006


 

La solución de problemas en el mundo real mediante modelos matemáticos requiere del uso de la computadora. El año pasado tuvimos la experiencia de plantear en clase dos problemas reales pero solo 6 de los 42 alumnos pudieron resolverlos y probar su solución porque la mayoría no sabia programar. Esta carencia nos ha motivado a ofrecer un lenguaje especialmente pensado para el análisis matemático, lógico y estadístico de la información.
Este cuatrimestre daremos un curso del lenguaje "J" . Las clases tendrán lugar en el laboratorio Epsilon, los martes de 17 a 19. No se requiere un conocimiento previo de otro lenguaje de programación. El curso es extracurricular, sin puntaje ni exámenes y puede hacerlo cualquier persona que sepa leer inglés. Si usted estuviera interesado, escriba un mail para ser inscripto a fvicent@arnet.com.ar

El J es un lenguaje funcional, es decir, tiene incorporados un conjunto de funciones primitivas y reglas de composición con las que se generan otras funciones definidas por el usuario. Las funciones se aplican a datos en forma de "arrays", es decir, vectores y matrices numéricas o alfanuméricas. Esto hace al lenguaje conciso y con una sola expresión puede resolver un problema complejo. Por ejemplo, la siguiente expresión calcula todos los primos menores que R:

(-. R e. , R*/R) # R=: 2}. i. R


Descifrando este código de derecha a izquierda se leería:
1) Generar los números 2, 3, ..., R y renombrar a dicha sucesión R.
2) Hacer la tabla de multiplicar Rx R.
3) Seleccionar los números en R que no están en R x R.

Como en los otros lenguajes, el J usa palabras de control como 'if' o 'while' para variar la secuencia de ejecución de las sentencias. El programa del curso es el siguiente:


Aparte de las clases, se entregará al alumno ejercicios para que los resuelva por su cuenta con su PC o en las máquinas del laboratorio Epsilon. El alumno puede bajarse el software para la operación del sistema de esta página.

NOTA. Kenneth Iverson creó una notación matemática que usó en IBM en 1962 para diseñar el lenguaje de programación APL (A Programming Language). Luego, el J fue creado por Iverson y Hui en los 90's mediante una síntesis del APL con los FL y FP de John Backus. Estos lenguajes se apartan del modelo de von Neumann que es común a casi todos los demas lenguajes de programación.

  1. Iverson K. "A Programming Language".Wiley, New York, 1962.
  2. Backus J. "Can Programming be Liberated from the von Neumann Style? ACM, 1978.
  3. Stokes R. "Learning J". Jsoftware, 2002.

 

Prácticas en formato pdf


Los archivos con formato pdf (Portable Document Format) se leen con el Acrobat Reader

       Práctica 1
       Práctica 2
       Práctica 3
       Práctica 4      Respuestas
       Práctica 5 Respuestas
       Práctica 6      consiste en volver a hacer los ejercicios de la práctica 5 utilizando las palabras de control

 

Software necesario




Depto. de Matemática