15.1. EXPERIMENTA
1)
Ejecuta las siguientes órdenes:
Logosb ?espacio
Logosb ?ponobs [250 500 1000]
ACTI ?CARGA
"AESPACIO (Del Disco de Utilidades)
2)
Ejecuta las siguientes órdenes y fíjate en su efecto:
Logosb ?av 100
Logosb ?bp
Logosb ?re 100
Logosb ?bp
ALTI ?AVE
100
ACTI ?BPE
ACTI ?BPE
3)
Define el siguiente procedimiento y ejecútalo, fíjate en la primitiva vd =viraderecha
Logosb para virar
repite 12 [av 80 re 80 vd 30]
fin
Ejecución:
?bp virar
ACTI PARA VIRAR
REPITE
12 [AVE 80 REE 80 VD 30]
FIN
Ejecución:
?BPE VIRAR
4)
Define el siguiente procedimiento y ejecútalo, fíjate en la primitiva ca = cabeceabajo
Logosb para cabecear
repite 12 [av
80 re 80 ca 30]
fin
Ejecución:
?bp
cabecear
ACTI PARA CABECEAR
REPITE 12 [AVE 80 REE 80 CA 30]
FIN
Ejecución:
?BPE CABECEAR
5)
Define el siguiente procedimiento y ejecútalo, fíjate en la primitiva bd = balanceaderecha
Logosb para
balancear
repite 12 [av
80 re 80 bd 30]
fin
Ejecución:
?bp
balancear
ALTI PARA BALANCEAR
REPITE 12 [AVE 80 REE 80 BD 30]
FIN
Ejecución:
?BPE BALANCEAR
15.2. OBSERVA
espacio Activa las primitivas del ESPACIO
En el ACTI‑LOGO
debemos cargar del Disco de Utilidades el micromundo
correspondiente que se llama AESPACIO.
?CARGA
"AESPACIO
Las primitivas
son las mismas del Logosb, añadiendo una E de Espacio
a las que tienen homólogas en el plano, es decir todas menos las
correspondientes a los giros. En el ACTI‑LOGO debemos tener cuidado de no
teclear las primitivas del plano pues están activas, así AV corresponde
a AVanza en el plano y AVE a AVanza en el Espacio.
plano
Activa las primitivas del PLANO desactivando
las del espacio
av :d
avanza :d AVE
:D
AVanza en el
espacio
Ej. av 53.4 AVE
53.4
re :d
retrocede :d REE
:D
REtrocede en el espacio
Ej. re
45.7 REE 45.7

vd :a viraderecha
:a VD :A
Vira a la Derecha
el ángulo :a
Ej. vd 90 VD
90
vi :a viraizquierda :a VI :A
Vira a la Izquierda
el ángulo :a
Ej. vi 45 VI 45
ca :a cabecearriba :a CA :A
Cabecea Arriba
el ángulo :a
Ej. ca 68.4 CA
68.4
cb :a cabeceabajo :a CB
:A
Cabecea aBajo el ángulo :a
Ej. cb 125.3 CB
125.3
bd :a balanceaderecha :a BD :A
Balancea Derecha
el ángulo :a
Ej. bd 235 BD
235
bi :a balanceaizquierda
:a BI
:A
Balancea Izquierda
el ángulo :a
Ej. bi 60 BI
60
Borra la Pantalla
en el espacio, lleva el ovni al centro y le pone rumbo
cero
Ej. bp BPE
15.3. RESOLUCION DE
PROBLEMAS
PROBLEMA 1:
Define un procedimiento
que dibuje un RECTANGULO y luego define los procedimientos para GIRARLO
respecto de los tres ejes.

PROBLEMA 2:
Define un CUBO y GIRALO
en el espacio.

PROBLEMA 3:
Define un
conjunto de procedimientos de DIBUJEN y calculen la SUPERFICIE y
el VOLUMEN de un PRISMA.

PROBLEMA 4:
Define un
conjunto de procedimientos que DIBUJEN y calculen la SUPERFICIE
y el VOLUMEN de un CILINDRO.

PROBLEMA 5:
Define un MENU
para los cuatro problemas anteriores y guárdalo en un disco con un ARRANQUE.

15.4. SOLUCIONES
PROBLEMA 1:
1) rectángulo
para rec :a :b
repite 2 [poncl 3 av :a
vd 90 poncl 2 av :b vd 90]
fin
Ejecución:
?bp
rec 85 25
2) virar rectángulo
para virrec
repite 12 [rec 85 25 vd 30]
fin
Arbol: virrec --> rec
Ejecución:
?bp
virrec
3) cabecear rectángulo
para cabrec
repite 12 [rec 85 25 ca 30]
fin
Arbol: cabrec -> rec
Ejecución:
?bp
cabrec
4) balancear rectángulo
para balrec
repite 12 [rec 85 25 bd 30]
fin
Arbol: balrec ->
rec
Ejecución:
?bp balrec
PROBLEMA 2:
1) cuadro
para cua :d
repite 4 [av :d vd 90]
fin
Ejecución:
?bp
cua 80
2) para cubo :d
repite 4 [cua :d vd
90 av :d vi 90 bd 90]
fin
Arbol: cubo
-> cua
Ejecución:
?bp cubo 80
3) para
cubos
bp cubo 80
bp sl vi
90 av 50 vd 90 bl vd 45 cubo 80
bp sl
re 50 bl bd 60 cubo 80
bp bd
45 vd 45 cb 45 cubo 80
fin
Arbol: cubos
--> cubo -> cua
Ejecución:
?cubos
PROBLEMA 3:
1) dibujo del prisma
para dibpri :n :aristabase
:altura
repite :n [rec :altura :aristabase
vd 90 av :aristabase vi 90 bd 360 / :n]
fin
Arbol dibpri --> rec
Ejecución:
?bp
dibpri 6 30 80
2) superficie del prisma
para suppri :n :aristabase
:altura :unidad
(local "perímetro
"A "t "apotema "Base "Lateral)
haz
"perímetro :n * :aristabase
haz "A 180
/ :n haz "t (sen :A) / cos :A
haz
"apotema :aristabase / (2 * :t)
haz "Base
:perímetro * :apotema /2
haz
"Lateral :perímetro * :altura
(es
[Superficie =] 2 * :Base + :Lateral palabra
:unidad 2)
fin
Ejecución:
?pt
bt suppri 6 30 80 "cm
Superfricie =
19076.53709 cm2
3) volumen del prisma
para volpri :n :aristabase
:altura :unidad
(local "perímetro
"A "t "apotema "Base)
haz
"perímetro :n * :aristabase
haz "A 180 / :n
haz "t
(sen :A) / cos :A haz "apotema
:aristabase / (2 * a)
haz "Base
:perímetro * :apotema / 2
(es
[Volumen =] :Base * :altura palabra :unidad 3)
fin
Ejecución:
?pt
bt volpri 6 30 80 "cm
Volumen = 187061.48387
cm3
4) para prisma
bp pt bt
teclea [¿Número de lados de la base?\ ]
haz "n lp
es [La
arista de la base y la altura tienen que tener la misma unidad]
teclea [¿Unidad de medida?\ ]
haz
"unidad lp
teclea [¿Longitud de la arista de la base?\ ]
haz "aristabase lp teclea [¿Longitud de la altura?\ ]
haz
"altura lp
sl re :altura
* 0.4 vi 90 av :aristabase vd 90 bl
poncursor [0 0]
es
"PRISMA
dibpri :n :aristabase :altura
poncursor [0 22]
suppri :n :aristabase :altura
:unidad
volpri :n :aristabase :altura
:unidad
fin
Arbol prisma
-->
dibpri
--> suppri
--> volpri
Ejecución:
?prisma
?Número de lados de la
base? 6
La arista de la base y la
altura tienen
que tener
la misma unidad
¿Unidad de medida? cm
¿Longitud de la arista de
la base? 30
¿Longitud de la altura?
80
PROBLEMA 4:
1) dibujo
del cilindro
para dibcil :radio :altura
haz "paso
2 * pi * :radio / 36
bd 5
repite 36 [rec :altura :paso vd 90 vd :paso vi 90 bd 10]
bi 5
fin
Arbol: dibcil ‑‑> rec
Ejecución:
?bp sl re 60 bl
dibcil 45 130
2) superficie del cilindro
para supcil :radio :altura :unidad
(local "Base
"Lateral)
haz "Base pi * :radio * :radio
haz
"Lateral 2 * pi * :radio
* :altura
(es
[Superficie =] 2 * :Base + :Lateral palabra
:unidad 2)
fin
Ejecución:
?pt bt supcil
45130 "Km
Superficie =
49480.085 Km2
3) volumen del cilindro
para volcil :radio :altura :unidad
local "Base
haz "Base pi * :radio *
:radio
(es
[Volumen =] :Base * :altura palabra :unidad 3)
fin
Ejecución:
?pt bt volcil
45130 "Km
Volumen =
827024.278 Km3
4) para cilindro
bp pt bt
es [El radio
de la base y la altura tienen]
es [que
tener la misma unidad]
teclea [¿Unidad de medida?\ ]
haz
"unidad lp
teclea [¿Longitud
del radio de la base?\ ]
haz "radio
lp teclea [¿Longitud de la altura?\ ]
haz "altura lp
sl re :altura / 2 bl
poncursor [0 0]
es "CILINDRO
dibcil :radio
:altura
poncursor [0 22]
supcil :radio
:altura :unidad
volcil :radio
:altura :unidad
fin
Arbol: prisma
--> dibpri
-->suppri
-->volpri
Ejecución:
?cilindro
El radio de la base y la
altura tienen
que tener
la misma unidad
¿Unidad de medida? Hm
¿Longitud del radio de la
base? 45
¿Longitud de la altura?
130