No se si ya lo terminaste, pero basado en la idea de Trance aqui te dejo los códigos necesarios para las 3 piramides en Pascal.
La verdad investigué un poco por lo del formateo de cadenas y todo eso, la verdad existe el comando "Format", pero su uso dista mucho de parecerse al que acostumbro usar en VB6... así que mejor opté por imitar lo que haría un Format bien aplicado.
A la Izquierda:Program Prueba;
VAR
Contador : Integer;
Espacios : Integer;
PosicionY : Integer;
PosicionX : Integer;
BEGIN
FOR PosicionY := 0 to 4 DO
BEGIN
For PosicionX := 0 to PosicionY DO
BEGIN
INC(Contador);
Write(Contador);
If contador < 10 Then Write(' ');
write(' ');
END;
WriteLn;
END;
END.
Al Centro:Program Prueba;
VAR
Contador : Integer;
Espacios : Integer;
PosicionY : Integer;
PosicionX : Integer;
BEGIN
FOR PosicionY := 0 to 4 DO
BEGIN
FOR Espacios := 1 to 4 - PosicionY DO
BEGIN
Write(' ')
END;
For PosicionX := 0 to PosicionY DO
BEGIN
INC(Contador);
If contador < 10 Then Write(' ');
Write(Contador);
write(' ');
END;
WriteLn;
END;
END.
A la derecha:Program Prueba;
VAR
Contador : Integer;
Espacios : Integer;
PosicionY : Integer;
PosicionX : Integer;
BEGIN
FOR PosicionY := 0 to 4 DO
BEGIN
FOR Espacios := 1 to 12 - (PosicionY * 3) DO
BEGIN
Write(' ')
END;
For PosicionX := 0 to PosicionY DO
BEGIN
INC(Contador);
If contador < 10 Then Write(' ');
Write(Contador);
write(' ');
END;
WriteLn;
END;
END.
Lo hice en Turbo Pascal 7.0 que encontré acá:
http://www.terra.es/personal/ffrrbb/elrincondelpascal/Download/TurboPascal.htm
Tambien te adjunto el práctico manual que te enseña todo lo básico en 1:00hora:
http://hacksharing.hacksal.com/file.php?file=726af0c94717a03391ce79c442a1de87
PD: Ojalá que tu profe no ande por estos rumbos...