Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Algoritmos]Problema con pascal
Autor Mensaje
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #1
[Algoritmos]Problema con pascal Dudas y recomendaciones Algoritmos y Estructuras de Datos
Estaba haciendo y probando algunos programas tontos inventados, y revisando el tp, y no se que le pasa que aunque compila todo bien, si le doy a ejecutar se abre y cierra rapido y no pasa nada. Probe mandar los programas a un amigo a ver si le pasaba lo mismo y si, se le abre y cierra sin que pase nada. Pero algunos son los programas que me pasaron mis compañeros de tp y que vimos en el laboratorio, y ahi si anda Confused no entiendo que sera.

Mi amigo me dijo que a el cuando lo ejecuta desde cmd le sale "Runtime error 3 at 0x0040105B" A mi no me sale nada.

que puede ser? cry cry cry

=)
04-06-2010 19:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Matt Sin conexión
Secretario de la SAE
life.autoextend()
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 686
Agradecimientos dados: 10
Agradecimientos: 10 en 5 posts
Registro en: Nov 2008
Facebook Google+ Last.fm Twitter
Mensaje: #2
Re: [Algoritmos]Problema con pascal
Pero no hace nada? O hace todo y se cierra?, si es la 2da usando presskey podes poner un mensajito estilo "Presione cualquier tecla para salir" (o para no hacer tanto quilombo, y atarla con alambres, un readln();).

Si abre y cierra y no tira errores ni procedimientos correctos, esta mal el código =P

Por otra parte , si queres ver la ejecución y evitar usar el read o el presskey, correlo desde CMD, =P!

____________[Imagen: Snowboarder_emoticon_by_Mattdrew.gif]____________
[Imagen: erepublik-badge-80x15.gif]
04-06-2010 20:09
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #3
Re: [Algoritmos]Problema con pascal
Es que ese es el punto xD no hace nada de nada: abre y cierra tan rapido como para darme cuenta que abre una ventanita del DOS, compila bien y corre en el cmd de mi compu pero no en las demas. Y algunos ni ahi corre, pero no me tira error Confused

Por ejemplo, probe con uno que hicimos en clases de entrar datos y que los copie a un archivo de texto y le pasa eso. Reviso el archivo de texto y queda en blanco. Lo abro con CMD y me va perfecto, y crea el archivo con todo. Lo paso aun amigo cualquiera y no le va en ningun lado ¬¬

=)
04-06-2010 20:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #4
Re: [Algoritmos]Problema con pascal
manda el codigo aca, a ver si podemos ayudarte ;)

[Imagen: v34BEFt.gif]
04-06-2010 20:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #5
Re: [Algoritmos]Problema con pascal
Me pasa con TODOS los programas xD. Te digo con el ultimo que probe, este me lo paso un amigo que a el si le va y a mi no me hace nada:

Spoiler: Mostrar
Program EncuestaMusical;

Uses
crt;

Type
str250=string[250];

Var
arch:text;
nombre, tecla, pais, ciudad, educ, otroestilo,s,n,resp6,resp1, resp2, resp3, resp4,resp5: str250;
edad, pop, rock, clasic, folc,cor, metal:byte;
telefono:integer;




begin
TextColor (14);
s:='';
assign (arch, 'H:\Documents and Settings\Administrador\Escritorio\Datos de la Encuesta.txt');
rewrite (arch);
writeln ('Bienvenido a la encuesta sobre musica. Por favor complete sus datos antes de continuar. ');
writeln ('');
writeln ('Nombre: ');
readln (nombre);
writeln (arch,'Nombre: ',nombre);
writeln ('');
writeln ('Edad: ');
readln (edad);
writeln (arch,'Edad: ',edad);
writeln ('');
writeln ('Ciudad: ');
readln (ciudad);
writeln (arch,'Ciudad: ',ciudad);
writeln ('');
writeln ('Pais: ');
readln (pais);
writeln (arch,'Pais: ',pais);
writeln ('');
writeln ('Nivel de Educacion (secundario, terciario, universitario, etc) : ');
readln (educ);
writeln (arch,'Educacion recibida: ',educ);
writeln ('');
writeln ('Presione ENTER 2 veces para ingresar a la encuesta. ');
writeln ('');
readln (tecla);
clrscr;
readkey;

writeln ('Bienvenido a la encuesta musical. Por favor selecione una opcion en cada preugunta o responda segun corresponda');
writeln('');
writeln('');
writeln('Que tan seguido escucha muscia?');
readln(resp1);
writeln('');
writeln('Podria vivir sin musica en su vida?');
readln(resp2);
writeln('');
writeln('Los CDs que escucha son comprados legal o ilegalmente? Descarga musica de internet habitualmente?');
readln(resp3);
writeln('');
writeln('Que significa para usted la musica?');
readln(resp4);
writeln('');
writeln(arch,'Para ', nombre, 'La musica es ', resp4);
writeln(arch,'');

writeln('Elija una opcion en cada caso');
writeln('');
writeln('-POP:');
writeln('');
writeln('1 Me gusta el pop internacional');
writeln('');
writeln('2 Me gusta el pop nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones pop');
writeln('');
writeln('4 Me gusta todo el pop');
writeln('');
writeln('5 No me gusta');
writeln('');
readln(pop);




writeln('-ROCK:');
writeln('');
writeln('1 Me gusta el rock internacional');
writeln('');
writeln('2 Me gusta el rock nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones de rock');
writeln('');
writeln('4 Me gusta todo el rock');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(rock);

writeln('-ROCK:');
writeln('');
writeln('1 Me gusta el rock internacional');
writeln('');
writeln('2 Me gusta el rock nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones de rock');
writeln('');
writeln('4 Me gusta todo el rock');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(rock);

writeln('-FOLCLORE:');
writeln('');
writeln('1 Me gusta el folclore de mi pais');
writeln('');
writeln('2 Me gustan solo algunas canciones de folclore');
writeln('');
writeln('3 No me gusta');
writeln('');
writeln('4 Desconozco el estilo');
writeln('');
readln(folc);

writeln('-CLASICO/OPERA:');
writeln('');
writeln('1 Me gusta la musica clasica/opera internacional');
writeln('');
writeln('2 Me gusta la musica clasica/opera nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones de musica clasica/opera');
writeln('');
writeln('4 Me gusta toda la musica clasica/opera');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(clasic);

writeln('-CUMBIA/REGGAETON:');
writeln('');
writeln('1 Me gusta la cumbia/el reggaeton internacional');
writeln('');
writeln('2 Me gusta la cumbia/ el reggaeton nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones');
writeln('');
writeln('4 Me gusta toda la cumbia/el reggaeton');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(cor);

writeln('-METAL:');
writeln('');
writeln('1 Me gusta el metal internacional');
writeln('');
writeln('2 Me gusta el metal nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones');
writeln('');
writeln('4 Me gusta el metal sinfonico');
writeln('');
writeln('5 Me gusta el metal puro');
writeln('');
writeln('6 Me gusta toda el metal');
writeln('');
writeln('7 No me gusta');
writeln('');
writeln('8 Desconozco el estilo');
writeln('');
readln(metal);

writeln('Hay algun estilo de musica que escuche y no este definido en esta encuesta? Cual?');
readln(otroestilo);
writeln('');
writeln('Le gusta cantar? (s o n) En caso afirmativo, cuales son sus fuentes de inspiracion?');
readln(resp5);
writeln('');

case (pop) of
1:writeln(arch,'A ',nombre,'le gusta el pop internacional');
2:writeln(arch,'A ',nombre,'le gusta el pop nacional');
3:writeln(arch,'A ',nombre,'le gustan solo algunas canciones de pop');
4:writeln(arch,'A ',nombre,'le gusta el pop en general');
else
writeln(arch,'A ',nombre,'no le gusta el pop');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (rock) of
1:writeln(arch,'A ',nombre,' le gusta el rock internacional');
2:writeln(arch,'A ',nombre,' le gusta el rock nacional');
3:writeln(arch,'A ',nombre,' le gustan solo algunas canciones de rock');
4:writeln(arch,'A ',nombre,' le gusta el rock en general');
5:writeln(arch,'A ',nombre,' no le gusta el rock');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (rock) of
1:writeln(arch,'A ',nombre,' le gusta el rock internacional');
2:writeln(arch,'A ',nombre,' le gusta el rock nacional');
3:writeln(arch,'A ',nombre,' le gustan solo algunas canciones de rock');
4:writeln(arch,'A ',nombre,' le gusta el rock en general');
5:writeln(arch,'A ',nombre,' no le gusta el rock');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');

writeln(arch,'');
case (folc) of
1:writeln(arch,'A ',nombre,' le gusta el folclore');
2:writeln(arch,'A ',nombre,' le gusta algunas canciones de folclore');
3:writeln(arch,'A ',nombre,' no le gusta el folclore');
//4:writeln(arch,'A ',nombre,'le gusta el rock en general');
//5:writeln(arch,'A ',nombre,'no le gusta el rock');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (clasic) of
1:writeln(arch,'A ',nombre,' le gusta la musica clasica internacional');
2:writeln(arch,'A ',nombre,' le gusta la musica clasica nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de musica clasica');
4:writeln(arch,'A ',nombre,'le gusta la musica clasica en general');
5:writeln(arch,'A ',nombre,'no le gusta la musica clasica');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');


case (cor) of
1:writeln(arch,'A ',nombre,' le gusta la cumbia/ el reggaeton internacional');
2:writeln(arch,'A ',nombre,' le gusta la cumbia/ el reggaeton nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de cumbia/reggaeton');
4:writeln(arch,'A ',nombre,'le gusta la cumbia/ el reggaeton en general');
5:writeln(arch,'A ',nombre,'no le gusta la cumbia/ el reggaeton');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');



case (metal) of
1:writeln(arch,'A ',nombre,' le gusta el metal internacional');
2:writeln(arch,'A ',nombre,' le gusta el metal nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de metal');
4:writeln(arch,'A ',nombre,'le gusta el metal sinfonico');
5:writeln(arch,'A ',nombre,'no le gusta el metal puro');
6:writeln(arch,'A ',nombre,'le gusta el metal en general');
7:writeln(arch,'A ',nombre,'no le gusta el metal');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
//5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');


writeln('');

if (resp5=s)or(resp5=S) then
begin
Writeln('Por participar en nuestra encuesta, recibira un kid de musica deacuerdo a sus gustos.');
writeln('Si lo desea, presione S, si no, presione N');
writeln('y borraremos sus datos de nuestra base de datos');
readln(resp6);

if (resp6=s)or (resp6=S) then
begin
writeln('Ingrese un telefono de contacto para enviarle el premio');
readln(telefono);
writeln(arch,'');
writeln(arch,nombre,' dispone de ', telefono,'como telefono de contacto');
end
else
begin
writeln('Usted sera borrado de la base de datos.');
writeln(arch,'');
writeln(arch,nombre,' desea ser borrado del archivo de datos.');
end
end
else
begin
Writeln('Por participar en nuestra encuesta, recibira un kid de musica deacuerdo a sus gustos.');
writeln('Si lo desea, presione S, si no, presione N');
writeln('y borraremos sus datos de nuestra base de datos');
readln(resp6);

if (resp6=s)or (resp6=S) then
begin
writeln('Ingrese un telefono de contacto para enviarle el premio');
readln(telefono);
writeln(arch,'');
writeln(arch,nombre,' dispone de ', telefono,'como telefono de contacto');
end

else
begin
writeln('Usted sera borrado de la base de datos.');
writeln(arch,'');
writeln(arch,nombre,' desea ser borrado del archivo de datos.');
end;

end;

writeln(nombre,': Gracias por tomarse el tiempo de responder esta encuesta');
writeln('');
readln();
close (arch);

end.

Y tambien con este que es muyu estupido de la guia de ejercicios

Spoiler: Mostrar
{Programa de numeros romanos}

program romanos;

procedure romano (nro:byte; letra1, letra2, letra3:char; var archivoromano:text);
var i:byte;
begin

case nro of
1, 2, 3:
for i := 1 to nro do
write(archivoromano, letra1);
4: write(archivoromano, letra1, letra2);
5, 6, 7, 8:
begin
write(archivoromano, letra2);
for i:= 6 to nro do
write(archivoromano, letra1);
end;
9: write(archivoromano, letra1, letra3);
end;

end;

var
nro:word;
archivoromano:text;

begin

assign (archivoromano, 'H:\Escritorio\archivoromano.txt');
rewrite (archivoromano);

repeat
begin
write('Ingrese un numero del 1 al 3999: ');
readln(nro);
end;
until (nro >= 0) AND (nro <= 3999);

while nro <> 0 do
begin
write(archivoromano, nro, ' ');
romano (nro DIV 1000, 'M', ' ', ' ', archivoromano);
romano (nro DIV 100 MOD 10, 'C', 'D', 'M', archivoromano);
romano (nro MOD 100 DIV 10, 'X', 'L', 'C', archivoromano);
romano (nro MOD 10, 'I', 'V', 'X', archivoromano);
writeln(archivoromano);
repeat
begin
write('Ingrese un numero del 1 al 3999: ');
readln(nro);
end;
until (nro >= 0) AND (nro <= 3999);
end;
close(archivoromano);
readln();

end.

con el resto tambien xD pero bue... thumbup3

=)
04-06-2010 20:28
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #6
Re: [Algoritmos]Problema con pascal
uh, que fiaca me dio leerlo xD de hecho ni lo hice XD
Deberias modularizar un poco, sobre todo el primero xD
pero note que

Cita:assign (arch, 'H:\Documents and Settings\Administrador\Escritorio\Datos de la Encuesta.txt');

Cita:assign (archivoromano, 'H:\Escritorio\archivoromano.txt');

Proba en meter el archivo de texto solo el nombre, y no especifiques la direccion, cosa que se cree en la misma carpeta el archivo que el ejecutable, porque es donde busca si no se especifica la direccion al hacer assign.

Es decir
Cita:assign (arch, 'Datos de la Encuesta.txt');[
de esta manera, creara el texto en la misma carpeta donde esta el ejecutable, y te ahorraas muchos problemas. A mi me paso eso con un TP.
Que creaba el archivo en otra carpeta, y dep al leerlo buscaba donde estaba el ejecutable (que estaba en el escritorio), entoooooonces no me dejaba abrir porque no encontraba el archivo
Si persiste, lo compilo y me fijo que otra cosa puede ser

[Imagen: v34BEFt.gif]
04-06-2010 21:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Matt Sin conexión
Secretario de la SAE
life.autoextend()
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 686
Agradecimientos dados: 10
Agradecimientos: 10 en 5 posts
Registro en: Nov 2008
Facebook Google+ Last.fm Twitter
Mensaje: #7
Re: [Algoritmos]Problema con pascal
Entonces está bien, si corre en tu pc en CMD. Lo que pasa es que los path de los archivos son absolutos, probá poniendolos relativos a la carpeta donde tenés el ejecutable.

Edit: Sí, como dijo gonza, o en la misma carpeta, o de ahí el path relativo a un subdirectorio. Si eso que pusiste corre en tu pc, esta bien el programita ;)

____________[Imagen: Snowboarder_emoticon_by_Mattdrew.gif]____________
[Imagen: erepublik-badge-80x15.gif]
04-06-2010 21:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Adriano Sin conexión
Presidente del CEIT
sonaiNTU arap anoD
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 6.678
Agradecimientos dados: 236
Agradecimientos: 718 en 242 posts
Registro en: Jul 2008
Facebook Twitter
Mensaje: #8
Re: [Algoritmos]Problema con pascal
http://www.frameworkpascal.com/helphtml/run_errors.htm

el runtime error 3 es "Path not found"... 99% de que el problema es el archivito!

saludos!
pd: bookmarkeate el link ;)

[Imagen: digitalizartransparent.png]
06-06-2010 05:33
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #9
Re: [Algoritmos]Problema con pascal
No entendi que es lo que no funca XD pero me guardo el link, gracias! =D

=)
06-06-2010 17:30
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Adriano Sin conexión
Presidente del CEIT
sonaiNTU arap anoD
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 6.678
Agradecimientos dados: 236
Agradecimientos: 718 en 242 posts
Registro en: Jul 2008
Facebook Twitter
Mensaje: #10
Re: [Algoritmos]Problema con pascal
Lo que dice Gonza, "el Teseracto malo" (momento... Teseracto ya es malo de por si... mmm... pero su cajita baila...)

"H:\Documents and Settings\Administrador\Escritorio\Datos de la Encuesta.txt" existe en tu pc?
Viendo el error me animo a decir que no, y a que la persona que te paso el programa tiene que dejar de jugar con el partition magic =P

[Imagen: digitalizartransparent.png]
06-06-2010 18:15
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #11
Re: [Algoritmos]Problema con pascal
el H existe porque es de mi pc, venia con el comun C, cuanod me formatearon me pusieron la H Confused

=)
06-06-2010 20:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Imakuni Sin conexión
Presidente del CEIT
Did you know that cashews come...
********

Ing. en Sistemas
Facultad Regional Córdoba

Mensajes: 6.968
Agradecimientos dados: 112
Agradecimientos: 119 en 77 posts
Registro en: Jul 2008
Mensaje: #12
Re: [Algoritmos]Problema con pascal
Me la juego a que es porque no escapa las barras

en cada \ proba poniendo \\


O sino, pone la barra invertida / que muchas veces sirve.
06-06-2010 20:57
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Solemba Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 155
Agradecimientos dados: 2
Agradecimientos: 1 en 1 posts
Registro en: Feb 2009
Facebook Twitter
Mensaje: #13
Re: [Algoritmos]Problema con pascal
fui descartando partes, dejandolo entre llaves y resulta que con la primera parte de cada archivo no funca, por ejemplo en el primero lo deje en
begin
TextColor (14);
s:='';
assign (arch,'Datos de la Encuesta.txt');
rewrite (arch);
writeln ('Bienvenido a la encuesta sobre musica. Por favor complete sus datos antes de continuar. ');
writeln ('');
writeln ('Nombre: ');
readln (nombre);
writeln (arch,'Nombre: ',nombre);
close (arch);
end.

y lo probe desde el dev y nada, sigue haciendo lo mismo, pero si lo ejecuto yendo a donde esta el ejecutable, me funciona, si lo tiro en cmd me funciona, pero lo pruebo en otra maquina y no anda..asi que estoy perdida mal, no puede ser que sea tan inutil =P

=)
06-06-2010 22:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Matt Sin conexión
Secretario de la SAE
life.autoextend()
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 686
Agradecimientos dados: 10
Agradecimientos: 10 en 5 posts
Registro en: Nov 2008
Facebook Google+ Last.fm Twitter
Mensaje: #14
Re: [Algoritmos]Problema con pascal
Spoiler: Mostrar
Program EncuestaMusical;

Uses
crt;

Type
str250=string[250];
(<!-- faltan declarar tipos-->)

Var
arch:text;(declaración del tipo de identificador?)
nombre, tecla, pais, ciudad, educ, otroestilo,s,n,resp6,resp1, resp2, resp3, resp4,resp5: str250;
edad, pop, rock, clasic, folc,cor, metal:byte;
telefono:integer;




begin
TextColor (14);
s:='';
assign (arch, 'H:\Documents and Settings\Administrador\Escritorio\Datos de la Encuesta.txt'); (por usabilidad, aunque funcione, tratá de usar paths relativas, no absolutas)
rewrite (arch);
writeln ('Bienvenido a la encuesta sobre musica. Por favor complete sus datos antes de continuar. ');
writeln ('');
writeln ('Nombre: ');
readln (nombre);
writeln (arch,'Nombre: ',nombre); (la sintaxis es write(identificador_archivo, identificador_registro || identificador_registro.subcampo_registro)
writeln ('');
writeln ('Edad: ');
readln (edad);
writeln (arch,'Edad: ',edad);
writeln ('');
writeln ('Ciudad: ');
readln (ciudad);
writeln (arch,'Ciudad: ',ciudad);

writeln ('');
writeln ('Pais: ');
readln (pais);
writeln (arch,'Pais: ',pais);
writeln ('');
writeln ('Nivel de Educacion (secundario, terciario, universitario, etc) : ');
readln (educ);
writeln (arch,'Educacion recibida: ',educ);
writeln ('');
writeln ('Presione ENTER 2 veces para ingresar a la encuesta. ');
writeln ('');
readln (tecla);
clrscr;
readkey;

writeln ('Bienvenido a la encuesta musical. Por favor selecione una opcion en cada preugunta o responda segun corresponda');
writeln('');
writeln('');
writeln('Que tan seguido escucha muscia?');
readln(resp1);
writeln('');
writeln('Podria vivir sin musica en su vida?');
readln(resp2);
writeln('');
writeln('Los CDs que escucha son comprados legal o ilegalmente? Descarga musica de internet habitualmente?');
readln(resp3);
writeln('');
writeln('Que significa para usted la musica?');
readln(resp4);
writeln('');
writeln(arch,'Para ', nombre, 'La musica es ', resp4);
writeln(arch,'');

writeln('Elija una opcion en cada caso');
writeln('');
writeln('-POP:');
writeln('');
writeln('1 Me gusta el pop internacional');
writeln('');
writeln('2 Me gusta el pop nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones pop');
writeln('');
writeln('4 Me gusta todo el pop');
writeln('');
writeln('5 No me gusta');
writeln('');
readln(pop);




writeln('-ROCK:');
writeln('');
writeln('1 Me gusta el rock internacional');
writeln('');
writeln('2 Me gusta el rock nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones de rock');
writeln('');
writeln('4 Me gusta todo el rock');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(rock);

writeln('-ROCK:');
writeln('');
writeln('1 Me gusta el rock internacional');
writeln('');
writeln('2 Me gusta el rock nacional de mi pais');
writeln('');
writeln('3 Me gustan solo algunas canciones de rock');
writeln('');
writeln('4 Me gusta todo el rock');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(rock);

writeln('-FOLCLORE:');
writeln('');
writeln('1 Me gusta el folclore de mi pais');
writeln('');
writeln('2 Me gustan solo algunas canciones de folclore');
writeln('');
writeln('3 No me gusta');
writeln('');
writeln('4 Desconozco el estilo');
writeln('');
readln(folc);

writeln('-CLASICO/OPERA:');
writeln('');
writeln('1 Me gusta la musica clasica/opera internacional');
writeln('');
writeln('2 Me gusta la musica clasica/opera nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones de musica clasica/opera');
writeln('');
writeln('4 Me gusta toda la musica clasica/opera');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(clasic);

writeln('-CUMBIA/REGGAETON:');
writeln('');
writeln('1 Me gusta la cumbia/el reggaeton internacional');
writeln('');
writeln('2 Me gusta la cumbia/ el reggaeton nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones');
writeln('');
writeln('4 Me gusta toda la cumbia/el reggaeton');
writeln('');
writeln('5 No me gusta');
writeln('');
writeln('6 Desconozco el estilo');
writeln('');
readln(cor);

writeln('-METAL:');
writeln('');
writeln('1 Me gusta el metal internacional');
writeln('');
writeln('2 Me gusta el metal nacional');
writeln('');
writeln('3 Me gustan solo algunas canciones');
writeln('');
writeln('4 Me gusta el metal sinfonico');
writeln('');
writeln('5 Me gusta el metal puro');
writeln('');
writeln('6 Me gusta toda el metal');
writeln('');
writeln('7 No me gusta');
writeln('');
writeln('8 Desconozco el estilo');
writeln('');
readln(metal);

writeln('Hay algun estilo de musica que escuche y no este definido en esta encuesta? Cual?');
readln(otroestilo);
writeln('');
writeln('Le gusta cantar? (s o n) En caso afirmativo, cuales son sus fuentes de inspiracion?');
readln(resp5);
writeln('');

case (pop) of
1:writeln(arch,'A ',nombre,'le gusta el pop internacional');
2:writeln(arch,'A ',nombre,'le gusta el pop nacional');
3:writeln(arch,'A ',nombre,'le gustan solo algunas canciones de pop');
4:writeln(arch,'A ',nombre,'le gusta el pop en general');
else
writeln(arch,'A ',nombre,'no le gusta el pop');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (rock) of
1:writeln(arch,'A ',nombre,' le gusta el rock internacional');
2:writeln(arch,'A ',nombre,' le gusta el rock nacional');
3:writeln(arch,'A ',nombre,' le gustan solo algunas canciones de rock');
4:writeln(arch,'A ',nombre,' le gusta el rock en general');
5:writeln(arch,'A ',nombre,' no le gusta el rock');
else
writeln(arch,nombre,' desconoce el estilo musical');
end;
(acá te sugiero poner todo encapsulado con begin/end, va a funcionar igual sin ellos, pero depende lo que pongas el compilador va a hacer una cosa u otra en el case )
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (rock) of
1:writeln(arch,'A ',nombre,' le gusta el rock internacional');
2:writeln(arch,'A ',nombre,' le gusta el rock nacional');
3:writeln(arch,'A ',nombre,' le gustan solo algunas canciones de rock');
4:writeln(arch,'A ',nombre,' le gusta el rock en general');
5:writeln(arch,'A ',nombre,' no le gusta el rock');

else
writeln(arch,nombre,' desconoce el estilo musical');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');

writeln(arch,'');
case (folc) of
1:writeln(arch,'A ',nombre,' le gusta el folclore');
2:writeln(arch,'A ',nombre,' le gusta algunas canciones de folclore');
3:writeln(arch,'A ',nombre,' no le gusta el folclore');
4:writeln(arch,'A ',nombre,'le gusta el rock en general');
5:writeln(arch,'A ',nombre,'no le gusta el rock');

else
writeln(arch,nombre,' desconoce el estilo musical');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');

case (clasic) of
1:writeln(arch,'A ',nombre,' le gusta la musica clasica internacional');
2:writeln(arch,'A ',nombre,' le gusta la musica clasica nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de musica clasica');
4:writeln(arch,'A ',nombre,'le gusta la musica clasica en general');
5:writeln(arch,'A ',nombre,'no le gusta la musica clasica');

else
writeln(arch,nombre,' desconoce el estilo musical');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');


case (cor) of
1:writeln(arch,'A ',nombre,' le gusta la cumbia/ el reggaeton internacional');
2:writeln(arch,'A ',nombre,' le gusta la cumbia/ el reggaeton nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de cumbia/reggaeton');
4:writeln(arch,'A ',nombre,'le gusta la cumbia/ el reggaeton en general');
5:writeln(arch,'A ',nombre,'no le gusta la cumbia/ el reggaeton');

else
writeln(arch,nombre,' desconoce el estilo musical');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');




case (metal) of
1:writeln(arch,'A ',nombre,' le gusta el metal internacional');
2:writeln(arch,'A ',nombre,' le gusta el metal nacional');
3:writeln(arch,'A ',nombre,' le gusta algunas canciones de metal');
4:writeln(arch,'A ',nombre,'le gusta el metal sinfonico');
5:writeln(arch,'A ',nombre,'no le gusta el metal puro');
6:writeln(arch,'A ',nombre,'le gusta el metal en general');
7:writeln(arch,'A ',nombre,'no le gusta el metal');

else
writeln(arch,nombre,' desconoce el estilo musical');
end;
5:writeln(arch,nombre,' desconoce el estilo musical');
writeln(arch,'');


writeln('');

if ((resp5=s)or(resp5=S)) then (todas las condiciones van encapsuladas entre ())
begin
Writeln('Por participar en nuestra encuesta, recibira un kid de musica deacuerdo a sus gustos.');
writeln('Si lo desea, presione S, si no, presione N');
writeln('y borraremos sus datos de nuestra base de datos');
readln(resp6);

if (resp6=s)or (resp6=S) then
begin
writeln('Ingrese un telefono de contacto para enviarle el premio');
readln(telefono);
writeln(arch,'');
writeln(arch,nombre,' dispone de ', telefono,'como telefono de contacto');
end
else
begin
writeln('Usted sera borrado de la base de datos.');
writeln(arch,'');
writeln(arch,nombre,' desea ser borrado del archivo de datos.');
end
end
else
begin
Writeln('Por participar en nuestra encuesta, recibira un kid de musica deacuerdo a sus gustos.');
writeln('Si lo desea, presione S, si no, presione N');
writeln('y borraremos sus datos de nuestra base de datos');
readln(resp6);

if (resp6=s)or (resp6=S) then
begin
writeln('Ingrese un telefono de contacto para enviarle el premio');
readln(telefono);
writeln(arch,'');
writeln(arch,nombre,' dispone de ', telefono,'como telefono de contacto');
end

else
begin
writeln('Usted sera borrado de la base de datos.');
writeln(arch,'');
writeln(arch,nombre,' desea ser borrado del archivo de datos.');
end;

end;

writeln(nombre,': Gracias por tomarse el tiempo de responder esta encuesta');
writeln('');
readln();
close (arch);

end.
Buenas, acá te dejo correcciones del analisis de ese programita (en base a todo lo que me enseñaron a mi, si hay algo especifico que no vi, puede que le haya pifiado).

Los archivos se manejan con registros, algo asi como tener un portafolios y meter una hoja adentro. Para acceder a la info del portafolios, deberias saber que hoja tomar, y después tomar el dato. Esto es lo mismo, tenes que saber a que registro vas a referirte del archivo y después a que campo ( todos los write, tienen la sintaxis diferente, write(archivo, registro.campo), es la que tenes que usar para acceder. El problema, es que no esta declarado el registro, ahi debés declarar como se conforma la estructura del mismo, osea , que campos tiene.).
Aparte de eso, esta algo mal la optimización, tomas un valor por teclado y después lo pasas al registro. En realidad, con tomar el valor por teclado directamente en el registro te alcanza, y te ahorras una sentencia (parece una boludez, pero es causal de bochazo).

Saludos

____________[Imagen: Snowboarder_emoticon_by_Mattdrew.gif]____________
[Imagen: erepublik-badge-80x15.gif]
06-06-2010 23:29
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #15
Re: [Algoritmos]Problema con pascal
Cita: Esto es lo mismo, tenes que saber a que registro vas a referirte del archivo y después a que campo ( todos los write, tienen la sintaxis diferente, write(archivo, registro.campo), es la que tenes que usar para acceder. El problema, es que no esta declarado el registro, ahi debés declarar como se conforma la estructura del mismo, osea , que campos tiene.).

peeeeeeeeeeeeeero, matt, eso es para archivos binarios (que es lo que se ve en la MAYORIA de las cursadas de algoritmos).
Tambien puede trabajarse con archivos de texto (como hace ella, con .txt)
asique existen 2 posibilidades:

O ella se equivoco de tipo de archivo (lo dudo, porque el programa se lo mandaron asi, o eso entendi)
o, tal como yo, te enseñaron solo archivos binarios =P que es lo que le estas explicando !!

(los binarios son los .dat)

Puede ser que le este pifiando feo, porque ni lei el spoiler XD jaja me guio nomas por eso de abajo..
pero CREO estar en lo correcto, je
Correjidme si no fuese el caso wall

[Imagen: v34BEFt.gif]
06-06-2010 23:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.