Talk:Input/Output for lines of text: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 27:
warning: I need the number of lines to enter!
 
Se me ocurren, al menos, 3 métodos para realizar esta tarea:
[[User:Mr_Dalien|Mr_Dalien]]
1) Usando un archivo (¿creado con atributo "hidden"?), donde la primera línea sea el número ingresado: el resto de las líneas del archivo, son las ingresadas a través del STDIN (con eco en la pantalla). Si el archivo existe, se puede comprobar el número, y contar las líneas ya registradas, para determinar si existe "overflow"; si no existe "overflow", guardar la línea en el archivo, e imprimir la línea en la pantalla. Cuando se alcanzó el total de líneas, se borra el archivo, y se pide que ingrese un número.
 
2) Se puede usar el sistema de mensajería, en SO Linux, y hacer algo semejante a lo indicado en el punto 1.
 
3) Este método sirve para aquellos programas que son interpretados por alguna máquina virtual. Todos los programas "ejecutables" de esta clase, tienen una estructura conocida:
a) Se puede abrir el programa en modo "BINARIO".
b) Localizar la dirección donde se guarda el valor que inicializa el contador de líneas.
c) si dicho valor es "0" (ASCII 48), guardar, en el lugar del "0", el número que entró a través del STDIN, en formato ASCII. Por supuesto, hay que verificar que lo ingresado sea un número.
d) si dicho valor no es "0", se asumirá que lo ingresado, sea lo que sea, es una de las líneas esperadas:
d.1) imprimir la línea.
d.2) decrementar el valor del contador, y guardarlo en la posición exacta, dentro del programa.
d.3) cerrar el archivo de tu programa, y terminar la ejecución del programa.
e) si el contador es "0", y se ingresó algo distinto de un número, o bien mandar un mensaje warning, o no hacer nada.
f) si el contador es "0", y se ingresó un número, volver al paso a).
Cordialmente: [[User:Mr_Dalien|Mr_Dalien]] (Amazing Hopper) 24/11/2021, 22:17
543

edits