Introducción a la programación con Python - Claudia Cecilia Russo - E-Book

Introducción a la programación con Python E-Book

Claudia Cecilia Russo

0,0
15,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Multitud de estudiantes de secundaria presentan dificultades a la hora de resolver problemas a través de un ordenador. Esto va ligado directamente con la capacidad de atención, la creatividad y el pensamiento lógico, entre otras cosas, pues aprender a programar produce efectos positivos en todos los niveles. Si quiere despuntar en estos temas y conocer lo esencial de la programación, este libro es el adecuado. Las autoras trabajan desde hace varios años como docentes en nivel superior y consideran que, más allá de la edad, cualquier persona que cuente con los conceptos básicos de informática puede llegar a programar un ordenador y beneficiarse de muchas maneras. Por ello, ponen a su disposición todo lo que necesita saber acerca de: "La programación de ordenadores mediante la resolución de problemas "Los algoritmos como forma de resolver problemas a través de un ordenador Gracias a esta lectura amena y fructífera, desarrollará sus competencias y estará preparado para su futuro tecnológico.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 130

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

 

 

 

Esta obra ha recibido una ayuda a la edición del Ministerio de Cultura y Deporte del Gobierno de España, por el Plan de Recuperación, Transformación y Resiliencia, Financiado por la Unión Europea (NextGenerationEU)

 

Introducción a la programación con Python

 

Claudia Cecilia Russo, Mónica Carolina Sarobe,Paula Lucrecia Lencina y Tamara Hilda Ahmad

 

Derechos reservados © Alfaomega Grupo Editor Argentino S.A.

Primera edición: 2022

ISBN: 978-987-8983-63-9

 

Primera edición: MARCOMBO, S.L. 2023

 

© 2023 MARCOMBO, S.L.

www.marcombo.com

 

Ilustrado por Sergio Martínez

 

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra

ISBN del libro en papel: 978-84-267-3616-1

ISBN del libro electrónico: 978-84-267-3632-1

Producción del ePub: booqlab

 

Introducción

Ada: nuestro personaje

Convenciones utilizadas en el texto

Sobre las autoras

Capítulo 1

Resolución de problemas

Introducción

El proceso de resolución de un problema

Análisis y comprensión de problemas

Pasos para el análisis y comprensión de un enunciado

Datos, restricciones e inferencias

Datos explícitos

Ejemplos de análisis de enunciados

Para tener en cuenta

Ejercicios

Capítulo 2

Representación de situaciones

Construcción de la solución

1 Cambiar la representación

2 Realizar una lista ordenada

3 Restricción del espacio de búsqueda

4 Búsqueda inteligente

5 Elaborar una hipótesis

6 Razonar hacia atrás

7 Dividir el problema en subproblemas

Verificar la solución

Múltiples soluciones y eficiencia

Ejercicios

Capítulo 3

Introducción a la lógica

¿Qué es la lógica?

Algunas definiciones

Lógica proposicional

Sintaxis Alfabeto proposicional

Simbolizando proposiciones

Semántica Tablas de verdad

Capítulo 4

Algoritmos, desarrollo de habilidades básicas

Introducción

¿Qué es programar?

Definiendo el concepto de algoritmo

Propiedades de los algoritmos

Algoritmos en el ordenador

Python

El intérprete

¿Qué permite hacer este IDLE?

¿Cómo se ve?

Python Turtle

Más sintaxis de Turtle

Para trabajar con color

Seguimos incorporando sintaxis de Turtle

Ejercicios

Capítulo 5

Algoritmos, estructuras de control y variables

Introducción

¿Qué es una estructura de control?

Secuencia

Decisión

Repetición

Creando pseudocódigo

Ejercicios

Capítulo 6

Algoritmos, estructuras de control en Python y variables

Introducción

Bloques e indentación en Python

Estructuras de control en Python

Analicemos y ejemplifiquemos cada caso

El concepto de variable

Variables en Python

Ejercicios

 

Bibliografía

Introducción

«Las sillas anclaron a los estudiantes… El pizarrón ancló al maestro…

Los libros de texto anclaron el contenido…

Las calificaciones anclaron la atención de los alumnos y familias…

Enseñar lo mismo cada año, del mismo modo,

ancló el concepto de lo que es un maestro…»

David Warlick

Las autoras de este libro venimos trabajando desde hace varios años como docentes en nivel superior, y hemos observado algunas dificultades que se les presentan a los estudiantes a la hora de resolver problemas a través de un ordenador. Ante estas situaciones, nos preguntamos: ¿es necesario llegar a la a universidad para aprender a programar? No, creemos que realmente no lo es.

Consideramos que cualquier persona, más allá de su edad, que cuente con conceptos básicos de informática puede llegar a programar un ordenador y beneficiarse de ello de muchas maneras. Aprender a programar no solo produce efectos positivos en aquellas personas interesadas en los ordenadores; el desarrollo de esta actividad tiene beneficios notables, porque se estimula la capacidad de atención, fomenta la creatividad y trabaja con el pensamiento lógico, entre otras cosas.

Por todo ello, en este libro intentaremos acercar a los lectores a la programación de ordenadores. Lo haremos comenzando con la resolución de problemas, y luego incursionaremos en algoritmos como forma de resolver problemas a través de un ordenador.

Escribimos este libro pensando en la posibilidad de que pueda ser leído y trabajado desde la escuela secundaria, ya que prepararía mejor al estudiante para adaptarse a carreras universitarias relacionadas con Tecnologías de la Información.

Finalmente, y en relación a los ya nombrados beneficios de aprender a programar, destacamos un claro ejemplo que puede leerse en el artículo publicado en 1986 «Effects of Logo and CAI environments on cognition and creativity» («Efectos de entornos de Logo y CAI en la cognición y creatividad»).

Douglas publicó, en 1986, un artículo en el cual evaluaba «los efectos en el aprendizaje de la programación informática y enseñanza asistida por computadora (CAI) en las habilidades cognitivas específicas (operaciones de clasificación y seriación), las habilidades metacognitivas, la creatividad y el rendimiento (lectura, matemáticas y capacidad para describir las direcciones) en niños de entre 6 y 8 años». Hay un resumen de este artículo disponible en: http://psycnet.apa.org/journals/edu/78/4/309/.

A estos niños se los evaluó previa y posteriormente en aspectos tales como la clasificación y seriación, la creatividad y el logro. Los resultados fueron claros y altamente positivos, ya que demostraron una mayor capacidad de atención y autonomía, y manifestaron un mayor placer por el descubrimiento de nuevos conceptos.

Dicho todo esto, invitamos a quien desee comenzar a explorar este fascinante tema a disfrutar de esta obra que con tanto cariño hemos elaborado.

Aprovechamos para agradecer a los alumnos de la Universidad Nacional del Noroeste de la Provincia de Buenos Aires (UNNOBA), de Argentina, que indiscutiblemente inspiraron la creación de este libro.

Ada: nuestro personaje

Antes de sumergirnos en la lectura de este material, tenemos el agrado de presentarles a nuestro querido personaje.

Ella es Ada:

Este personaje nos guiará durante todo el libro, y está inspirado en la célebre Ada Lovelace, más conocida como la primera programadora de la historia.

Su nombre real era Ada Augusta Byron King, nacida el 10 de diciembre de 1815, en Inglaterra; y fallecida el 27 de noviembre de 1852, con tan solo 36 años. Ada amaba las matemáticas y las ciencias.

Conoció a Charles Babbage, matemático, ingeniero e inventor británico, quien diseñó las máquinas calculadoras programables. Ambos se admiraban mutuamente y comenzaron a trabajar juntos.

De este modo, Ada se inició en el fascinante mundo de la programación.

Convenciones utilizadas en el texto

Recordemos es un breve repaso de conceptos antes desarrollados, indispensables para abordar el tema en desarrollo.

Ejemplo es una ayuda, una simplificación de una idea para que su interpretación sea más sencilla.

Problema es una actividad especialmente pensada para fortalecer los conceptos explicados.

Ampliemos es un apartado presente en aquellos desarrollos en que el estudiante requerirá de algún concepto o definición adicional para comprender la profundidad del texto.

Ejercicios es el apartado final con el cual se refuerzan los conocimientos adquiridos en el capítulo.

Sobre las autoras

Dra. Claudia Cecilia Russo. Licenciada en Informática. Docente e investigadora de la Universidad Nacional del Noroeste de la Provincia de Buenos Aires, Argentina. Investigadora asociada de la Comisión de Investigaciones Científicas de la Provincia de Buenos Aires, Argentina. Integrante del Instituto de Investigación y transferencia de Tecnología (ITT). Doctora en Ciencias Informativas de la Universidad Nacional de La Plata.

Lic. Mónica Carolina Sarobe. Licenciada en Sistemas. Docente e investigadora de la Universidad Nacional del Noroeste de la Provincia de Buenos Aires, Argentina. Integrante del Instituto de Investigación y transferencia de Tecnología (ITT).

Mg. Paula Lucrecia Lencina. Licenciada en Sistemas. Docente e investigadora de la Universidad Nacional del Noroeste de la Provincia de Buenos Aires, Argentina. Integrante del Instituto de Investigación y transferencia de Tecnología (ITT). Máster en Tecnología Informática Aplicada a la Educación.

Mg. Tamara Hilda Ahmad. Licenciada en Sistemas. Docente e investigadora de la Universidad Nacional del Noroeste de la Provincia de Buenos Aires, Argentina. Integrante del Instituto de Investigación y transferencia de Tecnología (ITT). Máster en Tecnología Informática Aplicada a la Educación.

CAPÍTULO 1

Resolución de problemas

Introducción

Las personas nos enfrentamos a situaciones problemáticas todo el tiempo; en el hogar, en el trabajo, hasta cuando vamos de compras. Estas situaciones pueden ser simples o complejas, pero todas requieren una solución.

¿Cómo llego hasta la panadería?, ¿cuál es el 38 % de 43 000?

Resolver situaciones problemáticas o problemas es parte del pensamiento, y ocurre cuando no tenemos un camino directo para solucionar una cuestión. Resolver situaciones problemáticas se considera una de las funciones intelectuales más complejas de las que nuestro cerebro es capaz de atravesar o procesar.

Ampliemos

Un problema es una situación que requiere de una solución.

Ampliemos

Existe un conjunto de mecanismos, llamados «procesos heurísticos», que son operaciones mentales útiles para resolver problemas. La adquisición de conocimiento y la puesta en práctica de diferentes habilidades es el objeto de la resolución de problemas.

Para resolver un problema no existe ningún camino evidente: si lo hubiera, no sería un problema.

Muchas veces existen múltiples posibilidades para aproximarse a una solución adecuada. La resolución de problemas involucra conocimientos previos y su interrelación de forma creativa.

Es un proceso que requiere tiempo y esfuerzo, pero que finalmente aumenta nuestro caudal de conocimiento, nos aporta nuevos puntos de vista y mejora nuestra capacidad para resolver otros problemas en el futuro.

En informática, la resolución de problemas es una habilidad muy importante; como informáticos, nuestro trabajo consiste fundamentalmente en resolver problemas utilizando soluciones basadas en la tecnología.

Ampliemos

La informática es la ciencia que estudia el análisis y la resolución de problemas utilizando la tecnología.

El proceso de resolución de un problema

Este proceso implica llevar adelante las siguientes etapas:

1. Analizar y comprender el problema.

2. Trazar un plan para su resolución.

3. Llevar a cabo el plan.

4. Reflexionar.

Veamos en qué consiste cada una de ellas.

Analizar y comprender el problema. En esta etapa se trata de examinar qué es lo que se debe resolver, y entender exactamente cuál es el problema para, luego, poder pensar en un plan. Suele suceder que, ante problemas simples, esta etapa parece obvia; incluso podemos cometer el error de querer atravesarla rápidamente. Sin embargo, es fundamental que el análisis y la comprensión del problema se atraviesen con cautela y atención. En caso contrario, corremos el riesgo de bloquearnos más adelante a causa de no haber entendido completamente y desde un principio el problema.

Ampliemos

El proceso de resolución de problemas no siempre es un proceso lineal, sino que a veces requiere volver sobre pasos anteriores.

Trazar un plan. Una vez que ya hemos comprendido qué es lo que se debe resolver, debemos plantear un modo de hacerlo. Para ello, existen varias estrategias que pueden aplicarse en esta etapa, como realizar diagramas, buscar patrones, representar el problema, resolver problemas más simples o cambiar el punto de vista.

Ampliemos

Llamaremos «enunciado» a un relato que expresa el contexto de una situación que puede ser una problemática. Aunque el enunciado no siempre es lo suficientemente explicativo de esa situación.

Más adelante, en este capítulo, vamos a abordar varias de estas técnicas.

Llevar a cabo el plan. Una vez que hemos comprendido el problema y que hemos pensado el modo de resolverlo, habrá que llevarlo a la práctica. Generalmente, esta es la etapa más sencilla. Será fundamental tener paciencia, porque la mayoría de los problemas no se resuelven rápidamente o en un primer intento. Si la estrategia elegida no funciona, deberemos probar con otra.

Reflexionar. La etapa final implica confrontar los resultados obtenidos con el problema planteado. ¿Se solucionó el problema? ¿Tiene sentido la respuesta hallada? ¿Se contestaron todas las preguntas? ¿De qué otra manera (quizás más simple) podría haberse resuelto?

Muchas veces este proceso no es lineal, sino que debemos ir y volver entre las diferentes etapas. Puede suceder, por ejemplo, que al tratar de aplicar una estrategia nos demos cuenta de que necesitamos profundizar el análisis del problema, ya que nos falta algún dato; o tal vez, al reflexionar sobre la solución, nos demos cuenta de que omitimos alguna pregunta y debamos volver a los pasos previos.

Profundicemos, a continuación, en cada una de las etapas.

Análisis y comprensión de problemas

El objetivo del análisis del problema es distinguir tres componentes:

Los datos, la incógnita y el conjunto de reglas y restricciones que hace de vínculo entre ellos se plantearán en nuestro libro mediante un enunciado. Para el análisis y comprensión de este enunciado, se deberán aplicar una serie de pasos que detallamos a continuación.

Pasos para el análisis y comprensión de un enunciado

1. Lectura

a.   Leer con detenimiento todo el enunciado.

b.   Asegurarse de comprender el significado de cada palabra y cada frase.

c.   Prestar atención a los signos de puntuación, ya que pueden alterar el significado de una frase.

Ampliemos

Lo que se busca es descomponer un enunciado en una serie de datos y relaciones simples que sean más fáciles de manejar a la hora de resolver el problema.

Es muy importante tomarse el tiempo para leer y releer las veces que sea necesario un enunciado completo. Si se hace una lectura veloz, se pueden perder detalles o sutilezas que hacen que el problema sea totalmente diferente de lo que pensamos. ¡Una coma puede cambiar completamente el significado de una frase!

2. Identificar la incógnita

¿Cuál es la incógnita en nuestro problema? La incógnita es la que identifica su centro, es decir, la que permite responder a la pregunta: ¿qué queremos resolver exactamente?

Muchas veces, la incógnita aparece de manera muy clara: una pregunta al final del enunciado. Por ejemplo:

Si un camión vacío pesa 2000 kg y cargado pesa 4000 kg, ¿cuánto pesa la carga que lleva?

En este ejemplo sencillo, la incógnita está expresada claramente: «¿Cuánto pesa la carga que lleva?». Sin embargo, a veces puede estar más escondida.

Veamos otros posibles enunciados para el mismo problema:

Un camionero se pregunta cuánto pesará la carga que lleva, si su camión vacío pesa 2000 kg y cargado pesa 4000 kg.

Cuando Rogelio llega al peaje, recuerda que debe informar del peso de la carga que lleva. Su camión vacío pesa 2000 kg y cargado pesa 4000 kg.

En la segunda versión, la incógnita toma la forma: «Se pregunta cuánto pesará la carga que lleva». Mientras que, en la tercera, la incógnita está de manera implícita, aún más escondida que en el caso anterior: «Recuerda que debe informar del peso de la carga que lleva».

En cualquier caso, cuando redactemos la incógnita lo haremos de la forma más directa posible. Entonces, podríamos tomar como incógnita para todos los casos: «¿Cuánto pesa la carga del camión?».

3. Identificar los datos

Para esto, haremos lo siguiente:

a.   Reconocer los datos explícitos (relevantes e irrelevantes).

b.   Buscar datos implícitos (relevantes e irrelevantes) y hacerlos explícitos.

c.   Detectar imprecisiones o ambigüedades y resolverlas. Cuando, en un problema, el dato queda abierto a la interpretación del lector, quiere decir que es ambiguo. En este caso, es necesario tomar una decisión sobre él. Más adelante veremos ejemplos.

Ampliemos

Si deduces que un dato que es implícito es irrelevante (no aporta a la solución del problema), puedes obviar su escritura en la etapa de resolución. Suprime este paso solo si estás seguro.

4. Identificar las reglas y restricciones del problema

Puede suceder que, a la hora de resolver un problema, necesitemos hacer uso de reglas que ya conocemos. Por ejemplo, la regla de tres simple para calcular un porcentaje.

En cuanto a las restricciones, tienen que ver con las limitaciones que plantea el enunciado del problema. Por ejemplo, si el enunciado indica que hay que apilar 200 ladrillos en pilas de números pares, y no de otra forma, estamos en presencia de una restricción del problema.

5. Usar las reglas y restricciones

Realizar inferencias sobre los datos detectados para descubrir nuevos datos.

Muchas veces, el simple análisis del enunciado puede conducir a la solución del problema, sin necesidad de aplicar ninguna estrategia en particular.

Aunque pueda parecer un trabajo muy riguroso, es importante que, en cada problema propuesto, intentes realizar todas las etapas del análisis antes mencionadas.

Es tentador saltearse estos pasos y tratar de hallar directamente la solución cuando nos enfrentamos con problemas sencillos. Sin embargo, es muy importante que adquieras práctica en el análisis de un problema antes de toparte con problemas más complejos.

Ahora, tratemos de ver cómo desarrollar cada uno de estos pasos sobre la base de ejemplos.

Ampliemos