[SIC] Chapter4. Rurple (1).pdf

PREÁMBULO Estimados estudiantes: Cuando creé RUR-PLE, lo hice para que fuera un proyecto de programación divertido con

Views 503 Downloads 5 File size 16MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PREÁMBULO

Estimados estudiantes: Cuando creé RUR-PLE, lo hice para que fuera un proyecto de programación divertido con la esperanza de usarlo para enseñarles a mis dos hijos. Decidí que fuese gratuito y estuviera disponible para todos, para que otras personas también pudieran usarlo. En principio, pensé que quizás unos pocos estudiantes podrían usarlo. Desde entonces, una gran cantidad de estudiantes de muchos países lo han usado. Sin embargo, fue una gran sorpresa y un gran honor cuando Samsung se comunicó conmigo para informarme que habían elegido RUR-PLE como herramienta para enseñarles el pensamiento computacional a muchos de ustedes. Lo que más me impresionó fue la forma en la que han incorporado las ideas de RUR-PLE en un libro tan interesante y divertido que presenta las ideas de una forma que hace que aprender sea mucho más fácil.

Aun así, incluso con la ayuda de este libro visual, cuando empiecen a aprender con RUR-PLE, esperen sorprenderse con el comportamiento del robot: la forma en que hace exactamente lo que le indicas y no lo que quisiste decirle. Un estudiante que usa RUR-PLE le dijo a su maestro: “¡Es tan lógico y tan frustrante a la vez!”. Pronto aprenderás que escribir un programa que funciona exactamente como lo planeaste es una de las sensaciones más gratificantes del mundo. La programación por computadora es divertida y te

ayuda a desarrollar habilidades de pensamiento computacional. Quizás, algún día uses estas habilidades para crear algo que mis hijos o nietos en Canadá puedan aprender. ¡Feliz programación! Andre Roberge Canadá

Andre Roberge es un físico cuyo pasatiempo es la programación. Después de obtener su doctorado, desarrolló varios programas de computadora (incluido RURPLE) mientras trabajaba como profesor en tres universidades, como la Universite Sainte-Anne en Canadá, de la que ha sido presidente durante los últimos 10 años. En 2002, recibió el premio Queen Elizabeth Jubilee, y actualmente enseña Física e Hidráulica en la Universite Sainte-Anne. Al mismo tiempo, es padre de dos niños que también estudian Hidráulica.

Cómo usar el material “Bienvenido al mundo Rurple” está formado por 12 contenidos de aprendizaje e incluye una tarea La composición práctica llamada “Práctica de manipulación de robots” que te ayudará a entender. Como tareas que el estudiante puede vincular con los contenidos de aprendizaje, se incluye la “Capacitación para controlar de este libro robots” (con un nivel de dificultad de 1 a 4) y la “Solicitud de despacho de robots” (con un nivel de dificultad de 3 a 5). La composición del libro es la siguiente:

La información general necesaria para desarrollar RURPLE y la introducción a Python se incluyen a modo de historieta.

Nota La guía del método de instalación de RUR-PLE y Python Contenido de aprendizaje Aprender el concepto de la programación mediante RUR-PLE Información adicional y explicación de conceptos Práctica de manipulación de robots Práctica simple asociada con el “Contenido de aprendizaje” El movimiento del personaje se muestra para ayudar a entender el contexto del problema de la “Práctica de manipulación del robot”.

Se muestra el nivel de dificultad (1 a 5)

Capacitación para controlar robots Tarea de práctica en forma de misión relacionada con el “Contenido de aprendizaje” con un nivel de dificultad de 1 a 4.

El movimiento del personaje se muestra para ayudar a entender el contexto del problema de “Capacitación para controlar robots”.

Solicitud de despacho de robots Tarea de práctica en forma de misión relacionada

Página de introducción para generar interés al construir cada tarea de “Solicitud de despacho de robots” en forma de mapa

Comprensión de la lección

En general, este libro estáestá formado por historias que generan en los estudiantes que ayudan ayentender En general, este libro formado por historias que interés generan interés en losyestudiantes que ayudan a entender mediante narraciones. El aprendizaje de los contenidos y las tareas de la misión mediante narraciones. El aprendizaje de los contenidos y las tareas de la misión no se enseñan por separado, si no se enseñan por separado, si no que las tareas de la misión (Capacitación para controlar robots no que las tareas de la misión (Capacitación para controlar robots y Solicitud de despacho de robots) se y Solicitud de despacho de robots) se combinan en la lección según los contenidos de aprendizaje. combinan en la lección según los contenidos de aprendizaje.

Contenidos de aprendizaje

Concepto de programa

+

Práctica de manipulación de robots

NIVEL

1a4

Capacitación para controlar robots

NIVEL

3a5

Solicitud de despacho de robots

El manual cuenta con un total de 20 lecciones; para las lecciones 1 a 12, los contenidos de aprendizaje presentados en el libro y en las tareas de la misión (Capacitación para controlar robots y Solicitud de despacho de robots) se realizan en conjunto en la clase, y para las lecciones 13 a 16, la clase se realizará en un entorno en el que los estudiantes deberán pensar y resolver problemas. Para las lecciones 17 a 20, la clase se lleva a cabo en forma de proyecto en equipo que se basará en la experiencia para pensar y resolver problemas obtenida de las lecciones anteriores. (Consulte el Método de enseñanza y aprendizaje para maestros de cada lección).

Cada lección está formada por los Contenidos de aprendizaje y las Tareas de la misión, y todos los contenidos de este libro se pueden aprender con el Mapa mundial (imagen de la izquierda). La composición del contenido para cada lección se da de la siguiente manera.

Tema de cada lección Objetivos para cada lección

Contenidos de aprendizaje: contenidos a aprender para la lección correspondiente Capacitación para controlar robots: tareas relacionadas con la lección correspondiente Solicitud de despacho de robots: tarea relacionada con la lección correspondiente

CONTENIDOS Todos deben convertirse en maestros de RUR-PLE y mantener la paz del Mundo Rurpl e Práctica de manipulación de robots

Capacitación para controlar robots

Solicitud de despacho de robots

Ingresar

Mapa de la misión/Resumen de la aventura Presentación de personajes/Prólogo

Nota

Instalación de RUR-PLE Instalación y ejecución de Python

Contenidos de aprendizaje

1 2 3 4 5 6 7 8 9

Comienzo de la programación Aspectos básicos de RUR-PLE Función para el movimiento | Qué hacer en cada caso | ¿Verdadero o falso? |

Práctica de manipulación de robots 01, 02, 03

Práctica de manipulación de robots 04, 05

Práctica de manipulación de robots 06

La variable, un recipiente para guardar información |

Práctica de manipulación de robots 07

Entrada y salida de datos Las cuatro operaciones matemáticas también se pueden realizar con el programa

Varias formas de información |

| Práctica

Práctica de manipulación de robots 10, 11

10 Los trabajos competitivos se pueden realizar de forma conveniente | Práctica de manipulación de r 11 Comparar y evaluar | Práctica de manipulación de robots 14 12

Crear un clon de robot |

Práctica de manipulación de robots 15

Capacitación para controlar robots

Entregar el periódico Saltar obstáculos Visitar la tienda Reparar el centro comercial Verificar el semáforo Ir a un concierto en la ribera Entrada en calor Jugar al béisbol Limpiar el parque de diversiones

10 Construir un helipuerto

Solicitud de

1

Diseñar una pirámide

despacho de

2

Limpiar el lugar de construcción de la pirámide

robots

3

Dibujar un espiral

4

Cultivar flores en un oasis

5

Entregar pizzas a los apartamentos del hormiguero

6

Repeler a la araña camello, la guardiana de la cueva

7

Repeler al escorpión gigante, el guardián de la salida

8

Salvar a la princesa atrapada en el laberinto

9 10

Cuidar el jardín de flores de la princesa

a de manipulación de robots 08, 09

robots 12, 13

1 2 3 4 5 6 7 8 9

Calcular el tamaño de la habitación de la princesa

11 Limpiar la torre del cielo 12 Cuidar el jardín de flores del cielo

53

Proyecto

Plantilla

Mapa de la misión d

Entender RUR-PLE Podrás instalar el programa RUR-PLE y usar las funciones básicas. Podrás realizar una manipulación sencilla mediante las funciones básicas de RUR-PLE.

Contenidos de aprendizaje | 1, 2, 3

02

LISTO

FIN

Función definida por el usuario

Podrás definir y ejecutar las funciones definidas por el usuario. Podrás resolver los problemas mediante las funciones.

Función del sensor y operador lógico

Contenidos de aprendizaje | 3 Capacitación para controlar robots | 1, 2 Solicitud de despacho de robots | 1, 2

Podrás comprender la función del sensor de RUR-PLE y ejecutarlo según las condiciones. Comprenderás los conceptos de enunciados condicionales y operadores lógicos.

Variable

Podrás resolver problemas mediante enunciados condicionales y operadores lógicos.

Podrás comprender el concepto de variable y escribir un programa que distinga variables locales y globales.

Contenidos de aprendizaje | 4, 5 Capacitación para controlar robots | 3, 4

LISTO

LISTO

Podrás resolver los problemas mediante las variables.

Contenidos de aprendizaje | 5 Capacitación para controlar robots | 5, 6

Función del sensor y operador lógico

LISTO

Podrás comprender el proceso de entrada y salida de datos, e implementarlo durante la práctica.

Tipos de información, lista y conjunto

Podrás resolver los problemas mediante operadores matemáticos. Contenidos de aprendizaje | 7, 8

Podrás comprender varios tipos de información y usarlos en la situación correspondiente.

LISTO

Comprenderás los conceptos de lista y conjunto, y podrás resolver los problemas.

Enunciado de repetición y función range ( )

Contenidos de aprendizaje | 9

Podrás comprender la estructura de un bucle básico y un bucle anidado.

INICIO

Enunciado de repetición y operador de comparación Podrás resolver problemas mediante

Podrás resolver los problemas mediante el enunciado de repetición. Podrás implementar un bucle for mediante la función range ( ).

Contenidos de aprendizaje | Solicitud de despacho de robots 7, 8 | 3

LISTO

enunciados de repetición y operadores de comparación. Contenidos de aprendizaje | 11 Capacitación para controlar robots | 7, 8

LISTO

Comprender el enunciado de control

LISTO

Uso del enunciado de control I

Podrás comprender los enunciados de control con las estructuras de secuencia, condición y repetición.

Podrás resolver los problemas mediante el enunciado de control.

Podrás resolver los problemas mediante estos enunciados de control.

Solicitud de despacho de robots | 6, 7, 8

Capacitación para controlar robots | 9, 10 Solicitud de despacho de robots | 4, 5

LISTO

LISTO

del mundo RUR-PLE

Programación orientada Podrás escribir un programa que produzca y controle una cantidad de objetos robot mediante la clase UsedRobot.

Mapa de la misión del mundo RUR-PLE Debes colocar el adhesivo de misión completa cada vez que termines las misiones de la

Uso del enunciado de control II

Contenidos de aprendizaje | 11 Solicitud de despacho de robots | 11, LISTO 12

Podrás resolver los problemas mediante el enunciado de control. Solicitud de despacho de robots | 9, 10

LISTO

aventura de programación exitosamente.

Implementación de problemas I Podrás definir la situación problemática dentro de un mundo de 5x5.

Podrás diseñar e implementar un algoritmo para resolver problemas que se adapte a una situación específica.

Proyecto | 1

LISTO

Resolución de problemas I

Cuando resuelvas situaciones problemáticas de otros amigos, podrás compararlas con tu problema. A medida que resuelvas situaciones problemáticas de otros amigos, encontrarás contenidos que requieran modificaciones o adiciones, y podrás compartir tu opinión. Podrás elegir un problema bien diseñado entre los problemas que crearon otros amigos.

Proyecto | 2

LISTO

Implementación de problemas II Podrás definir una situación problemática superior al 5x5 del tamaño del mundo.

Resolución de problemas II

Podrás diseñar e implementar un algoritmo para resolver problemas que se adapte una situación específica. Proyecto | 3

LISTO

Organización del equipo y plan de operación

A medida que resuelvas situaciones problemáticas de otros amigos, encontrarás contenidos que requieran modificaciones o adiciones, y podrás compartir tu opinión. Podrás elegir un problema bien diseñado desde los problemas que crearon otros amigos.

Podrás elegir un líder y el nombre del equipo, y compartir las tareas.

Proyecto | 4

Podrás leer una guía de tareas y escribir un plan de desempeño para la tarea.

Proyecto | 5, 6, 7

Cuando resuelvas situaciones problemáticas de otros amigos, podrás compararlas con tu problema.

LISTO

LISTO

Producción de una ficha de trabajo Podrás fijar una misión y crear el mundo para cada sinopsis. Podrás implementarla mediante RURPLE y escribir una ficha de trabajo para una competencia.

Recolectar información y escribir la sinopsis Podrás recopilar información para la tarea, tener un debate según tu experiencia y recopilar opiniones. Según las opiniones recopiladas, podrás escribir una sinopsis para una situación problemática.

Proyecto | 8

LISTO

Proyecto | 9

LISTO

Presentación y evaluación del producto Podrás brindar una presentación sobre el proceso de creación del producto Podrás evaluar según los criterios de evaluación basados en los contenidos de la presentación.

Proyecto | 10, 11

LISTO

SINOPSIS Resumen de la aventura de programación Existe un “Servicio de despacho de robots” en el que los robots con muchas funciones ayudan a las personas del “Mundo Rurple” desde hace mucho tiempo. Un buen día, Old-bot, que había estado encargándose del Servicio de despacho de robots, decidió jubilarse y nombrarte a ti como su sucesor. Tendrás que enseñarles y capacitar a los robots sin experiencia para que sean buenos y mantengan la paz del Mundo Rurple al completar varias misiones con robots bien entrenados. Por esto, tienes que elegir entre Red-bot, Blue-bot y Green-bot, y aprender la programación básica, como “Funciones y enunciados condicionales para operar robots”, etc. mediante los 15 pasos de “Práctica de manipulación de robots”. Luego, desarrollarás tu capacidad para resolver problemas mediante la “Capacitación para controlar robots” en varias situaciones que pueden ocurrir en tu hogar o en la escuela, como entregar el periódico, saltar obstáculos y limpiar un parque de diversiones. Básicamente, estás capacitándote para aprender a programar un robot. Cuando termines la capacitación, comenzarás el nivel “Solicitud de despacho de robots”. La misión de programación estará completa si llegas a la Torre del cielo y te reúnes con los ángeles a medida que resuelves varias misiones, como diseñar una pirámide, cuidar las flores del oasis, entregar pizza en los apartamentos del hormiguero y salvar a la princesa atrapada en el laberinto. Si llegas a la cima, es probable que seas el maestro del Mundo Rurple mientras diseñas tu propio mundo y resuelves las misiones.

1-3 Puedo salir a jugar después de limpiar este lugar, ¿verdad? Entreguemos este periódico a la casa de mi abuelo.

5-1

9-1

Por favor, cuida mucho mi jardín de flores.

Estoy llegando ¿Alguien pidió una pizza?

PERSONAJES Compañeros de aventura

Red-bot El robot rojo es saludable y fuerte. Suele cometer errores, ya que actúa sin pensar, pero a la hora de enfrentarse a una crisis es el mejor.

Green-bot El robot verde es muy entrometido. Siempre tiene mucha curiosidad y desea conocer más sobre Python en particular. A veces, hace muchas preguntas y sus amigos se agotan.

Blue-bot Los pensamientos creativos son la especialidad del robot azul. Tiene

muchos conocimientos pero su manera brusca de hablar es una falla. Sin embargo, siempre tiene nuevas ideas y no se cansa de responder todas las preguntas de Green-bot.

Old-bot Robot viejo y sabio que es respetado por todos los robots. Lo consideran un robot legendario porque tiene mucha experiencia ayudando a las personas mediante el Servicio de despacho de robots.

Princesa Una princesa hermosa y elegante del Mundo Rurple. A veces, se mete en problemas porque se escapa en secreto. El Servicio de despacho de robots la ha salvado muchas veces.

Soy “Old-bot” y me he encargado del

Hola. Bienvenido al Mundo Rurple.

Servicio de despacho de robots para ayudar a las personas con robots en el Mundo Rurple.

Me encargo del Servicio de despacho de robots. Es difícil para mí continuar con esta tarea.

Por lo tanto, voy a jubilarme del servicio de despacho y se lo dejaré a los robots más jóvenes.

Sin embargo, como los robots no tienen experiencia aún, necesitamos a alguien que les enseñe.

Creo que puedes capacitar a los robots maravillosamente.

Es por eso que te elijo como mi sucesor.

La palabra robot, (que deriva de “robota”, que significa esclavo o trabajo pesado en checo) significa “una máquina parecida a un humano que hace el trabajo por las personas”.

Primero, te contaré un poco sobre RUR-PLE para que puedas capacitar a los robots.

Sabes bien que el concepto de robot tiene una fuerte influencia sobre la sociedad moderna.

El “RUR” de “RUR-PLE” significa Rossum's Universal Robots, una obra de Karel Capek, a quien se le ocurrió el concepto de “robot” por primera vez.

En 1981, Richard E. Pattis creó un mundo imaginario en el que los robots viven a través de un libro, “Karel el robot”.

Los robots de este mundo solían tener una función muy limitada.

Los robots tenían que realizar varias funciones complejas al combinar funciones simples, pero un robot llamado Karel usó un idioma de programación llamado “Pascal” para esto.

Solo podían realizar acciones muy sencillas como “paso adelante”, “girar a la izquierda” y “levantar o soltar beeper” (sensor que puede detectar un robot).

¡Hola! ¡Voilá!

Las personas podrían aprender conocimientos básicos de la programación de una forma divertida al manipular al robot que solo puede realizar acciones simples mediante Pascal.

Este concepto de aprender un lenguaje de programación al controlar un robot ha aparecido en varias versiones del lenguaje de programación desde entonces.

Además, el “PLE” de “RUR-PLE” es un acrónimo para Python Learning Environment (entorno de aprendizaje de Python).

Es una herramienta de aprendizaje excelente para usar casi cualquier factor del lenguaje de programación llamado Python que está más desarrollado que GvR y yo.

Creo que mi función se ha terminado. Te unirás a estos niños en su viaje al futuro.

Al igual que Karel el robot, estos niños también tienen funciones muy simples.

Sin embargo, si intentan realizar varias acciones complejas al combinar estas funciones simples, eventualmente tendrán la capacidad de controlar Python cuando se los indiquen.

¡Que tengan un gran viaje!

También soy un robot que crearon para usar en GvR, uno de los lenguajes de programación. Podrías decir que soy un ancestro del RURPLE que usarás.

¡Listos para la operación!

¡Hola! Soy Red-bot y quiero convertirme en el mejor robot del futuro.

¡Oh! Tú eres la nueva persona a cargo del Servicio de despacho de robots.

¡Soy Green-bot! Ja, ja, ja.

¿Empezamos con el trabajo?

Soy Blue-bot. Cambio y fuera.

Espera. Todavía no hemos aprendido nada.

Diablos, odio estudiar.. .

¡Es un placer conocerte!

¡El aprendizaje se realiza en la vida real!

Es imposible. Tenemos que terminar la práctica de manipulación y la capacitación de control antes de empezar a trabajar.

Es un lenguaje de programación presentado por Guido van Rossum.

¿No deberíamos aprender qué es Python?

¿No deberíamos...?

Es así. Para avanzar rápidamente, te explicaré sobre Python. Python es..

¿Podrías explicarlo con palabras sencillas?

Es así. Es un idioma de conversación que se escribe de forma dinámica independientemente de la plataforma, en forma de intérprete y orientado a objetos.

Ya lo expliqué lo más sencillo posible.

¡Ah! En pocas palabras...

Python tiene una gramática fácil y sencilla. También se puede leer sin problemas, ya que el bloque del código se distingue con sangrías.

Como brinda varios campos extensivos de bibliotecas (módulos), es muy extensible.

El string de caracteres se muestra con Unicode, por lo que será muy fácil expresar idiomas como coreano o chino.

Casi toda la información que se proporciona es gratuita.

Ahora entiendo un poco.

Se puede asociar con otros idiomas de programación, como el lenguaje C.

También tiene muchas otras ventajas.

Oh. ¡Es más rápido aprender en la vida real! Comencemos.

NOTA

1

Instalación de RUR-PLE

1 Ingresa al sitio web (http://code.google.com/p/rur-ple/) para descargar RUR-PLE.

* Sitio web oficial de RUR-PLE http://rur-ple.sourceforge.net

2

Selecciona el archivo correspondiente para tu sistema operativo en el menú “Descargas”.

3 Descarga el archivo de instalación en la página “Descargas”.

4 El proceso de instalación después de la descarga es el mismo que para cualquier otro programa.

2

Instalación y ejecución de Python Ingresa al sitio web oficial de Python (http://www.python.org/download) y descarga el archivo de instalación correspondiente para tu sistema operativo y CPU. Existe una pequeña diferencia gramatical entre la versión Python 2.X y la versión Python 3.x. Es posible ejecutar RUR-PLE sin instalar Python. La programación básica que se puede realizar en Python también se puede realizar en RUR-PLE, por lo que no es necesario que instales Python.

Sitio web para descargar Python

Iniciar Python

01 Comando de Python: [Iniciar] → [Programa] → [Python 3.4.2] → Ejecución de [Python(línea de comando

o)]

02

IDLE: [iniciar] → [programa] → [Python 3.4.2] → [IDLE(Python GUI)] La pantalla de ejecución de Python se ve así: Python es un lenguaje de programación en el que el resultado de ejecución aparece inmediatamente cuando se ingresa un comando. Por ejemplo, si ingresas un enunciado comando como print (“Hello”) a una consola (>>>), como se muestra en la figura, y presionas la tecla Enter, el programa “Hello” se muestra inmediatamente como resultado de ejecución. Para los comandos de Python se escribe todo en minúscula, ya que podrían ocurrir errores si se usan letras mayúsculas. La pantalla de ejecución de Python se denomina Python Shell.

Ejecución de Python 01

Cómo ejecutar directamente en el estado de consola (>>>) Python se puede ejecutar directamente en el estado de consola (>>>) y el resultado se verifica inmediatamente. De esta forma, el resultado se puede verificar rápidamente, pero es molesto volver

02

a ingresar el programa cada vez que desees ejecutarlo. Cómo ejecutar el programa después de guardarlo. Python se puede ejecutar después de escribir y guardar el código del programa. De esta forma, podrás ejecutar el programa sin la inconveniencia de ingresarlo cada vez que lo necesites porque el programa estará guardado.

1 Presiona [Archivo]-[Ventana nueva] 2 Ingresa el programa si aparece la ventana (ventana de edición de IDLE) y ejecuta [Archivo]-[Guardar]. 3 Designa la ruta y guarda los contenidos del programa al ingresar el nombre del programa. (extensión : py) 4 Al presionar [Ejecutar]-[Ejecutar módulo] desde la ventana de edición IDLE o al presionar la tecla F5, ejecuta el programa y verifica el resultado. Para que se ejecute el programa, se debe activar la ventana en la que se está editando el código py.

Ingresar el programa (Editor IDLE) a=10 b=20 print((a+b)/2.0)

Ejecución del programa (Python Shell) >>> ============================= >>> 15.0 >>>

Contenidos de aprendizaje 01 1

¿Por qué aprendes a programar? ¿En qué piensas cuando escuchas la palabra programación? ¿En un hácker genio? ¿O en letras enigmáticas que se parecen a un código? En realidad, la programación no es tan complicada como crees. No es algo que solo las personas inteligentes pueden hacer.

En realidad, la programación es algo que nos rodea todos los días. ¿Alguna vez le has dado direcciones a una persona que estaba perdida? En ese caso, puedes decir que tienes experiencia programando. Programar no es un concepto que solo se usa en computadoras. El proceso de comunicar y compartir nuestros pensamientos u opiniones también se puede considerar programación. Desde darle indicaciones a un peatón hasta gobernar a un país, estas actividades también se pueden considerar programación. En el siglo XIX, Inglaterra gobernaba hasta el otro extremo de la tierra aunque era un país que se encontraba en una isla de Europa. ¿Cómo podían enviar órdenes a las personas del otro lado del mar sin teléfonos o Internet? Muchas de las fórmulas matemáticas que aprendimos fueron inventadas por filósofos griegos hace 2000 años. ¿Cómo podemos comprender y usar las fórmulas matemáticas incluso 2000 años después cuando usamos un idioma diferente y pensamos de forma diferente? Desde hace mucho tiempo, la humanidad ha estado desarrollando idiomas, letras e incluso sistemas sociales para transmitir o compartir comandos y conocimientos. El rey de Inglaterra creó una burocracia para reinar y educar a los colonizadores para que usaran el mismo idioma que Inglaterra. Los filósofos griegos estudiaron la lógica para expresar y compartir pensamientos con más exactitud, y desarrollaron letras o idiomas para documentarlos. La programación por computadora se puede comparar con estas actividades. La idea de transmitir comandos o conocimientos cambia desde las personas a las computadoras. También es el motivo por el cual nos referimos al sistema y a las letras para crear programas por computadora como lenguajes de programación.

El comienzo de la programación

Sin embargo, como la computadora no es tan inteligente como un ser humano, existen muchas tareas que las computadoras no pueden realizar. Los tipos de lenguajes que pueden entender también son escasos. Su velocidad de cálculo es mucho más rápida que la de un ser humano. En realidad, la computadora solo puede sumar, pero no restar. La magia de la programación nos permite hacer que una computadora (que solo puede realizar una cantidad limitada de acciones a una velocidad rápida) tenga una capacidad ilimitada. Sin embargo, ingresar comandos en una computadora debe ser más exacto, lógico y amable que darle órdenes a una persona. Si ocurre algún error, la computadora no funcionará como deseas. Sin embargo, cuando programas para que la computadora entienda, podrás experimentar el proceso de pensamiento lógico y sistemático que experimentaron los filósofos griegos o el rey de Inglaterra. Dicha experiencia mejorará tu capacidad de pensar y resolver problemas poco a poco. En general, lo atractivo de la programación es la diversión. Entonces, ¿aprendemos la magia que les da una capacidad ilimitada a las computadoras?

* Un grupo de instrucciones que puede ejecutar una computadora se denomina programa; escribir un método para resolver problemas con regularidad se denomina algoritmo; y el proceso de escribir un algoritmo en un programa mediante un lenguaje de programación se denomina programar.

2

Cómo iniciar Python Python expresa elementos complicados de forma más sencilla para las personas que aprenden un lenguaje de programación por primera vez. Las características principales son “un método para expresar el final de un enunciado” y una forma de “expresar la estructura de un bloque”.

1) Cómo expresar el final de un enunciado Un enunciado es una unidad de expresión que permite que la computadora entienda nuestros pensamientos y ejecute una acción al respecto. Si la computadora puede entender una oración como “ir adelante”, se convierte en un enunciado. En las computadoras, se puede decir que un enunciado es una oración que puede convertirse en una instrucción. Un programa de computadora es un conjunto de enunciados. En muchos lenguajes de programación (incluido el lenguaje C), el método de agregar un punto y coma (;) se usa para indicar el final de un enunciado. En estos lenguajes de programación, la computadora no considera que la expresión escrita en su totalidad es un enunciado hasta que aparezca el punto y coma. En otras palabras, no funciona. Ir adelante

No se interpreta como un enunciado y la acción no se realiza

Ir adelante;

Se interpreta como un enunciado y se realiza la acción correspondiente

Para las personas que aprenden programación por primera vez, el método de usar un punto y coma podría causar un error de sintaxis.

¿Qué es un error de sintaxis? Una regla para expresar un lenguaje se denomina “gramática”. Las personas tienen la capacidad de hacer una analogía con el significado de lo que otra persona está intentando decir según la experiencia y el contexto, aunque sea gramaticalmente incorrecta en cierta forma. Sin embargo, a diferencia de las personas, las computadoras no entienden expresiones no gramaticales y causan un error. Dicho error se denomina “error de sintaxis”. Los programas de computadora deben tener un conjunto de enunciados perfectos sin errores de sintaxis.

En “Python”, para escribir un programa de forma más sencilla, el final del enunciado se expresa con un salto de línea. Enunciado de Python

Significado

Enunciado de Python

Significado

move()

mover adelante una unidad

a=10

guardar 10 en la variable a

turn_left()

girar 90 grados a la izquierda

b=20

guardar 20 en la variable b

move()

mover adelante una unidad

print a+b

mostrar el valor de la suma de ayb

Este método ayuda a las personas que aprenden un lenguaje de programación por primera vez a entenderlo con facilidad y a evitar errores de sintaxis. Además, un enunciado se expresa en una línea para que sea más natural y sencillo de leer para las personas.

¡Atención! Si expresas las 3 instrucciones previas en una línea con un espaciado como el que se muestra a continuación, ocurrirá un error de sintaxis en Python. Cuando se termina un enunciado, debes usar un salto de línea. a=10 b=20 print a+10 (X)

2) Cómo expresar la estructura de bloque En el idioma de las computadoras, los enunciados que expresan una característica o acción similar se expresan en un conjunto, y esto se denomina estructura de bloque. En otras palabras, interpreta una cantidad de enunciados al unirlos en un solo bloque. Si expresas enunciados en un bloque, será muy útil para repetir los enunciados múltiples o administrar un conjunto de enunciados complejos. En muchos lenguajes de programación, como el lenguaje C y Java, se usan llaves ({}) como forma de expresar dicha estructura de bloque. De esta forma, un bloque empieza con “{” y termina con “}”. Si varios enunciados se colocan dentro de las llaves, se considera un solo bloque.

while(1) ← Nombre del bloque (significado: repetir por siempre los enunciados del bloque) {

← comienzo del bloque scanf("%d",&a); printf("%d",a);

{

- enunciados unidos como bloque

←final del bloque

Este método no es un método que usan las personas al escribir, por lo que podría ser otro error de sintaxis. Por lo tanto, en Python, las llaves no se usan como método para expresar una estructura de bloques. En cambio, se usan sangrías mediante los dos puntos(:) y la tecla Tab. Esto se debe a que los dos puntos se suelen usar para empezar una explicación.

Lista de tareas para hoy: Hacer la tarea Organizar un plan para el fin de semana con tus amigos Escribir en un diario. Escribir un plan para las vacaciones de verano

Como en el ejemplo, las oraciones con sangría en la misma posición son fáciles de detectar porque están en una lista y el título “Lista de tareas para hoy” está antes de los dos puntos. Sin embargo, la última oración sin sangría se reconoce como elemento separado del título, “Lista de tareas para hoy”. La gramática de Python que expresa la unión de elementos que se refieren al mismo sujeto (suite) con sangría en la misma posición es parecida a la forma de escribir, leer y comprender de las personas, por lo que es bueno que otros puedan leer y comprender el código.

¿Qué es la sangría? La sangría es un espacio en blanco delante del enunciado. El tamaño de la sangría depende de la cantidad de espacios en blanco.

Ejemplo de Python>

if(X >>> a=3 >>> a 3 >>> print(a) 3 >>>

Reglas para declarar nombres de variables. Solo se pueden usar caracteres alfabéticos, coreanos, números y guiones bajos (_) para el nombre de la variable. Las palabras no deben llevar tilde. El nombre de la variable no puede incluir caracteres especiales.

El primer carácter debe ser un guion bajo (_), un carácter coreano o alfabético.

El nombre de la variable distingue mayúsculas y minúsculas.

No se puede usar una palabra reservada que ya se definió en el programa Python como nombre de una variable. Las palabras reservadas son palabras que ya se designaron en el programa e incluyen if, while, y for, etc.

4

Variables locales y variables globales Cuando declaras una variable, la variable correspondiente o el rango para usar la variable cambia según la posición de la variable declarada. Las variables se pueden clasificar como variables locales o variables globales.

1) Variable local Como variable declarada en una función, la variable local es una variable temporal que existe solo en el transcurso de la función nombrada y desaparece cuando la función se acaba. Si ejecutas el programa de la siguiente manera, la n declarada en la función f() se muestra en la función, pero la variable desaparece del espacio de la memoria después de que la ejecución de la función finalice, por lo tanto, ocurrirá un error si intentas mostrarla con la función print.

Bien, avancemos según la cantidad indicada en el valor guardado en a

Código del programa def f(): a = 10

¿Perdón? No existe una variable a.

while(a): move() a = a-1

¿Qué quieres decir? A está declarada en la función f()

Código del def f():programa

Como la variable que declaramos anteriormente es una variable local, no se puede usar fuera de la función.

a = 10 while(a): move() a = a-1

2) Variable global Como variable declarada fuera de la función, se puede usar en cualquier parte del programa. Si intentas usar n, que se declara fuera de la función, la variable global n se puede usar en la función f() cuando ingresas global n en el sentido de usar n, que es una variable global.

Práctica de manipulación de robots

07

Jugar con la variable

Usemos la variable global en una función

Como declaramos n como variable global, aumentaremos el valor dentro y fuera de la función por 1 y luego lo mostraremos.

n=3 def f(): global n n=n+1 print n f() n=n+1 print n turn_off()

*Cuando muestras información en RUR-PLE, se puede usar “print n” o “print(n)”. .

Notas para resolver problemas

Contenidos de aprendizaje 07

Ingresar y mostrar información

Si ingresas información, el resultado se muestra según el programa. Guardar (designar) un valor en la variable al ingresar una instrucción se denomina “ingresar información”, y mostrar las variables guardadas (designadas) en la pantalla mediante la instrucción print se denomina “mostrar información”. Por lo general, cuando ingresas o muestras información, se usan unidades de entrada y salida, como el teclado, el ratón y el monitor. La práctica para ingresar y mostrar información se puede realizar en el programa Python o en Ejemplo para ingresar/mostrar información 1

>>> n=input() >> type(n)

>>> print n 3

Ejemplo para ingresar/mostrar información 2

>>> n1=input() >> n2=input() >> print n1+n2 30

Las instrucciones funcionales para ingresar información en RUR-PLE son input_int() o input_string(), y las instrucciones funcionales para mostrar información son print( ) o print.

Función de entrada de números enteros

Función de entrada de string de caracteres

Contenidos de aprendizaje 08

Las cuatro operaciones matemáticas fundamentales con el programa

El operador que realiza el cálculo con las cuatro operaciones matemáticas

fundamentales en el programa se denomina operador aritmético. A diferencia de otros lenguajes de programación, Python (RUR-PLE) se clasifica en operadores que descartan el punto decimal en la división (//) y que no descartan el punto decimal (/).

Significado

Suma

Resta

Multiplicación

División de números reales

Ejemplo

Significado

División de números enteros

Potenciación

Resto

Ejemplo

Práctica de manipulación de robots

08 Operaciones matemáticas para principiantes Busquemos el cociente y el resto al dividir dos entradas de números enteros. Crearemos un programa para encontrar el cociente y el resto al dividir dos entradas de números enteros, a y b.

※ La práctica para ingresar y mostrar información se puede realizar en el programa Python o en >>> a=input() >> b=input()

Práctica de manipulación de robots

09 Operaciones matemáticas para expertos Averigüemos el área del triángulo mediante la entrada de la base y la altura. Crearemos un programa para averiguar el área del triángulo después de ingresar la longitud de la base y la altura de un triángulo.

Ejemplo de entrada

Ejemplo de salida

13 3

19.5

Fórmula para encontrar el área de un triángulo Base * altura * 0.5 (o base * altura / 2.0)

Cómo transformar los tipos de información Los tipos de información se pueden transformar mediante la expresión de tipos de información. Es un método que sirve para transformar la forma de entrada de las funciones int() y float(), frente a las variables o el valor según el tipo de información. Transformación de tipos de información mediante el valor de la información. Este método sirve para transformar información al cambiar su valor sin ingresar el tipo de información. Para transformar números enteros en números reales, la información se transforma automáticamente porque cambia el valor al agregar un 0 detrás del valor del número entero.

Método para transformar información mediante la expresión de la información

>>> a=input() >> b=input() a=input() >> b=input() r=input() >> print r*r*3.14 78 .5 >>>

Notas para resolver problemas

Método para usar la potencia >>> import math >>> r=input() >> print pow(r,2)*3.14 7 8.5 >>>

3

Información del tipo de carácter En Python, el string de caracteres se expresa mediante las comillas (‘ o “). El string de caracteres también se puede sumar o multiplicar. Para expresar el string de caracteres, se usan comillas simples (‘) y tres comillas dobles o simples seguidas (“””””” o ‘’’’’’)

>>> a="the" >>> b=" Call" >>> a+b 'the Call' >>> a*2 'thethe' >>> b*2 ' Call Call'

durante la suma además de las comillas dobles (“”).

Está contando desde la izquierda. ¡Comienza desde 0!

¿Por qué Y es 1 y no 2 cuando es la segunda letra?

No olvides que el espacio en blanco también se considera una letra.

Python indica el carácter correspondiente al colocar el número de índice (desde la izquierda, empieza desde 0; desde la derecha, empieza desde -1) para cada carácter del string.

Índice

CCaarra acctteerr

Práctica de manipulación de robots

11

Crucigrama

Mostremos parte de un string de caracteres. Crearemos un programa para mostrar parte del string de caracteres después de ingresar el string “secret garden” (jardín secreto).

>>> str="secret garden" >>> str[0] 's' >>> str[5:9] 't ga' >>> str[10:12] 'de' >>> str[3:] 'ret garden' >>> str[:7] 'secret ' >>>

0

1

2

3

4

5

s

e

c

r

e

t

6

7

8

9

10

11

12

g

a

r

d

e

n

Str[5:9] # se refiere a una serie de letras desde el primer índice hasta (el segundo índice -1). (9-5=4 letras) Str[3:] # se refiere a una serie de letras desde el tercer índice hasta el final. Str[:7] # se refiere a una serie de letras desde el primer índice hasta el 6to (7-1) índice.

Notas para resolver problemas

)

4

Información del tipo de lista Guarda a todas las personas que asistieron a la reunión de hoy como variables.

Código del programa

¡Guau! Hay muchas variables.

a = “Dr. Kim” b = “Dr. Lee” c = “Dr. Choi”

Código del programa Entonces, ¿lo guardamos como lista?

¡Es simple!

a = [“Dr. Kim”, “Dr. Lee”, “Dr. Choi”]

La lista es una forma de información que contiene cierta cantidad de información. Si usas la lista, es posible usar mucha información con facilidad. La lista se puede crear al colocar la información dentro de corchetes [ ] y al distinguir el valor a colocar dentro con una coma. La información colocada en la lista se puede mostrar si el número de índice de la información correspondiente se coloca dentro del corchete [ ].

En la lista, se puede colocar la lista misma y la información individual. Tener otra lista dentro de la lista a veces se denomina “lista bidimensional”. Cuando existe una lista dentro de la lista, la información se puede mostrar mediante corchetes [ ].

A continuación presentamos ejemplos de listas de una dimensión ( a=[1,2,3]) y una lista bidimensional (a=[[1,2,3],[4,5,6]]).

>>> a=[1,2,3] >>> a[0] 1 >>> a=[[1,2,3],[4,5,6]] >>> >>> a[0][0] 1 >>> a=[0][2] 3 >>> a[1][1] 5 >>>

1) Operador de lista y modificación >>> x=[1,2,3] >>> y=[4,5,6] >>> x[0]+x[2] 4 >>> x[0]+y[1] 6 >>> a=['a','b','c'] >>> a[0] 'a' >>> a[0]=4 >>> a [4, 'b', 'c']

2) Funciones relacionadas a la lista Puedes usar varias funciones relacionadas a la lista al agregar ‘.’ detrás del nombre de la lista.



List name.append(x): función que agrega el valor X al final de la lista.



List name.insert(x,y): función que inserta el valor Y en el lugar de X en la lista.



List name.remove(x): función que eliminar el valor de X que aparece primero en la lista.



List name.pop(): función que elimina el último valor de la lista.



List name.pop(o): función que elimina el primer valor de la lista.



List name.count(x): función que cuenta la cantidad del valor X en la lista.



List name.sort(): función que ordena los valores de la lista en orden ascendente.



List name.reverse(): función que invierte el orden de los valores en la lista.

>>> a=[4,3,2,5,1,6] >>> a.append(10) >>> a [4, 3, 2, 5, 1, 6, 10] >>> a.insert(2,8) >>>a [4, 3, 8, 2, 5, 1, 6, 10] >>> a.remove(3) >>> a [4, 8, 2, 5, 1, 6, 10] >>> a.pop() 10 >>> a [4, 8, 2, 5, 1, 6] >>> a.append(8) >>> a [4, 8, 2, 5, 1, 6, 8] >>> a.count(8) 2

>>> a.sort() >>> a [1, 2, 4, 5, 6, 8, 8]

Contenidos de aprendizaje 10

Los trabajos repetitivos se pueden realizar de forma conveniente

Cuando tienes cierta instrucción que se repite en alguna condición, puedes usar la instrucción llamada “enunciado de repetición”. Si usas el enunciado de repetición cuando tienes que repetir el mismo trabajo varias veces, es conveniente que escribas un programa, ya que la parte que se superpone se puede escribir una sola vez.

¿Hay un muro?

Ir adelante

Código del programa ¿Hay un muro?

Ir adelante

if front_is_clear(): move() if front_is_clear(): move() if front_is_clear(): move() if front_is_clear(): move() if front_is_clear(): move()

¡Estoy tan ocupado!

¡Estoy tan ocupado!

Código del programa while front_is_clear(): move()

¡Estoy tan ocupado!

¡Estoy tan ocupado! Continúa moviéndose hacia adelante si no hay un muro.

Existen dos instrucciones para los enunciados de repetición: while y for. Los enunciados while se usan principalmente cuando se repiten las instrucciones al cumplir con cierta condición. Necesitas expresiones condicionales para fijar la cantidad de repeticiones para evitar caer en un bucle infinito. Los enunciados for pueden reducir el largo del código ya que se puede usar el valor inicial, y el incremento y decremento del operador, que se describe individualmente en el enunciado while una sola vez.

1

Enunciado de bucle básico Como una estructura con un enunciado de repetición, un enunciado de bucle básico se refiere a la forma que se ejecuta repetidamente hasta que se cumple la condición. La estructura de un enunciado de bucle básico con while es la siguiente. Configuración de valor inicial Expresión condicional while: Instrucción Operador de incremento y decremento

While repite la instrucción continuamente mientras la expresión condicional sea verdadera. Cuando uses while, necesitarás el “valor inicial”, la “expresión condicional”, la “estructura de repetición” y el “operador de incremento y decremento”. Cuando creas estructuras de enunciados de repetición básicas para for, puedes usar la función range() o lista.

Para variables en range(valor inicial, valor final, valor de incremento y decremento): la instrucción

for repite la instrucción según el resultado fijado en range(). ¿Qué es el operador de incremento y decremento? El enunciado bucle while repite la instrucción cuando la expresión condicional es verdadera. De forma opuesta, repite la instrucción continuamente hasta el que el enunciado condicional sea falso. Además, el operador de incremento y decremento se usa para verificar cuántas veces se repite la instrucción.

i=0 while i>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30, 5)) [0, 5, 10, 15, 20, 25] >>> list(range(0, 10, 3)) [0, 3, 6, 9] >>> list(range(0, -10, -1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> list(range(0)) [] >>> list(range(1, 0)) []

2

Enunciado de bucle anidado Un enunciado de bucle anidado es una manera de escribir un código al agregar un bucle dentro de otro bucle y el ejemplo más común es el de la tabla de multiplicación

Tabla de multiplicaciones utilizando bucle while

Tabla de multiplicaciones utilizando bucle for

i=2 while i