1
¿Qué es una variable dentro del lenguaje LOGO?
Solución: Una variable es un dato, numérico o de texto, que puede tomar distintos valores dentro del programa. Se indica con una letra precedida por el símbolo :
2
¿Qué es un procedimiento en el lenguaje LOGO? Explica cómo se crean los procedimientos. Solución: Un procedimiento es un subprograma que se crea con la primitiva PARA seguida del nombre del procedimiento. En las siguientes líneas se dan las instrucciones que se ejecutarán cada vez que pongamos el nombre de ese procedimiento y en la última línea se escribe la primitiva FIN.
3
¿Cómo se asignan valores a una variable que se ha definido con el nombre :V?
Solución: Mediante la primitiva HAZ. Si queremos que la variable v tome el valor 10, la instrucción sería: HAZ “V 10
4
Cuando en el nombre de un procedimiento hay una variable (por ejemplo PARA CUADRADO :L) ¿Cómo se asigna un valor a esa variable?
Solución: Cuando queramos realizar el procedimiento, se debe poner un número en lugar del nombre de la variable y ese será el valor que tome la variable en todo el procedimiento. (por ejemplo, CUADRADO 5 )
5
Indica en qué consiste la recursividad
Solución: Consiste en que, una vez creados, los procedimientos pueden ser utilizados dentro de otros procedimientos, como si fueran una primitiva más. Un procedimiento recursivo es aquel que se contiene a sí mismo, es decir, una de sus instrucciones es el nombre del procedimiento.
6
Una vez que se ha realizado un procedimiento, ¿es posible cambiarlo?
Solución: Sí, pulsando el botón Editar, se abre el Editor que permite reescribir las instrucciones y guardar el procedimiento con los cambios. También se puede pulsar en Fichero / Editar, y escribir en la ventana que aparece el nombre del procedimiento para que aparezca el Editor.
1
7
Describe cómo se realiza un procedimiento.
Solución: Se comienza escribiendo la palabra PARA. A continuación se abre la ventana Modo PARA en la que se van escribiendo las instrucciones. Cuando se ha acabado se escribe la palabra FIN
8
Crea un procedimiento que te permita sumar dos puntos que introduzcas en esteclado
Solución: Para SUMA ES [DIME UNA CIFRA] HAZ “CIFRA1 LEEPALABRA ES :CIFRA1 HAZ “CIFRA2 LEEPALABRA ES :CIFRA2 HAZ”SUMA :CIFRA1 + CIFRA2 ROTULA [:SUMA]
9
Realiza un procedimiento para que se multipliquen dos números que se deban introducir en sendas ventanas:
Solución: PARA MULTIPLICAR haz "Numero1 primero preguntabox [Entrar número] [Introduce el primer número] haz "Numero2 primero preguntabox [Entrar número] [Introduce el segundo número] haz "Respuesta :Numero1 * :Numero2 centro bp ot gd 90 rotula :Respuesta FIN
10 Escribe el programa que permita dibujar una cenefa que repita el mismo motivo 10 veces utilizando la primitiva REPITE. El motivo que se repita debe definirse en un procedimiento.
2
Solución: Una solución es: REPITE 10 [MOTIVO] PARA MOTIVO AV 10 GD 90 AV 10 GD 90 AV 10 GI 90 AV 10 GI 90 FIN La cenefa que se crea con este procedimiento es la siguiente:
11 Diseña un procedimiento que te permita dibujar un cuadrado de lado y color variable.
Solución: Para CUADRADO :m :n Poncl :m Repite 4 [av :n gd 90] Fin
12 Explica qué es un procedimiento recursivo e indica un ejemplo. Solución: Son los procedimientos que se llaman a sí mismos durante la ejecución. Crean un ciclo de ejecución interminable que sólo acaba cuando pulsamos el botón ALTO o si se cumple una condición que lleva a la orden ALTO. Por Ejemplo: PARA FIGURA AV 10 GD 90 AV 10 GI 90 AV 10 GI 90 FIGURA FIN Este procedimiento repetirá el dibujo programado indefinidamente hasta que pulsemos una el botón ALTO. 13 Indica un procedimiento recursivo que permita realizar una espiral, partiendo de un semicírculo que se dibujará de la siguiente forma: Para semicirculo :r Repite 180 [av :r gd 1] Fin
3
Solución: Para espiral Semicirculo :r Haz "r :r+1 espera 200 espiral fin Hay que comenzar con una instrucción para que r empiece siendo 1 (haz “r 1).
14 Realiza un programa que pida la base y la altura de un triángulo y escriba es área
Solución: PARA AREATRIANGULO ES [TECLEA LA BASE] HAZ "B LEEPALABRA ES [TECLEA LA ALTURA] HAZ "H LEEPALABRA HAZ "AREA :B * :H /2 GD 90 ROTULA [EL AREA DEL TRIANGULO ES] SL AV 300 BL ROTULA :AREA OT FIN
15 ¿Cómo funciona la siguiente instrucción codificada en lenguaje MSWLOGO? SiSINO :medida = 2 [Escribe [El lado mide 2 m.] [Escribe [El lado no mide 2 m.] Solución: Si la variable llamada medida tiene el valor “2”, se escribirá la frase “El lado mide 2 m. En caso contrario, se escribirá la frase “el lado no mide 2 m.”
4
16 Explica cómo funciona el siguiente programa y realiza el procedimiento RESULTADO que refleje la suma de todos los números que se introduzcan: PARA OPERACIÓN Haz "total 0 DATOS FIN PARA DATOS Escribe [Introduce número a sumar] Haz "n LeePalabra SUMAR Espera 100 Escribe [¿seguimos sumando?] Haz :r leepalabra Si :r = si [RESULTADO] Si :r = no [DATOS] FIN PARA SUMAR Haz "total :total + :n FIN Solución: El procedimiento OPERACIÓN funciona de la siguiente manera: Asigna el valor cero a la variable “total”. Después se ejecuta el procedimiento DATOS, el cual pide la entrada de un número y ejecuta el procedimiento SUMAR. Éste asigna a la variable “total”, el valor anterior más el nuevo número que ha entrado. Espera 1 segundo y pregunta si queremos seguir sumando. Si tecleamos si vuelve al procedimiento DATOS, por lo que nos requiere un nuevo dato. Si tecleamos no, pasa al procedimiento resultado. El procedimiento RESULTADO debería ser: PARA RESULTADO (Escribe [TOTAL =] :total FIN 17 Escribe un programa que te pida que escribas un número par, lo compruebe y escriba si es cierto o falso. Solución: Escribe [Escribe un número par] Haz "número LeePalabra Haz "resto Resto :número 2 (Escribe "Es (:resto = 0) En la pantalla de textos aparece la frase “Escribe un número par”. La variable número toma el valor del número tecleado. La variable resto toma el valor del resto de la división del número tecleado entre 2. Si el rerto es cero, se escribe “es cierto”, y si no es cero, se escribe “es falso”. 18 Escribe el procedimiento que realizarías para comprobar si un numero es par o impar y que se rotule en la pantalla.
5
Solución: PARA PARIMPAR BP GD90 RO [TECLEA UN NÚMERO] HAZ "N LEEPALABRA BP HAZ "R RESTO :N 2 GD 90 SISINO :R =0 [RO [ES UN NÚMERO PAR]] [RO [ES UN NÚMERO IMPAR]] FIN
19 Realiza el algoritmo para saber si un número es par. Solución: 1. Mostrar mensaje: “Introducir un número” 2. Dividir el número entre dos. 3. Si el resto es cero, mostrar “par” 4. Si el resto es no es cero, mostrar: “impar” Volver al paso 1. 20 ¿Qué es un algoritmo? Solución: Es el conjunto ordenado y sistemático de operaciones elementales que permiten realizar una operación más compleja. 21 Desarrolla el algoritmo para saber si un número es mayor que otro. Solución: Introducir primer número (A). Introducir segundo número (B). Realizar la resta A-B=X. Si X≥0, mostrar: “A mayor que B”. Si X≤0, mostrar: “B mayor que A”. 22 Representa mediante el diagrama de flujo el algoritmo de una báscula de supermercado que emite la etiqueta del importe cuando el peso del producto está fijo.
6
Solución:
Inicio/pesar
Seleccionar producto / precio (A)
Mostrar peso (B) en la pantalla Si
No
Multiplicar AxB
Imprimir etiqueta
¿El peso (B) está inmóvil?
7