10.1. EXPERIMENTA
Ejecuta las siguientes
órdenes:
1) ?pt bt
?es 3+7
?es 3+7+8
?es 7-4
?es 4-9
?es 9*8
?es 2*3*4
?es 45/9
?es 37/6
?es 2.98 * 23.5
2) ?bt
?es 2*6+3
?es a+2*6
?es (3 + 2) * 6
?es (5+7)/3
?es 5+7/3
3) ?bt
?es 1e3 * 1e2
?es 5e6 * 7e3
?es 4.23e6 * 3e8
?es 5e6 / 12e11
?es 7.2e\-6 * 5e3
4) ?bt
?es 4<9
?es9<4
?es 4>9
?es 9>4
?es 5+3=3+5
?es 5-3=3-5
5) ?bt
?es entero 3.6
?es entero 3.5
?es entero 3.2
?es redondea 3.6
?es redondea 3.5
?es redondea
3.2
?es resto 17
5
6) ?bt
?es pi
?(es [Número pi =] pi)
?es azar 2
?repite 10 [es azar 2]
?repite 10 [(teclea azar 2
"\ )]
?repite 10 [es 1 + azar 2]
?repite 10 [es 25 * (1 + azar
2)]
?repite 20 [es azar 6]
?repite 20 [es 1 + azar 6]
?repite 6 [(teclea 1 + azar 49
"\ )]
7) ?b
?es potencia 2 3
?es 2*2*2
?es 2 * 2 * 2 = potencia 2 3
?es potencia 3 5
?es 3*3*3*3*3
? (es [Número de quinielas =]
potencia 3 14)
? (es [Granos de Trigo =]
-1
+ potencia 2 64)
? es potencia 0.2 25
8) ?bt
?es rc
9
?es rc
25
?es rc
24
?es rc
10
?es rc
586.56
9) ?bt
?es exp
1
? (es [Número e =] exp 1)
?es exp
5
?es exp
5.4
?es ln 2.718281828
?es ln 148
?es ln 3.4e25
?es ln -6
?es ln 2.6e\-23
?es ln exp 6
?es exp In 6
10) Qué función tiene el siguiente procedimiento:
para log :x
dev (In :x) / In 10
fin
Ejecución:
? es log 100
11) ?bt
?es sen 90
?es sen 0
?es cos 90
?es cos 0
?es sen 23.45
?es arctan
1
?es arctan
4.5
?es arctan
.34345
?es arctan
-0.5678
10.2.
OBSERVA
El lenguaje Logo lleva incorporadas una serie de operaciones que
permiten su uso como si de una calculadora se tratase:
+ suma
Ej. ?es 3 + 7
10
- resta
Ej. ?es 7
- 4
3
* multiplicación
Ej. ?es 9 * 8
72
/ división
Ej. ?es 45 / 7
6.428571
• punto decimal
Ej. 5.23
> mayor que
Ej. ?es 9 > 4
cierto
< menor que
Ej. ?es 9 < 4
falso
= igual a
Ej. ?es5+3= 3+5
cierto
entero Devuelve la parte ENTERa
Ej. ?entero 3.6
3
redondea REDONDEa el
número
Ej. ?redondea
3.6
4
resto Devuelve
el RESTO entero. 17l_5__
Ej. ?es
resto 17 5 2
3
2
pi Es
el número n
?es pi
3.1415927
azar Devuelve un número al AZAR entre 0 y uno menor de la entra
da
Ej. ?repite 10 [(teclea
azar 3 "\ )]
1221112210
potencia Devuelve
la POTENCIA del primer número
elevado al segundo.
Ej. ?es potencia 3 4
81
rc Devuelve
la Raíz Cuadrada
Ej. ?es rc 16
4
exp Devuelve
el número e elevado al EXPponente.
Ej. ?es exp 5
148.4131591
ln Devuelve
el Logaritmo Neperiano.
Ej. ?es ln 148
4.9972122738
sen SENo
Ej. ?es sen 60
0.'866025
cos COSeno
Ej. ?es cos 30
0.866025
arctan ARCo TANgente
Ej. ?es arctan.7896
38.284
1) Se
ejecutan los paréntesis.
2) En las
operaciones de distinto nivel se efectúan en primer lugar las de nivel más
alto.
3) Las operaciones
del mismo nivel se ejecutarán de izquierda a derecha.

NOTACIONES
1e3 1000
5e6 5000000
4.23e6 4230000
12e11 1200000000000
7e\-5 0.00007
9.24e\-3 0.00924
34567e\-2 345.67
10.3. RESOLUCION DE
PROBLEMAS
PROBLEMA 1:
Define un conjunto de
procedimientos que calculen la media aritmética de una
lista de números.
PROBLEMA 2:
Define un conjunto de procedimientos que
pongan la TORTUGA en movimiento, de forma que al pulsar la letra A
Acelere su velocidad, al pulsar F Frene, al pulsar D gire hacia
la Derecha, al pulsar I gire hacia la Izquierda y al pulsar B
inicialice el sistema.

PROBLEMA 3:
Define un
conjunto de procedimientos que resuelvan un triángulo rectángulo conocidos un
ángulo agudo y la hipotenusa.

PROBLEMA 4:
Representar la función
y = 70sen 5x

PROBLEMA 5:
Definir un MENU
para este tema con la variable global arranque.

10.4. SOLUCIONES
PROBLEMA 1:
para media
local "l
pt bt
es [Dame la lista de
números,]
es [separados por
espacios en blanco]
es "
haz "l ll
es "
medi
fin
para medi
local "n
haz "n
cuenta :l
(es
[Media aritmética =] (sum :l)
/ :n)
fin
para sum :l
si [ ] = :l [dev 0]
dev (pr
:l) + sum mp :l
fin
Arbol de los
procedimientos
media ‑> medi ‑> sum
Ejecución:
?media
PROBLEMA 2:
para física
bp mt bt enlaza ponfondo
1 ponpaleta 0
poncl 3 ponct [10]
poncursor [1 21]
es [A =
Acelera F = Frena \ \ \ \ \ v =]
ponct [2 0]
poncursor [1 22]
es [D =
Derecha I = Izquierda Ang =]
haz "v
0
haz "a
0
ponct [3 0]
poncursor [31 21] (es 0 "m\/seg)
poncursor [33 22] es 0
poncursor [12 23] es [B = Inicializa]
movimiento
fin
para
movimiento
av :v
gd :a si tecla?
[cambio]
movimiento
fin
para cambio
local
"c
haz "c lc
si "a = :c [haz "v
:v + 1]
si "f = :c [haz "v
:v -1]
si "d = :c [haz "a
:a+ 10]
si"¡ = :c [haz "a
:a -10]
si "b = :c [física alto]
poncursor [31 21] es "\ \ \ \ \ \ \ \
ponct [3 0]
poncursor [31 21] (es :v
"m\/seg)
poncursor [33 22] es "\ \ \ \ \
poncursor [33 22] es :a
fin
Arbol de los procedimientos
física ->
movimiento -> cambio
Ejecución
?física
PROBLEMA 3:
para tri
(local "B "h
"u)
pt bt
es [Resuelve un triángulo
rectángulo]
es [conocidos un ángulo
agudo B]
es [y la hipotenusa h]
es "
es "
teclea [Dame el
ángulo agudo B \(0..90\) =\ ]
haz "h lp
es "
si no y 0 <
:B 90 > :B [tri alto]
teclea [Dame la
hipotenusa h \(79..181\) =\ ]
haz "h lp
es "
si no y 79
< :h 181 > :h [tri
alto]
teclea [Unidades de la
hipotenusa =\ ]
haz "u lp
soluciones
fin
para soluciones
(local
"C "b "c "S)
haz "C 90 - :B
haz "b :h * sen :B
haz "c :h * cos :B
haz "S :b * :c / 2
bp bt ot
poncl 2
ponct [1 0]
poncursor [0 0]
es "DATOS
es "
(es
[B =] :B "grados)
(es
[h =] :h :u)
poncursor [0 18]
ponct [7 0]
es "SOLUCIONES
es "
(es
[C =] :C "grados)
(es
[b =] :b :u)
(es
[c =] :c :u)
(es
[S =] :S palabra :u 2)
dibtri
fin
para dibtri
local "Bs
sl re:b/3 gi 90 av:c / 3 gd 90 bl
haz "Bs pos
gd 90 av :c gi 90 av :b ponpos
:Bs
fin
Arbol de los procedimientos
tri -> soluciones -> dibtri
Ejecución:
?tri
PROBLEMA 4:
para seno
poncl 2 ejes
poncl 3
poncursor [0 0]
es [Gráfica de y = 70 *
sen 5x]
sl ponpos lista -150 70 * sen 5 * (-150) bl
s -150
fin
para s :x
si 150 < :x
[alto]
ponpos lista :x 70 * sen
5 * :x
s:x+2
fin
para ejes
bp bt
av 100 re 200 av 100
gd 90
av 160 re 320
centro
fin
Arbol de los procedimientos
seno --> ejes
--> s
Ejecución:
?seno
para menú
ponfondo 1 ponpaleta 0
cargadib "menú
ot
ponct [10]
poncursor [6 11] es
[OPCIONES 1 \ \ \ \ EJECUCION]
ponct [3 0]
poncursor [10 13] es
[1 \ \ \ \ \ Media aritmética]
poncursor [10 14] es
[2 \ \ \ \ \ Movimiento]
poncursor [10 15] es
[3 \ \ \ \ \ Triángulo rectángulo]
poncursor [10 16] es
[4 \ \ \ \ \ Curva y =70sen 5x]
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
si no miembro? :c [1 2 3 4 5] [opciones alto]
si 1 = :c [pt bt media]
si 2 = :c [física]
si 3 = :c [tri]
si 4 = :c [seno]
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
menú ->
opciones -> media...
--> física ...
--> tri ...
--> seno...
--> continuar -> menú
Ejecución:
?menú
Definimos la variable global arranque y la
guardamos en el disco.
?haz "arranque [menú]
?guarda
"tema10
10.5. PROYECTOS
Define un procedimiento
que represente gráficamente la Ley de Ohm.

M. Ángeles Gutiérrez
Rosa M. Santander
I. B. "García Morato".
Madrid
Escribe los
procedimientos para dibujarla bandera de la Comunidad Autónoma de Madrid.

Isabel Hipola
Pedro Enríquez
Santiago Saura
Andrés Alvarez
C. P. Prácticas
"Asunción Rincón".
Madrid