[ Foro de Pascal ]
Cordial saludo profesor Nacho cabanes,de antemano mil gracias por tu tiempo.
Profesor es que inicie con el tema de ficheros y me surge que no se distinguir la diferencia entre un archivo de texto y otro de tipo, porejemplo:
sea el archivo
datos.dat
pedro 15123456 02 15
miguel 18987678 02 17
cristina 19435564 02 12
julia 17765432 02 17
carla 19890657 02 15
en cada linea se esta almacenando un registro correspondiente al nombre ,identificacion, grupo y nota de un conjunto de estudiantes como se observa.
bien yo lo tomaria como una archivo de tipo pero en este otro caso:
Dado un array A de M elementos enteros,donde alguno de ellos se repiten,almacenados en un archivo VectorA.dat, Desarrolle un programa que genere un archivo resultado.dat como un vector B con los elementos de A evitando las repeticiones.
ejemplo
vectorA.dat resultado.dat
3 A B
-1 3 3
2 -1 -1
3 2 2
3 3 7
-1 3
7 -1
3 7
3
Ahi esta mi duda profesor como puedo tratar este archivo como un archivo de texto siendo que su contenido son numeros enteros????
y otra duda que me surge en el tema de archivos: cuando se? que en un enunciado se trata de un archivo secuencial o directo? y en base a ello con que instrucciones o cual es la forma de trabajar con cada uno de estos archivos segun el caso?
gracias por su siempre ayuda.
La forma "sencilla" de distinguir un fichero de texto de un fichero binario es: si lo puedes abrir con el bloc de notas (o con otro editor básico de textos), sin que aparezcan símbolos extraños, entonces es un fichero de texto.
Así, si abres "vectorA.dat" con el bloc de notas y se ven correctamente esos números 3, -1, 2, etc (ya sea cada uno en una línea, separados por espacios, etc), entonces es un fichero de texto. En ese caso, leerías cada dato del fichero con "readln" (si están cada uno en una línea) o con "read" (si están en la misma línea).
Si el bloc de notas no te muestra nada claro, quizá sea un fichero binario, en el que el primer byte no es el carácter "3" del código ASCII (que se almacena como un número 51, como podrás ver si buscas una tabla ASCII), sino el byte 3, que no se puede mostrar en pantalla. De la misma forma, un "10" se almacenaría como dos bytes si es un fichero de texto (49 y 48) o como un solo byte (10, no imprimible) si es un fichero binario).
Quien te plantea el ejercicio es quien te tiene que dar esos detalles, o bien los puedes intentar descubrir tú, si te dan un fichero de ejemplo.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)