GEOMETRIA CARTESIANA

 

7.1. EXPERIMENTA

 

1) Ejecuta las siguientes órdenes

 

?bp

?ponpos [-100 80]

?es pos

?muestra pos

?centro

?muestra pos

 

2) Antes de ejecutar las órdenes siguientes, piensa qué figura se obtiene, ¿es abierta o cerrada?, ¿cuántos vértices tiene?, luego ejecútalas.

 

?bp

?sl ponpos [-30 -50] bl

?ponpos [-100 40]

?ponpos [60 -50]

?ponpos [-30 -50]

 

3) Ejecuta las siguientes órdenes

 

?bp

?ponx 100

?es coorx

?pony -60

?pos

?es coory

?muestra pos

?ponpos [0 0]

 

4) Ejecuta las siguientes órdenes y fíjate en la Tortuga

 

?bp

?punto [50 50]

?punto [50 -50]

?punto [-50 -50]

?punto [-50 50].

?ot

?repite 100 [punto lista -50 + azar 101-50 + azar 101]

 

5) Ejecuta las siguientes órdenes y fíjate ,en la orientación de la Tortuga.

 

?bp mt

?av 80 re 80

?ponrumbo 120

?ponrumbo 120

?av 80

?es rumbo

 

6) Ejecuta las siguientes órdenes

 

?bp gd 90 av 30 estampa ay 60

?bp repite 4 [av 80 estampa gd 90]

 

7) Ejecuta las siguientes órdenes.

 

?bp ponrumbo hacia [100 50]

?es rumbo

 

8) Piensa cuál es la función del procedimiento siguiente, luego defínelo y ejecútalo.

 

para vector

(local "x1 "y1 "x2 "y2)

teclea [Dame la abcisa del origen\ ]

haz "x1 lp

teclea [Dame la ordenada del origen\ ]

haz "y1 lp

sl ponpos lista :x1 :y¡1 bl

teclea [Dame la abcisa del extremo\ ]

haz "x2 lp

teclea [Dame la ordenada del extremo\ ]

haz "y2 lp

ponrumbo hacia lista :x2 :y2

espera 10

ponpos lista :x2 :y2

estampa

módulo

fin

para módulo

(local "a "b)

bt

haz "a :x2 - :x1

haz "b :y2 - :y1

haz "m rc :a * :a + :b * :b

(es [Módulo =] :m)

fin

 

9) Une las siguientes letras en orden alfabético, empezando por la A, luego rellena las regiones cerradas correspondientes a los números 1, 2, 3 y 4.

 

                          

10) Cuando hayas terminado el apartado anterior, carga del Disco de utilidades de ficheros ZEUS.LOG y ZEUS.DIB.

 

 

7.2. OBSERVA

 

GEOMETRIA CARTESIANA

 

La Tortuga es un punto orientado y su estado viene dado por sus coordenadas y por su rumbo. La posición inicial es el origen de coordenadas, el rumbo inicial es 0 que corresponde a mirar al Norte, vertical hacia arriba. Las primitivas referentes a la posición y rumbo de la Tortuga son las siguientes:

 

ponpos    PONe a la Tortuga en la POSición indicada por las coordenadas

               que damos entre corchetes.

               Si alguna de las coordenadas es negativa, entre el signo menos

               y el número no hay espacio en blanco.

               Si las entradas son variables, debemos previamente calcular los

               valores y luego formar la lista

               Ej. ponpos lista :a + :b azar 50

pos          Devuelve la POSición de la Tortuga, las coordenadas del punto

               donde se encuentra.

centro      Lleva la Tortuga al CENTRO de la pantalla, y le pone rumbo 0.

punto       Dibuja un PUNTO en el lugar de la entrada, sin variarla posición

               de la Tortuga.

ponx        PONe la Tortuga en el punto de abscisa indicado x, sin variar la

               ordenada.

pony        PONe la Tortuga en el punto de ordenada indicado y, sin variar la

               abscisa.

coorx        Devuelve la COORdenada x de la posición de la Tortuga.

coory        Devuelve la COORdenada y de la posición de la Tortuga.

 

 

 

                          


ponrumbo PONe el RUMBO indicado a la Tortuga.

rumbo      Devuelve el RUMBO de la Tortuga, el ángulo que forma la vertical

               hacia arriba con la orientación en ese momento, medido hacia la

               derecha.

                                                                                 

                 

 

hacia        Nos da el rumbo que tiene que tomarla Tortuga para mirar desde

               el punto donde se encuentra HACIA el punto de la entrada.

 

OTRA PRIMITIVA

 

estampa   Deja ESTAMPAda la imagen de la Tortuga en el punto en que se

               encuentre de la pantalla.

 

                   

 

 

 

 

 

7.3. RESOLUCION DE PROBLEMAS

 

PROBLEMA 1:

 

Define un procedimiento que dibuje una nube de puntos por toda la pantalla.                            

 

               

 

PROBLEMA 2:

 

Define un procedimiento que dibuje polígonos regulares yescriba en la pantalla las coordenadas y el rumbo de la Tortuga en cada vértice.

 

              

 

PROBLEMA 3:                                                             

Define un procedimiento que dibuje circunferencias de centro y radio variable.

 

 

                     

 

 

PROBLEMA 4:

 

Define un procedimiento que dibuje un triángulo rectángulo cono­cidos los catetos y que calcule la hipotenusa.

 

                

 

PROBLEMA 5:

 

Define un MENU para este tema. Guarda el contenido del Area de Trabajo en un fichero con la variable global arranque.

 

                   

 

 

7.4. SOLUCIONES

 

PROBLEMA 1:

 

para nube

local "n

ot

teclea [¿Cuántos puntos quieres?\ ]

haz "n lp

bt

repite :n [punto lista -150 + azar 300 -100 + azar 200]

mt

fin

 

Ejecución:

          ?bp nube

 

PROBLEMA 2:

 

para pol

(local "n "d)

teclea [¿De cuántos lados?] 

haz "n lp

teclea [Longitud de cada lado =\] 

haz "d lp

repite :n [av :d gd 360 / :n (muestra pos rumbo) espera 20]

fin

 

Ejecución:

 

?bp bt poncursor [0 15]

?pol

 

 

PROBLEMA 3:

 

para cir

(local "x "y "r "paso)

teclea [Dame la abcisa del centro\ ]

haz "x lp

teclea [Dame la ordenada del centro\ ]

haz "y lp

sl ponpos lista :x :y bl

teclea [Dame el radio\ ]

haz "r lp

sl gi 90 av :r gd 90 bl

haz "paso 2 * pi * :r / 36

gd 5

repite 36 [av :paso gd 10]

gi 5

sl ponpos lista :x :y bl

fin

 

Ejecución:

 

?bp bt poncursor [0 20] ?cir

 

PROBLEMA 4:

 

para trirec

(local "b "c "a)

teclea [Dame un cateto b =\ ]

haz "b lp ponx :b

teclea [Dame el otro cateto c =\ ]

haz "c lp

pony :c

ponpos [0 0]

haz "arc:b*:b+:c*:c

(es [Hipotenusa a =] :a)

fin

 

Ejecución:

 

?bp bt poncursor [0 20]

?trirec

 

PROBLEMA 5:

 

para menú

ponfondo 1 ponpaleta 0

cargadib "menú

ot

ponct [10]

poncursor [6 11] es [OPCIONES \ \ \ \ \ EJECUCION]

ponct [3 0]

poncursor [10 13] es [1 \ \ \ \ \ nube de puntos]

poncursor [10 14] es [2 \ \ \ \ \ polígonos regulares]

poncursor [10 15] es [3 \ \ \ \ \ circunferencia]

poncursor [10 16] es [4 \ \ \ \ \ triángulo rectángulo]

poncursor [10 17] es [5 \ \ \ \ \ FIN]

ponct [2 0]

poncursor [8 20] es [Pulsa la opción deseada]

ponct [7 0]

opciones

fin

 

para opciones

local "c

haz "c lc

mt

si no miembro? :c [1 2 3 4 5] [opciones alto]

si 1= :c [bp bt nube]

si 2 = :c [bp bt pol]

si 3 = :c [bp bt cir]

si 4 = :c [bp bt trirec]

si 5 = :c [pt bt alto]

continuar

fin

 

para continuar

local "v

poncursor [3 24]

teclea [¿Quieres volver al menú? \(s\/n\)\ ]

haz "v lc

si "s = :v [menú]

pt bt

fin

 

Arbol de los procedimientos:

 

 

 

Ejecución:

 

?menú

 

Lo guardamos en un fichero con una variable global arranque.

 

?haz "arranque [menú]

?guarda "tema7

 

 

7.5. PROYECTOS

 

PROYECTO 1. Geografía

 

Mapa de España con los ríos más importantes

 

 

Enrique Ruiz

Francisco Vázquez

C. Nuestra Señora del Pilar

 

Madrid

 

 

PROYECTO 2. Física

 

Símbolos eléctricos

 

 

José Ramón Rodríguez Lago

Alberto Fernández

I. F. P. "San Roque".

 

Madrid