Enunciados ejercicios de programación con MSWLogo ENUNCIADOS EJERCICIOS DE PROGRAMACIÓN CON MSWLOGO. 0. EL MODO DIRECTO R 35 80 A.1.- Usando el modo directo, dibujar con la tortuga la siguiente figura (sin incluir las cotas). La forman un cuadrado de 80 unidades de lado, un círculo de radio 35 unidades que es tangente al cuadrado y un triángulo equilátero de 75 unidades de lado separado 60 unidades del cuadrado. 60º 60 80 75 1. LOS GRÁFICOS DE LA TORTUGA 1.1.- Realizar un procedimiento llamado triángulo que dibuje la siguiente figura: 40 Nota: la esquina inferior izquierda del triángulo está situada en las coordenadas [0 , 20] del mundo de la tortuga. [0,20] 30 1.2.- Realizar un procedimiento llamado equilatero tal que al ejecutarlo, dibuje un triángulo equilátero como el de la figura, de forma que el pico inferior izquierdo esté situado en el punto en que en el momento de ejecutar el procedimiento se encuentre la tortuga. El lado de dicho triángulo será 60. unidades. 60 AMARILLO VERDE 30 R 35 MARRÓN 50 55 110 A.2.Realizar un procedimiento que al ser invocado dibuje la siguiente figura. ROJO 70 R 10 30 40 30 60 BLANCO 10 100 A.3.- Sabiendo que la suma de los ángulos interiores de un polígono de n lados es 180·(n – 2), realizar un procedimiento que dibuje el pentágono regular de 100 unidades de lado de la figura. A.4.- Hacer un procedimiento que dibuje un triángulo equilátero de 70 unidades de lado. Usando este procedimiento, realizar otro procedimiento tal que al ejecutarlo realice el siguiente dibujo de un hexágono regular con sus radios. Tecnología 4. IES Bellavista. LADO 70 1 Enunciados ejercicios de programación con MSWLogo 2. EL USO DE LAS VARIABLES 2.1.- Realizar un procedimiento llamado tres.triángulos, cuya entrada al ejecutarlo sea un número que indica la longitud de los lados de los triángulos, que dibuje la siguiente figura. El vértice izquierdo del primer triángulo estará situado en el punto en el que se encuentre la tortuga en el momento de ejecutar el procedimiento. L Nota: los tres triángulos son equiláteros (todos sus lados son iguales y todos sus ángulos de 60º). 2.2.- Realizar un procedimiento denominado rectángulo tal que al ejecutarlo dibuje un rectángulo con sus dos diagonales. La longitud de los lados (base y altura) del rectángulo se introducen como entradas al procedimiento. La esquina inferior izquierda del rectángulo debe estar situada en la posición en la que se encuentre la tortuga en el momento de ejecutar el procedimiento. a b A.5.- Realizar un procedimiento que dibuje un cuadrado centrado en un punto de la pantalla cuyas coordenadas se introducen como entrada y lo rellene de un color que se introduce también como entrada. El lado del cuadrado también se introduce como entrada. 2.3.- Realizar un procedimiento llamado hexágono que dibuje un hexágono cuyo lado se introduce como entrada y cuyo centro geométrico esté situado en la posición en la que se encuentre la tortuga en el momento de ejecutar el procedimiento; el procedimiento también rellenará el hexágono con un color cuyo índice también se introduce como entrada. Nota: por ejemplo, si ejecutamos hexágono 100 4, el procedimiento haría que se dibujara un hexágono de lado 100 relleno de color rojo (4 es el índice de color del rojo). 2.4.- Realizar un procedimiento llamado línea que dibuje una línea recta entre dos puntos cuyas coordenadas se introducen como entradas al procedimiento por sus coordenadas en forma de lista. El color de la línea también se introduce como entrada Nota: por ejemplo, si ejecutamos línea [10 20] [100 150] 6 me dibujaría una línea entre los puntos de coordenadas (10, 20) y (100, 150) de color amarillo (6 es el índice de color del amarillo). 2.5.- Realizar un procedimiento que se llame cuadros tal que llamando a otro procedimiento que se llame cuadrado, realice la figura de tres cuadrados inscritos que se adjunta. El valor del lado del cuadrado mayor será una entrada del procedimiento. Como ampliación del ejercicio modificar el procedimiento para que el número de cuadrados inscritos uno dentro de otro pueda ser variable, dándolo como entrada al procedimiento. Nota: para realizar este ejercicio debes saber que si un cuadrado tiene de lado L, el cuadrado formado al unir los puntos medios de sus lados tiene de lado L / 2 . Tecnología 4. IES Bellavista. 2 Enunciados ejercicios de programación con MSWLogo A.7.- Realizar un procedimiento que dibuje un polígono regular de un número cualquiera de lados. El número de lados y la medida de éstos son argumentos del procedimiento que se suministran al ejecutarlo. (Utiliza que la suma de los ángulos interiores de un polígono de n lados es 180·(n – 2)). 3. MANEJO DE DATOS Y OPERACIONES ARITMÉTICAS 3.1.- Realizar un procedimiento llamado cálculos, cuyas entradas al ejecutarlo sean dos números, a y b, y calcule su suma (a + b) y su diferencia (a – b ) y haga escribir en pantalla: La suma de a y b da a+b La diferencia de a y b da a–b Por ejemplo, si ejecutara cálculos 7 2, deberá aparecer en pantalla: La suma de 7 y 2 da 9 La diferencia de 7 y 2 da 5 3.2.- Realizar un procedimiento llamado ecuación1 que resuelva las ecuaciones de la forma a x + b = 0. La entrada del procedimiento será una lista con los coeficientes a y b. El procedimiento debe responder de la forma: La solución de la ecuación es x = x1 (donde x1 será la solución de la ecuación). Nota: En principio, hasta que sepamos utilizar las condicionales supondremos que el coeficiente a no puede ser 0 ( el programa dará error). 3.3.- Realizar un procedimiento llamado multisaludos1 que salude de forma sucesiva a los nombres de una lista de cinco elementos, de la forma: Hola nombre , ¿Qué tal? Mejorar el procedimiento haciendo que el número de miembros de la lista no tenga que se fijo. Llamar al procedimientos multisaludos2. A.8.- Realiza un procedimiento al que se le da un número, que puede ser variable, en el momento de ejecutarlo y debe responderte si el número es 0, si es par o si es impar. 3.7.- Realizar un procedimiento llamado saludos1 que al ser invocado salude al usuario (no nominalmente) con un mensaje extraído al azar de una matriz de mensajes. 4. COMUNICACIÓN DEL PROGRAMA CON EL USUARIO 4.1. Realiza un procedimiento llamado cuadracircu que una vez ejecutado, cada vez que pulse una tecla dibuje un cuadrado de 20 unidades de lado y al soltarla dibuje un círculo de 20 unidades de diámetro. La situación de los cuadrados y círculos debe ser al azar dentro del cuadrante positivo de la pantalla (coordenadas x e y positivas). 4.2.- Realiza un procedimiento llamado dibujacuacir tal que al ejecutarlo, cada vez que hagamos clic con el botón izquierdo del ratón en un punto de la pantalla dibuje un cuadrado de 30 unidades de lado centrado en dicho punto y que cada vez que hagamos clic con el botón derecho dibuje un círculo de 30 unidades de diámetro centrado en dicho punto. A.9.- Usando las órdenes que capturan los eventos del ratón y las que controlan los modos del lápiz, hacer que el ratón dibuje en pantalla con el botón izquierdo y borre con el derecho (con un grosor mayor para no tardar tanto en borrar). Tecnología 4. IES Bellavista. 3 Enunciados ejercicios de programación con MSWLogo 5. FUNCIONES BÁSICAS DE WINDOWS: VENTANAS PREDEFINIDAS 5.1.- Realizar un procedimiento llamado saludos2 tal que aparezca una ventana en la que te pregunte tu nombre y una vez introducido aparezca otra ventana con un mensaje saludándote. 5.2.- Realiza un procedimiento llamado equipopreferido que despliegue una ventana en la que pregunte cuál es tu equipo de fútbol preferido, el cual debe elegirse de entre los de una lista. El procedimiento terminará presentando una ventana de mensaje indicando la opción elegida. 5.3.- Realiza un procedimiento llamado preguntas que te pregunte tu nombre, a continuación tu dirección y luego tu edad. Al acabar las preguntas te responderá escribiendo las respuestas en la caja de lista. 6. ORDENES DE CONTROL: SENTENCIAS CONDICIONALES 6.1.- Realizar un procedimiento llamado cambiarumbo que haga que el rumbo de la tortuga, empezando en 0º, se incremente en 5º cada segundo hasta que complete una vuelta completa. Sin embargo, si durante el proceso se pulsa la tecla p (de parar) se interrumpirá el procedimiento, quedando fijado el rumbo de la tortuga. 6.2.- Realizar un procedimiento llamado adivinapalabra que pregunte una palabra. Si la palabra respondida coincide con una palabra clave (elegida por el diseñador del procedimiento) responderá que es correcto, en caso contrario dirá que se ha equivocado. A.14.- Realizar un procedimiento llamado adivinanúmero que genere internamente un número comprendido entre 1 y 20 (revisa la primitiva azar). A continuación empezará a preguntar números: si lo adivinas te contestará ¡Enhorabuena!, si no lo adivinas te informará de si el número secreto es mayor o menor y volverá a preguntar, así hasta que lo adivines. A continuación te dirá el número de intentos que has necesitado para acertar: por ejemplo “Has necesitado 4 intentos”. 6.4.- Realizar un procedimiento llamado clicsaludo que dibuje un recuadro relleno de color rojo en la pantalla y que, a partir de que se ejecute, cada vez que haga clic con el botón izquierdo del ratón sobre él, escriba un saludo en la caja de lista. Cuando haga clic con el botón derecho se rellenará de verde informará de que se acabó el proceso y dejarán de tener efecto los clics de ratón. 6.5.- Realizar un procedimiento llamado botones que dibuje en pantalla dos botones, uno verde y otro rojo. Simulan botones de encendido y apagado respectivamente. Cuando hagamos clic sobre el botón verde, el fondo de la pantalla se pondrá amarillo (luz encendida) y cuando hagamos clic sobre el rojo se pondrá de gris oscuro (luz apagada). A.15.- Elaborar un procedimiento que extraiga un número al azar entre 0 y 30 (por ejemplo), que será el número secreto. A continuación informa de que dispones de cuatro intentos para acertarlo y pide un número por pantalla. Una vez introducido, te informa de si es menor o mayor que el número secreto. Por cada fallo dibuja un cuadrado amarillo en pantalla. Si al cuarto no has acertado dibuja un cuadro rojo y un mensaje que dice “Lo siento, perdiste”. Si en alguno de los intentos acierta, dibuja un cuadro verde y un mensaje que dice “Enhorabuena, acertaste”. Tecnología 4. IES Bellavista. 4 Enunciados ejercicios de programación con MSWLogo 7. ÓRDENES DE CONTROL: LOS BUCLES 7.1.- Realizar un procedimiento llamado múltiplos7 que escriba en la caja de lista los 50 primeros múltiplos de 7. 7.2.- Realizar un procedimiento llamado saludos3 que pida una lista de nombres (el número de nombres es indefinido) y que los salude uno por uno en la caja de lista. 7.3.- Realiza un procedimiento llamado saludos4 que te pida el nombre y te salude, y vuelva a pedirte el nombre sucesivas veces hasta que introduzcas el número 0 y salgas del procedimiento. 7.4.- Realizar un procedimiento llamado ordenar.4 que pida una lista de cuatro números cualesquiera y que los escriba ordenados de menor a mayor en la caja de lista. A continuación mejora el procedimiento para que pueda ordenar una lista de números con tantos miembros como se quiera. Denomina a éste último ordenar.n. Nota: El método utilizado para ordenar es el siguiente: cojo el primer número y lo voy comparando con los que le siguen en la lista. Si encuentro alguno menor los intercambio. A continuación hago lo mismo con el segundo número respecto a los que le siguen. Así hasta el penúltimo número. 7.5.- Realizar un procedimiento llamado polinomio que calcule el valor de un polinomio del tipo f(x) = axn + bxn-1 + cxn-2 +…… para los valores de x que se le den. El procedimiento pedirá una lista con los coeficientes del polinomio ordenada de mayor a menor grado (a, b, c, d,....). Podrá haber tantos términos como se desee. A continuación pedirá el valor de x y ofrecerá el resultado. Volverá a pedir un valor de x y así sucesivamente. Cuando en lugar de un número introduzcamos la letra p al pedirnos un valor de x, el procedimiento acabará. Si se quiere, se puede acabar al pulsar una determinada tecla del teclado. A.16.- Realizar un procedimiento para resolver ecuaciones de 2º grado de la forma: ax2 + bx + c = 0 Sabiendo que las soluciones vienen dadas por: x = − b ± b 2 − 4ac 2a La entrada al procedimiento será una lista con los tres coeficientes: [a b c]. Las soluciones deben redondearse a tres decimales. Nota: tener en cuenta que: – Si a = 0, la ecuación anterior no es válida para obtener la solución, siendo ésta x = – c/b. – Si el discriminante (b2 – 4ac) es positivo tiene dos soluciones, si es cero tiene una única solución y si es negativo, no tiene solución. A.17.- Realizar un procedimiento para resolver sistemas de dos ecuaciones lineales con dos incógnitas de la forma: sabiendo que las soluciones son: x= c·e − f ·b a·e − d ·b y= ax + by = c dx + ey = f a· f − d ·c a·e − d ·b La entrada al procedimiento serán dos listas con los tres coeficientes de cada ecuación del sistema: [a b c] y [d e f]. Las soluciones deben redondearse a tres decimales. Nota: Recordar que si a·e – d·b = 0, el sistema tiene infinitas soluciones o no tiene solución. Tecnología 4. IES Bellavista. 5 Enunciados ejercicios de programación con MSWLogo 8.- OPERACIONES LÓGICAS 8.1.- Realizar un procedimiento llamado dosclaves que pida dos palabras clave. El programa responderá diciendo si ambas son correctas, si sólo una de ellas es correcta o si ninguna lo es. 8.2.- Realizar un procedimiento llamado aleatorios que extraiga números aleatorios entre 1 y 50 y los escriba en pantalla hasta que salga el 15 ó el 35. 9. LA RECURSIVIDAD 9.1.- Realizar el procedimiento que ya hemos visto antes que pide el nombre y saluda a ese nombre y vuelve a pedir otro nombre y así sucesivas veces hasta que se introduce el 0. Pero esta vez utilizando la recursividad. Llama al procedimiento saludorecur. MACROACTIVIDADES A.19.- Elaborar un procedimiento llamado Matemáticas tal que al ejecutarlo aparezca una ventana en la que se pueda elegir entre las siguientes opciones: • Cálculo de áreas. • Cálculo de volúmenes. • Resolución de ecuación ax2 + bx + c = 0. • Resolución sistema 2 ecuac. y 2 incógnitas. En caso de elegir cálculo de áreas, permitirá optar entre triángulo, rectángulo, pentágono regular y hexágono regular. En caso de elegir cálculo de volúmenes, permitirá elegir entre prisma, cilindro, pirámide, cono y esfera. En cada caso pedirá los datos necesarios para que se introduzcan. Nota: aprovecha algunos de los procedimientos que ya has resuelto en actividades anteriores. A.20.- Elaborar un procedimiento llamado Dibujos que dé a elegir entre los siguientes dibujos: • Triángulo rectángulo. • Triángulo isósceles. • Triángulo equilátero. • Pentágono regular. • Hexágono regular. En el caso del triángulo rectángulo pedirá las medidas de los catetos y las coordenadas del vértice del ángulo recto. Se dibujará apoyado sobre el cateto pequeño con el ángulo recto a la izquierda. En el caso del triángulo isósceles pedirá la base y la altura y las coordenadas del punto medio de la base. Se dibujará apoyado sobre el lado desigual. En los casos de triángulo equilátero, pentágono y hexágono, pedirá la medida del lado y las coordenadas del centro geométrico. Se dibujarán apoyados sobre un lado. Tecnología 4. IES Bellavista. 6