Pascal/Turbo Pascal - Lo siento tuve q partir el texto!!

 
Vista:

Lo siento tuve q partir el texto!!

Publicado por milton (14 intervenciones) el 20/10/2002 02:41:29


var nombre : nombres;
apellido : apellidos;
sexo : sex;
nacimiento : Fechanacimiento;
dondevive : Domicilio;
grupos : grupodepracticas;

begin
write('Nombre: ');
read (nombre);
writeln('Apellido: ');
read (apellido);
writeln('¿sexo?: ');
read (sex);
write('Fecha de nacimiento: ');
read (nacimiento);
writeln('Domicilio: ');
read (dondevive);
write('Grupo: ');
read (grupos);

writeln('Buenos días, 'nombre,'',apellido,'eres ',sex,'.',
'Tu fecha de nacimiento es el ',nacimiento,'.','Vives en la calle ',
dondevive,'y estas en el grupo ',grupos,'','de practicas de Metodología y Tecnología de la Programación');

read(sex);('para q se pare y me deje ver el resultado')

end.

Me da infinitos errores he intentado de todo pero no funciona, por favor q alguien me diga q estoy haciendo mal q la practica es pal lunes. Os estare eternamente agradecido. Lo siento tuve q enviarlos en varias partes
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Lo siento tuve q partir el texto!!

Publicado por Diego Romero (786 intervenciones) el 20/10/2002 10:17:48
Ejem... hay tanto que arreglar que no se si me va a dar este espacio.
Primero te falta un end; después de provincia : string[30]; y antes de nombres : string[20]; pero antes Domicilio : record está mal, debe ser Domicilio = record
En la var en este mismo mensaje no puedes declarar nombre de tipo nombres porque nombres no es un tipo, es un campo del registro fechadenacimiento (o bien te falta un end; antes de provincia???)
lo mismo cuenta para el resto de las veriables de la var.
Con lo anterior la mayoría de los read que haces en el programa son erroneos. Mas aún no puedes hacer un read de Domicilio ya que es una estructura, debes pedir cada uno de los campos de ese record. Lo correcto sería
Read(Domicilo.calle);
Read(Domicilo.ciudad);
... y así.
Para el caso de grupos el error es triple, primero porque no es un tipo por tanto no puedes hacer con ella una variable, segundo no puedes hacer un read de un tipo enumerado y tercero no puedes hacer un write de un tipo enumerado, debes buscar otra forma (un case sería lo correcto para el read y el write).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo siento tuve q partir el texto!!

Publicado por Milton (14 intervenciones) el 20/10/2002 13:20:46
Siento mi ignorancia en pascal queda demostrado q no me entero un carajo.Primero gracias por tu respuesta. Mas o menos entiendo lo q quieres decir pero en realidad la raiz del problema es q no sé q hay declarar en la zona "type" y q en la zona "var", se q uno son tipos de datos y otros variables pero no entiendo xq no se pueden poner todas la declaraciones en la zona ya q tambien le indicas el tipo de dato, sé q me vas a colgar por lo q estoy diciendo pero es q no lo tengo claro.
Ahhh q es lo q se puede hacer con lo de TablaNIF y DNI mod 23 , las declaro en type, var, si no es mucho pedir.
Un saludo. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo siento tuve q partir el texto!!

Publicado por Diego Romero (786 intervenciones) el 20/10/2002 19:44:23
Pues te sugiero que consigas un buen libro o busques un tutorial por Internet.
Basicamente en la sección (ese es su nombre) type declaras los tipos de datos personalizados usando los que ya tiene declarado Pascal y en la Var declaras las variables de trabajo, la palabra reservada Record sirve para definir en la type una estructura de datos, un tipo de dato compuesto, es decir un registro, los registros son estructuras que estan compuestas por otros registros y/o por campos.
En tu ejemplo un registro es:
type
TDireccion=record
calle:String[20];
provincia:String[20];
end; { este end cierra la estructura TDireccion }
TDireccion es un nuevo tipo de dato. En la Var puedes declarar una variable de ese tipo.
Var
Direccion:TDireccion;
para poder usar Direccion, que es la variable, y al ser un tipo compuesto debes acceder a sus partes basicas (los campos).
begin
Direccion.calle:='Esta es mi calle';
Direccion.Provincia:='Entre Ríos';
end.
El punto después del nombre de la variable le indica a Pascal que quieres asignar uno de los campos del registro.

Mod es un operador que te devuelve el modulo de la división entera entre dos números enteros, vale decir el resto de la división entera.
5 dividido 2 da como resultado 2 y resto 1, ese resto 1 es el modulo.
En pascal:
Modulo:=5 mod 2; { Modulo vale 1}
Dividendo:=5 div 2; { Dividendo vale 2 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar