MENU. AREA DE TRABAJO

 

5.1. EXPERIMENTA

 

1) Carga del Disco de Utilidades el fichero ángulos

 

?carga "ángulos

 

Aparece el siguiente menú

                                           

                                        Menú

                                              ANGULOS

                        Opción                          Ejecución

                             1                               Recto

                             2                               Agudo

                             3                               Obtuso

                             4                               Conjuntamente

                             5                               FIN

 

 

2) Ejecuta varias veces cada una de las opciones, si te sales del menú y quieres volver, teclea:

 

?menú

 

               

 

3) Sal del menú, ejecuta las siguientes órdenes y fíjate en los procedimientos que llevan entradas para ejecutarlos.

 

?pt bt

?bt imts

?bp bt ángulos

?bp bt nombres

?bp bt ángulo 45

?bp bt arco 45

?bp bt recto

?bp bt agudo

?bp bt obtuso

?menú

 

5) Ejecuta las siguientes órdenes:

 

?pt im "menú

?bt im [recto agudo obtuso]

?bt imtodo

 

6) Ejecuta las siguientes órdenes:

 

?pt

?bt imvs

 

7) Enciende la impresora, ponle papel y ejecuta:

 

?pt bt

?eco "lpt1

?im [recto agudo obtuso]

?imvs

?imtodo

?noeco

 

8) Ejecuta las siguientes órdenes:

 

?botodo

?menú

?imtodo

 

 

9) Con el Disco de Utilidades en la unidad A, ejecuta las siguientes órdenes:

 

?carga "ángulos

?imts

?bo "ángulos

?ángulos

?imts

?bo [recto agudo obtuso]

?imts

 

10) Con el Disco de Utilidades en la unidad A, ejecuta las siguientes órdenes:

 

?carga "ángulos

?imvs

?bovars

?imvs

 

 

5.2. OBSERVA

 

MENU

 

Al igual que en un restaurante nos presentan la carta con el menú para darnos información sobre lo que podemos comer, en Informática se sigue la misma nomenclatura para presentar los contenidos de un trabajo.

 

Es una buena costumbre hacer un menú en cada fichero, así tu trabajo puede parecerse al de un buen profesional.

 

En uno de los problemas, aislaremos los procedimientos que presentan el menú y los guardaremos solos en un fichero para que, con pocas modificaciones, sirvan para cualquier otro tema.

 

Poncursor Empieza a escribir PONiendo el CURSOR hacia la derecha tantos lugares como indique la primera entrada y hacia abajo tantos como indique la segunda entrada. La esquina superior izquierda de la pantalla es el [0 0]. Ej. poncursor [7 12]

 

AREA DE TRABAJO

 

Es el espacio de la memoria que el Logo reserva para los procedimientos y variables globales.

 

Las funciones en el Area de Trabajo son:

 

1) Imprimir:

 

Podemos imprimir los títulos o nombres de los procedimientos, uno o varios procedimientos y las variables globales sin necesidad de entrar en el Editor. Las primitivas más frecuentes son:

 

imts     IMprime los TítuloS de los procedimientos. Su mayor aplicación es

           para ver si un procedimiento tiene entradas y si las tiene, cuántas

           tiene.

¡ni       IMprime uno o varios procredimientos.

 

imtodoIMprime TODO el Area de Trabajo.

 

imvs    IMprime las VariableS globales del Area de Trabajo.

 

 

2) Borrar:

 

Podemos borrar un procedimiento, varios, las variables globales o todo el con­tenido del Area de Trabajo.

 

bo            BOrra uno o varios procedimientos.

 

bovars     BOrra todas las VARiableS globales.

 

Botodo     BOrra TODO el contenido del Area de Trabajo.

 

INTERACTIVIDAD

 

lc         Espera a Leer un Carácter porteclado, no es necesario pulsarla tecla   

 

 

 

5.3. RESOLUCION DE PROBLEMAS

 

PROBLEMA 1:

 

Escribe el árbol de los procedimientos del fichero ángulos del Disco de Utilidades.

 

PROBLEMA 2:

 

1) Guarda en un fichero el conjunto de procedimientos mínimos del menú para que te sirva de modelo.

 

2) Obtén por impresora una copia de dichos procedimientos.

 

PROBLEMAS 3:                                        

 

1) Define la suma de ángulos

 

 

2) Define la diferencia de án­gulos.

 

 

     PROBLEMA 4:

    

1)     Define el producto de un nú­mero por un ángulo.

   

    2) Define el cociente de un ángu­lo por un número. 

 

 

PROBLEMA 5:

 

1) Define un menú para los problemas 3 y 4, guárdalos en un fichero con la  variable global arranque.

2)     Haz una copia en la impresora del menú tal como aparece en pan­talla

 

 

 

5.4. SOLUCIONES

 

PROBLEMA 1:

 

para ángulos

bp bt ot ponct [3 0]

ponfondo 1 ponpaleta 0

poncursor [16 0] es "ANGULOS

sl av 10 gi 90 av 140 gd 90 bl

ángulo 90

sl gd 90 av 110 gi 90 bl

ángulo 1 + azar 89

sl gd 90 av 110 gi 90 bl

ángulo 91 + azar 89

nombres

fin

 

para nombres

ponct [1 0]

poncursor [2 14]

es [RECTO \ \ \ \ \ \ \ AGUDO\ \ \ \ \ \ \ \ \ OBTUSO]

ponct [2 0]

poncursor [2 16]

es[A=90 \ \ \ 0 <A <90 \ \ \ \ 90 <A < 180] 

ponct [7 0]

poncursor [19 24]

fin

 

para ángulo :a

poncl 3

av 50 re 50

gd :a

av 50 re 50

gi :a

arco :a

fin

 

para arco :a

local "paso

poncl 2

sl av 20 gd 90

haz "paso 2 * pi * 20 / 36

repite :a / 10 [bl av .1 sl av :paso -.1 gd 10 bl re .1 av .1 sl]

repite :a / 10 [gi 10 re :paso]

gi 90 re 20 bl

fin

 

para recto

ángulo 90

fin

 

para agudo

local "a

bp bt

es [Dame un ángulo comprendido]

teclea [entre 0 y 90\ ]

haz "a lp

ángulo :a

fin

 

para obtuso

local "a

bp bt

es [Dame un ángulo comprendido]

teclea [entre 90 y 180\ ]

haz "a lp

ángulo :a

fin

 

para menú

pt bt

ponct [0 6] poncursor [34 1] es [\ M e n ú \ ]

ponct [4 15] poncursor [32 4] es [A N G U L O S]

ponct [11 5] poncursor [29 7] es [Opción \ \ \ \ \ Ejecución\ ]

ponct [14 1] poncursor [30 10] es [l.\  \ \ \ recto]

poncursor [30 12] es [2.\  \ \ \ agudo]

poncursor [30 14] es [3.\  \ \ \ obtuso]

poncursor [30 16] es [4.\ \ \ \ Conjuntamente]

poncursor [30 18] es [5.\  \ \ \ FIN]

ponct [7 15]

poncursor [27 22] es [Pulsa una de la opciones]

ponct [7 0] poncursor [39 23]

opciones

fin

 

para opciones

local "c

haz "c lc

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

si 1 = :c [bp bt recto]

si 2 = :c [bp bt agudo]

si 3 = :c [bp bt obtuso]

si 4 = :c [ángulos]

si 5 = :c [pt bt alto]

continuar

fin

 

para continuar

loca "v

poncursor [3 24]

teclea [¿Quieres volver al menú? \(S\/ N\)\ ]

haz "v lc

si "s = :v [menú]

pt bt

fin

 

arranque contiene [menú]

 

 

Arbol de los procedimientos.

 

 

 

 

PROBLEMA 2:

 

   1) Los procedimientos qVe tenemos que guardar son:

          

    menú, opciones y continuar

 

Esto se consigue:

 

 ?guarda "menú [menú opciones continuar]

 

Comprobación

 

?botodo

?carga "menú

 

2)

 

?pt bt

?eco "lpt1

?im [menú opciones continuar]

?noeco

 

PROBLEMA 3:

 

Cargamos el fichero ángulos, de él nos sirven unos cuantos procedimientos.

 

?carga "ángulos

 

Borramos los procedimientos que no nos hacen falta

 

?bo [nombres recto agudo obtuso]

 

Y comenzamos a definir los que nos faltan:

 

1)

 

para sumar

(local "a "b "c)

bp bt ponfondo 1 ponpaleta 0 ponct [1 0]

poncursor [6 2] es [S U M A \ \ \ DE \ \ \ ÁNGULOS]

poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del primero\ ]

haz "a lp

sl gi 90 av 113 gd 90 bl

ángulo :a

ponct [2 0] poncursor [418] es :a

ponct [3 0] poncursor [13 10] es "+

ponct [2 0] poncursor [13 18] es "+

bt poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del segundo\ ]

haz "b lp

bt sl gd 90 av 120 gi 90 bl

ángulo :b

ponct [2 0] poncursor [19 18] es :b

ponct [3 0] poncursor [28 10] es "=

sl gd 90 av 120 gi 90 bl

haz "c resto :a + :b 360

ángulo :c

ponct [2 0] poncursor [28 18] es "=

poncursor [34 18] es :c

poncursor [19 24]

fin

 

2)

 

para restar

(local "a "b "c)

bp bt ponfondo 1 ponpaleta 0 ponct [1 0]

poncursor[4 2] es [RESTA \ \ \ DE \ \ \ ANGULOS]

poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del primero\ ]

haz "a lp

sl gi 90 av 113 gd 90 bl

ángulo :a

ponct [2 0] poncursor [4 18] es :a

ponct [3 0] poncursor [13 10] es "-

­ponct [2 0] poncursor [1318] es "­

bt poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del segundo\ ]

haz "b lp

bt sl gd 90 av 120 gi 90 bl

ángulo :b

ponct [2 0] poncursor [1918] es :b

ponct [3 0] poncursor [2810] es "=

sl gd 90 av 120 gi 90 bl

haz "c resto :a - :b 360

ángulo :c

ponct [2 0] poncursor [28 18] es "=

poncursor [34 18] es :c

poncursor [19 24]

fin

 

PROBLEMA 4:

 

1)

 

para multiplicar

(local "r "a "c)

bp bt ponfondo 1 ponpaleta 0 ponct [1 0]

poncursor [5 2] es [MULTIPLICACION DE UN NUMERO]

poncursor [5 3] es [POR UN ANGULO]

poncursor [0 22]

ponct [3 0] teclea [Escribe el número\ ]

haz "r lp

ponct [3 0] poncursor [4 10] es :r
ponct [2 0] poncursor [4 18] es :r

ponct [3 0] poncursor [13 10] es "*

ponct [2 0] poncursor [1318] es "*

bt poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del ángulo\ ]

haz "a lp bt sl gd 90 av 7 gi 90 bl

ángulo :a

ponct [2 0] poncursor [19 18] es :a

ponct [3 0] poncursor [28 10] es "=

sl gd 90 av 120 gi 90 bl

haz "c resto :r * :a 360

ángulo :c

ponct [2 0] poncursor [28 18] es "=

poncursor [34 18] es :c

poncursor [19 24]

fin

 

 

2)

 

para dividir

(local "a "r "c)

bp bt ponfondo 1 ponpaleta 0 ponct [1 0]

poncursor [8 2] es [DIVISION DE ANGULOS]

poncursor [0 22]

ponct [3 0] teclea [Escribe el valor del ángulo\ ]

haz "a lp

sl av 20 gi 90 av 113 gd 90

bl ángulo :a

ponct [2 0] poncursor [4 18] es :a

ponct [3 0] poncursor [13 10] es "/

ponct [2 0] poncursor [1318] es "/

bt poncursor [0 22]

ponct [3 0] teclea [Escribe el número\ ]

haz "r lp

bt sl gd 90 av 120 gi 90

ponct [3 0] poncursor [19 10] es :r

ponct [2 0] poncursor [19 18] es :r

ponct [3 0] poncursor [28 10] es "=

sl gd 90 av 120 gi 90 hl

haz "c resto :a / :r 360

ángulo :c

ponct [2 0] poncursor [28 18] es "=

poncursor [34 18] es :c poncursor [19 24]

fin

 

 

PROBLEMA 5:

 

para menú

pt bt

ponct [0 6] poncursor [34 18] es [\ M e n ú\ ]

ponct [4 15] poncursor [18 4] es [\ OPERACIONES DE ANGULOS\ ]

ponct [11 5] poncursor [22 7] es [\ \ Opción \ \ \ \ \ \ Ejecución \ \ \ \ \

  ponct [14 1]

poncursor [25 10]

es[\1.\ \ \sumar\ \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \ \  ]

poncursor [25 12]

es [ \ 2.\ \ \ restar\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]

poncursor [25 14]  

es [ \ 3.\  \ \ multiplicar por un número\ ] .

poncursor [25 16]

es [ \ 4.\ \ \ dividir por un número\ \ \ \ \ ]

poncursor [25 18]

es[\5.\ \ \ FIN \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]

ponct [7 13]

poncursor [28 22]

es [ \ Pulsa una de las opciones\ ]

ponct [7 0] poncursor [39 23]

opciones

fin

 

para opciones

local "c

haz "c lc

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

si 1 = :c [bp bt sumar]

si 2 = :c [bp bt restar]

si 3 = :c [bp bt multiplicar]

si 4 = :c [bp bt dividir]

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

sl "s = :v [menú]

pt bt

fin

 

Arbol

 



Definimos la variable global arranque

 

?haz "arranque [menú]

 

Lo guardamos en el disco.

 

?guarda "temas

 

2) Para hacer una copia del menú tal como aparece en la pantalla, ejecutamos el menú escribiendo:

 

?menú

 

Luego es suficiente pulsar al mismo tiempo las teclas:      

 

 

 

5.5. PROYECTOS

 

PROYECTO 1. Ciencias Naturales

 

Dibuja un periscopio

 

 

Leticia Fernández

Esther Villarino Martínez

Elena González Rasero

Colegio "María Inmaculada".

 

Madrid.

 

 

PROYECTO 2. Dibujo

 

Crea los procedimientos que dibujen el símbolo de la justicia.

 

                 

 

M. Isabel García Cejudo

J. Antonio Rodríguez

L. M. Isabel Cenalmor R.

C. P. "La Latina".

 

Madrid.