[EI/ETIS/ETIX] 1º - Pro (Programación)

Subforo de asignaturas del curso 2007-08.

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor dvd182 » Dom, 23 Dic 2007 0:21

mira,la practica pide esto:

Código: Seleccionar todo
PROGRAMACION
PRACTICA DEL CURSO 2007-2008
Realizar un programa en Pascal ISO-10.206 que reliza una estadistica, una eliminacion de palabras
repetidas, un cifrado y descifrado de un texto leido desde el fichero texto.txt
Estadistica. Por cada linea del texto almacenar en el fichero llamado informacion un registro cuyos
campos indiquen
Primera palabra en la linea
Numero absoluto de linea
Numero de pagina donde esta la linea
Numero de palabras en la linea
Ultima palabra en la linea
Eliminacion de palabras repetidas. Guardar en el fichero sinrepetidas.txt el texto original sin
palabras repetidas, dejando la primera ocurrencia
Cifrado. Leer el fichero sinrepetidas.txt. Cifrarlo mediante el metodo de sustitucion simple (utilizar
como alfabeto el criptosistema el codigo ASCII). El resultado almacenarlo en un fichero de texto
llamado cifrado.txt
Descifrado. Leer cifrado.txt y almacenar el codigo una vez descifrado en un fichero llamado
descifrado.txt
El programa debe tener un menú donde el usuario pueda:
1. Consultar la estadistica almacenada en el fichero informacion
2. de las palabras que aparecen en texto.txt
a) Verlas ordenadas alfabeticamente
b) conocer el numero de ocurrencias de una palabra
3. obtener por pantalla el cifrado de cualquier linea de texto.txt
dvd182
Cuervo Sangriento
 
Mensajes: 78
Registrado: Mié, 28 Nov 2007 1:18

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Dom, 23 Dic 2007 0:30

Lo dicho. Debes crear un fichero de registros. Pues en vez de usar esa variable que puse yo, usas registro.ultimaPalabra. ¿Qué es lo que no sabes hacer?
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Dom, 23 Dic 2007 3:20

Bueno, mejor pensado, puedes aprovechar que al leer una línea, metes eso en un string y lees desde el final del string hasta que encuentres un espacio. Es más fácil xD

algo en plan

Código: Seleccionar todo
readln(nombre_fichero, nombre_del_string);

FOR i=(length(nombre_del_string)-1) DOWNTO 0 DO
   BEGIN
      if nombre_del_string[i]=' ' then
          FOR j=i TO (length(nombre_del_string)-1) DO
                 string_auxiliar:=string_auxiliar+nombre_del_string[j];
  END; {END del for del downto}

  informacion.ultimaPalabra :=string_auxiliar;
  writeln(fichero_datos, informacion);


y suponiendo todas las demás variables declaradas y el string_auxiliar inicializado. Lo que no recuerdo es qué devolvía nombre_del_string[i], si un string de longitud uno o un char... :roll: Y además, no tengo muy claro cómo era eso último de escribir en el archivo. Dios, tantos años sin hacer esas cosas (parezco un viejo xD). Aer si te vale :P
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor dvd182 » Lun, 24 Dic 2007 14:34

jajajaja,no dejan usar "downto",si encontraba el uno...suspensos directos,ni examn ni na...
podias kmbiar un poko el bucle para k no fuera kn l downto??
dvd182
Cuervo Sangriento
 
Mensajes: 78
Registrado: Mié, 28 Nov 2007 1:18

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor agilismoftw » Lun, 24 Dic 2007 14:50

dvd182 escribió:jajajaja,no dejan usar "downto",si encontraba el uno...suspensos directos,ni examn ni na...
podias kmbiar un poko el bucle para k no fuera kn l downto??


De donde sacas eso? Que yo sepa sí se puede usar down to, no sé "go to"? Que siempre anda a rallar con eso (y no sé ni para que sirve la verdad).
Ponte traje, no seas cutre.
Avatar de Usuario
agilismoftw
Nihlathak
FUUUU
 
Mensajes: 1596
Registrado: Vie, 09 Nov 2007 21:50
Ubicación: Pontevedra / A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Lun, 24 Dic 2007 14:53

Como bien dijo Santi M., lo más seguro es que te confundieras y dijeran "GO TO". Eso va en contra de la programación estructurada, y además es una chapuza XDD El DOWNTO es imposible que te lo prohiban. Aún así, si fuera de esa manera, se podría hacer una chapuza mayor, y en el FOR, dentro del bucle, restarle 2 a i, quedando -1 al final XDDDD
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor César » Lun, 24 Dic 2007 15:14

Para no tener que usar el downto puedes usar un while en vez de un for...

FeR, si ven que modificas la variable de control de un for dentro del bucle, te cargan directamente también xD

¿Cómo se queman ahora en pro, no? Para alguien que no tiene puta idea y contando que ellos no enseñan ni una mierda, me parece que piden demasiado.
César
Heladostein
 
Mensajes: 1195
Registrado: Vie, 29 Sep 2006 20:34

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Lun, 24 Dic 2007 15:18

Tenemos hecho cosas peores en las prácticas antiguas de Pro, e? XD Puestos a prohibir no-cafradas, hagamos cafradas, no? XDD Y sí, el while sería mucho mejor. Y no creo que pidan tanto, mejor así, que no lleguen a 2º sin tener ni idea de programar. Es por nuestro bien (o algo... xD). Y lo del Downto, a huevos tienen que dejar usarlo, vamos XD
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor agilismoftw » Lun, 24 Dic 2007 18:00

Bueno gente, sigo dando por culo con problemas que se me presentan!

Código

Código: Seleccionar todo
FUNCTION primerapalabra;
TYPE
   tEntero=Integer;
VAR
   I: tEntero VALUE 0;
   numeroletras: tEntero VALUE 0;
   primeraletra: tEntero VALUE 0;
   
BEGIN
   FOR I:=1 TO length(cadena) DO
      IF cadena[I]<>' ' then primeraletra:=I;
   FOR I:=primeraletra TO length(cadena) DO
{LINEA 28} IF cadena[I]:=' ' then numeroletras:=I-primeraletra;   
   primerapalabra := substr(cadena,primeraletra,numeroletras);
END;


Error al compilar

Código: Seleccionar todo
estadistica.pas: In function `primerapalabra':
estadistica.pas:28: error: syntax error before `:='
estadistica.pas:28: error: missing `to' or `downto'
estadistica.pas:28: error: `for' loop bounds are of incompatible type
estadistica.pas:28: error: missing `to' or `downto'
estadistica.pas:28: error: assignment of `for' loop counter
estadistica.pas:28: error: missing `to' or `downto'
estadistica.pas:28: error: assignment of `for' loop counter
estadistica.pas:28: error: syntax error before `;'
estadistica.pas:28: error: missing `to' or `downto'
estadistica.pas:29: error: `for' loop bounds are of incompatible type
estadistica.pas:29: error: missing `to' or `downto'
estadistica.pas:29: error: `for' loop bounds are of incompatible type
estadistica.pas:29: error: syntax error before `;'
estadistica.pas:29: error: missing `to' or `downto'


No se puede asignar el valor de una variable al contador del FOR?
Ponte traje, no seas cutre.
Avatar de Usuario
agilismoftw
Nihlathak
FUUUU
 
Mensajes: 1596
Registrado: Vie, 09 Nov 2007 21:50
Ubicación: Pontevedra / A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Lun, 24 Dic 2007 18:28

Los dos errores que tienes son que asignas I en el for y no puedes hacer eso. Pones:

FOR I=1 TO X ...

Por ej. Ya se asigna solo. Y en un IF no estás asignando, estás comparando. Por lo tanto, usa IF cadena[i] = " " then... Mira a ver qué tal.
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor agilismoftw » Lun, 24 Dic 2007 19:27

Cierto, lo del IF está mal, pero lo del FOR yo diría que es I:=1 TO "x"
Ponte traje, no seas cutre.
Avatar de Usuario
agilismoftw
Nihlathak
FUUUU
 
Mensajes: 1596
Registrado: Vie, 09 Nov 2007 21:50
Ubicación: Pontevedra / A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Lun, 24 Dic 2007 19:32

Santi M. escribió:Cierto, lo del IF está mal, pero lo del FOR yo diría que es I:=1 TO "x"


Mmm, si no es de una manera, es de otra xD
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor DATF » Lun, 24 Dic 2007 19:33

Yo diría que a demás tienes un error en la función, ya que no indicas el tipo de valor a retornar.
Y en cuanto a lo del for, no veo la variable "cadena" declarada por ahí... (espero que no estes utilizando variables globales)
Por lo demás, una vez corregida la asignación del IF no debe haber más errores
A man is smoking a cigarette and blowing smoke into the air. His girlfriend becomes irritated and says
- Can't you see the warning on the cigarette pack? Smoking is hazardous to your health!
- I'm a programmer. We don't worry about warnings; we only worry about errors.
Avatar de Usuario
DATF
Bishibosh
 
Mensajes: 48
Registrado: Lun, 24 Dic 2007 19:11
Ubicación: /dev/null

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor Fer » Lun, 24 Dic 2007 19:51

DATF escribió:Yo diría que a demás tienes un error en la función, ya que no indicas el tipo de valor a retornar.
Y en cuanto a lo del for, no veo la variable "cadena" declarada por ahí... (espero que no estes utilizando variables globales)
Por lo demás, una vez corregida la asignación del IF no debe haber más errores


Totalmente de acuerdo XD Lo iba decir que me di cuenta ahora.
Campaña de donación de apuntes:

¡Súbelos a la sección de apuntes o deja los tuyos en el local de alumnos!
Avatar de Usuario
Fer
QG Admin
Corresponsal de guerra
 
Mensajes: 26112
Registrado: Vie, 22 Sep 2006 14:18
Ubicación: A Coruña

Re: [EI/ETIS/ETIX] Programación (Pro)

Notapor dvd182 » Lun, 24 Dic 2007 21:13

graciñas por lo d la ultima palabra...unos retokes y bn...pero komo hago para hacerlo kn todas las lineas?
pk tngo k sakar lo k sale x fichero así pero tantas veces komo lineas hay y no lo veo klaro...no kreo k sea un bucle hasta EOF(nombre_fichero) pk seria muy sencillo,ademas tiene k ir leyendo la 1º y la ultima y todo d kada linea...y tiene k detectar EOLN(nombre_fichero) para volver a empezar el bucle...
x cierto,le pedia a esteban k me mandara un fichero de prueba,para ver como podia ser y tal...y en esto k me manda una NOVELA ENTERA DE ARTURO PEREZ REVERTE...es decir,kn dialogos y todo,así k lo d kntar palabras para los dialogos kn '-' al comienzo de linea ya me hacer replantear todo...diossssssssssssssssssss
dvd182
Cuervo Sangriento
 
Mensajes: 78
Registrado: Mié, 28 Nov 2007 1:18

AnteriorSiguiente

Volver a FIC Asignaturas 2007-08

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado