Error en free pascal?
Publicado por diego (3 intervenciones) el 23/05/2012 22:58:14
buenas. Hace unos dias rendi un parcial en la facultad sobre pascal.
me pedian obtener un vector conociendo otro vector con sus componentes( llamado v ) y un valor x
.al vector desconocido (vector w) lo tenia que pasar las componentes del vector conocido hasta que uno coincidiera con x y repetirlo tanta veces como indique el indice de dicha componente con la primera componente y seguir pasando los restantes componentes hasta formar todo el vector.
por ejemplo
el vector ''v'' (conocido) es 1 2 3 4 5 6 7 8 9 10
y x :=4
entonces w es 1 2 3 4 1 1 1 1 5 6 7 8 9 10
otro ej
v es 5 7 8 4 2 1 6 8 4 3
x:=8
w sera 5 7 8 5 5 5 4 2 1 6 8 4 3
mi programa lo hice asi:
program PARCIALVECTORES2012;
uses crt;
type
vector=array[1..100] of integer;
var
v,w:vector;
i,k,n,x:integer;
bol:boolean;
begin
clrscr;
bol:=true;
writeln('ingrese la cantidad de vectores');
readln(n);
writeln('ingrese el valor de cada componente');
for i:=1 to n do
readln(v[i]);
writeln('ingrese el valor de x (x>0)');
readln(x);
while bol do
if (x>0) then
begin
bol:=false;
for i:=1 to n do
begin
w[i]:=v[i];
writeln (w[i]);
if (v[i]=x) then
for k:=1 to i do
begin
w[i+k]:=v[1];
writeln(w[i+k]);
end;
end;
end
else
begin
writeln('dato erroneo, intente de nuevo');
readln(x);
end;
readln
end.
lo que esta en negrita es lo que me dice el profesor que esta mal, que se pisan los datos por el valor que va tomando i. yo lo intente con un lote de prueba y tiene razon.
Pero resulta que cuando lo compilo y ejecuto en pascal me escribe el vector tal cual tiene que ser
porque pasa eso?
talvez viendo este tema me levante 3 puntos en la prueba
me pedian obtener un vector conociendo otro vector con sus componentes( llamado v ) y un valor x
.al vector desconocido (vector w) lo tenia que pasar las componentes del vector conocido hasta que uno coincidiera con x y repetirlo tanta veces como indique el indice de dicha componente con la primera componente y seguir pasando los restantes componentes hasta formar todo el vector.
por ejemplo
el vector ''v'' (conocido) es 1 2 3 4 5 6 7 8 9 10
y x :=4
entonces w es 1 2 3 4 1 1 1 1 5 6 7 8 9 10
otro ej
v es 5 7 8 4 2 1 6 8 4 3
x:=8
w sera 5 7 8 5 5 5 4 2 1 6 8 4 3
mi programa lo hice asi:
program PARCIALVECTORES2012;
uses crt;
type
vector=array[1..100] of integer;
var
v,w:vector;
i,k,n,x:integer;
bol:boolean;
begin
clrscr;
bol:=true;
writeln('ingrese la cantidad de vectores');
readln(n);
writeln('ingrese el valor de cada componente');
for i:=1 to n do
readln(v[i]);
writeln('ingrese el valor de x (x>0)');
readln(x);
while bol do
if (x>0) then
begin
bol:=false;
for i:=1 to n do
begin
w[i]:=v[i];
writeln (w[i]);
if (v[i]=x) then
for k:=1 to i do
begin
w[i+k]:=v[1];
writeln(w[i+k]);
end;
end;
end
else
begin
writeln('dato erroneo, intente de nuevo');
readln(x);
end;
readln
end.
lo que esta en negrita es lo que me dice el profesor que esta mal, que se pisan los datos por el valor que va tomando i. yo lo intente con un lote de prueba y tiene razon.
Pero resulta que cuando lo compilo y ejecuto en pascal me escribe el vector tal cual tiene que ser
porque pasa eso?
talvez viendo este tema me levante 3 puntos en la prueba
Valora esta pregunta


0