Buenas,
Tengo que hacer el siguiente ejercicio, y sinceramente no ando muy fino, lo que es hacerlo en lenguaje "normal" lo se hacer, pero luego a la hora de pasarlo a pascal ya no se que hacer, a ver si alguien caritativo me echa una mano.
El ejercicio es el siguiente:
Se debe realizar un programa que lea un fichero de texto y genere otro fichero de texto donde se indique el número de veces que aparecen las 11 palabras más frecuentes del texto original.
El programa no debe tener ninguna interacción con el usuario, esto es, no debe escribir nada en pantalla, ni pedir nada por teclado.
El fichero de texto de salida se generará en el directorio del ejecutable.
Debe programarse orientado a compilarse con la opción --extended-pascal.
En principio (segun yo) tienes que leer caracter a caracter y que cada vez que vea una mayuscula la cambie a minuscula, y que cada vez que llegue a un punto, coma, punto y coma, dos puntos, espacio... junte los caracteres que ha leido hasta el momento, para asi tener la palabra, que se almacena en una cadena, luego esas cadenas hay que meterlas en un array de registros para proceder a la comparacion de palabras para asi ir haciendo la clasificacion.
Hasta ahi creo que no hay fallo, falta el sacar el resultado por pantalla y tal y que pare en la posicion Eof, pero basicamente creo que es asi, el problema viene a la hora de pasar a codigo, porque las variables y todo eso no se llevan muy bien conmigo XDD.
Muchas gracias.
P.D: Si alguien tiene interes en hacer el ejercicio yo no se lo prohibo, ahora bien, si que se lo agradeceria

Programacion En Pascal
Started by kannon, Jan 10 2005 10:51 PM
6 replies to this topic
#1
Escrito 10 January 2005 - 10:51 PM
#2
Escrito 10 January 2005 - 11:50 PM
Uf... pues no hace años ya que di yo pascal...
a ver, por curiosidad he buscado un ej de codigo pascal de un prog que abre un fich, y reemplaza 1 de cada 5 palabras por _________
Te puede servir de base, la idea es muy parecida (tratamiento de ficheros, contar palabras, etc)
http://drott.cis.dre.../Thinkcloze.pas
Venga, suerte
a ver, por curiosidad he buscado un ej de codigo pascal de un prog que abre un fich, y reemplaza 1 de cada 5 palabras por _________
Te puede servir de base, la idea es muy parecida (tratamiento de ficheros, contar palabras, etc)
http://drott.cis.dre.../Thinkcloze.pas
Venga, suerte
#3
Escrito 10 January 2005 - 11:54 PM
/me revive ciertos traumas con los ;

#4
Escrito 11 January 2005 - 12:07 AM
Gracias keb (si me permites la confianza
,si no kebrantador), yo anduve buscando por google, pero el 50% de los enlaces se basaban en los apuntes de victor sanchez que para colmo estaban en turbo pascal xDD, y el resto no eran gran cosa, bien es cierto que encontre algun que otro tutorial bastante interesante, pero a mi mas bien me interesan los ejercicios, porque yo (no se si gente) aprendo mejor a base de ejercicios que de teoria, de ahi que sepa como hacer ese programa pero no como llevarlo a la practica.

Pa que veas que buena persona soy, te doy esta magnifica oportunidad de recuperar esos memorables tiempos pasados/me revive ciertos traumas con los ; icon_U.gif

#5
Escrito 11 January 2005 - 12:20 AM
No gracias, después del pascal en el instituto vino el modula-2 en la universidad.
Sumale a los ; otro trauma con los "null pointer asignement" XD
Sumale a los ; otro trauma con los "null pointer asignement" XD
#6
Escrito 11 January 2005 - 02:57 AM
Que chungo, lo poco que di de pascal lo vi con delphi el segúndo año del módulo, y era todo acceso a BBDD, nada de ficheros.
Lo que sí te aconsejo es que te aclares bién con los datos y las estructuras de datos que puedes manejar (que eso lo vi el primer año con C, y no puede ser muy distinto en pascal).
Y si el pseudocódigo lo tienes ya, mejor no te digo mucho por que sino te lio más fijo.
PD: no me digas que te molestan los ';', por que son una chorrada y salen automáticamente, lo jodido son los 'begin' y 'end', que es un desperdicio de tecleo (donde estén los llavines) además que no habré puesto yo veces 'beguin'
Lo que sí te aconsejo es que te aclares bién con los datos y las estructuras de datos que puedes manejar (que eso lo vi el primer año con C, y no puede ser muy distinto en pascal).
Y si el pseudocódigo lo tienes ya, mejor no te digo mucho por que sino te lio más fijo.
PD: no me digas que te molestan los ';', por que son una chorrada y salen automáticamente, lo jodido son los 'begin' y 'end', que es un desperdicio de tecleo (donde estén los llavines) además que no habré puesto yo veces 'beguin'


||-- navega sin temor --||-- /dev/soma --||-- flickr --||-- last.fm --||-- twitter --||
A foreign substance is introduced into our precious bodily fluids without the
knowledge of the individual, and certainly without any choice.
#7
Escrito 14 January 2005 - 08:45 AM
Mira, me has hecho recordad mi Universidad en la cual vi a fuerzas varios lenguajes:
* Q-Basic
* Pascal
* C
* Turbo Pascal
* C++
* Fortran
* Visual Basic
* Tambien programa en Excel (Formulas) e hice unos programas que no tenian madre, aun que no crean EXcel es Dios, bueno me pase.
A la conclusion que llege despues de tantos programas estudiados es que la sintaxis puede ser parecida, o totalmente diferente. pero la LOGICA para resolver el problema siempre, y digo siempre sera igual, trata de hacer Fool-Proof tus programas, que no te los pueda tronar ni el papa.
Yo diria que te basaras mas en buscar espacios en blanco y cuando lleges a uno. leer la palabra hasta el espacio anterior claro considerando la opcion de los puntos y comas como otra frontera de la palabra.
Algo muy importante es la homologacion de las palabras, como dices convertir a minusculas todas las letras es una muy buena opcion.
recuerda los numero tambien son letras.
P.D. Soy Ingeniero Mecanico en Manufactura.
sin mas que agregar.
* Q-Basic
* Pascal
* C
* Turbo Pascal
* C++
* Fortran
* Visual Basic
* Tambien programa en Excel (Formulas) e hice unos programas que no tenian madre, aun que no crean EXcel es Dios, bueno me pase.
A la conclusion que llege despues de tantos programas estudiados es que la sintaxis puede ser parecida, o totalmente diferente. pero la LOGICA para resolver el problema siempre, y digo siempre sera igual, trata de hacer Fool-Proof tus programas, que no te los pueda tronar ni el papa.
Yo diria que te basaras mas en buscar espacios en blanco y cuando lleges a uno. leer la palabra hasta el espacio anterior claro considerando la opcion de los puntos y comas como otra frontera de la palabra.
Algo muy importante es la homologacion de las palabras, como dices convertir a minusculas todas las letras es una muy buena opcion.
recuerda los numero tambien son letras.
P.D. Soy Ingeniero Mecanico en Manufactura.
sin mas que agregar.

"Proud Owner of a 1969 Dodge Charger Special Edition - 383 Big V8 Engine Block"
1 usuarios están leyendo este tema
0 miembros, 1 invitados, 0 usuarios anónimos