--este programa muestra el funcionamiento de los arreglos
--utiliza 2 arreglos a1 el cual sirve de entrada y a2 en 
--el cual coloca el cuadrado de los valores de a1 
--y los escribe en sentido contrario en sentido contrario


package arreglos is
	a1,a2:array(1..10) of integer;
	i:character;
	valor:integer;
	
	procedure leer is
	i:integer;
	begin
		for i in 1..10 loop
			write(i);write(':');write(' ');
			read(valor);
			a1(i):=valor;
		end loop;
	end;
	
	procedure escriba1 is
	i:integer;
	begin
		for i in  1..10 loop
			write(a1(i));write(' ');
		end loop;
		writeln;
	end;
	
	procedure escriba2 is
	i:integer;
	begin
		for i in reverse 1..10 loop
			write(a2(i));write(' ');
		end loop;
		writeln;
	end;
	
	procedure square is
	i:integer;
	begin
		for i in 1..10 loop
			a2(i):=a1(i)*a1(i);
		end loop;
	end;
begin
	leer;
	escriba1;
	square;
	escriba2;
	read(i);
end;