Biografía de Niklaus Wirth: http://es.wikipedia.org/wiki/Niklaus_Wirth
A Niklaus Wirth le recuerdo de mis años de estudiante en la universidad como el inventor de Pascal.
Vistas de página en total
jueves, 5 de diciembre de 2013
sábado, 2 de noviembre de 2013
Jcl: Apuntes en pdf
He encontrado los siguientes apuntes en pdf sobre jcl en Internet. Adjunto enlaces:
Espero que os sean de utilidad.
viernes, 4 de octubre de 2013
Humor - Apagar equipo
¿Os imagináis que al acabar la jornada laboral de hoy vieseis lo siguiente al apagar el equipo?
¿Por cuál optaríais?
viernes, 6 de septiembre de 2013
Portal de tecnología e informática
He encontrado el siguiente portal http://www.libreriainformatica.com/ en el que podrás encontrar diferentes publicaciones (libros, tutoriales, revistas...) sobre tecnología e informática.
Aunque a simple vista pueda parecer que tiene buena pinta pero en cuanto a tutoriales le veo un poco flojo. Quizás, puede ser interesante la sección Revistas pero tampoco es para tirar cohetes.
jueves, 1 de agosto de 2013
miércoles, 24 de julio de 2013
Cobol: conversiones entre tipos de datos (2)
Supongamos que tenemos un fichero de entrada en el que uno de los campos, por ejemplo REG-E-IMPORTE, es un PIC X(15) y representa un importe de 13 posiciones enteras y 2 posiciones decimales. ¿Qué tendríamos que hacer para convertir dicho campo a un PIC S9(13)V9(2) USAGE COMP-3?
Es muy sencillo y muy fácil. En un programa que he realizado recientemente (y que está probado) he declarado en working las siguientes variables:
01 WS-IMP1 PIC X(15).
01 WS-IMP1-N REDEFINES WS-IMP1 PIC 9(15).
01 WS-IMP1-AUX PIC 9(15) VALUE ZEROES.
01 WS-IMP-AMORT-PRINC PIC S9(13)V9(02).
En el programa, en donde corresponda, tendríamos que codificar lo siguiente:
MOVE REG-E-IMPORTE TO WS-IMP1
MOVE WS-IMP1-N TO WS-IMP1-AUX
MOVE WS-IMP1-AUX(1:13) TO WS-IMP-AMORT-PRINC(1:13)
MOVE WS-IMP1-AUX(14:2) TO WS-IMP-AMORT-PRINC(14:2)
Pues esto es todo lo que hay que hacer. A lo mejor te preguntarás: pero, ¿qué sucede si el campo REG-E-IMPORTE es un PIC X(13) y tenemos que convertirlo a un PIC S9(13)V9(2) USAGE COMP-3? Pues muy sencillo. Tanto la longitud de WS-IMP1 como la de WS-IMP1-N sería 13 mientras la definición de WS-IMP1-AUX y WS-IMPO-AMORT-PRINC sería exactamente a la indicada anteriormente. En cuanto al código, sería exactamente el mismo que el indicado anteriormente.
lunes, 15 de julio de 2013
Citas Informáticas 2
Aquí vienen algunas citas de Dijkstra.
Sobre FORTRAN...
Sobre Basic...
Es prácticamente imposible enseñar a programar correctamente a estudiantes que han estado expuestos a Basic con anterioridad; como programadores potenciales han sido mentalmente mutilados más allá de cualquier esperanza de regeneración.
Sobre PL/I...
PL/I es una enfermedad terminal. Pertenece más al conjunto de los problemas que al de las soluciones.
Sobre Cobol...
El uso de COBOL produce parálisis cerebral; por tanto su enseñanza debería considerarse constitutivo de delito.
Y sobre APL...
APL es un error, llevado a la perfección. Es el lenguaje del futuro para las técnicas de programación del pasado: creará una nueva generación de incompetentes.
No dejaba títere con cabeza.
lunes, 1 de julio de 2013
Libros informática: Editorial RA-MA
Si te interesa comprar un libro de informática en particular de la editorial RA-MA puedes acceder a su página web (http://www.ra-ma.es/) y pinchar donde pone Informática:
Ahí encontrarás todos los libros de informática de la editorial RA-MA.
jueves, 27 de junio de 2013
miércoles, 19 de junio de 2013
Cobol: imprimir información (2) - generar un pdf
En relación a la impresión de información desde un programa Cobol tenemos la impresión de un pdf.
He localizado el siguiente enlace, muy interesante, que explica cómo se hace:
Verás que se menciona los ficheros de impresión, para saber un poco más de este tema consulta la entrada de mi blog con título Cobol: imprimir información (1).
martes, 11 de junio de 2013
lunes, 3 de junio de 2013
Cursos on-line
He encontrado la siguiente página web, a través de la cual puedes realizar diferentes cursos on-line: http://www.cursonline.net/
También existe la página web del Departamento de Lenguajes y Sistemas Informáticos perteneciente a la Escuela Técnica Superior de Ingeniería Informática de la UNED (para verla pincha aquí). En el área CURSOS DE FORMACIÓN podéis encontrar un área llamada Información Específica en la que hay dos puntos: Cursos de Enseñanza Abierta (no se requiere titulación) y Cursos de Formación del Profesorado (se requiere titulación). En los cursos existentes en el primer grupo te exigirán que tengas conocimientos de algún tipo de lenguaje de programación o que tengas instalada alguna herramienta específica (dependiendo del curso en el que te intereses). Los cursos del segundo grupo van dirigidos a profesores...con lo cual, para hacer estos cursos, estás limitado a si eres profesor o no. Aunque, desde el punto de vista que a nosotros nos interesa, es decir, la informática y los lenguajes de programación, los cursos que realmente nos interesan están encuadrados en el epígrafe de Cursos de Enseñanza Abierta (no se requiere titulación) pues es ahí donde están ese tipo de cursos.
En la sección ÁREAS DE FORMACIÓN podrás encontrar diferentes cursos relacionados con áreas como Web 2.0 (entre los que destaca el curso de Community Manager), Diseño, Ofimática y Programación. Cabe destacar que todos estos cursos son de pago.
También existe la página web del Departamento de Lenguajes y Sistemas Informáticos perteneciente a la Escuela Técnica Superior de Ingeniería Informática de la UNED (para verla pincha aquí). En el área CURSOS DE FORMACIÓN podéis encontrar un área llamada Información Específica en la que hay dos puntos: Cursos de Enseñanza Abierta (no se requiere titulación) y Cursos de Formación del Profesorado (se requiere titulación). En los cursos existentes en el primer grupo te exigirán que tengas conocimientos de algún tipo de lenguaje de programación o que tengas instalada alguna herramienta específica (dependiendo del curso en el que te intereses). Los cursos del segundo grupo van dirigidos a profesores...con lo cual, para hacer estos cursos, estás limitado a si eres profesor o no. Aunque, desde el punto de vista que a nosotros nos interesa, es decir, la informática y los lenguajes de programación, los cursos que realmente nos interesan están encuadrados en el epígrafe de Cursos de Enseñanza Abierta (no se requiere titulación) pues es ahí donde están ese tipo de cursos.
viernes, 31 de mayo de 2013
miércoles, 29 de mayo de 2013
Cobol: imprimir información (1)
Si queremos imprimir información debemos enviar información a impresora (valga la redundancia).
¿Cómo se hace eso desde Cobol? Muy fácil, sólo tenemos que crear un fichero en nuestro programa que haga referencia a la impresora.
Estamos acostumbrados a poner algo como lo siguiente:
SELECT FENTRADA ASSIGN TO FENTRADA
La anterior sentencia lo que hace es asignar en nuestro programa cobol el
nombre FENTRADA al fichero FENTRADA que existe en el jcl que llama a
nuestro programa.
Pero crear un fichero en nuestro programa que haga referencia a la impresora es tan fácil como lo siguiente:
FD IMPRES LABEL RECORD OMITTED
01 REG-IMPRES PIC X(80)
Y luego, sólo que habría que informar la información a imprimir y escribirlo en el fichero.
Esto es muy típico, por ejemplo, cuando nos llega un fichero en entrada con el formato adecuado para ser impreso lo procesamos de manera que cada línea leída se va grabando en el fichero que hace referencia a la impresora que, después de todo, es un fichero de salida.
lunes, 27 de mayo de 2013
lunes, 20 de mayo de 2013
Apuntes en pdf de Visual Basic
He reunido algunos apuntes en pdf de Visual Basic que he encontrado en internet. Adjunto enlaces:
http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/VisualBasic6/vbasic60.pdf
http://www.jp.unlugar.com/Visual.pdf
http://www.vacationinnicaragua.com/microsoft/visual-basic/visual-basic-2008.pdf
Espero que os sean de utilidad.
Etiquetas:
apuntes,
apuntes de VB,
apuntes de VB en pdf,
apuntes de visual basic,
apuntes de visual basic en pdf,
apuntes en pdf,
pdf,
VB,
Visual Basic
lunes, 13 de mayo de 2013
viernes, 3 de mayo de 2013
Cobol: Perform
La instrucción PERFORM nos permite transferir el control a otro u otros procedimientos (párrafos) o bien realizar una serie de sentencias dentro de ella misma mientras se cumplan las condiciones que le hayamos indicado.
A continuación vamos a ver los diversos formatos de esta instrucción.
Formato 1: Con este formato transferimos el control del programa a un párrafo, cuando éste termine vuelve el control a la instrucción que sigue al PERFORM.
PERFORM nombre_párrafo
Formato 2: Una extensión del anterior es indicarle que ejecute más de un párrafo, especificando el inicio y el fin.
PERFORM nombre_párrafo1 THRU nombre_párrafo2
Nota: Los párrafos relativos a
nombre_párrafo1 y a
nombre_párrafo2 pueden ir seguidos, por lo que se ejecutará uno y luego el otro; pero al poner el THRU lo que conseguimos es que el control no se devuelva hasta llegar al párrafo indicado después del THRU. Es decir, entre los párrafos
nombre_párrafo1 y nombre_párrafo2 podrá haber cinco párrafos más y todos ellos se hubieran ejecutado.
Formato 3: Seguimos ampliando las capacidades, ahora conseguimos que el PERFORM se realice tantas veces como se indique en el número o variable que va delante de TIMES.
PERFORM nombre_párrafo1 [THRU nombre_párrafo2] número-o-variable TIMES
Formato 4: Igual que el anterior formato solo que el número de veces que se ejecute dependerá de una condición y no de un número fijo.
PERFORM nombre_párrafo1 [THRU nombre_párrafo2] número-o-variable UNTIL condición
Formato 5: Ejecutar una serie de sentencias en un bucle utilizando PERFORM y END-PERFORM.
PERFORM número-o-variable TIMES
condiciones
END-PERFORM
condiciones
END-PERFORM
Nota: Como veis no puede haber puntos entre el PERFORM y el END-PERFORM puesto que eso haría terminar con error la sentencia. Es decir, en condiciones estarán todas las sentencias a ejecutar, una detrás de o otra y ninguna de ellas lleva punto.
PERFORM VARYING variable FROM número-o-variable1 BY número-o-valor2
UNTIL condición
sentencias
END-PERFORM
La anterior sentencia inicializa la variable indicada en variable con el valor que sigue al FROM, es decir el valor indicado por el número o variable de número-o-variable1, a continuación va incrementado el valor de la variable en la cantidad indicada por el valor de número-o-valor2 que va después del BY y ejecuta las sentencias que van a continuación hasta que se cumple la condición indicada en condición y que suele ser algo del estilo a variable = número-o-valor3.
Formato 6: En primer lugar, hay que aclarar que, por defecto, el contenido del PERFORM se ejecuta después de hacer la comprobación de la condición que precede a UNTIL, pero podemos hacer que ésta se realice antes.
número-o-variable1 BY número-o-valor2 UNTIL condición
sentencias
END-PERFORM
Con la opción TEST BEFORE, que es la opción por defecto, se comprueba primero la condición y si se cumple se ejcuta el resto, con lo cual es posible que las sentencias no se ejecuten ninguna vez, si al comenzar ya está rota la condición.
Con la opción TEST AFTER, se ejecutan las sentencias antes de comprobar la condición, con lo cual las sentencias se van a ejecutar al menos en una ocasión, incluso aunque entremos en el PERFORM con la condición rota.
jueves, 25 de abril de 2013
Carencia de profesionales Cobol
Como profesional del Cobol y del entorno HOST, sigo el blog llamado Consultorio Cobol. En él, se ha publicado recientemente una entrada hablando acerca de la dificultad que tienen las empresas de encontrar programadores cobol (pinchar aquí para ver la entrada). En esa misma entrada se adjunta el artículo en el que se basa dicha entrada.
Curiosamente en linkedin he encontrado un debate en uno de los grupos a los que pertenezco que ha sido iniciado con la siguiente entrada del blog de Ramiro González en el que se cuenta lo mismo (pincha aquí para ver la entrada).
Curiosamente en linkedin he encontrado un debate en uno de los grupos a los que pertenezco que ha sido iniciado con la siguiente entrada del blog de Ramiro González en el que se cuenta lo mismo (pincha aquí para ver la entrada).
El perfil del programador cobol sigue siendo un perfil muy demandado, de hecho, el negocio de algunos sectores (el bancario por ejemplo) depende enormemente del entorno HOST. Depende de tal manera que si hoy mismo desapareciera el cobol y se extinguiera, se conseguiría lo que no ha hecho 5 años de crisis: que los bancos se fueran al garate de forma fulminante. Pero, a pesar de ello, me resulta enormemente curioso que entre los informáticos y programadores de otros lenguajes como Java se siga teniendo la falsa creencia de que el cobol es un lenguaje casi extinto y que queda muy poca gente programando en cobol.
Visto lo visto, el cobol tiene tal resistencia al paso del tiempo y a las modas que tengo la sensación de que si hoy mismo cayese una bomba atómica sólo sobrevivirían dos cosas: las cucarachas y el cobol.
viernes, 19 de abril de 2013
Apuntes en pdf de C#
He los siguientes apuntes en pdf de C# que he encontrado en internet. Adjunto enlace:
http://www.fcharte.com/libros/IntroduccionVSharpExpress2005.pdf
Espero que os sean de utilidad.
http://www.fcharte.com/libros/IntroduccionVSharpExpress2005.pdf
Espero que os sean de utilidad.
jueves, 18 de abril de 2013
Citas Informáticas 1
Ley de Alzheimer de la programación: si lees un código que escribiste hace más de dos semanas es como si lo vieras por primera vez. - Dan Hurvitz
Qué gran verdad!!! ¿A quién no le ha pasado eso alguna vez? Tras dos semanas, o incluso menos, necesitas varios minutos para repasar el código y recordar qué hacía eso con la sensación de "¿Pero yo he hecho esto?¿En serio?"
lunes, 15 de abril de 2013
Cobol: Lista de FILE STATUS (para VSAM)
Hemos visto los posibles FILE STATUS que puede devolver un fichero secuencial cuando éste es manejado en un programa cobol. Pero, ¿qué sucede con los VSAM o ficheros indexados?
Aquí os dejo un listado de FILE STATUS para VSAM: FILE STATUS (para VSAM)
Este listado es el más completo que he encontrado porque en este listado existen algunos códigos, como el 19, que no son contemplados en otros listados que he encontrado en otras páginas.
lunes, 8 de abril de 2013
lunes, 1 de abril de 2013
Cobol: apuntes en pdf
He reunido algunos apuntes en pdf de cobol que he encontrado en internet. Adjunto enlaces:
Los encontrarás en la página HOST de este mismo blog (bajo el epígrafe de Apuntes encontrados en internet).
Espero que os sean de utilidad.
Espero que os sean de utilidad.
martes, 19 de marzo de 2013
Apuntes en pdf de C++
He reunido algunos apuntes en pdf de C++ que he encontrado en internet. Adjunto enlaces:
http://www.uv.es/~sto/cursos/c++/curso95.pdf
http://mat21.etsii.upm.es/ayudainf/aprendainf/Cpp/manualcpp.pdf
http://es.tldp.org/Manuales-LuCAS/doc-tutorial-c++/doc-tutorial-c++.pdf
http://www.tic.udc.es/~fbellas/teaching/cpp/CPP.pdf
Espero que os sean de utilidad.
lunes, 11 de marzo de 2013
viernes, 1 de marzo de 2013
Cobol: manejo de ficheros VSAM
He encontrado unos apuntes realmente interesantes acerca del manejo de ficheros VSAM y de longitud variable. El enlace de dichos apuntes es el siguiente: http://es.scribd.com/doc/36278564/CODIFICACION-COBOL-VSAM
Son unos apuntes muy útiles en caso de tener que manejar ese tipo de ficheros en un programa cobol.
Desde aquí quiero agradecer al autor de dichos apuntes, taurus22, por compartirlos.
miércoles, 20 de febrero de 2013
Concurso para elegir al 'mejor estudiante de Cobol'
El ganador recibirá una beca de trabajo remunerada y por una duración de seis meses en AnyHelp y, además, entrará en los procesos de selección que tiene Micro Focus para su sede en el Reino Unido, ya que la compañía británica está reclutando profesionales hispanohablantes para su centro internacional de atención a usuarios, ubicado en Belfast (Irlanda).
El concurso (I Concurso Visual Cobol) está dirigido a estudiantes de Informática que estén matriculados en cualquier Facultad o Escuela autorizada. Para participar en la convocatoria es preciso presentar un proyecto en lenguaje de programación Cobol orientado al entorno empresarial.
El plazo de presentación concluye el 11 de marzo y los premios se otorgarán en el propio Congreso RITSI.
Mucha suerte a los participantes.
viernes, 1 de febrero de 2013
Apuntes en pdf de C
He reunido algunos apuntes en pdf de C que he encontrado en internet. Adjunto enlaces:
http://informatica.utem.cl/~rcorbin/files/programacion_2006_2/Apuntes%20de%20C.pdf
http://studies.ac.upc.edu/EPSC/SO/documentos/prog_c_dac_doc.pdf
Espero que os sean de utilidad.
http://informatica.utem.cl/~rcorbin/files/programacion_2006_2/Apuntes%20de%20C.pdf
http://studies.ac.upc.edu/EPSC/SO/documentos/prog_c_dac_doc.pdf
Espero que os sean de utilidad.
jueves, 17 de enero de 2013
Libro recomendado del mes
El libro que os voy a recomendar en esta ocasión es Programación con Visual Basic .NET de Fernando Charte (editorial Anaya).
La pega que puede tener este libro es que está indicado para gente con un nivel medio o avanzado en Visual Basic. Lo utilicé cuando aprendí a programar en Visual Basic .NET pero para aprender ciertas cosas, lo más básico del Visual Basic .NET lo aprendí gracias a unos apuntes que me dieron mientras estudiaba y a la página web de EL Guille (dicha página la encontrarás en la sección Páginas de Interés de este mismo blog).
Por lo tanto, este libro os lo recomendaría siempre que tengas ciertas nociones de Visual Basic .NET, dichas nociones las puedes adquirir a través de los diversas páginas existentes (como la mencionada anteriormente) o a través de los apuntes que hay colgados en internet.
Cabe destacar que este libro incluye un CD-ROM con los ejemplos indicados en el libro.
La pega que puede tener este libro es que está indicado para gente con un nivel medio o avanzado en Visual Basic. Lo utilicé cuando aprendí a programar en Visual Basic .NET pero para aprender ciertas cosas, lo más básico del Visual Basic .NET lo aprendí gracias a unos apuntes que me dieron mientras estudiaba y a la página web de EL Guille (dicha página la encontrarás en la sección Páginas de Interés de este mismo blog).
Por lo tanto, este libro os lo recomendaría siempre que tengas ciertas nociones de Visual Basic .NET, dichas nociones las puedes adquirir a través de los diversas páginas existentes (como la mencionada anteriormente) o a través de los apuntes que hay colgados en internet.
Cabe destacar que este libro incluye un CD-ROM con los ejemplos indicados en el libro.
Etiquetas:
.NET,
libro,
libro de .NET,
libro de VB,
libro de VB .NET,
libro de visual basic,
libro de visual basic .NET,
VB,
VB .NET,
Visual Basic,
visual basic .NET
miércoles, 2 de enero de 2013
Cobol: conversiones entre tipos de datos (1)
En una entrada anterior, cuyo título era Cobol: redefines (pinchar aquí para ver dicha entrada), vimos cómo utilizar la cláusula redefines. En uno de los ejemplos indicados se utilizaba esta cláusula para convertir un alfanumérico en un numérico. Ésto es muy útil cuando tenemos datos alfanuméricos del tipo '00005', '00045', '00345' y '02345' porque al redefinirlos en un dato numérico del tipo PIC 9(05) tenemos que obtendríamos los siguientes datos numéricos: 00005 (o lo que es lo mismo 5), '00045' (o lo que es lo mismo 45), '00345' (o lo que es lo mismo 345) y '02345' (o lo que es lo mismo 2345).
Pero, ¿qué sucede si nos llega un alfanumérico como '1 '? Como se puede observar en ese alfanumérico, lo que nos estaría llegando es un 1 y cuatro espacios en blanco detrás de ese 1. Si redefinimos dicho alfanumérico en un numérico como el indicado anteriormente, PIC 9(05), tendríamos el valor 1 con valores inadecuados en las cuatro posiciones siguientes y esto podría resultar indeseable al realizar un tratamiento de dicho dato numérico. Pues bien, en esta entrada vamos a ver cómo solventar este caso.
Veamos el siguiente ejemplo: queremos transformar la cadena '10 ' en una variable numérica 00010 (o 10) de tipo PIC S9(5). Para ello haremos el tratamiento que se explica a continuación.
Tenemos las siguientes variables:
W100-NUM-DIAS -> PIC X(10)
variable alfanumérica que podrá venir informado como '10 ' o '360 '
W100-NUM-DIAS-N -> PIC S9(5)
variable numérica en la que guardaremos el valor anterior transformado
W400-INDICE -> PIC 9(02)
W400-CONT-NUM -> PIC 9(01)
W400-IND-NUM -> PIC 9(01)
W400-IND-MAX -> PIC 9(01)
Y la siguiente constante:
W300-M-1 PIC S9(1) VALUE -1.
El código a ejecutar para realizar dicha transformación sería el siguiente:
MOVE 1 TO W400-CONT-NUM
PERFORM UNTIL W100-NUM-DIAS(W400-CONT-NUM:1) IS NOT NUMERIC
OR W400-CONT-NUM > 5
ADD 1 TO W400-CONT-NUM
END-PERFORM
MOVE W400-CONT-NUM TO W400-IND-NUM
ADD W300-M-1 TO W400-IND-NUM
MOVE 5 TO W400-IND-MAX
MOVE ZEROES TO W100-NUM-DIAS-N
PERFORM UNTIL W400-IND-NUM = ZEROES OR W400-IND-MAX = ZEROES
MOVE W100-NUM-DIAS(W400-IND-NUM:1) TO
W100-NUM-DIAS-N(W400-IND-MAX:1)
ADD W300-M-1 TO W400-IND-NUM
ADD W300-M-1 TO W400-IND-MAX
END-PERFORM.
Este fragmento podría incluirse en un párrafo cuyo nombre podría ser, por ejemplo, TRANSFORMAR-ALFANUM-NUM.
Pero, ¿qué sucede si nos llega un alfanumérico como '1 '? Como se puede observar en ese alfanumérico, lo que nos estaría llegando es un 1 y cuatro espacios en blanco detrás de ese 1. Si redefinimos dicho alfanumérico en un numérico como el indicado anteriormente, PIC 9(05), tendríamos el valor 1 con valores inadecuados en las cuatro posiciones siguientes y esto podría resultar indeseable al realizar un tratamiento de dicho dato numérico. Pues bien, en esta entrada vamos a ver cómo solventar este caso.
Veamos el siguiente ejemplo: queremos transformar la cadena '10 ' en una variable numérica 00010 (o 10) de tipo PIC S9(5). Para ello haremos el tratamiento que se explica a continuación.
Tenemos las siguientes variables:
W100-NUM-DIAS -> PIC X(10)
variable alfanumérica que podrá venir informado como '10 ' o '360 '
W100-NUM-DIAS-N -> PIC S9(5)
variable numérica en la que guardaremos el valor anterior transformado
W400-INDICE -> PIC 9(02)
W400-CONT-NUM -> PIC 9(01)
W400-IND-NUM -> PIC 9(01)
W400-IND-MAX -> PIC 9(01)
Y la siguiente constante:
W300-M-1 PIC S9(1) VALUE -1.
El código a ejecutar para realizar dicha transformación sería el siguiente:
MOVE 1 TO W400-CONT-NUM
PERFORM UNTIL W100-NUM-DIAS(W400-CONT-NUM:1) IS NOT NUMERIC
OR W400-CONT-NUM > 5
ADD 1 TO W400-CONT-NUM
END-PERFORM
MOVE W400-CONT-NUM TO W400-IND-NUM
ADD W300-M-1 TO W400-IND-NUM
MOVE 5 TO W400-IND-MAX
MOVE ZEROES TO W100-NUM-DIAS-N
PERFORM UNTIL W400-IND-NUM = ZEROES OR W400-IND-MAX = ZEROES
MOVE W100-NUM-DIAS(W400-IND-NUM:1) TO
W100-NUM-DIAS-N(W400-IND-MAX:1)
ADD W300-M-1 TO W400-IND-NUM
ADD W300-M-1 TO W400-IND-MAX
END-PERFORM.
Este fragmento podría incluirse en un párrafo cuyo nombre podría ser, por ejemplo, TRANSFORMAR-ALFANUM-NUM.
Suscribirse a:
Entradas (Atom)