I.T.I. Gestión y Sistemas METODOLOGÍA DE LA PROGRAMACIÓN Solución a algunos problemas de la ralación de problemas nº 3. 1.- Elaborar un procedimiento para concatenar dos ficheros binarios con el mismo tipo de registro. El resultado deberá ser otro fichero conteniendo los datos del primer fichero seguidos de los datos del segundo fichero. PROC ConcaFichBin(↓fich1, ↓fich2, ↓sal:TCadena) VARIABLES // DESCRIPTORES DE FICHERO in,out: FICHERO e: TipoElemento INICIO in ← ABRIR(fich1) Out ← CREAR(sal) MIENTRAS ¬EOF(in) HACER LEERBIN(in,e) ESCRIBIRBIN(out,e) FINMIENTRAS CERRAR(in) in ← ABRIR(fich2) MIENTRAS ¬EOF(in) HACER LEERBIN(in,e) ESCRIBIRBIN(out,e) FINMIENTRAS CERRAR(in) CERRAR(out) FIN 2.- Diseñar un algoritmo que recoja del teclado un valor numérico entero y el nombre de un fichero binario conteniendo datos enteros; y que busque en dicho fichero el valor dado. En caso de encontrarlo el algoritmo deberá indicar el lugar (posición del registro) en el que se ha encontrado por primera vez. ALGORITMO BuscaEnteroEnBinario VARIABLES fich: FICHERO name:TCadena busco,x: ENTERO pos: NATURAL encontrado: LÓGICO INICIO ESCRIBIR(“Nombre del Fichero: “) LEER(name) ESCRIBIR(“Entero a Buscar:”) LEER(busco) // DESCRIPTOR DE FICHERO // EN EL MONITOR // DESDE TECLADO // EN EL MONITOR // DESDE TECLADO encontrado ← FALSO fich ← ABRIR(name) LEERBIN(fich,x) ¬ encontrado) ∧ (¬ ¬ EOF(fich)) HACER MIENTRAS (¬ SI (x=busco) ENTONCES encontrado ← VERDADERO pos ← POSICION(fich) – TAMAÑO(x) FINSI LEERBIN(fich,x) EP II. Relación 5 Página 1 I.T.I. Gestión y Sistemas METODOLOGÍA DE LA PROGRAMACIÓN Solución a algunos problemas de la ralación de problemas nº 3. FINMIENTRAS CERRAR(fich) SI encontrado ENTONCES ESCRIBIR(“Encontrado en la posición: “,pos) // EN EL MONITOR ENOTROCASO ESCRIBIR(busco,“ NO ha sido Encontrado”) FINSI FIN 4.- Elaborar un algoritmo que lea un fichero de texto en disco y cuente el número de caracteres, el número de palabras y el número de líneas que contiene el mismo, presentado estos datos como resultado en pantalla. Para contar las palabras, considerar como una palabra cualquier sucesión de caracteres separada por uno o más blancos, tabuladores, símbolos de puntuación o fin de línea. PROC Cuenta(↓ fich:TCadena; ↓↑car: NATURAL, ↓↑pal:NATURAL, ↓↑lin:NATURAL) VARIABLES // DESCRIPTOR DE FICHERO in : FICHERO c: CARACTER INICIO car ← 0 pal ← 0 lin ← 0 in ← ABRIR(fich1) MIENTRAS ¬EOF(in) HACER LEER(in,c) car ← car + 1 SI (c=’ ’) ∨ (c=’.’) ∨ (c=’;’) ∨ (c=’:’) ∨..... ENTONCES pal ← pal + 1 ENOTROCASO SI (c=EOL) ENTONCES pal ← pal + 1 lin ← lin + 1 FINSI FINSI FINMIENTRAS CERRAR(in) FIN 6.- Elaborar un algoritmo que presente en pantalla un fichero de texto cualquiera. ↓ fichIn:TCadena) ALGORITMO typeFich(↓ VARIABLES in:FICHERO e: CARACTER INICIO In ← ABRIR(fichIn) MIENTRAS ¬EOF(in) HACER LEER(in,e) ESCRIBIR(e) FINMIENTRAS CERRAR(in) FIN EP II. Relación 5 // DESCRIPTOR DE FICHERO // OJO, SE ESCRIBE A LA PANTALLA Página 2