ayuda con programa de arreglos 2D

Von Marie
20 de Septiembre del 2003
Hola , tengo que hacer un programa que haga lo siguiente e intentado y no e podido por favor alguien ayudeme es para un curso de data structure y no es el unico que tengo que hacer, por favor ayuda!!:

El lenguaje LOGO era usado para enseñar conceptos de programación de computadoras a niños pequeños. Básicamente, un programa de LOGO consitía de un grupo de instrucciones que permiten hacer dibujos en la pantalla, moviendo un “bolígrafo”. Nuestra versión del lenguaje LOGO hará sus dibujos en una pantalla 20 x 20 y el bolígrafo siempre comenzará mirando hacia arriba ( )y en fila = 0 y columna = 0. Se reconocerán las siguientes instrucciones:

Instrucción Equivalencia Significado
PU Pen up Permite mover el bolígrafo sin escribir

PD Pen down Permite mover el bolígrafo escribiendo

RT [45 | 90 | 135 | 180] Turn right n degrees Permite rotar el bolígrafo n grados a la
derecha, donde n es uno de los valores posibles
LT [45 | 90 | 135 | 180] Turn left n degrees Permite rotar el bolígrafo n grados a la izquierda, donde n es uno de los valores posibles
FD # Forward n steps Permite moverse n pasos hacia el frente
REPEAT # [instrucciones] Repeat commands n times Repite las instrucciones entre corchetes n veces
















La instrucción REPEAT tendrá las siguientes restricciones:
1. El cuerpo del REPEAT consistirá de un máximo de cinco (5) instrucciones.
2. Las instrucciones en el cuerpo del REPEAT estarán separadas por coma.
3. Una instrucción REPEAT NO podrá ser parte del cuerpo de otra instrucción REPEAT. En otras palabras, nuestra versión de LOGO no reconocerá ciclos anidados.


Escriba un programa en C++ que lea un archivo que contenga un “programa” en LOGO y que muestre un pantalla el resultado del programa. Asuma que el “programa” en LOGO está escrito correctamente, por lo tanto no hay que validarlo. Lo siguiente es un ejemplo de codigo en logo:

RT 180
FD 3
LT 90
FD 4 ; Llegué a fila = 3, columna = 4
PD ; Voy a dibujar el cuadrado
REPEAT 4 [FD 4, RT 90] ; Dibujo el cuadrado
PU ; Levanto el bolígrafo
RT 45 ; Me muevo en dirección diagonal
FD 1
PD ; Voy a dibujar el punto
FD 1 ; Dibujo el punto