APRENDE A PROGRAMAR GUÍA VISUAL DE PROGRAMACIÓN HTC p1-7 + p34-35 recovered.indd 1 02/11/15 06:19 ÍN D IC E Título original: H ow to Code. A step-by-step guide to computer coding © 2015, QED Publishing, parte de The Quarto Group © 2016 de la edición española: Grupo Edebé, Paseo de San Juan Bosco, 62. 08017 Barcelona. España. © 2015 de la traducción: Raquel Solà Autor: Max Wainewright Ilustraciones y diseño: Mike Henson Directora de Publicaciones Generales: Reina Duarte Editora: Marta Sans Impreso en China-Printed in China ISBN: 978-84-683-2701-3 Depósito legal: B. 18651-2015 Atención al cliente: 902 44 44 41 contacta@edebe.net www.edebe.com B u c l e s c o n S c ra t c h 46 Arte aleatorio 94 Bucles infinitos 48 D e p u ra r 96 R e p e t i r h a st a ... 50 R e s p u e st a s a p a r t a d o 3 98 APARTADO 1 5 R e p e t i r h a st a a l c a n z a r 52 Introducción 8 Añadir sonido 54 10 1 D a r i n st r u c c i o n e s APARTADO 4 10 Efectos de sonido 56 Introducción 10 4 Pa s o a p a s o 12 Va r i a b l e s 58 Mensa jes codificados 14 Guardar puntuación 60 Crear páginas web 10 6 Dar vueltas 16 Contar clics 62 Usar HTML 10 8 D e p u ra r 64 Direcciones y enlaces 1 10 R e s p u e st a s a p a r t a d o 2 66 Muchos enlaces 112 ¡C o l o r é a l o! 114 LOGO Aprende Logo 18 Formas Logo 20 SCRATCH APARTADO 3 69 Introducción 72 I n i c i a c i ó n a S c ra t c h 22 Pe n d o w n 24 Pr e s i o n a r t e c l a 26 I n st r u c c i o n e s « i f» E n t ra d a s y d i r e c c i o n e s 28 D i b u j a r c o n e n t ra d a s HTML JAVASCRIPT A ñ a d i r J a va S c r i p t 1 16 B u c l e s e n J a va S c r i p t 1 18 74 F u n c i o n e s e n J a va S c r i p t 120 Concurso 76 Funciones JS con HTML 122 30 I n st r u c c i o n e s « e l s e » 78 Pr o y e c t o d e m a s c o t a s 12 4 D e p u ra r 32 Si tocas el sprite 80 Compartir tu sitio web 126 R e s p u e st a s a p a r t a d o 1 34 D e p u ra r 128 SCRATCH PYTHON Iniciación a Python 82 R e s p u e st a s a p a r t a d o 4 130 Información sobre recursos 131 GLOSARIO 132 APARTADO 2 37 Escribir en Python 84 Introducción 40 Pr e g u n t a s c o n P y t h o n 86 Bucles con Python 88 LOGO HTC p1-7 + p34-35 recovered.indd 2-3 SCRATCH SCRATCH Bucles 42 G rá f i c o s c o n P y t h o n 90 Pa t r o n e s c o n b u c l e s 44 Aleatorio con Python 92 02/11/15 06:19 O I T A M R O F IN S E C R U O S E R ON Aquí encontraréis cómo conseguir Logo, Scratch y Pyton para empezar a experimentar. Todos estos recursos son gratuitos. LOGO Logo fue diseñado originalmente por Seymour Papert hace unos 40 años. Existen varias versiones del programa. Si usas un PC puedes bajarte una versión gratuita de Logo en: www.softronix.com/logo.html También puedes empezar a usar Logo directamente. Abre tu navegador web y visita: http://turtleacademy.com/playground/en or www.calormen.com/jslogo/ SCRATCH Puedes usar Scratch en un PC o un Mac. Abre tu navegador web y visita: http://scratch.mit.edu – y luego haz clic en «Crear» (Create) o «Pruébalo» (Try it out). Hay una página web muy parecida llamada «Snap» que también funciona en iPads. Está disponible en: http://snap.berkeley.edu/run Si quieres ejecutar Scratch sin usar la web entonces puedes descargarlo en: http://scratch.mit.edu/scratch2download/ Here’s how you can get hold of Scratch and Python so you can start experimenting. You can use Scratch on a PC or Mac by opening your web browser and going to: http://scratch.mit.edu – then click ‘Create’ or ‘Try it out’. There is a very similar website called Snap that also works on iPads. It is available here: http://snap.berkeley.edu/run If you want to run Scratch without using the internet, you can download it from here: INSTALA PYTHON EN UN PC http://scratch.mit.edu/scratch2download/ 1 Ir a: www.python.org. 2 Clica «Downloads» INSTALLING PYTHON (descargar) ON A PC y luego elige Python» (versión 3.5 o superior). 1 «Download Go to: www.python.org. 32 Haz clic en el archivo y luego sigue Clickdoble ‘Downloads’ then choosedescargado, ‘Download Python’ (version 3.4 or higher). las instrucciones de la pantalla. 3 Double-click thede downloaded file, thenclica follow the 4 Clica el botón inicio «Start», «Python», luego instructions on screen. clica «IDLE». (En Windows 8 ve a la parte superior 4 derecha Click the ‘Start’ button, click ‘Python’, then clickluego teclea de la pantalla y clica «Search», ‘IDLE’. (In Windows 8, go to the top right of the «idle» y clica el programa para ejecutarlo.) screen and click ‘Search’, then type in ‘idle’ and click the program to run it.) INSTALAR PYTHON EN UN MAC INSTALLING PYTHON ON A MAC 1 Ir a: www.python.org. Go to: www.python.org. 21 Clica en «Downloads» (descargar) y luego elige 2 «Download Click ‘Downloads’ then choose ‘Download Python’ Python» (versión 3.5 o superior). (version 3.4 or higher). 33 Haz doble clic el archivofile, descargado, y luego sigue Double-click theen downloaded then follow the las instrucciones de la pantalla. instructions on screen. 44 Para empezar a usarquickly, Python, clic en «Spotlight» To start using Python clickhaz ‘Spotlight’ (at rightsuperior of the screen). (enthe la top parte de la pantalla). File Edit New Type ‘idle’ 55 Teclea «idle» Spotlight idle Spotlight then press ‘Enter’. File Edit New New idle y luego presiona «Enter». File Edit New New Making an icon for Python on a Mac (this will make it Hacer icono para Python en un Mac (así será más fácil easierun to find): de 1encontrar): Open ‘Finder’. Seguridad en internet 1 O D A T R A P A SCRATCH APARTADO 1 N Ó I C A M R INFO ECURSOS SOBRE R 1 R E T CHAP 12 23 34 4 Abrir Under«Finder». the ‘Go’ menu, click on ‘Applications’. Scrolleldown to Python and click it. Bajo menú «Go», clica en on «Applications». Internet safety Children should be supervised when using the internet, particularly when using an unfamiliar website for the first time. The publisher and author cannot be held responsible for the content of the websites referred to in this book. Drag the IDLEhacia icon to the ‘dock’ (menuybar) at the Desplázate abajo a Python clica encima. bottom or side of the screen. Arrastra el icono IDLE hacia la barra del menú «Dock» en la parte inferior o en el lateral de la pantalla. Los niños deben usar internet bajo la supervisión de un adulto, en particular cuando se usa por primera vez un sitio web desconocido. Los editores y el autor no se hacen responsables del contenido de los sitios web que se han referenciado en este libro. 4 HTC p1-7 + p34-35 recovered.indd 5 02/11/15 06:19 ÍNDICE:: APARTADO 1 In t r od u c c ió n 8 D a r i n st r u c c io ne s 10 Pa s o a p a s o 12 M e n s a je s c od i f ic a d o s 14 Dar vueltas 16 LOGO A p r e nd e L o g o 18 F or m a s L o g o 20 SCRATCH Inic i a c ió n a S c ra t c h 22 Pe n d o w n 24 Pr e s io n a r t e c l a 26 E n t ra d a s y di r e c c io ne s 28 Di bu j a r c o n e n t ra d a s 30 D e p u ra r 32 R e s p u e st a s a p a r t a d o 1 34 Enter HTC p1-7 + p34-35 recovered.indd 6-7 02/11/15 06:19 Trabajamos en la memoria del ordenador. Un ordenador necesita memoria para guardar información. Entrada Los programas se leen en la memoria y se convierten en sencillas instrucciones codificadas. El ratón, el teclado y la pantalla táctil son «dispositivos de entrada» (input). Permiten introducir información en un ordenador o tableta. Este libro te enseñará a programar o a aprender a decir a los ordenadores qué hacer. En primer lugar, os presentaré a nuestra amiga robot Ada, que se llama así por la primera programadora de ordenadores del mundo: Ada Lovelace. Ent rad a d j d k d k d j d Entrada d k dd Procesador oo Los dispositivos de entrada se usan para escribir los programas o cambiar lo que hace un programa. p t 3 R Entrada Bienvenido al procesador, el cerebro del ordenador. R 2 tz 3o o g tj 3o Ro o 2 z g j j R o 1 2 2 zzj j gg ooj k N Ó I C C U D O R T N I Dentro de tu ordenador Salida Conoce a Ada La impresora, la pantalla y los altavoces son «dispositivos de salida» (output). Los dispositivos de salida son la forma que tiene un ordenador de decirte cosas. Ada Lovelace (1815-1852) nació en Inglaterra hace 200 años. Descubrió que una máquina podría resolver problemas si se le daban instrucciones paso a paso: un programa. Sin embargo, ¡en aquella época aún no había ordenadores para demostrar sus ideas! Salid a ¿Qué es programar? Programar significa escribir una serie de palabras, o «código», que le diga al ordenador qué debe hacer. Las palabras deben escribirse en un lenguaje especial que el ordenador entienda. Este apartado (apartado 1) se centrará en dos lenguajes: Logo y Scratch. Todos los ordenadores necesitan un programa que les diga qué hacer. Portátiles, tabletas, teléfonos y ordenadores de sobremesa, todos necesitan programas para ser útiles. 8 HTC p8-33.indd 8-9 da Sali da Sali Seguimos las instrucciones y damos al usuario nuestros resultados con los dispositivos de salida. 9 29/10/15 12:07 S E N O I C C U R T S DAR IN Robot artista Choco Flakes Aquí tienes otro juego para practicar cómo dar instrucciones. Necesitas: 1 Un compañero Hacer el desayuno Hay muchas formas de decirle a la gente que haga cosas. Si alguien dice: «enciende las luces» o «está oscuro, enciende ese chisme», sabes qué hacer. Pero, para programar un ordenador, debemos darle las palabras exactas, correctas y ordenadas. Estas palabras que dicen lo que tienen que hacer los ordenadores y las personas se denominan instrucciones. Siéntate en una mesa junto a tu compañero. Uno de vosotros será el robot artista y el otro, el programador. El programador dará instrucciones al robot para que dibuje sobre el papel una de las imágenes que hay más abajo. Esta vez el robot solo moverá el lápiz. El compañero robot solo podrá hacer lo que diga el programador. Podréis usar estas órdenes: 2 Un papel Imagina que estás programando a nuestra amiga robot Ada para que te haga el desayuno. ¿Puedes poner estas instrucciones en el orden correcto? Mover arriba 3 Un lápiz Mover izquierda ¡ALTO! Mover derecha Mover abajo A Abrir la caja de cereales. B Poner leche en los cereales. C Alzar la tapa del cartón de leche. 2 1 D Echar cereales en el cuenco. E Sacar un cuenco del armario. Conviértete en un robot humano ¡Conviértete en un robot humano! Te ayudará a pensar en cómo dar las instrucciones precisas. Necesitarás un compañero para jugar a este juego. Uno de vosotros jugará a ser un robot. El otro será el programador y le dará instrucciones al robot. Este jugador tendrá que darle instrucciones al robot para que camine hacia la puerta. Las únicas órdenes que puede darle son: ¡Instr uc incorr ción ecta! ucción ¡Instr cta! e r inco r 3 4 Cuando sepas jugar bien a este juego, intenta que el robot juegue con los ojos cerrados. ¡Cuidado, no pintes la mesa! Haz que el robot dibuje algo más. Avanzar. Girar a la izquierda. Girar a la derecha. Alto. Palabra clave Progr ama : ins que le dicen trucciones o robo al ordenado t qué h r acer. 10 HTC p8-33.indd 10-11 11 29/10/15 12:07 O S A P PASO A Divertido juego de algoritmos De viaje Para este juego solo necesitarás un dado y una ficha. Inténtalo: Aquí está nuestro problema: Ada tiene que viajar del cuadrado número 3 al número 4. Averigua los pasos que tendrá que dar. Usa una moneda o un muñequito como ficha. 1 Lanza el dado una vez. Pon la ficha en el número que saques. 2 Lanza el dado otra vez (si sacas el mismo número, tira de nuevo). 3 Será el número que tienes que alcanzar. Los programas de ordenador necesitan instrucciones para hacer las cosas. A veces necesitamos un programa para solucionar un problema concreto. Para solucionar este problema a continuación, tenemos que planear los pasos que dará el programa: estos pasos se llaman algoritmo. Para viajar de 3 a 4 Escribe los pasos que tienes que dar para llegar allí. 4 1 3 2 4 , Ada tiene que dar los siguientes pasos: ARRIBA DERECHA ARRIBA 1 En la tabla de la página siguiente, empieza en el DERECHA DERECHA ABAJO DERECHA y da los siguientes pasos: ¿Dónde terminarás? La solución está en la página 34. ABAJO ABAJO ABAJO ABAJO ABAJO Palabra clave Algor itm Si quieres, puedes escribir letras en lugar de dibujar flechitas. Puedes escribir right, right, up, down con sus iniciales en inglés R R U D. (Right, Right, Up, Down). tiene q o : son los ue da paso solucio r un program s que nar un a proble para ma. 1 Escribe un algoritmo que explique cómo ir de 6 a 1 2 Ahora intenta hacerlo de 3 Viaja de 2 a 5 a HTC p8-33.indd 12-13 4 6 4 Ahora comprueba tus respuestas en la página 34. 12 6 IZQUIERDA 1. R U 2. U ...… 5 3 13 29/10/15 12:07 S O D A C I F I D O C S E J A S N E M ENVIAR COMANDOS Ahora escribiremos los comandos o instrucciones que deletrearán estas palabras: R5 significa moverse a la derecha 5 casillas. El punto rojo te dice dónde empezar. Hagamos que nuestras instrucciones sean más útiles usando números que nos indiquen lo lejos que tenemos que movernos en cada dirección. Las órdenes especiales como estas se llaman comados, aunque también pueden llamarse instrucciones. Ejemplo de comandos U4 significa: L3 significa: D7 significa: R4 significa: mover arriba 4. mover izquierda 3. mover abajo 7. mover derecha 4. Juego de palabras 1 2 3 4 2 1 3 4 ¡Hay respu más de un esta corre a cta! 5 5 6 7 8 9 Veamos qué han dibujado R3 U3 L3 D3. Recuerda que R (Right) es derecha. L (Left) es izquierda. U (Up) es arriba. D (Down) es abajo. Tienes que empezar en el punto rojo: Las respuestas en la pág. 34. L3 D3 Palab ra cla Com and v U3 o orde n par o instru a hac cció conc er una ta n : reta. rea e 2 L3 3U 1. L3 D 2 R3 ¡Huy! Demasiado lejos. ¡Díselo tú! Escribe las instrucciones o comandos para deletrear tu nombre o iniciales. Necesitas un papel cuadriculado y un lápiz. 2 Escribe las instrucciones para dibujar 1 Dibuja tu nombre en un papel cuadriculado. Convierte 3 Da las instrucciones a un compañero las líneas diagonales en verticales y horizontales (como en V, W o M). 14 HTC p8-33.indd 14-15 tus letras. para ver si sabe seguirlas. 15 29/10/15 12:07 S A T L E DAR VU Dile que gire Derecha 90 Intentemos este programa: Avanzar 25 (recuerda que son casillas) Girar derecha 90 (recuerda que para girar son grados) Avanzar 20 Girar derecha 90 Avanzar 25 Girar izquierda 90 Izquierda 90 Avanzar 10 Si te haces un lío con la derecha y la izquierda, intenta seguir a la tortuga dando la vuelta a la página para ver el camino que sigue. Familiarízate con los grados Los giros que da un robot se miden en grados. Los grados pueden ser difíciles de comprender, pero si conocemos lo básico podremos hacer que tu robot dé vueltas. Un ángulo recto tiene 90 grados. Una vuelta completa, 360 grados. Cuanto mayor sea el número, mayor será la vuelta. Ahora aprenderemos a hacer que un robot dé vueltas. Tenemos que usar tres instrucciones: avanzar, girar izquierda o girar derecha, y así consecutivamente. Avanzar 25 Avanzar 20 Avanzar 25 Derecha 90 Avanzar 10 Escribir letras Los grados se miden de 0 a 360. Una vuelta de 360 grados completa un círculo. Ahora intenta averiguar las instrucciones para hacer estas letras. Mira la solución en la página 34. 270 1 2 3 4 360 0 180 Girar derecha 90 Girar izquierda 90 La distancia que los robots avanzan se mide en pasos. Si el robot está dibujado en una pantalla (a veces llamado tortuga), los pasos se suelen medir en píxeles. Un píxel es un minúsculo «elemento de una imagen» o punto en la pantalla. El recuadro de abajo tiene 7 píxeles de ancho por 7 de alto. 90 90 0 Estos son ejemplos de instrucciones sencillas que harán que tu robot gire a derecha e izquierda. Píxeles 90 0 zar 20 1.Avan ha 90 e r De c 20 Avanzar 16 HTC p8-33.indd 16-17 29/10/15 12:07 O G O L R E D N E R P A Vamos a aprender a programar con Logo, uno de los lenguajes de ordenador más simples. ¡Usar Logo es una forma fantástica de poner instrucciones básicas en acción! Instrucciones básicas 1 La pantalla de Logo Escribe fd 50 para avanzar 50 pasos. Antes de aprender algunas instrucciones, veamos qué aparece en la pantalla de Logo. En el ejemplo de abajo, ya hemos escrito tres instrucciones en la ventana de trabajo. Presiona «Enter» después de cada instrucción o escribe una serie de instrucciones separadas por espacios y luego presiona «Enter» para ver el resultado. Pulsa «Run» para probar tu programa. Esta es la ventana de gráficos. fd 50 Run 2 Cada versión de Logo es ligeramente diferente. Algunas tienen botones «Run» y otras no. Si tu versión no tiene, entonces presiona «Enter» después de escribir una instrucción. Si solo hay una pequeña ventana de trabajo, escribe las instrucciones una a una y luego presiona «Enter», o haz clic en «Run» para ejecutarlas una por una. También puedes escribir varias instrucciones en una línea con un espacio entre cada instrucción y luego pulsa «Enter» o haz clic en «Run» para probarlas. Vuelve a la página 4 si necesitas ayuda para descargar Logo o encontrar un sitio web donde usarlo. Escribe lt 90 y clica en «Run» para girar a la izquierda. Esta es la ventana de trabajo. Escribe tu programa aquí. fd 50 rt 90 fd 50 Haz clic en «Run» para probar tu programa o pulsa la tecla «Enter». 3 lt 90 Run Run fd 50 Run Escribe fd 50 y pulsa «Run» para avanzar otros 50 pasos. fd = avanzar rt = derecha lt = izquierda 18 HTC p8-33.indd 18-19 19 29/10/15 12:08 O G O L S FORMA Prueba esto Practica formas ¿Qué dibujan estos programas? Escribe estos programas para practicar programación con Logo: 1 Ahora que ya entiendes cómo funciona Logo, intenta dibujar formas diferentes. Experimenta con lo que puedes crear: ¡ya estás programando! 2 3 lt 90 fd 100 fd 50 fd 50 rt 90 rt 90 fd 60 rt 90 fd 100 fd 50 rt 90 fd 100 rt 90 lt 90 fd 60 rt 90 fd 100 fd 50 fd 50 rt 90 rt 90 fd 100 fd 50 rt 90 fd 60 rt 90 fd 60 Escribe cs cuando tengas que borrar la pantalla. S u p e r o r d e n a d o r 7000 01011101001001 11010010010101 01011101001001 11010010010101 11010010010101 1101001001010 rt 90 fd 100 rt 90 fd 100 fd 50 fd 100 lt 90 rt 90 fd 100 fd 50 lt 90 lt 90 fd 50 lt 90 lt 90 fd 100 ¡Haz formas! ¡Sorprendente! Ahora intenta dibujar estas formas con Logo: 4 5 fd 100 fd 25 ¡Ooohh! rt 90 fd 25 lt 90 lt 90 significa gira a la izquierda 90 grados. 6 fd 25 rt 90 HTC p8-33.indd 20-21 ¡Aaahh! Escribe seth 0 para que la tortuga apunte hacia arriba de nuevo. fd 25 ¡Experim ¡Veamos enta! qué dib con Logo ujas ! 20 7 Ver página 34 para respuestas sugeridas. ¡Hay más de una respuesta correcta! 21 29/10/15 12:08