[ Foro de Pascal ]
Buenas Noches estimado, por favor quisiera que me des una ayuda de cómo hacer el siguiente ejercicio propuesto en su página de Pascal:
Crea un programa que sume dos vectores, cuyos componentes indicará el usuario. Por ejemplo, la suma de (1,2,3) y (7,11,-1) sería (8,13,2)
-Otra pregunta: ¿El array también es indispensable en el ejercicio planteado líneas arriba?
¡¡Saludos!!
Se puede hacer con "array" de modo que cada dato contendría 3 valores numéricos (por ejemplo, dato[0], dato[1] y dato[2]), que representarían sus componentes x,y,z
Así, cada componente del resultado se calcularía con operaciones como
resultado[1] := dato1[1] + dato2[1];
De forma alternativa, Pascal también permite que el índice de un array sea cualquier dato "enumerable", no sólo un número, así que podrías llegar a plantear usando letras para los índices, así:
resultado['x'] := dato1['x'] + dato2['x'];
Alternativamente, se puede hacer con "record", de modo que cada número tendría componentes x,y,z
resultado.x := dato1.x + dato2.x;
(y en ese caso, no necesitarías usar ningún array).
Buenas Noches, avancé un poco con este ejercicio, pero aún no lo resuelvo. Mi duda es si puedo utilizar un FOR con VECTORES y cómo sería la Sintaxis, y si no es así por favor necesito que me den más pistas. Aquí adjunto el código:
program for_vector; (*/Crea un programa que sume 2 vectores, cuyos componentes indicara
el usuario.Por ejemplo, la suma de (1,2,3) y (7,11,-1)seria (8,13,2)*)
var vector1:array[1..3] of integer;
vector2:array[1..3] of integer;
resultado:array[1..3] of integer;
begin
writeln();
writeln('Introduce el primer elemento');
readln(vector1[1]);
writeln('Introduce el segundo elemento');
readln(vector1[2]);
writeln('Introduce el tercer elemento');
readln(vector1[3]);
writeln('Introduce el primer elemento');
readln(vector2[1]);
writeln('Introduce el segundo elemento');
readln(vector2[2]);
writeln('Introduce el tercer elemento');
readln(vector2[3]);
resultado[1]:=vector1[1]+vector2[1];
resultado[2]:=vector1[2]+vector2[2];
resultado[3]:=vector1[3]+vector2[3];
for ????? to do // ---------------------> ahí es mi duda
writeln();
write(resultado,' ');
end.
¡Pero si ya lo tienes hecho!
Puedes mostrar todos los datos uno tras otro (sencillo, ya que son pocos):
writeln(resultado[1]);
writeln(resultado[2]);
writeln(resultado[3]);
O bien usar un "for", por eso de que son datos repetitivos:
for i:=1 to 3 do
writeln(resultado[i]);
Sí, ya lo resolví. Mi duda era si podía colocar un vector después del FOR, pero con su segundo ejemplo lo entendí. Y me salió gracias. ¡Saludos!
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)