Soluciones a ejercicios seleccionados (Curso 98/99)
Esta página pretende ser un foro de presentación de soluciones a
ejercicios planteados en clase y a ejercicios de las práticas. Si
sólo contribuyo yo, esto será bastante aburrido. Si todos
aportamos soluciones, al final de curso pordríamos disponer de un
conjunto de ejercicios resueltos (y posibles discusiones) bastante completo.
- Ejercicio de Clase:
Ejercicio:
Leer números reales
del teclado carácter a carácter.
- Ejercicio de Clase:
Ejercicio:
Este programa calcula el número de veces que aparece en un fichero de texto
cuyo nombre pregunta, la cadena de caracteres que se introduzca por el teclado.
Esta solución se ha hecho utilizando cadenas de caracteres de tamaño
fijo.
- Ejercicio de Clase:
Ejercicio:
Este programa calcula el número de veces que aparece en un fichero de texto
cuyo nombre pregunta, la cadena de caracteres que se introduzca por el teclado.
Esta solución se ha hecho utilizando cadenas de caracteres de tamaño
acotado o limitado (Bounded_Strings).
- Ejercicio de Clase:
Ejercicio:
Escribir un programa que codifique línea por línea el contenido del fichero de texto `origi.nal' escribiendo el resultado en el fichero de texto `cifr.ado'.
La codificación se realizará en base a las siguientes premisas:
* Se considerarán como caracteres válidos los comprendidos entre ` ' (espacio en blanco) y `~'.
* Inicialmente se leerá del teclado un número entero positivo que servirá de clave para la codificación. Sea k el número de cifras de dicha clave, n1 su primer dígito, n2 el segundo, ..., y nk el último (es decir, la cifra de las unidades).
* El primer carácter de cada línea del texto se sustituirá por aquél cuyo ordinal es n1 unidades mayor. El segundo por aquél cuyo ordinal es n2 unidades mayor... y el k-ésimo por por aquél cuyo ordinal es nk unidades mayor. El (k+1)-ésimo por aquél cuyo ordinal es n1 unidades mayor, el (k+2)-ésimo por aquél cuyo ordinal es n2 unidades mayor, etcétera.
Para evitar desbordamientos en los cálculos anteriores, se deberá implementar que el sucesor del último carácter (`~') sea el primero (` ').
Solución realizada con cadenas de caracteres de tamaño fijo.
- Ejercicio de Clase:
Ejercicio:
Escribir un programa que codifique línea por línea el contenido del fichero de texto `origi.nal' escribiendo el resultado en el fichero de texto `cifr.ado'.
La codificación se realizará en base a las siguientes premisas:
* Se considerarán como caracteres válidos los comprendidos entre ` ' (espacio en blanco) y `~'.
* Inicialmente se leerá del teclado un número entero positivo que servirá de clave para la codificación. Sea k el número de cifras de dicha clave, n1 su primer dígito, n2 el segundo, ..., y nk el último (es decir, la cifra de las unidades).
* El primer carácter de cada línea del texto se sustituirá por aquél cuyo ordinal es n1 unidades mayor. El segundo por aquél cuyo ordinal es n2 unidades mayor... y el k-ésimo por por aquél cuyo ordinal es nk unidades mayor. El (k+1)-ésimo por aquél cuyo ordinal es n1 unidades mayor, el (k+2)-ésimo por aquél cuyo ordinal es n2 unidades mayor, etcétera.
Para evitar desbordamientos en los cálculos anteriores, se deberá implementar que el sucesor del último carácter (`~') sea el primero (` ').
Solución realizada con cadenas de caracteres de tamaño acotado o
limitado (Bounded_String).
- Ejercicio de Clase:
Ejercicio:
subcadFich.adb tenia un fallo. Gracias a Isaac (C7448156) que lo ha detectado
y me aviso. No funcionaba bien cuando se buscaban cadenas de caracteres de
tama~no 1. Ahora deberia fucncionar correctamente.
- Ejercicio de Clase:
Ejercicio:
subcadFichB.adb tenia un fallo. Gracias a Isaac (C7448156) que lo ha detectado
y me aviso. No funcionaba bien cuando se buscaban cadenas de caracteres de
tama~no 1. Ahora deberia fucncionar correctamente.
- Ejercicio de Clase:
Ejercicio:
Autor: Javier Setoain
Este programa simula en pantalla el comportamiento de una bola que
recibe un impulso inicial y va rebotando contra las paredes a velocidad
constante. Supone que la bola siempre parte de la misma posici´on y que
hace el mismo n´umero de rebotes.
Hay varias mejoras que se pueden hacer que est´an comentadas dentro del
programa
- Ejercicio de Clase:
Ejercicio:
Programa: MINAS
Programador: Miguel Flores Jaime (F5179622)
Fecha: Noviembre 1998
Modificado por: -
Fechas Modificacion: -
Este programa es un juego en el que se trata de hacer llegar a
nuestro protagonista al otro lado de un campo minado en el que hay
35 minas repartidas aleatoriamente (funciones: xaleatorio, yaleatorio)
sin que le explote ninguna. El campo esta representado por una matriz
booleana de 80 x 24 (array: campo_minas) en la que TRUE representa
mina y FALSE vac¡o.
Un problema que queda por solucionar es conseguir leer caracteres del
teclado sin necesidad de pulsar enter.
- Ejercicio de Clase:
Ejercicio:
Procedimiento: REBOTE
Programador: Miguel Flores Jaime (F5179622)
Fecha: Noviembre 1998
Modificado por: -
Fechas Modificacion: -
Este programa muestra una pelota rebotando en en las paredes de la
pantalla (sólo si está a 80 x 25 caracteres), partiendo de una
posición aleatoria (funciones: xaleatorio, yaleatorio). En realidad
lo que se ve en pantalla no es más que la representacisón
(procedimiento: dibujar_matriz) de una matriz booleana de 80 x 24
(array: pantalla), donde TRUE es la pelota y FALSE el vac¡o.
Para contribuir a este foro enviad un mensaje con vuestro programa a mi
dirección de merlin o a la otra, si os viene mejor.
Actualizado el 29 de Septiembre de 1999
ftricas@posta.unizar.es
Alumnos: utilizar el correo de merlin.cps.unizar.es (ftricas)