universidad pedagogica nacional francisco morazán preufod s.p.s

32
Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Upload: soledad-blanco-medina

Post on 23-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Universidad Pedagogica Nacional Francisco MorazánPREUFOD S.P.S

Page 2: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

CAPITULO 5PROCEDIMIENTOS

¿Que es un procedimiento? En programación, es un tipo de subrutina. Porción de código

dentro de un programa más grande, que realiza una tarea específica y es relativamente independiente del resto del código.

En logo es una forma de enseñarle hacer algo.

Los procedimientos al ser llamados ejecutan una serie de instrucciones, almacenados ya sean de Logo o otros procedimientos.

Page 3: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

IMPORTANCIA

• ¿En que ayudan los procedimientos?• Los procedimientos ayudan a agilizar la rapidez

en la programación ya que almacena partes de códigos o primitivas de uso frecuente.

Page 4: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

EJEMPLOPara cocinar un huevo nosotros debemos:Conectar la cocinaSacar la sarténPoner la sartén en la cocinaEncender el disco de la cocinaTomar un huevoRomperloEcharlo en una tasaDe la tasa a la sarténOpcionalmente echamos salEsperamos a que esté bien cocinadoDesconectamos el discoTomar la sartén por el mangoAcercar la sartén al plato donde colocaremos el huevoMover el huevo de la sartén al plato usando algún utensilio, como un tenedorColocar la sartén en la cocina o bien en el fregaderoetc

Page 5: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

por supuesto, nosotros ya sabemos toda esa lista de instrucciones, no es necesario que nos las digan cuando quieren que cocinemos un

huevo, simplemente nos dicen "Cocinen un huevo". De manera similar, en Logo no es necesario darle todas las instrucciones cada vez que

queremos hacer algo. Para esto existen los procedimientos.

Page 6: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Podemos hacer que logo aprenda nuevas primitivas, definiendo procedimientos .

Para definir procedimientos en logo se debe de iniciar con la primitiva para seguido del nombre que se le dará al procedimiento

este nombre debe de estar en relación con lo que ejecutara

EJEMPLO:para elaborar un cuadrado introducimos en la caja de comandos lo siguiente:

para cuadradorepite 4[ avanza 100 giraderecha 90]

fin hemos definido un procedimiento con el nombre cuadrado que trazara en la pantalla

principal en el area de dibujo.

Para circulrepite 360[av 1 gd 1]

fin

EJECUTANDO PROCEDIMIENTOS

Page 7: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S
Page 8: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Para triangulargi 90 av 210 gd 120 av 210 gd 120 av 210

fin

Para triangulargi 90

Repite 3[av 210 gd 120]fin

Page 9: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Para rombo

También para rombo3repite 7[ gd 41 av 100 gd 45 av 100 gd 135 av 100 gd 45 av 100 gd 145 ]fin

Page 10: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

SUB -PROCEDIMIENTOS

Son procedimeintos dentro de otros procedimientosAl combinar procedimientos se puede hacer que estos llamen a otros

Ejemplo de cuadradoPrimero se define el primer procedimientoPara cuadradoRepite 4 [avanza 100 gd 100]Fin

Se cuadradosRepite 10 [cuadrado gi 30]fin

Page 11: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

SUB -PROCEDIMIENTOS

Page 12: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

• Cuando tenemos que dibujar una figura varias veces pero con distintas dimencioes necesitariamos muchos procedimientos, es por eso que nesecitariamos una forma mas facil de definir ese procedimiento y eso es posible por medio de las variables.

CAPITULO 6VARIABLES PROCEDIMIENTOS

CON ARGUMENTOS

Page 13: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Muchas veces se necesita dibujar una misma figura varias veces, pero con distintas dimensiones.

Por ejemplo, si queremos dibujar un cuadrado de lado 100, otro de lado 200 y un

tercero de lado 50, con lo que sabemos hasta ahora necesitaremos tres procedimientos distintos:

Page 14: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

para cuadrado 1repite 4 [avanza 100 giraderecha 90]finpara cuadrado 2repite 4 [avanza 200 giraderecha 90]finpara cuadrado 3repite 4 [avanza 50 giraderecha 90]fin

Es evidente que necesitamos una forma mas simple de hacerlo, y que deberá ser posible definir un único procedimiento que, de algún modo,

permitiera cambiar el argumento de la primitiva avanza, es decir, el lado del cuadrado.

Ese es el papel de las variables.

Page 15: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.1. Primitivas asociadasDefinimos ahora seis nuevas primitivas:

Descripción Primitiva Ejemplo:

Fíjate en la diferencia:

Para definir la variable, se antepone “

Para leer la variable, se precede de : (es la forma mas cómoda de las tres posibles)

cosa "a, objeto "a y :a son notaciones equivalentes.

Page 16: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Aunque lo detallaremos mas adelante, debemos comentar que XLogo trata de distinta forma los números, las palabras y las frases.

Para distinguir cuando una variable almacenada a un tipo distinto, debemos usar un vocabulario especifico:

• Numero:

Para guardar en la variable lado el valor 100:

haz "lado 100

• Palabra: Para guardar en la variable animal la palabra GATO:

haz "animal "GATO

• Frase: Para guardar en la variable descripción la frase El gato es gris:

haz "descripción [El gato es gris]

Page 17: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Si el valor que guarda la variable es un numero, puede operarse con ella igual que con un numero:

Ejemplo:

haz "lado 100avanza :lado

e incluso pueden usarse para definir otras:

que dibuja un rectángulo de base doble que la altura:

Page 18: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.2. Procedimientos con variables

Recuperando nuestro procedimiento cuadrado:Recuperando nuestro procedimiento cuadrado:

para cuadrado

repite 4 [

avanza 100 giraderecha 90 ]

Fin

Introducir variables es muy simple:• Indicamos cual va a ser la variable, de nuevo,

con un nombre adecuado : lado• Sustituimos el valor numérico que nos interesa

por la variable.

Page 19: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Utilizando Variable, El resultado es:

para cuadradorepite 4 [avanza 100 giraderecha 90 ]Fin

Procedimiento Cuadrado sin Variable:

Page 20: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

Que dibuja, como ya abras adivinado, un cuadrado. La diferencia esta en que ahora el lado es desconocido, y

debemos indicarle a la tortuga cuanto debe medir:cuadrado 30cuadrado 50cuadrado 250dibujaran cuadrados de lados 30, 50 y 250,

respectivamente:Podemos prever:

=

Page 21: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.3. Conceptos acerca de variables

Hay dos tipos de variables:Hay dos tipos de variables:

• Variables globales: están siempre accesibles desde cualquier parte del programa.

• Variables locales: solo son accesibles dentro del procedimiento donde fueron definidas.

Page 22: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

• En esta implementación del lenguaje Logo, las variables locales no son accesibles desde otro sub procedimiento.

• Al finalizar el procedimiento, las variables locales son eliminadas.

Las primitivas asociadas son:

Page 23: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

• Supongamos que en el ultimo ejercicio de la sección anterior quisiéramos controlar la separación entre ruedas para evitar que se superpongan unas con otras.

• Podramos hacer que distancia fuera siempre algo mas del doble que largo, para lo que planteamos dos subprocedimientos distintos:

Page 24: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

• Observa que se usan tres variables relacionadas con la longitud: largo, radio y distancia.

Al ejecutar el programa tecleando:

Borra pantalla ruedas 3 100la tortuga lee largo, y le asigna el valor 100. Sin

embargo, radio solo \existe "mientras seesta ejecutando el procedimiento rueda y\ desaparece“

al finalizar este. Puedes comprobarlo modificando el procedimiento

Page 25: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S
Page 26: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.4. Desde la Línea de Comandos

• Los procedimientos pueden ser creados y borrados desde la Línea de Comandos.

• Igualmente, podemos determinar cuales han sido ya definidos y cuales no o ejecutar una serie de ordenes sin necesidad de crear un procedimiento asociado.

Page 27: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.4.1. La primitiva define• La primitiva define crea un nuevo procedimiento

sin usar el Editor. Para ello debemos proporcionar el nombre, las variables y las instrucciones a ejecutar:

• define nombre [variables] [instrucciones]

Por ejemplo:• define "cuadrado [lado] [repite 4 [ avanza :lado

giraderecha 90]]

crea el procedimiento cuadrado con el que ya hemos trabajado antes.

Page 28: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.4.2. Las primitivas borra y borratodo• La primitiva borra elimina el procedimiento

indicado. La sintaxis es:• borra nombre

Por ejemplo:• borra "cuadrado

Elimina el procedimiento cuadrado definido antes.

• Por su parte, borratodo, sin argumentos, elimina todas las variables y procedimientos actuales.

Page 29: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.4.3. La primitiva texto• Si deseamos conocer la información asociada a un

procedimiento, tecleamos:

escribe texto nombre_proc• La primitiva texto devuelve una lista que contiene toda la

información asociada al procedimiento

indicado.

Concretamente, devuelve una lista que contiene sub{listas:• La primera lista contiene todas las variables fijas y

opcionales del procedimiento.• Las demás sub-listas son las líneas del procedimiento.

Page 30: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.4.4. La primitiva listaprocs

• Esta primitiva no necesita argumentos, y enumera todos los procedimientos definidos hasta ese momento en el Histórico de Comandos. Por compatibilidad con otros interpretes;

• Logo, se admite imts (imprime todos) con la misma función.

Page 31: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

6.7.5. La primitiva ejecuta• Tecleando ejecuta [lista], las ordenes

contenidas en lista son ejecutadas consecutivamente.

• Por ejemplo:

giraizquierda 27

ejecuta [ repite 5

[ repite 4

[ avanza 100 giraizquierda 90 ]

giraderecha 72 ] ]

proporciona:

Page 32: Universidad Pedagogica Nacional Francisco Morazán PREUFOD S.P.S

GRACIAS POR SU ATENCION