Está en la página 1de 4

Metodologa y Tecnologa de la Programacin I Relacin de Ejercicios Nmero 3

Temas 8 y 9
127. Escribir un programa que almacene en un array de registros los nombres de los alumnos, sus notas parciales y finales. Hallar la nota media y mostrar un mensaje de APTO si el alumno supera o iguala la calificacin de 5 o NO APTO si no lo alcanza. 128. Escribir un programa que almacene en un array de registros las caractersticas de cada persona: nombre, sexo, edad, peso, color de pelo, color de piel, color de ojos, nacionalidad y telfono. 129. Dada la siguiente definicin de tipo, Tfecha, construir la funcin EDAD que devuelva un entero indicando la edad actual en aos de una persona. La fecha de nacimiento y la fecha actual se pasan como parmetros de tipo TFecha a la funcin: TFecha = Registro Dia : 1..31 Mes : 1..12 Anno : Integer FIN 130. Escribir un programa que copie en un fichero del tipo file of tipo otros dos ficheros del mismo tipo, uno a continuacin del otro. 131. Elaborar un programa que pida un valor entero al usuario y busque en un fichero de enteros dado dicho valor, y en caso de encontrarlo, que indique la posicin en la que se ha encontrado. 132. Elaborar un programa que calcule el porcentaje de nmeros capicas que existan en un fichero de tipo ENTERO. 133. Escribir un programa que lea valores de un fichero de arrays e imprima la media de cada array en un fichero de texto. 134. Crear un fichero de n registros con la siguiente descripcin segn la clave cdigo : Codigo nombre tipo info : : : : 1..2000; String[10]; Integer; Array [100] Of char;

135. Ordenar un fichero de registros con la descripcin del ejercicio anterior. 136. Implementar un procedimiento que escriba en pantalla los registros de un fichero de la descripcin del ejercicio 135 que tengan el tipo comprendido entre dos nmeros dados. 137. Implementar el procedimiento Borrar que elimina fsicamente un registro de un fichero. 138. Realizar la declaracin necesaria para almacenar la informacin que aparece en el Documento Nacional de Identidad. 139. Desarrollar una aplicacin para mantener y gestionar un fichero de clientes. Implementar procedimientos para la creacin y eliminacin del fichero, y para la adicin, modificacin, eliminacin y consulta de registros. La consulta debe permitirse tanto por clave como por otro u otros campos.

Universidad de Jan

17

Metodologa y Tecnologa de la Programacin I

Relacin de Ejercicios

140. La Polica Municipal de Jan desea realizar un programa para dirigir las multas de estacionamiento indebido a los propietarios de los vehculos mal aparcados. Para ello, desea trabajar con tres ficheros, uno para las personas, en los que almacenar los datos que aparecen en el D.N.I.; otro para los vehculos, de los que almacenar la matrcula, nmero de bastidor, marca, modelo y color; y por ltmio, un tercer fichero para las multas, que relacione los propietarios con los vehculos, el concepto de la multa, la fecha de la sancin y el importe de la misma. Realizar las definiciones de los registros y de los ficheros necesarios para resolver el problema. 141. Los profesores de la Universidad de Jan desean un programa para calcular de manera automtica la nota de los alumnos. Para ello, disponen de un fichero en el que se almacena la siguiente informacin de los alumnos: DNI, nombre, apellidos, nota del primer parcial, nota del segundo parcial, nota del examen final y nota de prcticas. a) Realizar la definicin de la estructura de datos necesaria para resolver el problema. Realizar un algoritmo para sacar un listado con los alumnos que han aprobado la asignatura. Para aprobar la asignatura ser necesario: obtener ms de un cinco en prcticas obtener una nota mayor o igual que cinco en el examen final, o haber obtenido en los dos exmenes parciales una nota mayor que cuatro, siendo la media de estas dos notas superior o igual a cinco.

b)

142. Una agencia de viajes desea informatizar la gestin de sus clientes. Para ello, se ha descrito la necesidad de tres ficheros con la siguiente informacin: Los registros del primer fichero tienen dos campos: el D.N.I. y el nombre del viajero. Los registros del segundo fichero contienen cuatro campos: el n de reserva, el destino, el total de das del viaje y el nombre del hotel. Los registros del tercer fichero tienen dos campos, el n de reserva y el D.N.I.

Implementar en Pascal los siguientes apartados: a) b) c) Determinar la estructura de datos asociada al problema. Dado un nombre de un cliente, mostrar todos los destinos que tiene. Dado un nombre de un hotel, dar el nombre de todos los clientes que se hospedan en l. Calcular el nmero medio de das que un cliente de esta agencia pasa de vacaciones.

d)

143. Una academia de enseanza desea enviar informacin de los cursos a los alumnos matriculados en la misma. Realizar un programa capaz de realizar cartas personalizadas, enviando el resultado a impresora. El programa leer el texto de la carta de un fichero de texto, de manera que cuando en ese fichero aparezca la palabra CAMPOn (siendo n un nmero entero con rango del 1 al 5, correspondindose a cada uno de los campos del registro), inserte en esa posicin el valor del campo correspondiente de otro fichero en el que se almacenarn datos con la siguiente estructura: nombre: string[20]; apellidos: string[30]; direccion: string[30];

Departamento de Informtica

18

Metodologa y Tecnologa de la Programacin I

Relacin de Ejercicios

deudaTotal: Curso1:

integer; string[20];

144. Una compaa de distribucin de piezas de automovil quiere informatizar la gestin de las ventas que realiza. El analista de la aplicacin ha decidido estructurar la base de datos en tres ficheros que van a contener la siguiente informacin: Fichero de representantes: Cdigo del representante, Nombre y direccin. Fichero de pedidos: Cdigo del representante, cdigo de la pieza y cantidad. Fichero de piezas: Cdigo de la pieza, nombre de la pieza, color, peso y ciudad de fabricacin.

Sobre estas especificaciones iniciales mnimas, se pide resolver en Pascal las siguientes cuestiones: a) Definir una estructura de datos capaz de soportarla, sealando todas las declaraciones necesarias, as como las operaciones de inicializacin de los ficheros. Disear un procedimiento para determinar cuntas piezas fabricadas en una ciudad dada han sido pedidas en total. Escribir un procedimiento para calcular el peso de los pedidos de un representante concreto dado por su nombre. Escribir un procedimiento que, dado el nombre de una pieza, nos permita obtener el nombre de los representantes que la han vendido.

b)

c)

d)

145. Una determinada institucin bancaria est interesada en conocer el nmero de crditos concedidos, de los diferentes tipos con los que ella trabaja, en cada una de las sucursales de las ciudades en que tiene abiertas oficinas, en un determinado intervalo de tiempo. Se supone que: El banco est implantado en un nmero variable de ciudades y en cada ciudad tiene abiertas cuatro sucursales: Urbana 0, Urbana 1, Urbana 2 y Urbana 3. Los tipos de crdito con los que trabaja son: Personal, Hipotecario, Preferencial y Otros tipos. Con esta informacin, realizar lo siguiente: Definir la estructura de fichero adecuada para almacenar dicha informacin. Elaborar un programa Pascal que cree y cargue datos en el fichero definido en el apartado anterior, suponiendo que los datos se capturan por teclado. Una vez creado el fichero anterior, elaborar un programa para calcular el nmero total de crditos concedidos de cada tipo y escribirlos, con un mensaje adecuado, en un fichero de texto creado al efecto.

146. Una sedera fabrica cuatro tipos de telas (lino, seda, algodon, poliester), cada una de ellas en diferentes colores (rojo, azul o verde). Para cada tipo de tela de un color determinado, la sedera guarda la informacin de cuntos rollos de tela hay disponibles, y cul es el precio unitario de cada rollo. Ejemplo: para tela de lino, color rojo, hay 55 rollos disponibles, y su precio unitario es $10,50 Se pide: a) Defina un tipo de dato TStockSederia para representar la informacin anterior

Departamento de Informtica

19

Metodologa y Tecnologa de la Programacin I

Relacin de Ejercicios

b)

Escriba una funcin TelaConMayorExistencia, que devuelva el nombre de la tela para la cual hay ms cantidad de rollos disponibles (ej: si hay 40 rollos de lino, 30 de seda, 50 de algodon y 85 de polister, la tela con mayor existencia ser poliester). Note que no importa el color, sino el tipo de tela. Escriba un procedimiento ColoresAbundantes, que dado el stock de la sedera determine qu colores son abundantes (sin importar el tipo de tela). Un color se dice abundante si hay con ms de 100 rollos disponibles de ese color. Escriba un procedimiento MostrarStock que muestre en pantalla el stock disponible, de la manera en que se muestra en el ejemplo de abajo. Tela: Lino Tela: Lino . Tela : Polister Stock de telas disponible Color : Rojo Cant.Rollos: 55 Color: Azul Cant.Rollos: 30 Color: Verde Cant.Rollos: 1 Prec.Unit: 1,30 Prec.Unit: 1,50 Prec.Unit: 5,30

c)

d)

147. Escribir un programa que lea de un fichero de texto y cuente el nmero de veces que se repite un carcter suministrado por teclado. 148. Escribir un programa que muestre por pantalla la longitud de las secuencias de repeticin de un carcter en un fichero de texto. 149. En un fichero de texto encontrar la frecuencia de repeticin de un string pasado como parmetro. 150. Implementar un procedimiento CopyFileTXT que copia el fichero de texto FUENTE en el fichero de texto DESTINO. 151. Implementar un procedimiento que concatene dos ficheros de texto F1, F2 en un fichero DESTINO. No se debe destruir ninguno de los ficheros fuente. 152. Elaborar un programa que liste por pantalla un fichero de texto cualquiera 153. Elaborar un programa que lea un fichero de texto en disco y cuente el nmero total de lneas y de caracteres del fichero. 154. Dado un fichero de texto, escribir un programa que cuente el nmero de palabras que aparecen en dicho fichero. Considerar como una palabra cualquier sucesin de caracteres separada por blancos o marca de fin de lnea. Ejemplo: (? significa fin de lnea) Este es un ejemplo para ? Probar ? El funcionamiento de un programa que cuenta las palabras En este ejemplo la salida esperada es 15 155. Escribir en pantalla todas las lneas palndromas de un fichero de texto. 156. Usando un slo fichero cambiar de un fichero de texto todas los caracteres C por D. ChangeChar (FName: String; C,D: Char); 157. En el archivo de tipo texto glosario.dat se encuentran una serie de abreviaturas en orden alfabtico seguidas por su descripcin en la lnea siguiente. Disear y elaborar un programa Pascal que dndole una abreviatura del fichero conteste con su descripcin completa. Si la abreviatura pedida no apareciese en el fichero el programa indicar la abreviatura anterior y posterior. Nota: Las abreviaturas tienen una longitud mxima de 10 caracteres, pero desconocemos la longitud mxima de las descripciones.

Departamento de Informtica

20