GESTION DEL DISCO

 

6.1. EXPERIMENTA

 

Suponemos que vas a empezar una nueva sesión, en otro caso, borra el Area de Trabajo.

 

?botodo

 

Introduce en la unidad A el Disco de Utilidades

 

1) Ejecuta las siguientes primitivas, y trata de descubrir el significado de dir.

 

?pt bt

?dir           

 

2) Ejecuta las siguientes órdenes y observa la función de la primitiva carga.

 

?carga "primeros

?pt bt imts

?bp abeto

?pt bt boda

?botodo

?carga "tema3

?imts

?abetos

 

3) Sustituye el Disco de Utilidades por tu Disco de Trabajo, ejecuta las siguientes órdenes y observa la función de la primitiva guarda.

 

?guarda "martes

?guarda "abetos [abetos abeto]

?botodo                                             

?imts                                                  

?carga "martes                                

?imts

?casa

?botodo

?carga "abetos

?pt imts

?abetos

 

4) Ejecuta las siguientes órdenes y fíjate en la variable global arranque

 

?botodo

?carga "abetos

?haz "arranque [bp ponfondo 1 ponpaleta 0 abetos]

?guarda "cruz

?carga "cruz

 

5) Vuelve a sustituir tu Disco de Trabajo por el Disco de Utilidades, ejecuta las siguientes órdenes y observa la función de las primitiva cargadib.

 

?cargadib "tortuga

?ponfondo 0

?cargadib "mujer

?ponfondo 1 cargadib "sommerfe

?botodo

 

6) Vuelve a sustituir el Disco de Utilidades por tu Disco de Trabajo, ejecuta las siguientes órdenes y observa la función de la primitiva guardadib.

 

?bp bt

?carga "cruz

?bt guardadib "cruz

?abetos

?bt guardadib "cruz1

?abetos

?bt guardadib "cruz2

?pt bt dir

?cargadib "cruz

?cargadib "cruz1

?cargadib "cruz2

 

7) Ejecuta las siguientes órdenes y observa la función de la primitiva boarchivo.

 

?pt dir

?boarchivo "cruz. log

?boarchivo "cruz.dib

?boarchivo "cruz1.dib

?boarchivo "cruz2.dib

?dir

 

 

6.2. OBSERVA

 

ARCHIVO O FICHERO

 

Es un conjunto de procedimientos y/o variables globales, o una pantalla, que bajo un nombre se guardan en un disco.

 

DIRECTORIO

 

Es el conjunto de los nombres de los archivos o ficheros que hay en un disco. Para ver el directorio de un disco se utiliza la primitiva.

 

dir

 

Ejemplo:

 

Directorio de

 

A:\

 

PRIMEROS               LOG          233                11-01-88                 0:42a

TEMA3                      LOG        1401                18-10-97                 8:16p

CUADRADO              LOG          492                12‑01-88                 0:14a

TEMA4                      LOG        1649                12‑01‑88                 2:26a

ANGULOS                 LOG        1699                13‑01‑88                 12:05p

OPERANGU              LOG        4050                15‑01‑88                 2:58a

MARTES                   LOG        1401                16‑01‑88                 7:24a

ABETOS                   LOG          223                16‑01‑88                 7:36a

SB                             DIB      16480                17‑01‑88                 0:05a

MUJER                      DIB      16480                19‑01‑88                 0:05a

TORTUGA                 DIB      16480                21‑01‑88                 0:10a

LOGO                        DIB      16480                25‑01‑88                 0:15a

SOMMERFE              DIB      16480                26‑01‑88                 0:18a

GLOBO                     DIB      16480                26‑01‑88                 0:20a

CRUZ                        LOG          272                27‑01‑88                 0:24a

CRUZ                        DIB      16480                28‑12‑92                 0:41a

 

17 Archivo (s)

 

223232 Bytes libres

 

 

La primera columna son los nombres de los ficheros o archivos.

 

La segunda es su extensión, nos indica de que tipo de fichero se trata. Los que tienen extensión LOG son ficheros de procedimientos LOGo, los que llevan de extensión DIB, corresponden a DIBujos de pantallas de Logosb, a su vez puede haber ficheros correspondientes a textos, a bases de datos, a hojas de cálculo, al sistema operativo, a otros lenguajes de programación, etc.

 

La tercera columna nos indica el número de Bytes que ocupa cada fichero, un Byte en un carácter, una letra, un número, un espacio en blanco, en general cualquier signo del teclado.

 

La cuarta columna es la fecha en la que hemos guardado el archivo con la nomenclatura

 

dia/mes/año

 

La quinta y última columna corresponde a la hora, nos indica si es por la manaña (a) o por la tarde (p).

 

En las dos últimas líneas nos indica el número de ficheros que hay y el número de Bytes que aún quedan libres para guardar más ficheros.

 

GUARDANDO PROCEDIMIENTOS Y/O VARIABLES GLOBALES

 

GUARDAr es hacer una copia del contenido del Area de Trabajo, o parte de ella, en un disco; a esta copia se le llama archivo o fichero.

 

Para GUARDAr procedimientos y/o variables globales del Area de Trabajo en un disco se utiliza la orden

 

guarda "nombre

 

Recuerda que en Logo, nunca se cierran las comillas.

 

El nombre de un fichero o archivo es una sola palabra. El número máximo de caracteres del nombre de un archivo es 8, si le ponemos más, sólo conserva los 8 primeros.

 

 

    También podemos guardar parte de los procedimientos del Area de Trabajo, esto se consigue añadiendo al nombre, la lista de los procedimientos que queremos guardar.

 

            ?guarda "nombre [nombrel nombre2 ....]

 

FICHEROS CON ARRANQUE

 

Es suficiente con definir una variable global de nombre ARRANQUE y de contenido la lista de órdenes y procedimientos que queramos ejecutar.

 

CARGANDO UN ARCHIVO

 

CARGAr un archivo del disco, quiere decir, pasarlo del disco al Area de Trabajo, es decir, a la memoria del ordenador. Se utiliza la orden:

 

carga "nombre

 

CARGANDO Y GUARDANDO DIBUJOS DE PANTALLA

 

Para GUARDAr los Dibujos que tengas en la pantalla se utiliza la orden:

 

v guardadib "nombre

 

Para CARGAr los DIBujos del disco en la pantalla se útimala orden:

 

cargadib "nombre

 

BORRANDO ARCHIVOS

 

Para BOrrar un ARCHIVO se utiliza la orden:

 

boarchivo "nombre.ext

 

 

 

6.3. RESOLUCION DE PROBLEMAS

 

PROBLEMA 1:

 

1) Carga el fichero TEMA3 del Disco de Utilidades.

 

2) Guarda en tu Disco de Tra­bajo un fichero con solo los proce­dimientos correspondientes a la casa, con la variable arranque.

 

                

 

PROBLEMA 2:

 

Define un procedimiento que cargue todos los ficheros del Disco de Utilidades correspondientes a dibujos de pantallas.

 

PROBLEMA 3:

 

1) Define un procedimiento finte­ractivo que dibuje cualquier polígo­no regular, centrado en la pantalla y al mismo tiempo que calcule el perí­metro y la superficie.

 

                                                                    

     2) Guarda en tu Disco de Trabajo un fichero con solo los procedimientos correspondientes al polígono, con la variable arranque.

 

    PROBLEMA 4:

 

   1)Define los procedimientos necesarios para dibujar el logotipo del Grupo LOGO‑MADRID.

   

    2) Guarda el dibujo de la pantalla en tu Disco de Trabajo.

                                             

    3) Guarda los procedimientos correspondientes con la variable arranque,

                                                        

    4)Imprime los procedimientos correspondientes en papel.

   

    5) Obtén por impresora una copia de nuestra mascota.

 

            

 

PROBLEMA 5:                                       

 

Define un menú para este tema, y guarda procedimientos en un fichero con la variable global       arranque,                                                               

         

 

 

6.4. SOLUCIONES

 

PROBLEMA 1:

 

1) Introduce el Disco de Utilidades en la unidad A y ejecuta:

 

?carga "tema3

 

2) Introduce tu Disco de Trabajo y ejecuta:

 

?pt imts

?haz "arranque [bt casa]

?guarda "casa [casa rec1 cua1 tri1 romboide]

 

Comprobación

 

¿botodo dir

?carga "casa

 

PROBLEMA 2:

 

              para pantallas

pg

cargadib "sb

espera 10

cargadib "mujer

espera 10

cargadib "tortuga

espera 10

cargadib "logo

espera 10

cargadib "sommerfe

espera 10

cargadib "globo

espera 10

cargadib "cruz

fin

 

Ejecución: Introduce el Disco de Utilidades.

 

?pantallas

 

PROBLEMA 3:

 

1)

 

para polígono

(local "n "d "u)

bp pt bt

es [Polígono regular]

es "

teclea [Dame el número de lados\ ]

haz "n lp

es "

teclea [Dame la longitud de cada lado\ ]

haz "d lp

es "

teclea [Dame la unidad medidal\ ]

haz "u lp

es "

ponfondo 1 ponpaleta 0

polc :n :d

perpol :n :d :u

suppol :n :d :u

fin

 

para polc :n :d

(local "p "A "t "a)

haz "p :n * :d

haz "A 180 / :n

haz "t (sen :A) / cos :A

haz "a :d / (2 * :t)

sl re:a gi 90 re: d / 2 bl

pol :n :d

sl av : d / 2 gd 90 av:a bl

fin

 

para pol :n :d

repite :n [av :d gd 360 / :n]

fin

 

para perpol :n :d :u

(es [Perímetro =] :n * :d :u)

fin

 

para suppol :n :d :u

(local "p "A "t "a)

haz "p :n * :d

haz "A 180 / :n

haz "t (sen :A) / cos :A

haz "a :d / (2 * :t)

(es [Superficie =] :p * :a / 2 palabra :u 2)

fin

 

Arbol

 

 

Ejecución:

       

        ?polígono

 

2) Introduce tu Disco de Trabajo

 

?haz "arranque [polígono]

?guarda "polígono [polígono polc pol perpol suppol]

 

 

PROBLEMA 4:

 

1)

 

para tortuga

ponfondo 1 ponpaleta 0 poncl 1

bp pg bt si gd 90 av 40 gi 90 bl

trapecios

gd 90 romboide1

sl gd 90 av 2 gi 90 bl

cabeza sl gi 120 av 47 bl

rayado

sl re 80 bl poncl 2 rellena

letras

apartado

ponct [7 0]

fin

 

para trapecios

trapecio

sl gi 90 av 124 bl gi 150

repite 3 [trapecio sl gi 90 av 82.5 gd 60 av 2.5 bl gd 90]

fin

 

para trapecio

poncl 1

gi 90 av 80

gd 120 av 40

gd 60 av 40

gd 60 ay 40

gi 150

poncl 3

sl gi 75 av 10 bl rellena

sl re 10 gd 75 bl

fin

 

para romboide1

poncl 1

repite 2 [gi 120 av 40 gi 60 av 80]

poncl 3

sl gi 135 av 10 bl rellena

sl re 10 gd 135 bl

fin

 

para cabeza

poncl 1

av 40 gd 60

av 40 gd 90

av 35 gd 90

av 20 gi 60

av 40 gd 60

av 40 gd 120

av 40

poncl 3

sl gd 90 av 10 bl rellena

sl re 10 gi 90 bl

fin

 

para rayado

poncl 3

repite 10 [av 80 re 80 sl gi 60 av 4 gd 60 bl]

av 140

sl gd 90 av 40 gd 90 bl av 30 re 30

sl gi 90 av 35 gd 90 bl av 50 re 50

sl gi 90 av 35 gd 90 bl av 70

fin

 

para letras

ponct [10]

poncursor [5 6] es "GRUPO

poncursor [5 10] es "TOGO

poncursor [5 14] es "MADRID

fin

 

 

para apartado

ponct [3 0]

poncursor [6 18] es [Apartado 43074]

poncursor [7 20] es [28080 MADRID]

fin

 

 

Arbol:

 

 

Ejecución:

 

?tortuga

 

2)

 

?guardadib "tortuga

 

3)

 

?haz "arranque [tortuga]

?guarda "tortuga [tortuga trapecios trapecio romboide1 cabeza rayado letras apartado]

 

4)

 

?pt bt

?eco "Ipt1

?im [tortuga trapecios trapecio romboide1 cabeza rayado letras apartado]

?noeco

 

5) Para obtener una copia del dibujo en la impresora, ejecuta:

 

?tortuga

 

y pulsa las teclas:   

                             

 

 

PROBLEMA 5:

 

Vamos a cambiar un poquito la estructura del menú utilizaremos un fichero MENU.DIB que lo hemos realizado con un programa de diseño gráfico DRHALO y luego lo hemos incorporado al Logo. En uno de los apéndices se explica como funciona.

 

para menú

ponfondo 1 ponpeleta 0

cargadib "menú

ot

ponct [1 0]

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

ponct [3 0]

poncursor [10 13] es [1 \ \ \ \ \ casa]

poncursor [10 14] es [2 \ \ \ \ \ pantallas]

poncursor [10 15] es [3 \ \ \ \ \ polígono]

poncursor [10 16] es [4 \ \ \ \ \ tortuga]

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]

sl 1 = :c [bp bt casa]

sl 2 = :c [bp bt pantallas]

sl 3 = :c [bp bt polígono]

sl 4 = :c [bp bt tortuga]

sl 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:

 

 

Ejecución: Introduce el Disco de Utilidades y ejecuta:

 

?menú

 

Luego definimos la variable global arranque

 

?haz "arranque [menú]

 

?guarda "tema6

 

 

6.5. PROYECTOS

 

PROYECTO 1. Ciencias Naturales

 

Crea los procedimientos que representen el principio de Pascal para el caso de la prensa hidráulica

 

 

 

 

Vicente Lumbreras García

Josefina Esteso Paños

Francisco Javier Mateos S. J.

Gerardo del Caz

C. P. Prácticas "Rufino Blanco".

 

Madrid.

 

 

PROYECTO 2. Diseño                                                              

 

Define un procedimiento que dibuje un menú  

 

 

Antonio España Cerrato

Pedro Largo Enciso

C. P. "Alcalde de Móstoles"

 

Madrid.